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

参考资料

  • https://en.wikipedia.org/wiki/QUIC
  • https://tools.ietf.org/html/draft-ietf-quic-transport-34
  • https://blog.cloudflare.com/the-road-to-quic

Disclaimer
  1. License under CC BY-NC 4.0
  2. Copyright issue feedback me#imzye.me, replace # with @
  3. Not all the commands and scripts are tested in production environment, use at your own risk
  4. No privacy information is collected here
Try iOS App