Network Congestion

advertisement
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?
Download