三分钟,带你了解下一代传输层协议QUIC

article/2025/8/3 16:36:29

QUIC(Quick UDP Internet Connection,快速UDP网络连接)发音同 "quick",是 Google 公司在 2012 年提出的使用 UDP 进行多路并发传输的协议。

2016 年,互联网工程任务组 IETF 开始标准化 QUIC。

2017 年,Google 开发并部署了 QUIC 协议的初始设计 gQUIC。

2021 年,QUIC 协议的正式标准化版本 RFC900 发布。

从 QUIC 的命名中可以看到两个关键词——快速和 UDP。这个两个关键词概括了 QUIC 的特性,提供更快速、更可靠、更安全的数据传输方式。

  • 快速:QUIC 比 TCP 更简单,能够更快速地连接。其安全性也不亚于 TCP+TLS。
  • UDP:QUIC 是建立在 UDP 之上的新型传输协议,一般在应用层发挥作用。

QUIC协议栈

一个 QUIC 数据包由头部(Header)和数据(Data)组成。

QUIC数据格式

头部(Header)中包含以下字段:

  • 标志位(Flags):用来指示该数据包的类型、状态等信息。
  • 连接ID(Connection ID):用于唯一标识一个连接。
  • 版本号(Version):表示使用的协议版本号。
  • 包编号(Packet Number):表示数据包的顺序。

数据(Data)被拆分成多个小的数据帧(Frame),每个数据帧都有自己的类型、长度和负载。数据帧通过 Stream ID 进行标识,以便于在多路复用时进行管理。

  • PING 帧:用于测试连接的可用性。
  • ACK 帧:用于确认收到数据包。
  • RESET_STREAM 帧:用于重置数据流的状态。
  • STOP_SENDING 帧:用于停止向特定的数据流发送数据。
  • CRYPTO 帧:用于传输加密数据。
  • STREAM 帧:用于传输普通数据流。

STREAM帧结构

下面介绍 QUIC 协议中的三个核心特性原来:0-RTT 连接建立、无队头阻塞的多路复用、无歧义重传。

0-RTT 连接建立

QUIC 协议使用了 0-RTT(零往返时间)连接建立技术,可以在客户端发送第一个请求时就建立起安全连接,从而减少连接建立所需的时间。这个技术通过使用 TLS 的 Session Ticket,在服务端重启后仍然保留连接状态,从而避免了重新握手的过程。

传统 HTTPs 握手包含了 TCP 和 TLS 握手,如下图所示,总共需要 3 个 RTT。

TCP和TLS握手

从中可以看出,TLS 握手需要 1 个 RTT。通过 1 次 RTT,客户端和服务端就协商好了通信密钥。

  1. 客户端:生成随机数 a,选择公开的大数 G 和 P,计算 A=a*G%P。发送 Client Hello 消息,将 A 和 G 传递给服务端。
  2. 服务端:生成随机数 b,计算 B=b*G%P。发送 Server Hello 消息。将 B 传递给客户端。
  3. 客户端:通过秘钥加密算法生成通信密钥 KEY = aB = ab*G%P。 服务端:通过秘钥加密算法生成通信密钥 KEY = bA = ba*G%P。

QUIC 的握手是基于 TLS1.3 实现的,建立连接时也应该需要1次 RTT,那 QUIC 的 0-RTT 连接是如何实现的?

首次握手后,QUIC 的客户端缓存了 Server Hello,那么在下次建连时,可以直接使用缓存数据计算通信密钥,如下图所示。

0-RTT连接

  1. 客户端:生成随机数 c,选择公开的大数 G 和 P,计算 A=c*G%P。发送 Client Hello 消息,将 A 和 G 传递给服务器。 客户端:直接使用缓存的 Server Hello 计算通信密钥 KEY = cB = cb*G%P,加密并发送应用数据。
  2. 服务端:根据 Client Hello 消息计算通信密钥 KEY = bA = bc*G%P。

通过缓存 Server Hello,在生成 Client Hello 的同时,加密了应用数据,所以客户端不需要经过握手就可以发送应用数据,这就是 QUIC 的 0-RTT 连接。

无队头阻塞的多路复用

浏览器限制了同一个域名下的请求数量。当请求达到最大数量时,剩余的资源需要等待其他资源请求完成后才能发起请求,这就是队头阻塞(Head of Line Blocking)。

在传统的 HTTP/1 协议中,每个 TCP 连接只能处理唯一的请求,因此当需要请求多个资源时,需要建立多个 TCP 连接。为了解决 HTTP/1 的核心问题,在 HTTP/2 中引入了多路复用的技术,这个技术可以只通过一个 TCP 连接就可以传输所有的请求数据,如下图。

