Reliable transport protocol on top of UDP
Description #
Course project for Computer Networks: build a reliable, ordered byte stream on top of UDP — that is, re-derive the parts of TCP that UDP deliberately leaves out.
The implementation covers the connection handshake and teardown, sequence numbers and cumulative acknowledgements, retransmission driven by adaptive timeouts, a sliding window for flow control, and congestion control with slow start and congestion avoidance. Correctness was checked against a test harness that injects packet loss, reordering and duplication, so the protocol has to hold up on a deliberately hostile link.
(Source code not provided due to university policy)