You are on page 1of 21

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?

You might also like