What does the word "retransmit" actually mean? I thought I knew. I'd taken the networking class. I'd read the chapter. I could draw the slow-start curve on a whiteboard. Then I tried to write it and discovered I had no idea. This is a series about rebuilding TCP from scratch in Java, and the parts of it I only understood after the code actually ran. What I built LEAP (Loss-aware End-to-end Acknowledged Protocol) is a TCP-style reliable transport I built from scratch on top of UDP. About 1,900 lines of Java. It has sequence numbers, cumulative ACKs, a sliding window, fast retransmit on three duplicate ACKs, adaptive RTO in the style of RFC 6298, slow start and AIMD congestion control with an ssthresh floor, and end-to-end SHA-256 integrity verification on every transfer. There's a CLI: ./bin/leap receive --port 4040 --output /tmp/in ./bin/leap send myfile.bin --to localhost:4040 Enter fullscreen mode Exit fullscreen mode And a benchmark harness that sweeps file size × loss rate × trial across LEAP and TCP.…