什么是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协议的优势
- 握手建连更快:QUIC建连时间大约0~1 RTT,在两方面做了优化:
- 传输层使用了UDP,减少了1个RTT三次握手的延迟。
- 加密协议采用了TLS协议的最新版本TLS 1.3,相对之前的TLS 1.1-1.2,TLS1.3允许客户端无需等待TLS握手完成就开始发送应用程序数据的操作,可以支持1RTT和0RTT。
- 对于QUIC协议,客户端第一次建连的握手协商需1-RTT,而已建连的客户端重新建连可以使用之前协商好的缓存信息来恢复TLS连接,仅需0-RTT时间。因此QUIC建连时间大部分0-RTT、极少部分1-RTT,相比HTTPS的3-RTT的建连,具有极大的优势。
- 避免队首阻塞的多路复用:QUIC同样支持多路复用,相比HTTP/2,QUIC的流与流之间完全隔离的,互相没有时序依赖。如果某个流出现丢包,不会阻塞其他流数据的传输和应用层处理,所以这个方案并不会造成队首阻塞。
- 支持连接迁移:什么是连接迁移?举个例子,当您用手机使用蜂窝网络参加远程会议,当您把网络切换到WLAN时,会议客户端会立马重连,视频同时出现一瞬间的卡顿。这是因为,TCP采用四元组(包括源地址、源端口、目标地址、目标端口)标识一个连接,在网络切换时,客户端的IP发生变化,TCP连接被瞬间切断然后重连。连接迁移就是当四元组中任一值发生变化时,连接依旧能保持,不中断业务。QUIC支持连接迁移,它用一个(一般是64位随机数)ConnectionID标识连接,这样即使源的IP或端口发生变化,只要ConnectionID一致,连接都可以保持,不会发生切断重连。
- 可插拔的拥塞控制:QUIC是应用层协议,用户可以插拔式选择像Cubic、BBR、Reno等拥塞控制算法,也可以根据具体的场景定制私有算法。
- 前向纠错(FEC):QUIC支持前向纠错,弱网丢包环境下,动态的增加一些FEC数据包,可以减少重传次数,提升传输效率。
全站加速产品支持的QUIC类型
目前,天翼云全站加速产品同时支持IETF QUIC和GOOGLE QUIC,以方便不同的客户接入。
- GOOGLE QUIC支持的版本号为Q043、Q046、Q050。
- IETF QUIC支持的版本号为h3-29和h3-v1,IETF QUIC是互联网标准版本,强烈建议您使用IETF QUIC。
适用场景
- 图片业务:可降低图片加载时间。
- 短视频业务:可提升视频秒开率,并且降低弱网环境卡顿率。
- 直播业务:可提升播放稳定性,降低因网络波动带来的卡顿率。
如何验证已在全站加速上开启QUIC功能
- QUIC协议暂不支持客户自助开启,如需使用,请通过提交工单给天翼云客服,由其人工操作开启。
- QUIC属于双边协议,需要客户端同步支持。如您已开通QUIC功能,可以使用Chrome浏览器或者基于Chrome内核的浏览器来访问对应网站域名,并在浏览器开启开发者工具进行抓包验证。目前较新版本的chrome浏览器已默认开启QUIC。
一般情况下,Chrome浏览器和服务器端协商使用QUIC协议要经过如下步骤:
- 首次访问,客户端会先发起正常的TCP请求。
- 服务端如果支持QUIC,会通过响应头部返回alt-svc信息告知客户端自己支持QUIC及对应版本(如下图),其含义是服务器在443端口开启了QUIC,最大缓存时间是2592000秒(30天),支持的QUIC版本IQUIC。
- 下次访问,客户端会同时发起TCP连接和QUIC连接进行竞速。
- 一旦QUIC竞速连接获胜,则后续会采用QUIC协议发送请求,如果在浏览器进行抓包(快捷键F12打开开发者工具),可在Protocol列查看其具体的协议,如下图所示,这里显示的h3即表示采用的是IQUIC。
注意如果没有Protocol列,右键点击Header Options,勾选Protocol列即可。
- 如遇网络或服务器不支持QUIC,客户端标记QUIC为broken。
- 传输中的QUIC请求立即用TCP进行重发。
- 5min后尝试重试QUIC,下一次尝试增大到10min。
- 一旦再次成功采用QUIC,会把broken标记取消。
典型客户案例
随着短视频业务的飞速发展,视频平台更加注重视频的播放效果,QUIC协议可以有效解决跨网、视频卡顿问题,提升视频用户播放体验。
天翼云平台某短视频客户使用QUIC后,整体效果优化较为明显,首屏优化20%,卡顿率降低5%。
注意不同客户业务情况有所差异,使用QUIC后的提升情况各不相同,本文数据仅供参考。