多路复用很好的解决了浏览器限制同一个域名下的请求数量的问题,从而提高网络吞吐量。此外,QUIC 协议还支持数据流级别的拥塞控制,可以更精细地控制网络拥塞。

TCP连接

HTTP/2 虽然通过多路复用解决了 HTTP 层的队头阻塞,但仍然存在 TCP 层的队头阻塞问题。在 HTTP/2 中,如果 TCP 连接中出现了丢包的情况,那么整个 TCP 都要开始等待重传,后面的所有数据都将被阻塞。在这种情况下, HTTP/2 的表现情况反倒不如 HTTP/1 。

QUIC 通过为每个请求流都分配一个独立的滑动窗口,解决 TCP 层的队头阻塞。如下图,A 请求流上的丢包不会影响 B 请求流上的数据发送。

QUIC连接

无歧义重传

为了保证可靠性,TCP 使用基于序号的 Sequence Number 和 Ack 来确认消息的有序到达。在 TCP 中,重传包的 sequence number 和原始包的Sequence Number 是不变的,也正是因此这个特性,引发了 Tcp 重传歧义问题。当超时事件 RTO 发生后,客户端发起重传,然后接收到了 Ack 数据。但由于 Sequence Number 是一样的,这个接收到的 Ack 到底是原始请求的响应还是重传请求的响应呢?这导致了 RTT 计算歧义。

TCP重传歧义性

QUIC 则是采用了单向递增的 Packet Number 来标识数据包,因此不会像 TCP 一样,不会因为超时重传了同样序列的数据包,造成 RTT 和 RTO(Retransmission Time Out,重传超时时间)的计算不准确。每个 Packet Number 都严格递增,就算 Packet N 丢失了,重传的 Packet N 的 Packet Number 已经不是 N,而是一个比 N 大的值。

QUIC的RTT计算

QUIC 对于 RTT 的计算更为准确,预估的超时时间能够有效防止更多的重传请求被错误地发送回客户端。同时也给予了 QUIC 网络更为快速的反应时间,及时通知客户端重传数据包。

但是单纯依靠严格递增的 Packet Number 肯定是无法保证数据的顺序性和可靠性。

QUIC 引入了 Stream Offset 的概念,通过 Stream Offset 可以保证应用数据的顺序。假设客户端先后发送了 Pakcet N 和 Pakcet N+1,Stream Offset 分别是 x 和 x+y。如果 Packet N 丢失,引发重传,重传的 Packet Number 是 N+2,但是它的 Stream Offset 依然是 x,这样就算 Packet N + 2 是后到的,依然可以将 Stream x 和 Stream x+y 按照顺序组织起来,交给应用程序处理。

QUIC 为各种领域提供了可靠、高效和安全的数据传输方案,其中最具潜力的应用场景包括:

  • 实时 Web 和移动应用 这些应用需要低延迟和可靠的数据传输。通过相互独立的数据流和拥塞控制机制,QUIC 可以快速高效地发送和接收数据。在多路复用模式下,QUIC 同一连接内不同数据流之间的数据传输互不干扰。
  • 与物联网设备通信 物联网设备通常使用 TCP 和 MQTT 等协议进行通信,在受限的网络环境中可能存在高延迟和丢包等问题。相比之下,QUIC 可以极近实现 0-RTT,为高延迟和丢包的网络环境,提供了更可靠和高效的替代方案。
  • 支付和电子商务应用 这些应用需要安全可靠的数据传输。QUIC 通过 TLS 加密和可靠的数据流,使其成为这些应用的理想选择,有助于保证数据安全完整地传输。从用户的角度来看,QUIC 通过保证更快、更顺畅的交易,优化了用户体验。

当前,QUIC 协议已经成为 IETF 标准化工作组的一个项目,并且越来越多的互联网公司开始支持 QUIC 协议。随着 QUIC 协议的普及,我们可以期待更快、更安全、更可靠的网络体验。

想第一时间收到我们的更新吗?

只需两步,为文档君加上“爱你一万年”的星标⭐!

没有星标,你爱的文档君就要跟你失联啦~

我们是一群平均从业年限5+的通信专业工程师。

关注我们,带你了解通信世界的精彩!


http://www.hkcw.cn/article/oBrKQxQRvj.shtml

相关文章

项目发布 | NEC这项“商赛必备”,是否真的适合你?

