写点什么

谷歌浏览器访问 QUIC 实践

  • 2025-11-14
    北京
  • 本文字数:1460 字

    阅读完需:约 5 分钟

文分享自天翼云开发者社区《谷歌浏览器访问QUIC实践》.作者:林****娟

一、背景信息:

QUIC 由 Google 自研,2012 年部署上线,2013 年提交 IETF,2021 年 5 月,IETF 推出标准版 RFC9000。Google 推出的 QUIC 被称为 GQUIC,IETF 制定的 QUIC 称为 IQUIC。

QUIC 的主要优势如下:


1、握手建连更快

QUIC 建连时间大约 0~1 RTT,在两方面做了优化:

1)传输层使用了 UDP,减少了 1 个 RTT 三次握手的延迟。

2)加密协议采用了 TLS 协议的最新版本 TLS 1.3,相对之前的 TLS 1.1-1.2,TLS1.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 数据包,可以减少重传次数,提升传输效率。

 

二、适用场景

1、图片业务:可降低图片加载时间。

2、短视频业务:可提升视频秒开率,并且降低弱网环境卡顿率。

3、直播业务:可提升播放稳定性,降低因网络波动带来的卡顿率。


三、使用谷歌浏览器访问 QUIC 实战

1、谷歌浏览器发起 QUIC 步骤

QUIC 属于双边协议,需要客户端同步支持。可以使用 Chrome 浏览器来访问 QUIC 网站,或者使用基于 Chrome 内核的浏览器。目前较新版本的 chrome 浏览器已默认开启 QUIC。

一般情况下,Chrome 浏览器和服务器端协商使用 QUIC 协议要经过如下步骤:

1)首次访问,客户端发出正常的 TCP 请求

2)服务端如果支持 QUIC,会通过响应头部返回 alt-svc 头部告知浏览器自己支持 QUIC 及版本号

3)下次访问,客户端同时发起 TCP 连接和 QUIC 连接竞速

4)一旦 QUIC 竞速连接获胜,则后续会采用 QUIC 协议发送请求

5)如遇网络或服务器不支持 QUIC,客户端标记 QUIC 为 broken

6)传输中的 QUIC 请求立即用 TCP 重发

7)5min 后尝试重试 QUIC,下一次尝试增大到 10min

8)一旦再次成功采用 QUIC 并把 broken 标记取消

 

2、如何判断一个网站是否支持 QUIC 呢?

可以通过服务器返回的响应头部来判断,当出现响应头部返回 alt-svc 时,即表示该网站支持 QUIC。

示例:alt-svc:h3=":443"; ma=2592000

该行的含义是服务器在 443 端口开启了 QUIC,最大缓存时间是 2592000 秒(30 天),支持的 QUIC 版本 IQUIC。

 

3、查看是否正常使用 QUIC

当访问支持 QUIC 的网站时,可以打开开发者工具(快捷键 F12),在 Protocol 列可以查看其具体的协议,如下图所示:



这里显示的 h3 表示采用的是 IQUIC。

备注:如果没有 Protocol 列,右键点击 Header Options,勾选 Protocol 列即可。

用户头像

还未添加个人签名 2022-02-22 加入

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

评论

发布
暂无评论
谷歌浏览器访问QUIC实践_CDN_天翼云开发者社区_InfoQ写作社区