Introduction to QUIC
Introduction
QUIC is a new multiplexed transport built on top of UDP. HTTP/3 is designed to take advantage of QUIC’s features, including lack of Head-Of-Line blocking between streams.
What is QUIC
QUIC
is an abbreviation for Quick UDP Internet Connections, a new transport protocol invented by Google. Compared to TCP
, QUIC
can reduce latency. On the surface, QUIC
is very similar to TCP
+TLS
+HTTP/2
implemented on UDP
. Since TCP
is implemented in the operating system kernel and middleware firmware, it is almost impossible to make significant changes to TCP
. However, since QUIC
is built on top of UDP
, there is no such limitation. QUIC
can achieve reliable transmission, and its flow control function is in user space rather than kernel space compared to TCP
, so users are not limited to CUBIC
or BBR
, but can freely choose and even adjust optimization according to application scenarios.
Compared with the existing TCP + TLS + HTTP/2 solution, QUIC has the following main features:
- Use caching to significantly reduce connection establishment time
- Improve congestion control, move congestion control from kernel space to user space
- Multiplexing without head-of-line blocking
- Forward error correction to reduce retransmission
- Connection smooth migration, network state changes will not affect connection disconnection.
Reference
https://en.wikipedia.org/wiki/QUIC
https://peering.google.com/#/learn-more/quic
https://www.chromium.org/quic/
https://tools.ietf.org/html/draft-ietf-quic-transport-34
https://blog.cloudflare.com/the-road-to-quic
https://github.com/quicwg/base-drafts/wiki/Implementations
Leave a message
Disclaimer
- Welcome to visit the knowledge base of SRE and DevOps!
- License under CC BY-NC 4.0
- Made with Material for MkDocs and improve writing by generative AI tools
- Copyright issue feedback me#imzye.com, replace # with @