首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

让互联网更快的协议,QUIC在腾讯的实践及性能优化

比如如何提升 0RTT 成功率,减少服务端的 CPU 消耗量,实现连接迁移和动态的拥塞控制算法等。 提升 0RTT 成功率 安全传输层虽然能够实现 0RTT,优势非常明显。...但问题是,不是每一次连接都能实现 0RTT,对于我们的客户端和服务端来讲,如何最大程度地提升 0RTT 的成功率? 0RTT 能实现的关键是 ServerConfig。...加密性能的优化 签名计算 QUIC 实现 0RTT 的前提是 ServerConfig 这个内容签名和校验都没有问题。...性能统计 STGW 针对 QUIC 的线上使用情况进行了很多的变量统计和分析,包括 0RTT 握手成功率,握手时间,密码套件使用分布,QUIC 协议版本,stream 并发数量等。...灰度实验的效果也非常明显,其中 quic 请求的首字节时间 (rspStart) 比 http2 平均减少 326ms, 性能提升约 25%; 这主要得益于 quic0RTT 和 1RTT 握手时间

85620

STGW 下一代互联网标准传输协议QUIC大规模运营之路

低连接延时:QUIC 由于基于 UDP,无需 TCP 连接,在最好情况下,短连接下 QUIC 可以做到 0RTT 开启数据传输。...而 QUIC 请求可以做到发 HTTP 请求之前的 0RTT 消耗。 为什么 QUIC 可以做到 0RTT 呢?这里分为 QUIC 握手协议和 IETF QUIC 的 TLS1.3 协议。...而在后续请求中,客户端可以直接带上之前的 server config 来完成 0RTT 请求。 所以,这里的关键是:如何提升 0RTT 的比例。...关于 0RTT 的优化目前我们做了不少工作,对于一些不敏感的数据传输,我们可以做到 100% 0RTTQUIC 连接迁移实现 QUIC 连接迁移是 QUIC 协议一个很重要的特点。...针对 RTT 敏感的短连接业务,我们大大提升了 0RTT 的比例,某些场景可以做到 100% 0RTT

3.5K73
您找到你想要的搜索结果了吗?
是的
没有找到

让互联网更快:新一代QUIC协议在腾讯的技术实践分享

6、QUIC 性能优化1:提升 0RTT 成功率 安全传输层虽然能够实现 0RTT,优势非常明显。...但问题是,不是每一次连接都能实现 0RTT,对于我们的客户端和服务端来讲,如何最大程度地提升 0RTT 的成功率? 0RTT 能实现的关键是 ServerConfig。...7、QUIC 性能优化2:加密性能的优化 7.1 签名计算 QUIC 实现 0RTT 的前提是 ServerConfig 这个内容签名和校验都没有问题。...10、STGW 针对 QUIC 的性能统计 STGW 针对 QUIC 的线上使用情况进行了很多的变量统计和分析,包括 0RTT 握手成功率,握手时间,密码套件使用分布,QUIC 协议版本,stream...灰度实验的效果也非常明显,其中 quic 请求的首字节时间 (rspStart) 比 http2 平均减少 326ms, 性能提升约 25%; 这主要得益于 quic0RTT 和 1RTT 握手时间

2.5K20

让互联网更快的协议,QUIC 在腾讯的实践及性能优化

比如如何提升 0RTT 成功率,减少服务端的 CPU 消耗量,实现连接迁移和动态的拥塞控制算法等。 提升 0RTT 成功率 安全传输层虽然能够实现 0RTT,优势非常明显。...但问题是,不是每一次连接都能实现 0RTT,对于我们的客户端和服务端来讲,如何最大程度地提升 0RTT 的成功率? 0RTT 能实现的关键是 ServerConfig。...加密性能的优化 签名计算 QUIC 实现 0RTT 的前提是 ServerConfig 这个内容签名和校验都没有问题。...性能统计 STGW 针对 QUIC 的线上使用情况进行了很多的变量统计和分析,包括 0RTT 握手成功率,握手时间,密码套件使用分布,QUIC 协议版本,stream 并发数量等。...灰度实验的效果也非常明显,其中 quic 请求的首字节时间 (rspStart) 比 http2 平均减少 326ms, 性能提升约 25%; 这主要得益于 quic0RTT 和 1RTT 握手时间

