09 September 2026 · transport
Notes on QUIC in the wild
QUIC is a transport protocol that lives in user space and runs over UDP. That sentence explains most of the operational surprises.
Because it is UDP, it inherits the parts of the network that were built for UDP: NAT timeouts, rate limits, and middleboxes that treat unfamiliar traffic as a threat. Because it is encrypted from the first packet, those middleboxes cannot inspect it, so they fall back to heuristics. Sometimes the heuristic is “drop it”.
Handshake observations
A QUIC handshake combines the transport and cryptographic setup, which is elegant and also means a lost packet can cost more than it would in TCP. The 0-RTT path is tempting, but replay semantics are subtle enough that I avoid it for anything that changes state.
Deployment checklist
- Measure UDP reachability separately from TCP reachability.
- Keep a TCP fallback for networks that quietly drop UDP.
- Watch the connection migration behaviour on mobile.
- Do not assume that a successful handshake implies a stable path.
The protocol is good. The network is the hard part.