QUIC协议在天翼云CDN全站加速产品中的应用

天翼云开发者社区
• 阅读 347

本文分享自天翼云开发者社区《QUIC协议在天翼云CDN全站加速产品中的应用》,作者:郭****迎

1、什么是QUIC协议 QUIC全称:Quick UDP Internet Connections,是一种实验性传输层网络协议,提供与TLS/SSL相当的安全性,同时具有更低的连接和传输延迟。QUIC目前的主要应用于http协议,基于QUIC的HTTP/3协议(RFC9114),除了拥有HTTP/2的各项优点,同时由于QUIC的特性,在弱网环境下拥有更强大的性能优势。QUIC由Google自研,2012年部署上线,2013年提交IETF,2021年5月,IETF推出标准版RFC9000。 QUIC的主要优势如下:

1)握手建连更快 QUIC建连时间大约0~1 RTT,在两方面做了优化: 传输层使用了UDP,减少了1个RTT三次握手的延迟。

加密协议采用了TLS 协议的最新版本TLS 1.3,相对之前的TLS 1.1-1.2,3允许客户端无需等待TLS握手完成就开始发送应用程序数据的操作,可以支持1 RTT和0RTT。

对于QUIC协议,客户端第一次建连的握手协商需1-RTT,而已建连的客户端重新建连可以使用之前协商好的缓存信息来恢复TLS连接,仅需0-RTT时间。因此QUIC建连时间大部分0-RTT、极少部分1-RTT,相比HTTPS的3-RTT的建连,具有极大的优势。

2)避免队首阻塞的多路复用 QUIC同样支持多路复用,相比HTTP/2,QUIC的流与流之间完全隔离的,互相没有时序依赖。如果某个流出现丢包,不会阻塞其他流数据的传输和应用层处理,所以这个方案并不会造成队首阻塞。

3)支持连接迁移 什么是连接迁移?举个例子,当你用手机使用蜂窝网络参加远程会议,当你把网络切换到WLAN时,会议客户端会立马重连,视频同时出现一瞬间的卡顿。这是因为,TCP采用四元组(包括源IP、源端口、目标地址、目标端口)标识一个连接,在网络切换时,客户端的IP发生变化,TCP连接被瞬间切断然后重连。连接迁移就是当四元组中任一值发生变化时,连接依旧能保持,不中断业务。QUIC支持连接迁移,它用一个(一般是64位随机数)ConnectionID标识连接,这样即使源的IP或端口发生变化,只要ConnectionID一致,连接都可以保持,不会发生切断重连。

4)可插拔的拥塞控制 QUIC是应用层协议,用户可以插拔式选择像Cubic、BBR、Reno等拥塞控制算法,也可以根据具体的场景定制私有算法。

5)前向纠错(FEC) QUIC支持前向纠错,弱网丢包环境下,动态的增加一些FEC数据包,可以减少重传次数,提升传输效率。

2、QUIC协议在天翼云全站加速产品中的应用 目前,天翼云全站加速产品已开放使用了七层协议的QUIC,其工作原理如下图所示,主要应用在客户端与全站加速平台边缘节点的交互,主要适用于弱网环境下的传输优化。

QUIC协议在天翼云CDN全站加速产品中的应用

3、适用场景 如果您希望在弱网环境下拥有更高的性能,如更快的首屏、首包,更快的传输效率,可以使用QUIC接入全站加速平台。

4、全站加速产品支持的QUIC类型 目前,天翼云全站加速产品同时支持IETF QUIC和GOOGLE QUIC,以方便不同的客户接入。 GOOGLE QUIC支持的版本号为Q043、Q046、Q050。 IETF QUIC支持的版本号为h3-29和h3-v1,IETF QUIC是互联网标准版本,强烈建议您使用IETF QUIC。