2.3K70

让互联网更快的协议,QUIC 在腾讯的实践及性能优化

比如如何提升 0RTT 成功率,减少服务端的 CPU 消耗量,实现连接迁移和动态的拥塞控制算法等。 提升 0RTT 成功率 安全传输层虽然能够实现 0RTT,优势非常明显。...但问题是,不是每一次连接都能实现 0RTT,对于我们的客户端和服务端来讲,如何最大程度地提升 0RTT 的成功率? 0RTT 能实现的关键是 ServerConfig。...加密性能的优化 签名计算 QUIC 实现 0RTT 的前提是 ServerConfig 这个内容签名和校验都没有问题。...性能统计 STGW 针对 QUIC 的线上使用情况进行了很多的变量统计和分析,包括 0RTT 握手成功率,握手时间,密码套件使用分布,QUIC 协议版本,stream 并发数量等。...灰度实验的效果也非常明显,其中 quic 请求的首字节时间 (rspStart) 比 http2 平均减少 326ms, 性能提升约 25%; 这主要得益于 quic0RTT 和 1RTT 握手时间

4.5K81

QUIC 协议在蚂蚁金服落地

支持真正意义上的 0RTT ,并可提升 0RTT 的比例 为何能支持上述能力,我们后面会展开叙述 两个落地场景 我们由近及远的两个落地场景如下: 场景一、支付宝移动端落地 如下为我们落地架构的示意图,...技术点2.提升 0RTT 握手比例 这里先 介绍 QUIC 0RTT 原理。前文我们介绍过, QUIC 支持传输层握手和安全加密层握手都在一个 0RTT 内完成。...TLS1.3 本身就支持加密层握手的 0RTT,所以不足为奇。而 QUIC 如何实现传输层握手支持 0RTT 呢?...这里我们先声明下,跟 TLS 类似,QUIC0RTT 握手,是建立在已经同一个服务器建立过连接的基础上,所以如果是纯的第一次连接,仍然需要一个 RTT 来获取这个 STK。...除了连接迁移以外,我们还提出了 0RTT 建联提升方案、客户端智能选路方案,以最大化 QUIC 在移动端上的收益。

50220

快手自研kQUIC:千万级QPS集群是如何实现的?

Microsoft:MsQUIC 今年才正式开源,kQUIC 立项之初 MsQUIC 尚未对外发布,且主要针对 Windows 跨平台,目前功能上并不完善,也不支持 0RTT。...0RTT 成功率与加密性能优化 0RTTQUIC 的一个重要特性。...但是服务端的 SCFG 是随机生成的,服务器 A 生成的 SCFG 对应的 ID,在服务器 B 上是不能识别的,这样就限制了 0RTT 的成功率。...为了解决这个问题,kQUIC 做了两个解决方案: 如果对安全性要求不高,可以让每个服务器都生成相同的 SCFG,这样就实现了跨服务器的 SCFG 识别,可以有效提高 0RTT 的成功率。...,对网络库中持续进行了多项协议相关的优化,包括预建连、SSL Session 复用优化、客户端 BBR、POST 请求 0RTT 优化等等。

1.3K20

QUIC 协议在蚂蚁落地综述

