背景信息
QUIC由Google自研,2012年部署上线,2013年提交IETF,2021年5月,IETF推出标准版RFC9000。Google推出的QUIC被称为GQUIC,IETF制定的QUIC称为IQUIC。
QUIC的主要优势如下:
- 握手建连更快。
- 避免队首阻塞的多路复用。
- 支持连接迁移。
- 可插拔的拥塞控制。
- 前向纠错(FEC)。
协议详细介绍,详情请见:HTTP3.0(QUIC)协议。
适用场景
- 图片业务:可降低图片加载时间。
- 短视频业务:可提升视频秒开率,并且降低弱网环境卡顿率。
- 直播业务:可提升播放稳定性,降低因网络波动带来的卡顿率。
如何验证CDN已开启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协议可以有效解决跨网、视频卡顿问题,提升视频用户播放体验。
天翼云平台某短视频客户使用QUIC后,整体效果优化较为明显,首屏优化20%,卡顿率降低5%。
注意不同客户业务情况有所差异,使用QUIC后的提升情况各不相同,本文数据仅供参考。