QUIC Protocol
A modern transport layer network protocol designed by Google to make the web faster and more secure.
Detailed Explanation
QUIC (Quick UDP Internet Connections) combines the features of TCP (reliability) and TLS (encryption) into a single handshake. This reduces the time it takes to establish a secure connection from 3 'round-trips' to 1 (or even 0). It is the underlying transport for HTTP/3 and represents the biggest change to internet networking in 30 years.
Quick Summary
QUIC is a modern transport protocol built on UDP that bundles reliability, multiplexing, and encryption into one tightly-integrated layer. It's the foundation of HTTP/3 and a quiet replacement for TCP+TLS on the web.
Key Takeaways
- Built on UDP, but adds reliability, ordering, and congestion control internally.
- TLS 1.3 is part of the protocol, there's no separate handshake.
- Per-stream loss handling avoids the head-of-line blocking inherent to TCP.
- Connection IDs are independent of IP, enabling seamless network migration (Wi-Fi ↔ LTE).
- Designed to evolve quickly: deployed in user-space, not the kernel, so new versions ship without OS updates.
When to use it
- HTTP/3 (the most visible deployment).
- Google services have used QUIC internally for many years before standardization.
- Other application protocols layering on QUIC (e.g., DNS-over-QUIC, gRPC over HTTP/3).
- VPN-like tunnels (WireGuard's design rhymes with QUIC's goals).
Common Mistakes
- Trying to reason about TCP-style behavior under QUIC, congestion control, retransmission, and ack semantics differ.
- Treating QUIC as opaque UDP for monitoring; you lose visibility into the streams unless you decrypt.
- Assuming corporate networks pass it cleanly; many deep packet inspection systems still don't handle QUIC.
- Expecting QUIC to fix server-side latency, it cuts handshake time, but slow APIs are still slow.
QUIC Protocol, Frequently Asked
Is QUIC just "TCP over UDP"?
Roughly, but with TLS, multiplexing, and connection migration baked in from the start. It's TCP rebuilt in user-space with the lessons of 40 years of TCP deployment.
Why not just fix TCP?
TCP lives in the OS kernel, change cycles are years, and "middleboxes" (NATs, firewalls) ossified it. QUIC runs in user-space and ships at application speed, which is why innovation moved there.