Improvements in Classical TCP

Classical Transmission Control Protocol (TCP) faced challenges such as congestion, latency, and inefficiency in modern networks. Over time, several enhancements have been introduced to optimize performance, reliability, and scalability.

1. TCP Congestion Control Enhancements

  • Tahoe & Reno: Introduced Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery, reducing congestion collapse.

  • New Reno: Improved upon Reno by refining Fast Recovery for better handling of multiple packet losses.

  • Vegas: Used round-trip time (RTT) estimation to proactively detect congestion and adjust sending rates efficiently.

2. Loss Recovery & Retransmission Improvements

  • Selective Acknowledgment (SACK): Allowed receivers to acknowledge non-contiguous packets, reducing retransmissions.

  • Forward Acknowledgment (FACK): Enhanced SACK to improve congestion control during packet loss.

  • Duplicate Acknowledgment & Fast Retransmit: Helped detect packet loss faster, avoiding long timeout delays.

3. TCP Performance Enhancements

  • TCP Westwood: Improved bandwidth estimation for better congestion handling in wireless networks.

  • TCP Cubic: Optimized for high-speed networks by using a cubic function for congestion window growth.

  • TCP BBR (Bottleneck Bandwidth and Round-trip propagation time): Focuses on estimating actual available bandwidth rather than relying on packet loss.

4. Scalability & Efficiency Improvements

  • Window Scaling: Extended TCP’s flow control limits for high-bandwidth networks.

  • Explicit Congestion Notification (ECN): Allowed routers to signal congestion before packet loss occurred.

These improvements make TCP more robust, reducing congestion, enhancing throughput, and improving efficiency in modern networks.