一文搞懂:QUIC 如何实现可靠传输 又如何干掉 TCP 的四大痛点

先一句话定位 QUIC

QUIC = 基于 UDP 做的、可靠 + 安全 + 低延迟 的新一代传输协议。
HTTP/3 底层就是 QUIC。

它本质就是:
把 TCP 的可靠性 + TLS 的安全性 + 自己的多路复用,全部在用户态用 UDP 重写了一遍。


一、QUIC 如何实现「可靠传输」?

和你刚才看的可靠UDP实现思路一模一样,QUIC 就是工业级最强版本:

1. 基于 UDP,但自己实现可靠

  • UDP 只负责:发数据包、不管丢没丢
  • QUIC 负责:可靠、有序、加密、连接、多路复用

2. QUIC 可靠核心机制(对标 TCP)

  1. 帧(Frame)+ 报文(Packet)

    • 数据切成 Frame,装进 Packet
    • 每个 Packet 有唯一编号(Packet Number)
  2. 序列号 + 确认应答

    • Packet Number 保证顺序
    • 接收方回复 ACK,告诉发送方“收到哪些包”
  3. ACK 不只是单个,是批量确认

    • 一次 ACK 可以确认连续一段 + 多个离散包
    • 大大减少 ACK 包数量
  4. 超时重传 + 自适应 RTO

    • 没收到 ACK → 重传
    • 实时测量 RTT,自动算超时时间
  5. 乱序处理

    • 收到乱序包先缓存
    • 不因为一个包丢了就阻塞后面数据(这是吊打TCP的关键)
  6. 流量控制 & 拥塞控制

    • 流控:告诉对方我缓冲区多大,别发太快
    • 拥塞控制:和 TCP 类似,但更灵活、用户态可升级

总结:
QUIC 把 TCP 所有可靠功能,在 UDP 之上重新实现了一遍,而且做得更好。


二、TCP 四大经典缺陷

(面试必考,你前面学 TCP 一定遇到过)

  1. 队头阻塞(Head-of-line Blocking)
  2. 握手延迟高(1.5 RTT 建连 + TLS 再 1~2 RTT)
  3. 连接迁移困难(IP/端口变了就断连)
  4. 协议僵化(内核协议栈,难更新、难优化)

下面看 QUIC 如何一个个打爆它们


三、QUIC 如何解决 TCP 四大缺陷?

1. 解决:队头阻塞(最核心优势)

TCP 问题

一个包丢了 → 整个连接所有流都卡住等重传
HTTP/2 多流复用也没用,因为底层还是同一个 TCP 连接。

QUIC 解法

  • 真正的多路复用:多 Stream 共享一个 QUIC 连接
  • 每个 Stream 独立可靠,互不影响
  • 一个 Stream 丢包 → 只阻塞自己,不影响别的 Stream

结论:
QUIC 彻底干掉队头阻塞。


2. 解决:握手慢、建连成本高

TCP 问题

  • TCP 三次握手:1 RTT
  • TLS 握手:1~2 RTT
    合计:2~3 RTT 才能发数据

QUIC 解法

  • QUIC 内置 TLS 1.3
  • 安全 + 传输 一次性完成
  • 首次连接:1 RTT
  • 复用连接:0 RTT(直接发数据)

结论:
QUIC 打开网页、APP 请求速度明显更快。


3. 解决:连接迁移(切换网络就断连)

TCP 问题

TCP 连接 =
四元组(源IP + 源Port + 目标IP + 目标Port)
手机 4G 切 WiFi → IP 变 → 连接断 → 重连

QUIC 解法

  • 使用 Connection ID(连接ID) 标识连接
  • 不管你 IP、端口怎么变
  • 只要 Connection ID 对,连接就不断

手机切换网络、切换基站,都不会断流。


4. 解决:TCP 协议僵化、难升级

TCP 问题

  • 在内核里
  • 改个拥塞控制 = 升级内核 = 不可能
  • 导致 TCP 几十年进步很慢

QUIC 解法

  • 在用户态实现
  • APP 升级 = QUIC 协议自动升级
  • 想改拥塞控制、重传策略、ACK 策略,随便改

QUIC 迭代速度比 TCP 快 10 倍。


四、极简总结(面试背这个)

  1. QUIC 基于 UDP,自己实现全套可靠传输
    序列号、ACK、重传、流控、拥塞控制全都有。

  2. QUIC 解决 TCP 四大死穴:

    • 队头阻塞 → 多路复用、流隔离
    • 握手慢 → 1-RTT / 0-RTT 建连
    • 网络切换断连 → Connection ID 连接迁移
    • 协议僵化 → 用户态实现,可快速升级
  3. 一句话:
    QUIC 是 TCP 的可靠性 + TLS 的安全性 + UDP 的速度 + 可升级架构 的终极合体。

posted @ 2026-03-20 22:28  七星6609  阅读(8)  评论(0)    收藏  举报