Skip to content

Introduction to QUIC

QUIC 是什么

QUIC 是 Quick UDP Internet Connections 的缩写,谷歌发明的新传输协议。与 TCP 相比,QUIC 可以减少延迟。从表面上看,QUIC 非常类似于在 UDP 上实现的 TCP + TLS + HTTP/2。由于 TCP 是在操作系统内核和中间件固件中实现的,因此对 TCP 进行重大更改几乎是不可能的。但是,由于 QUIC 建立在 UDP 之上,因此没有这种限制。QUIC 可以实现可靠传输,而且相比于 TCP,它的流控功能在用户空间而不在内核空间,那么使用者就 不受限于 CUBIC 或是 BBR,而是可以自由选择,甚至根据应用场景自由调整优化。

QUIC 与现有 TCP + TLS + HTTP/2 方案相比,有以下几点主要特征:

  1. 利用缓存,显著减少连接建立时间
  2. 改善拥塞控制,拥塞控制从内核空间到用户空间
  3. 没有 head of line 阻塞的多路复用
  4. 前向纠错,减少重传
  5. 连接平滑迁移,网络状态的变更不会影响连接断线。

quic-vs-http2.png

参考资料