Overview
What this challenge is about.
Implement in Go: connection establishment (3-way handshake), sequenced and acknowledged data segments, retransmission timer with exponential backoff, fast retransmit on triple duplicate ACK, sliding-window flow control, and graceful teardown. Wire to a lossy-network test harness (provided in Docker) that lets you set loss rate and RTT. Run a 100MB transfer across 4 conditions (1 percent loss + 50ms RTT, 1 percent + 300ms, 5 percent + 50ms, 5 percent + 300ms) and report goodput. Deliver source, test harness usage docs, results, and a 6-page protocol-design writeup.
The Brief
What you'll do, and what you'll demonstrate.
Implement a reliable transport over UDP in Go with sequencing, retransmission, and flow control, validated against a lossy-network test harness.
Earning criteria — what you'll demonstrate
- Implement sequencing, acknowledgement, and retransmission from scratch
- Reason about sliding-window flow control and ACK timing
- Measure goodput honestly under controlled loss and RTT
- Communicate transport-protocol design trade-offs
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
Careers
Roles this prepares you for.
Real titles. Real skill bridges. Pick the one closest to your trajectory.
Career mappings coming soon.