Network Congestion
Gabriel Nell UC Berkeley
Outline Background:
what is congestion? Congestion control – End-to-end – Router-based
Economic
insights Overview of TCP-friendly congestion control mechanisms
Congestion The
state of sustained network overload Congestion collapse – Traffic dominated by overhead such as packet
retransmissions Current
internet
– Dominated by best-effort traffic – TCP for guaranteed delivery; Congestion-aware – UDP for streaming applications; Congestion-unaware
Controlling Congestion End-hosts – Advantages: cheap, scalable – Disadvantage: requires cooperation
Routers – Advantages: can be more aggressive, has a
complete picture of network traffic – Disadvantages: expensive, algorithms difficult to implement in hardware
TCP Congestion Control Implemented
at end hosts Relies on feedback – Implicit: packet drops indicate congestion – Explicit: ECN flags in header
Congestion
controlled by changing window size: additive increase, multiplicative decrease (AIMD) Problem: delays in adapting to network conditions may cause oscillations
Router-Based Control Scheduling – Determines service order – Should be easy to implement, provide fairness
and protection, and perform well
Scheduling
algorithms
– FIFO (first in, first out) – Round-robin / weighted round-robin – Weighted fair queuing
Router-Based Control Buffer
Management
– Absorbs bursts – Shared/per-flow – Introduce delay
Queue
Management
– Manage queue length, decide what packets to drop – RED effective, but difficult to parameterize for variable
conditions
Economic Insights Tragedy
of the Commons
– Network resources a public good – Negative externality
Solution:
Internalize costs
– Congestion pricing: cover fixed costs, charge
extra under congestion conditions – Charge by willingness to pay
Economic Insights New
problem - customers prefer:
– Flat rates – Constant performance, even if variable
performance is better on average
TCP-friendly Congestion Control TCP-friendly:
long-term throughput does not exceed that of TCP under the same conditions Motivation: want to stream data such as audio and video without degrading overall network performance For convenience, consider long-lasting streams
Congestion Control Schemes Window-based
vs. Rate-based Unicast vs. Multicast End-to-end vs. Router-supported
Single-rate Vs. Multi-rate Meaningful
when considering multicast Single-rate sends data to each client at the same rate Multirate sends data to each client at whatever rate is best for that client
Single-rate Protocols
Rate-based Approaches RAP
– Rate Adaptation Protocol
– Simple AIMD behavior
LDA+
– Loss-Delay Based Adaption Algorithm
– Dynamic AIMD based on RTCP feedback
TFRC
– TCP-Friendly Rate Control Protocol
– Adjusts sending rate based on complex TCP equation
TEAR
– TCP Emulation at Receivers
– Uses a congestion window to determine rate, but
averages over larger timescales
Window-based Approaches RLA
– Random Listening Algorithm
– Tracks number n of congested receivers, window is
decreased if a random number is ≤ 1/n
MTCP
– Multicast TCP
– Arrange receivers in a tree, children report congestion
to parents. – Root receives aggregate info, sends only as much data as smallest window NCA
– Nominee-Based Congestion Avoidance
– Selects bottleneck as representative receiver, uses TCP-
style congestion control algorithm
Multi-rate Protocols
Rate-based Approaches RLC
– Receiver-Driven Layered Congestion Control – Bandwidth consumed by each layer increases
exponentially – Subscription to additional layers comes at particular times, which also increase exponentially; however congestion causes immediate layer drops
Rate-based Approaches FLID-DL
– Fair Layered Increase/Decrease with Dynamic Layering – Encodes data with digital fountain – Bandwidth consumed by a layer decreases over
time
LTS/TFRP
– Layered Transmission Scheme/TCP-Friendly Transport Protocol – Use simple TCP rate equation to decide
subscription level
MLDA and Rainbow MLDA
– Multicast Loss-Delay Based Adaption Algorithm (rate-based) – Same as LDA+, but performs rate calculation at
receiver Rainbow
(window-based)
– Encode data with digital fountain – Receivers individually request packets based on
individual windows
Conclusion Congestion
is an important and complex
problem Many solutions of varying effectiveness and complexity for various applications Areas of future research: – Methods of comparing protocols – Improve definitions of fairness, friendliness – Improve models of TCP traffic
Questions?