NEC 全美经济学挑战经济学作为各学科方向的基础学科,如果推荐竞赛的话,不得不提到著名的全美经济学挑战NEC!那么NEC到底是一个什么样的竞赛?不同年级的学生如何参赛呢? 下面就让我们一起来看一下吧! NEC竞赛介绍 ……全美经济学挑战赛(National Economics Challenge,简…

原创魏延的武功到底如何?在蜀汉勉强能挤进前十,这8人可以击败他

魏延,虽然号称蜀汉第六大将,但是单论武功,他只能勉强挤进前十,这8人可以轻松击败他。 一、关羽 关羽,是刘备手下的一位“万人敌”名将。 演义中,关羽的战绩非常出众。十八路诸侯讨伐董卓时,关羽斩杀了董卓手下大将华雄。官渡之战时,关羽又为曹操斩杀了袁绍手下名将颜良…

硬件情报站深度解析:RTX4090超大显存揭秘,Intel ArrowLake新U全面曝光

近日,硬件情报站第148期提供了大量令人瞩目的硬件信息。首先,出现了传说中超大显存的RTX4090D 48GB与RTX4080SUPER 32GB显卡,引起了市场的广泛关注。这两款显卡的显存容量分别提升到48GB和32GB,比标准版高出一倍,明显定位于特殊用途。在细致分析这些显卡的结构后发现,其显…

原创国足冲击2026世预赛:争取小组前四,踏上新征程

2026年世界杯将首次由三个国家联合举办,同时国际足联也对此次世界杯进行了改革,参赛球队数量从32支增至64支。这一政策让亚洲区的晋级名额大幅增加,从原来的4.5个提升至8.5个,成为五大洲中增长幅度最大的一项。除了日本、韩国、澳大利亚、沙特、伊朗和卡塔尔外,阿联酋、乌…

新品预定~ HOTTOYS HT 1/6 DX45 星球大战 达斯维达 战损版 黑武士

新品预定~ HOTTOYS HT 1/6 DX45 星球大战 达斯维达 战损版 黑武士‍ 官方价格: DX44普通版,2380RMB,定金470元 DX45豪华版, 2780RMB,定金550元 发售日期:预计2025年第4季度~2026年第1季度分批发货 (预定有优惠,详询客服) 预定详询客服~ (💁:modelfactory) (以厂家…

原创“四库全书”分别指的是哪些?看完涨知识了!建议收藏

《四库全书》是中国历史上规模最大的一部丛书,它的编纂完成于清朝乾隆年间,是中华文化遗产中的瑰宝。《四库全书》包含了从先秦到清朝中期的大量文献资料,几乎涵盖了古代中国的所有学术领域。下面我们就来详细了解一下《四库全书》的相关情况。一、《四库全书》的由来 《四库…

原创桥本大辉再次失误!狼狈摔出界,无缘单杠决赛,重演3年前历史

于2024年法国巴黎奥运会男子竞技体操赛事先期筛选中,日本选手桥本大辉在单杠项目中的意外失误令人震惊不已。此次失误并非纯粹的落地失稳问题,大辉完全失去平衡,摔出垫子保护区域,这一严重失误使其无法晋级单杠决赛,同时也粉碎了他卫冕的梦想。对于曾在东京奥运会上以高分…

“一捂即晕?热播剧他是谁中的‘迷魂药’存在吗?”

在最近的热播剧《他是谁》中,观众被引入了一个关于“迷魂药”的神秘世界。剧中的张译饰演了一名忠诚的人民警察卫国平,他在一次抓捕罪犯的过程中,遭遇了一剂神秘的迷魂药。这引发了观众对于现实生活中是否存在这样的药物的好奇心。 乙醚是一种古老的合成有机化合物,无色的液…

山西自由行攻略+路线+住宿,山西自由行详细攻略6天旅游花费

山西,这片充满历史底蕴的土地,吸引了无数游客前来探访。想要玩得尽兴又省钱?快来听听芳芳导游的推荐,人均1200元,带你玩转山西6日游!最近打算去山西旅游的朋友免费咨询芳芳:175 3532 1996 微信同号一、行程安排 第一天:抵达太原,游览晋祠,感受古代建筑和雕塑的艺术魅…

原创拉丁美洲为何没有工业强国,离美国太近?

拉丁美洲不是一个地理概念,而是一个文化概念,指的是美国以南的美洲,目前大约有33个国家和地区。在人类开启大航海时代,美洲与世界岛建立联系之前。 孤悬与亚欧大陆外的美洲文明远落后于世界岛,美国和加拿大又远落后于拉丁美洲。 美洲三大文明中玛雅文明的高峰是新石器奴隶…

吸血鬼幸存者黑暗圣经合成配方介绍

在吸血鬼幸存者游戏中,许多武器需要玩家使用不同的道具进行合成,其中黑暗圣经这件超武很多玩家想知道获取方法。那么吸血鬼幸存者黑暗圣经怎么解锁?接下来小编为大家带来黑暗圣经合成配方介绍。 蓝圣经和拼写器是合成黑暗圣经的主要材料,通过将它们放入合成界面,玩家就可以…

量子是否是宇宙万物的本源?

想象一下,你走进一家充满神秘的古董店,每一件物品都有自己独特的故事和历史。量子科学也有点像这家古董店,每一项发现都为我们揭开了宇宙深处的秘密。量子力学不仅是现代科学的基石之一,更是解开宇宙奥秘的钥匙。你知道吗,科学家们认为,理解量子现象是解释宇宙中一切从微…

明里紬日本新生代女演员的清纯代表

明里紬,1998年3月出生于神奈川县,2017年3月出道。她身高155cm,三围80 –58 – 83 cm,英文名是Tsumugi Akari。她曾是ATTACKERS C-more エンターテイメント的艺人。明里紬被称为日本最清纯的少女,天生自带呆萌光环,业界称她为日本新一届清纯代表。2017年,她以“奇迹新人”…

《龙之信条2》图文全攻略 全剧情流程全支线全收集攻略

《龙之信条2》图文全攻略,全剧情流程全支线全收集攻略。《龙之信条2》全地图标注指引。龙之信条2剧情,结局,全支线任务,全收集品攻略。维蒙德是人类的家园,而巴特尔是精灵和野兽的家园,这两个地方都有自己的文化和习俗,而两个王国之间的冲突日益严重。作为公认的神话,当…

此地山火绵延数公里!600多人全力扑救,原因已初判→

6月12日下午4时许 山西省临汾市 安泽县冀氏镇一带出现山火 据初判为雷击火引起 并分为东西两条火线 截至昨晚8时 山火还在扑救中 据了解,受高温影响,目前火势较大,形成树冠火、立体燃烧,浓烟较大,南线东段和东线火势较强。记者从安泽县相关部门获悉,目前当地组织了救援车…

Steam游戏评测 No.35《V Rising》夜族崛起

《夜族崛起》(V Rising)是一款2.5D视角的多人在线开放世界生存建造动作冒险游戏。本作以西方的吸血鬼传说为背景,玩家将扮演一位刚刚从千年沉睡中苏醒的吸血鬼,肩负着重建昔日辉煌城堡的使命。在这个充满神秘与危险的世界中,玩家需要探索未知,搜集资源,制造强力装备与武…

绝绝子!Win10激活密钥全攻略

win10激活密钥 N2XRH-GCH84-MV34M-V9QT9-QV4X3 MKNBD-QJGRF-JTTFM-Y9VP3-8K8XG KRNJX-22GXY-HCW46-MWYHY-YWRDB RDHTN-YFFKY-8YVR7-Q996Y-K74X3 CGKNM-P2HMP-3DDXH-6G4MD-M7V3B NTWYF-W667M-GFJYK-Y29XP-XTMDQ Windows 10激活密钥使用全攻略:让你的系统焕然一新 在数字化时代的…

原创关起门来解决!马英九重磅发声,赖清德彻底慌了,闹着要去美国!

据环球网报道,台湾地区前领导人马英九在泰国出席活动,针对两岸问题再发声。他表示,美国不可能为台湾牺牲自己的子弟,他还表示,两岸问题理应由两岸自己谈,不可能、也不应该假手他人,更不可让外国来干预。报道称,马英九在活动中表示,他2016年卸任后,两岸关系开始倒退,…

原创缅甸军队阵地再次遭攻击?战况虚实难分!国管委宣:紧急状态再延

在战争环境下,信息通常是混乱和不可靠的,对我们这些局外人来说,辨别信息的真伪尤为困难。 2024年7月31日晚上,缅甸德昂民族解放军(TNLA)发布消息称,他们已在7月31日上午11点成功攻占了掸邦北部孟密镇的军方第21军事作战指挥部所属的孟密战术作战指挥部,这是该指挥部的最…

JPG怎么转换成PDF文件?介绍六个转换效果较好的方法

JPG怎么转换成PDF文件?JPG是一种常见的图片格式,而PDF则是一种用于呈现文档、图形和图像的电子文件格式。在日常工作和生活中,我们有时需要将JPG图片转换为PDF格式,以便于分享、打印或存档。但是,对于大部分用户来说,却因为找不到合适的方法,而感觉到十分地苦恼及困惑。…