鉴于 QUIC 具备“0RTT 建联”、“支持连接迁移”等诸多优势,并将成为下一代互联网协议:HTTP3.0 的底层传输协议,蚂蚁集团支付宝客户端团队与接入网关团队于 2018 年下半年开始在移动支付、...支持真正意义上的 0RTT ,并可提升 0RTT 的比例 为何能支持上述能力,我们后面会展开叙述 两个落地场景 我们由近及远的两个落地场景如下: 场景一、支付宝移动端落地 如下为我们落地架构的示意图...技术点2.提升 0RTT 握手比例 这里先 介绍 QUIC 0RTT 原理。前文我们介绍过, QUIC 支持传输层握手和安全加密层握手都在一个 0RTT 内完成。...TLS1.3 本身就支持加密层握手的 0RTT,所以不足为奇。而 QUIC 如何实现传输层握手支持 0RTT 呢?...除了连接迁移以外,我们还提出了 0RTT 建联提升方案、客户端智能选路方案,以最大化 QUIC 在移动端上的收益。

2.1K30

视屏面试传输协议到底是TCP还是UDP

0RTT 建立链接 RTT((Round-Trip Time)顾名思义就是往返时延的意思,0RTT的话意思就是QUIC可以在第一次发送的时候就带上数据,熟悉我们TCP的同学应该知道,TCP会有一个三次握手那么实际上也就是会有...那么0RTT的建立链接QUIC是怎么做到的呢?...这里得先说一下QUIC0RTT并不是完全的0RTT,他同样需要1RTT去做一次秘钥协商,在QUIC中使用的是Diffie-Hellman密钥交换,该算法是一种建立密钥的方法,并非加密方法,但其产生的密钥可用于加密...QUIC通过DH算法创建一个安全的连接后,客户端会缓存起来原始的连接信息等。在后续的过程中只要和同一个服务器建立链接都是直接发送数据,不需要再次协商秘钥,从而实现了后续的0RTT。 ?...参考文章: QUIC协议是如何做到0RTT加密传输的: https://blog.csdn.net/dog250/article/details/80935534 技术扫盲-新一代基于UDP的低延时网络传输层协议

2.7K10

QUIC 协议在蚂蚁金服落地

支持真正意义上的 0RTT ,并可提升 0RTT 的比例 为何能支持上述能力,我们后面会展开叙述 两个落地场景 我们由近及远的两个落地场景如下: 场景一、支付宝移动端落地 如下为我们落地架构的示意图,...技术点2.提升 0RTT 握手比例 这里先 介绍 QUIC 0RTT 原理。前文我们介绍过, QUIC 支持传输层握手和安全加密层握手都在一个 0RTT 内完成。...TLS1.3 本身就支持加密层握手的 0RTT,所以不足为奇。而 QUIC 如何实现传输层握手支持 0RTT 呢?...这里我们先声明下,跟 TLS 类似,QUIC0RTT 握手,是建立在已经同一个服务器建立过连接的基础上,所以如果是纯的第一次连接,仍然需要一个 RTT 来获取这个 STK。...除了连接迁移以外,我们还提出了 0RTT 建联提升方案、客户端智能选路方案,以最大化 QUIC 在移动端上的收益。

82220

实战|QUIC协议在蚂蚁集团落地

鉴于 QUIC 具备“0RTT 建联”、“支持连接迁移”等诸多优势,并将成为下一代互联网协议:HTTP3.0 的底层传输协议,蚂蚁集团支付宝客户端团队与接入网关团队于 2018 年下半年开始在移动支付、...支持真正意义上的 0RTT ,并可提升 0RTT 的比例 为何能支持上述能力,我们后面会展开叙述 两个落地场景 我们由近及远的两个落地场景如下: 场景一、支付宝移动端落地 如下为我们落地架构的示意图...技术点2.提升 0RTT 握手比例 这里先 介绍 QUIC 0RTT 原理。前文我们介绍过, QUIC 支持传输层握手和安全加密层握手都在一个 0RTT 内完成。...TLS1.3 本身就支持加密层握手的 0RTT,所以不足为奇。而 QUIC 如何实现传输层握手支持 0RTT 呢?...除了连接迁移以外,我们还提出了 0RTT 建联提升方案、客户端智能选路方案,以最大化 QUIC 在移动端上的收益。

1.2K40

图解 | 为什么 HTTP3.0 使用 UDP 协议

HTTP3.0又称为HTTP Over QUIC,其弃用TCP协议,改为使用基于UDP协议的QUIC协议来实现。 3. QUIC协议详解 择其善者而从之,其不善者而改之。...3.2 0RTT 建链 衡量网络建链的常用指标是RTT Round-Trip Time,也就是数据包一来一回的时间消耗。...然而,QUIC协议可以实现在第一个包就可以包含有效的应用数据,从而实现0RTT,但这也是有条件的。...QUIC0RTT也是需要条件的,对于第一次交互的客户端和服务端0RTT也是做不到的,毕竟双方完全陌生。 因此,QUIC协议可以分为首次连接和非首次连接,两种情况进行讨论。...3.3.2 非首次连接 前面提到客户端和服务端首次连接时服务端传递了config包,里面包含了服务端公钥和两个随机数,客户端会将config存储下来,后续再连接时可以直接使用,从而跳过这个1RTT,实现0RTT

1.3K20

为什么HTTP3.0使用UDP协议?

通过本文你将了解到以下内容: HTTP2.0和TCP存在的一些问题 QUIC协议为什么选择UDP QUIC协议的重要特性 HTTP3.0和QUIC协议的前景和应用效果 ?...3.2 0RTT 建链 衡量网络建链的常用指标是RTT Round-Trip Time,也就是数据包一来一回的时间消耗。 ?...然而,QUIC协议可以实现在第一个包就可以包含有效的应用数据,从而实现0RTT,但这也是有条件的。 ?...QUIC0RTT也是需要条件的,对于第一次交互的客户端和服务端0RTT也是做不到的,毕竟双方完全陌生。 因此,QUIC协议可以分为首次连接和非首次连接,两种情况进行讨论。...3.3.2 非首次连接 前面提到客户端和服务端首次连接时服务端传递了config包,里面包含了服务端公钥和两个随机数,客户端会将config存储下来,后续再连接时可以直接使用,从而跳过这个1RTT,实现0RTT

1.8K20

QUIC网络协议简介

一、0RTT快速连接 前面我们说过,TCP最少需要花费1RTT的时间来建立连接。下图3列分别描述了TLS1.2、TLS1.3和QUIC建立连接的成本。...在QUIC下,只有首次建立连接交换密钥时消耗1RTT时间,再次连接时就是0RTT了。这已最大限度的减少握手延迟带来的影响。这个特性在连接延迟较大的移动网络上有较好的性能提升。...QUIC 下次访问,客户端同时发起tcp连接和QUIC连接竞速 一旦quic竞速连接获胜,则后续会采用quic协议发送请求 如遇网络或服务器不支持quic/udp,客户端标记quic为broken 传输中的...由于QUIC连接被标记为broken,所以禁止0RTT握手,如果握手再次失败,则冷到10分钟,再下次则是20分钟,以此类推。 三、搭建一个QUIC网站 目前较为热门的服务端开源组件是Caddy。...---- 【QUIC业界案例】 Google超过50%的请求来自QUIC Youtube有20%的流量来自QUIC 微博移动端全面支持QUIC协议 腾讯安全云网关全面支持QUIC协议 腾讯X5内核已支持

4.2K21

产品动态 | 腾讯云音视频直播多协议推流平台

不同业务也可以根据业务特点利用QUIC的特性去做一些优化: 低连接延时:QUIC由于基于UDP,无需TCP连接,在最好情况,短连接下QUIC可以做到0RTT开启数据传输。...满足QUIC大规模部署与运营。 多协议推流平台对QUIC协议栈0RTT,1RTT,小包,高带宽等多场景做了大量的性能优化,解决了QUIC严重消耗CPU资源的几个瓶颈。...适用场景: 基于以上优点,QUIC更适合运用在网络丢包率较高的环境,因为QUIC具有0RTT快速连接能力、丢包重传中ACK回复的block较大并且在拥塞控制方面表现非常优秀。...除此之外QUIC也适合用于长距离传输当中,因为网络传输RTT较高,QUIC在连接断开后重连是0RTT,传输数据更加高效。...改进点主要是支持1rtt、0rtt握手等特性。 适用场景: 基于以上特点, SRT适合点到点流媒体传输,大主播质量保证,移动直播。目前很多大客户已经在不同规模的应用SRT。

3.9K30

图解 | 为什么 HTTP 3.0 使用 UDP 协议

通过本文你将了解到以下内容: HTTP2.0和TCP存在的一些问题 QUIC协议为什么选择UDP QUIC协议的重要特性 HTTP3.0和QUIC协议的前景和应用效果 ?...3.2 0RTT 建链 衡量网络建链的常用指标是RTT Round-Trip Time,也就是数据包一来一回的时间消耗。 ?...然而,QUIC协议可以实现在第一个包就可以包含有效的应用数据,从而实现0RTT,但这也是有条件的。 ?...QUIC0RTT也是需要条件的,对于第一次交互的客户端和服务端0RTT也是做不到的,毕竟双方完全陌生。 因此,QUIC协议可以分为首次连接和非首次连接,两种情况进行讨论。...3.3.2 非首次连接 前面提到客户端和服务端首次连接时服务端传递了config包,里面包含了服务端公钥和两个随机数,客户端会将config存储下来,后续再连接时可以直接使用,从而跳过这个1RTT,实现0RTT

1.6K10

HTTP3 竟然基于 UDP,HTTP 协议这些年都经历了啥?

QUIC 虽然基于 UDP,但是在原本的基础上新增了很多功能,接下来我们重点介绍几个 QUIC 功能。...QUIC 功能 0RTT 通过使用类似 TCP 快速打开的技术,缓存当前会话的上下文,在下次恢复会话的时候,只需要将之前的缓存传递给服务端验证通过就可进行传输。...0RTT 建连可以说是 QUIC 相比 HTTP/2 最大的性能优势。那什么是 0RTT 建连呢? 这里面有两层含义: 1、传输层 0RTT 就能建立连接。 2、加密层 0RTT 就能建立加密连接。...而 QUIC 呢?...由于建立在 UDP 的基础上,同时又实现了 0RTT 的安全握手,所以在大部分情况下,只需要 0 个 RTT 就能实现数据发送,在实现前向加密的基础上,并且 0RTT 的成功率相比 TLS 的会话记录单要高很多

1.2K41

天下武功,唯QUICK不破,探究QUIC的五大特性及外网表现

QUIC只用耗费0-1RTT的连接耗时,就能做到等同于TCP+TLS连接的效果,0RTT就等同于发给服务器的第一个包就带有请求数据,你会不会好奇怎么做到不浪费一个RTT耗时,就能建立安全的链接?...后续的连接,如果客户端本地的serverConfig没过期(包含了Apg和其他前次协商信息),直接可以计算出初始秘钥K并加密传输数据,实现0RTT握手。...QUIC失败监控 ? 对于QUIC失败异常,X5内核提供了详细的QUIC细分错误码以分析错误原因,从上报的大盘数据来看: - QUIC链接失败率不到2%,连接失败的情况,以QUIC连接超时为主。...QUIC在弱网络环境下的表现 QUIC连接时的0RTT特性,以及在传输过程中对TCP协议缺陷的改进(如改进的流量控制和拥塞控制),让QUIC在弱网络下可能取得更大的速度优势。...0% 5% 10% 20% 40% QUIC 0RTT 276.0 291.4 366.0 527.7 1274.3 QUIC 1RTT 356.9 412.9 533.2 790.5 2670.4 HTTP2

1.3K30
领券