core practice · system design prompt
Design exercise: Network Protocol Engineering
Packet flow across Ethernet, IP, TCP/QUIC, TLS, DNS, HTTP, load balancers, and application protocols. Implement designOutline() returning non-empty values for: protocolLayers, failureHandling, latencyBudget. Each value must name a concrete mechanism or decision.
The mechanism
Networks are layered state machines under delay, loss, duplication, and reordering. Reliability comes from explicit framing, identity, timeouts, congestion control, and retry semantics.
Expected evidence
A design outline with protocolLayers, failureHandling, latencyBudget plus an explicit failure mode or trade-off.
Try this drill in the practice workspace →
Hints when you need them
- Name the failure mode before selecting the mechanism.
Check the sources
- RFC 9002: QUIC Loss Detection and Congestion Control
- The QUIC Transport Protocol: Design and Internet-Scale Deployment (SIGCOMM '17)
- BBR: Congestion-Based Congestion Control (ACM Queue 2016)
- USENIX NSDI '18 — Copa: Practical Delay-Based Congestion Control for the Internet
- RFC 9000: QUIC: A UDP-Based Multiplexed and Secure Transport
- The Road to QUIC (Cloudflare)
- High Performance Browser Networking