Networking & Protocols
QUIC internals: multiple-choice review
Six questions that cut across the whole unit. Each mirrors a real decision — when QUIC wins, when TCP wins, and what the design buys and costs — not a definition to recite.
Confirm you can connect the pieces: why QUIC lives in user space, what stream independence and Connection IDs actually buy, where the 1-RTT and 0-RTT handshakes save and where 0-RTT bites, and why the same protocol that wins on mobile loses on a fast LAN.
Two services both serve HTTP. One is an intercontinental API (small payloads, 120 ms RTT, ~1% mobile loss); the other streams 1 Gbps static assets to LAN clients. You can run HTTP/3 (QUIC) or HTTP/2 (TCP) on each. What is the right pairing and why?
An HTTP/2-over-TCP service and an HTTP/3-over-QUIC service both multiplex three concurrent responses. At 0.5% packet loss and 100 ms RTT, one packet carrying response B is dropped. What happens to responses A and C, and why?
A user walks out of the office; their phone hands off WiFi to LTE mid-download. The QUIC connection survives but TCP would have died. What carries the connection across the IP change, and what does the server do before trusting the new address?
Your team enables 0-RTT resumption to shave a round trip off reconnects. A week later, finance reports occasional duplicate fund transfers. What is the mechanism and the correct fix?
After moving to HTTP/3, your network team complains that their packet-level dashboards (per-flow request counts, RTT histograms, slow-client detection) have gone dark, and they can no longer inject an RST to kill a misbehaving flow at the middlebox. How do you read this?
A colleague argues QUIC is strictly superior to TCP because 'it runs in user space, so it is faster.' Where is the reasoning wrong, and what does user-space placement actually buy?
The unit resolves to one judgment call: QUIC trades CPU for latency and resilience. User-space placement buys evolvability (pluggable CC, no ossification) at 15–30% more CPU per byte; stream independence kills head-of-line blocking under loss; Connection IDs survive network migration with path validation and a 3x anti-amplification guard; the merged 1-RTT handshake saves a round trip and 0-RTT saves another at the price of replay (idempotent-only, 425 Too Early); near-full encryption stops RST injection and sniffing but blinds packet-level monitoring. Reach for QUIC on round-trip-bound, lossy, mobile paths — keep TCP where a fast clean link makes CPU the bottleneck.