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 方案相比,有以下几点主要特征:
- 利用缓存,显著减少连接建立时间
- 改善拥塞控制,拥塞控制从内核空间到用户空间
- 没有 head of line 阻塞的多路复用
- 前向纠错,减少重传
- 连接平滑迁移,网络状态的变更不会影响连接断线。
参考资料
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
- License under
CC BY-NC 4.0
- Copyright issue feedback
me#imzye.me
, replace # with @ - Not all the commands and scripts are tested in production environment, use at your own risk
- No privacy information is collected here