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.
| Algorithm | Key Feature | Loss Response |
|---|---|---|
| TCP Tahoe | Slow start, no fast recovery | Window reset to 1 |
| TCP Reno | Fast recovery | Halves window on loss |
| TCP Vegas | Delay-based control | Adjusts cwnd before loss |
| TCP Cubic | Cubic growth function | Aggressive 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.
| Metric | Definition | Importance |
|---|---|---|
| Throughput | Data delivered/unit time | Measures efficiency |
| Packet Loss Rate | Dropped packets percentage | Indicates congestion severity |
| Latency | Transmission delay | Affects user experience |
| Fairness Index | Bandwidth distribution measure | Ensures 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.
Future Trends
Machine Learning Based Control
Adaptive algorithms using AI for dynamic congestion prediction.
Multipath Congestion Control
Simultaneous use of multiple paths to optimize bandwidth.
Congestion Control in 5G and IoT
Tailored solutions for ultra-low latency and massive device connectivity.
Integration with SDN/NFV
Centralized network control enables more flexible congestion management.
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.