This project demonstrates and compares the behavior of various TCP congestion control algorithms using simulations built in GNS3. It visualizes how different algorithms handle congestion under varying network conditions and analyzes their performance based on congestion window growth and packet loss behavior.
- TCP NewReno
- TCP HighSpeed
- TCP Veno
- TCP Vegas
Each algorithm was tested under identical conditions to provide a fair comparison.
- Channel Bandwidth: 2 Mbps (default)
- Application Data Rate: 2 Mbps (default)
- Additional scenario tested with:
- Bandwidth: 6 Mbps
- Data Rate: 0.5 Mbps
Algorithm | Packet Loss Count | Characteristics |
---|---|---|
NewReno | 38 | Classic loss-based; steep drop on congestion; curved recovery |
HighSpeed | 38 | Modified Reno; sharper edges; aggressive window growth for high-speed networks |
Veno | 38 | Reno + Vegas hybrid; distinguishes wireless loss; smoother congestion control |
Vegas | 38 | Delay-based detection; early congestion response; stable and efficient windows |
- Linear growth in slow start.
- Curved drop at congestion.
- High slope when window is small; stabilizes as window grows.
- Similar to NewReno with sharper drops during timeouts.
- Tuned for large bandwidth-delay product (BDP) networks.
- Designed for wireless networks.
- Differentiates between congestion and random packet loss.
- Smoother curves compared to NewReno.
- Uses RTT to detect congestion early.
- Maintains a higher minimum congestion window.
- Very stable throughput without large drops.
- Congestion window peaks around 16000.
- Small, random drops observed.
- Congestion not significantly impacted by further bandwidth increase.
- Ample bandwidth leads to reduced congestion.
- Much smoother congestion window behavior.
- GNS3 for network simulation
- Custom monitoring scripts to record congestion window evolution
- TCP implementations from Linux kernel modules
- RFC 6582 – The NewReno Modification to TCP's Fast Recovery Algorithm
- TCP Vegas: End to End Congestion Avoidance on a Global Internet
- HighSpeed TCP for Large Congestion Windows (RFC 3649)
- TCP Veno: TCP Enhancement for Transmission over Wireless Access Networks
Gaurav Chaudhari
📧 Email
🔗 LinkedIn
💻 GitHub