Application-Layer Reliable Transport & Congestion Control
Designed and evaluated an application‑layer transport stack to study end‑to‑end reliability & congestion dynamics without kernel modification.
- Reliability Core: Sliding window + cumulative ACKs + fast retransmit (triple duplicate ACK) + adaptive timeout (RTT + variance estimator).
- Loss/Latency Handling: Integrated selective negative acknowledgments (SNAK) prototype to test recovery acceleration.
- Congestion Control: Full implementations of TCP Reno and CUBIC from RFC specs; instrumented cwnd evolution and epoch behavior.
- Fairness Analysis: Quantified Reno RTT bias (Jain index 0.95→0.67 under heterogenous latency); CUBIC maintained higher throughput stability.
- Testbed: Mininet topology with controllable delay, bandwidth, random & burst loss; automated experiment harness.
Results: Demonstrated superior link utilization & fairness of CUBIC in high BDP scenarios; produced comparative plots (throughput, cwnd, retransmissions) for report.
Tech: Python, UDP Sockets, Mininet, Matplotlib.
Automated harness outputs structured JSON metrics (throughput, loss events, cwnd traces) for post-run analysis scripts.