Definition and Overview

Concept

Congestion control: techniques to prevent excessive packet accumulation in network nodes causing degraded performance and packet loss.

Layer Association

Primarily implemented at transport layer; complements network layer mechanisms.

Scope

Focuses on regulating traffic entry into network to maintain stable throughput and delay.

Distinction

Differs from flow control; manages network-wide traffic, not end-to-end sender-receiver rate.

Causes of Congestion

Excessive Traffic Load

More packets injected than network capacity; leads to buffer overflow.

Resource Limitations

Finite bandwidth, buffer space, and processing power in routers.

Traffic Bursts

Sudden spikes in data transmission exceed handling capability.

Routing Inefficiencies

Poor load balancing causes hotspots in network topology.

Effects of Congestion

Packet Loss

Buffers overflow; packets dropped causing retransmissions.

Increased Delay

Queues lengthen; transmission latency rises.

Throughput Degradation

Effective data rate decreases due to retransmissions and delays.

Network Collapse

Severe congestion leads to throughput collapse and network instability.

Congestion Control vs Flow Control

Congestion Control

Network-wide regulation; prevents router overload; implemented at transport layer.

Flow Control

Sender-receiver rate adjustment; prevents receiver buffer overflow; implemented at transport or data link layer.

Interaction

Flow control ensures receiver readiness; congestion control ensures network stability.

Goals of Congestion Control

Maximize Throughput

Maintain high data transfer rates without causing congestion collapse.

Minimize Delay

Reduce queuing and transmission delays to improve user experience.

Fairness

Allocate bandwidth equitably among multiple competing flows.

Stability

Avoid oscillations and ensure smooth traffic flow over time.

Congestion Control Mechanisms

Open Loop Control

Traffic shaping and admission control; prevents congestion before it occurs.

Closed Loop Control

Feedback-based mechanisms detect congestion and adjust transmission accordingly.

Explicit vs Implicit Feedback

Explicit: routers signal congestion (e.g., ECN); Implicit: sender infers congestion from packet loss or delay.

TCP Congestion Control

Fundamentals

TCP uses window-based control; adjusts congestion window (cwnd) dynamically.

Phases

Slow start: exponential growth; Congestion avoidance: linear increase; Fast retransmit and fast recovery.

Loss Detection

Packet loss inferred from timeout or triple duplicate ACKs triggers window reduction.

Fairness

TCP aims to share bandwidth fairly among concurrent flows.

Key Congestion Control Algorithms

TCP Tahoe

Slow start, congestion avoidance, fast retransmit; resets cwnd on loss.

TCP Reno

Adds fast recovery; avoids slow start after single packet loss.

TCP New Reno

Improved loss recovery during multiple packet losses.

TCP Vegas

Delay-based congestion detection; proactive window adjustment.

TCP Cubic

Designed for high bandwidth-delay product networks; cubic window growth function.

AlgorithmKey FeatureLoss Response
TCP TahoeSlow start, no fast recoveryWindow reset to 1
TCP RenoFast recoveryHalves window on loss
TCP VegasDelay-based controlAdjusts cwnd before loss
TCP CubicCubic growth functionAggressive window growth
TCP Slow Start:cwnd = 1 MSSwhile (ACK received) { cwnd += 1 MSS (exponential growth) if (cwnd >= ssthresh) { enter congestion avoidance }}TCP Congestion Avoidance:while (ACK received) { cwnd += MSS * (MSS / cwnd) (linear growth)}

Active Queue Management (AQM)

Purpose

Prevent congestion by early packet drops or marking before queue overflows.

RED (Random Early Detection)

Drops packets probabilistically based on average queue size.

ECN (Explicit Congestion Notification)

Marks packets instead of dropping to signal congestion to endpoints.

Other AQM Techniques

CoDel, PIE: minimize bufferbloat and reduce latency.

Performance Metrics

Throughput

Amount of data successfully delivered per unit time.

Packet Loss Rate

Percentage of packets dropped due to congestion.

Latency

Time delay experienced by packets traversing network.

Fairness Index

Measure of equitable bandwidth distribution among flows.

MetricDefinitionImportance
ThroughputData delivered/unit timeMeasures efficiency
Packet Loss RateDropped packets percentageIndicates congestion severity
LatencyTransmission delayAffects user experience
Fairness IndexBandwidth distribution measureEnsures equitable resource use

Challenges and Limitations

Scalability

Algorithms must perform under diverse network sizes and speeds.

Heterogeneous Networks

Different link capacities and delays complicate control.

Delay and Feedback Accuracy

Feedback latency affects timely congestion detection.

Fairness vs Efficiency Tradeoff

Maximizing throughput can conflict with fairness goals.

Bufferbloat

Excessive buffering causes high latency despite high throughput.

References

  • Van Jacobson, "Congestion Avoidance and Control," ACM SIGCOMM Computer Communication Review, vol. 18, no. 4, 1988, pp. 314–329.
  • Sally Floyd and Van Jacobson, "Random Early Detection Gateways for Congestion Avoidance," IEEE/ACM Transactions on Networking, vol. 1, no. 4, 1993, pp. 397–413.
  • Kevin Fall and Sally Floyd, "Simulation-based Comparisons of Tahoe, Reno and SACK TCP," ACM SIGCOMM Computer Communication Review, vol. 26, no. 3, 1996, pp. 5–21.
  • Mark Allman, Vern Paxson, and Eric Blanton, "TCP Congestion Control," RFC 5681, 2009.
  • Nick McKeown et al., "The Bufferbloat Problem," Communications of the ACM, vol. 55, no. 1, 2012, pp. 57–65.