5、注意事项 如果您使用浏览器接入,请使用支持QUIC协议的浏览器,如Chrome、Microsoft Edge等。 如果您使用自研App接入,则App需要自行实现QUIC协议栈或者集成支持QUIC协议的网络库,例如:quic-go、ngtcp2、quiche、quant、kwik、aioquic、picoquic等。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
QUIC 开源实现列表(持续更新)
QUIC的全称是QuickUDPInternetConnectionsprotocol,由Google设计提出,目前由IETF工作组推动进展,其设计的目标是替代TCP成为HTTP/3的数据传输层协议。熹乐科技在物联网(IoT)和边缘计算(EdgeComputing)场景也一直在打造底层基于QUIC通讯协议的边缘计算微服
Stella981 Stella981
3年前
Facebook如何将QUIC应用于数十亿流量传输
!(https://oscimg.oschina.net/oscnet/63c94328e1e34f57a69b54cb6fb98320.png)随着IETF很快完成QUIC标准定稿,越来越多的企业和开发者投入到QUIC开发实现与部署中。阿里巴巴实现了XQUIC;B站、快手在2019年就公开了QUIC的应用实践;Akamai等CDN服务商
Wesley13 Wesley13
3年前
UDP成为低延时流媒体关键 选SRT还是QUIC?
!(https://oscimg.oschina.net/oscnet/c20abc5ef83446d4aacec0e70d0a8558.jpg)无论是SRT还是QUIC,UDP都成为实现低延迟视频流传输的必选项。在刚刚结束的俄罗斯世界杯,以及即将到来的重大体育赛事中,SRT与QUIC还将有一番较量。LiveVideoStack对
Wesley13 Wesley13
3年前
QUIC协议初探
1、QUIC介绍(1)QUIC(QuickUDPInternetConnections)协议是一种全新的基于UDP的web开发协议。可以用一个公式大致概括:TCPTLSHTTP2UDPQUICHTTP2’sAPI从公式可看出:QUIC协议虽然是基于UDP,但它不但具有TCP的可靠
Stella981 Stella981
3年前
QUIC Weekly 每周一草(20201125期)
关于QUIC协议的论文、IETF进展、博客、视频等等QUIC的全称是QuickUDPInternetConnectionsprotocol,由Google设计提出,目前由IETF工作组推动进展。其设计的目标是替代TCP成为HTTP/3的数据传输层协议。熹乐科技在物联网(IoT)和边缘计算(EdgeComputing)场
Wesley13 Wesley13
3年前
QUIC协议加速互联网
2015042112:06 | DevStore编辑陈儿最近Google开始考虑用改进版的UDP协议QUIC给web提速。根据它近日公布的性能评估,这一融合了UDP与TCP优势的协议似乎提升效果明显。那QUIC与其他协议的区别和优势又在那里,谷歌究竟是怎么想的呢?讨论这个问题前,先来普及一下网络协议的基础知识!网络协议
Stella981 Stella981
3年前
QUIC协议详解之Initial包的处理
!(https://oscimg.oschina.net/oscnet/up09656f8f74c901efa593a30336f008f1224.JPEG)从服务器发起请求开始追踪,细说数据包在QUIC协议中经历的每一步。大量实例代码展示,简明易懂了解QUIC。前言本文介绍了在QUIC服务器在收到QUIC客户端发起的第
Stella981 Stella981
3年前
QUIC Weekly 每周一草(20201111期)
关于QUIC协议的论文、IETF进展、博客、视频等等QUIC的全称是QuickUDPInternetConnectionsprotocol,由Google设计提出,目前由IETF工作组推动进展。其设计的目标是替代TCP成为HTTP/3的数据传输层协议。熹乐科技在物联网(IoT)和边缘计算(EdgeComputing)场
Stella981 Stella981
3年前
QUIC Weekly 每周一草(20201104期)
关于QUIC协议的论文、IETF进展、博客、视频等等QUIC 的全称是QuickUDPInternetConnectionsprotocol,由Google设计提出,目前由IETF工作组推动进展。其设计的目标是替代TCP成为HTTP/3的数据传输层协议。熹乐科技在物联网(IoT)和边缘计算(EdgeComputing
Wesley13 Wesley13
3年前
QUIC 协议简介
QUIC的全称是QuickUDPInternetConnectionsprotocol,由Google设计提出,目前由IETF工作组推动进展,其设计的目标是替代TCP成为HTTP/3的数据传输层协议。熹乐科技在物联网(IoT)和边缘计算(EdgeComputing)场景也一直在打造底层基于QUIC通讯协议的边缘计算微服
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
675
粉丝
15
获赞
40