3.7 TCP Congestion Control

TCP Congestion Control

  • TCP employs congestion control mechanisms learned from prior discussions on network behaviors.

  • Classic TCP: Ramp-up sending rate until loss occurs, then back off.

  • Delay-Based Approach: Measures round-trip times (RTTs) to manage congestion.

  • Explicit Congestion Notification (ECN): Involves active roles of routers in signaling congestion.

History of TCP Congestion Control

  • 1988: Van Jacobsen's seminal paper laid foundation for modern congestion control.

  • TCP uses an end-to-end approach to detect congestion primarily through packet loss.

  • The aim is to maintain a balance where sending rate increases until a packet loss occurs.

AIMD Algorithm

  • Additive Increase Multiplicative Decrease (AIMD): Increases sending rate by one segment per RTT; cuts rate by half upon loss.

  • Results in a sawtooth pattern of sending rates, fluctuating based on congestion feedback.

  • Loss detection uses triple duplicate ACKs or timeouts.

TCP's Congestion Window

  • Segments:

    • Acknowledged segments (green)

    • Sent but not acknowledged segments (yellow)

    • Allowed to be sent (blue)

    • Too fast to be sent (not shown)

  • Size of the congestion window (CWND) determines transmission rate:

    • Throughput = CWNDRTT\frac{CWND}{RTT}

Slow Start

  • Initial phase begins with one Maximum Segment Size (MSS) per RTT, doubling rate every RTT (exponential increase).

  • Transitioning to AIMD occurs when CWND reaches half its last slow start window size.

TCP Cubic

  • A modification of AIMD that increases congestion window more quickly after loss, then cautiously approaches maximum sending rate (W max).

  • TCP Cubic more effectively utilizes allowable bandwidth than AIMD.

Delay-Based Approaches

  • Aim to manage congestion based on throughput and RTT measurements without inducing packet loss.

  • Example: BBR (Bottleneck Bandwidth and RTT), used internally by Google, measures both bandwidth and RTT.

Explicit Congestion Notification (ECN)

  • Routers signal congestion by setting a bit in the IP header, prompting senders to adjust their congestion window accordingly.

  • Allows proactive congestion control without overwhelming routers.

TCP Fairness

  • Fairness implies equal sharing of link capacity among sessions.

  • AIMD encourages fair sharing, causing throughput to stabilize at equal fair shares.

  • Lack of policing leads to varied application behaviors, with applications leveraging TCP's reliability potentially impacting fairness.

Conclusion

  • TCP's congestion control mechanisms have been vital for the Internet's success, illustrating the importance of these algorithms in managing network traffic.