You have 3 free guides left 😟
Unlock your guides
You have 3 free guides left 😟
Unlock your guides

congestion control is a crucial mechanism for managing network traffic. It prevents network overload by adjusting data transmission rates based on perceived congestion. This helps maintain fair resource allocation among users and ensures efficient network utilization.

The process involves techniques like , , and . These methods work together to gradually increase sending rates, respond to congestion signals, and quickly recover from packet losses. Understanding these concepts is key to grasping how TCP maintains network stability.

TCP Congestion Control

Concept of network congestion

Top images from around the web for Concept of network congestion
Top images from around the web for Concept of network congestion
  • Occurs when demand for network resources exceeds available capacity
    • Too many devices send data simultaneously, overwhelming network links and routers (multiple users streaming video, large file transfers)
  • Leads to , increased , and reduced
    • Packet loss: Routers discard packets when buffers are full due to congestion (dropped packets, retransmissions)
    • Increased : Packets experience longer queuing delays in congested routers (bufferbloat, high round-trip times)
    • Reduced throughput: TCP senders reduce sending rate in response to congestion signals (slower data transfer speeds)

Purpose of TCP congestion control

  • Prevents and reacts to network congestion, ensuring fair and efficient use of network resources
    • Prevents congestion collapse: Avoids network being overwhelmed with retransmitted packets (1980s ARPANET congestion collapse)
    • Achieves fairness: Ensures multiple TCP flows share available bandwidth fairly (equal distribution among competing flows)
  • Mechanisms:
    1. Slow start: Gradually increases sending rate at beginning of connection or after timeout (exponential growth)
    2. Congestion avoidance: Adjusts sending rate based on perceived network congestion (additive increase, multiplicative decrease)
    3. Fast retransmit and fast recovery: Quickly detects and recovers from packet losses without waiting for timeout (duplicate ACKs, ssthresh adjustment)

Slow start and congestion avoidance

  • Slow start:
    • Begins with small cwndcwnd, typically 1 MSS (Maximum Segment Size)
    • Doubles cwndcwnd for every ACK received, exponentially increasing sending rate
    • Continues until cwndcwnd reaches ssthreshssthresh or loss is detected
  • Congestion avoidance:
    • Triggered when cwndcwnd reaches ssthreshssthresh or after loss event
    • Increases cwndcwnd by 1 MSS for every (RTT) without packet loss
    • Additive increase: Increases cwndcwnd slowly to probe for additional available bandwidth (linear growth)
    • Multiplicative decrease: Reduces cwndcwnd by half when loss is detected, indicating congestion (50% reduction)

Role of cwnd and ssthresh

  • Congestion window cwndcwnd:
    • Represents maximum amount of unacknowledged data sender can have in transit (bytes or segments)
    • Controls sending rate of TCP sender (higher cwndcwnd allows more data in flight)
    • Increased during slow start and congestion avoidance, decreased when congestion detected
  • Slow start threshold ssthreshssthresh:
    • Determines point at which sender switches from slow start to congestion avoidance (boundary between exponential and linear growth)
    • Initially set to high value, typically receiver's advertised window (maximum possible value)
    • Updated to half of current cwndcwnd when loss event occurs, reflecting estimated available bandwidth (adapts to network conditions)

Advantages vs limitations of congestion control

  • Advantages:
    • Prevents congestion collapse by adapting sending rate to available network capacity (self-regulating)
    • Achieves fairness among competing TCP flows by responding to congestion signals (equitable sharing)
    • Provides self-regulating mechanism for efficient network utilization (maximizes throughput while minimizing congestion)
  • Limitations:
    • Reactive rather than proactive: Congestion control reacts to congestion after it has already occurred (delayed response)
    • Susceptible to high latency and throughput degradation in networks with high bandwidth-delay products (long fat networks)
    • May not perform optimally in wireless networks with random packet losses not related to congestion (misinterprets losses as congestion)
    • Relies on packet loss as primary congestion signal, which can lead to suboptimal performance (loss-based congestion control)
© 2024 Fiveable Inc. All rights reserved.
AP® and SAT® are trademarks registered by the College Board, which is not affiliated with, and does not endorse this website.


© 2024 Fiveable Inc. All rights reserved.
AP® and SAT® are trademarks registered by the College Board, which is not affiliated with, and does not endorse this website.

© 2024 Fiveable Inc. All rights reserved.
AP® and SAT® are trademarks registered by the College Board, which is not affiliated with, and does not endorse this website.
Glossary
Glossary