Congestion Control Jean Walrand www.eecs.berkeley.edu/~ wlr - - PowerPoint PPT Presentation
Congestion Control Jean Walrand www.eecs.berkeley.edu/~ wlr - - PowerPoint PPT Presentation
Congestion Control Jean Walrand www.eecs.berkeley.edu/~ wlr Outline The Problem What is fair? Approaches Walrand 2 The Problem Flows share links: How to share the links bandwidth? Walrand 3 The Problem What should be the ideal
Walrand 2
Outline
The Problem What is fair? Approaches
Walrand 3
The Problem
Flows share links:
How to share the links bandwidth?
Walrand 4
The Problem
What should be the ideal sharing?
Does it matter? What is fair?
How can we implement it?
Flows are not aware
- f each other
- f the network topology and link rates
Need a decentralized solution
Walrand 5
The Problem
Does it Matter?
Congestion occurs
Access link
Slow link (56k, DSL, T1, wireless, …)
Access network
E.g., behind the DSLAM
Can improve treatment of flows
E.g., one flow should not get a much
smaller fraction of bandwidth
Some flows might need some guaranteed
bandwidth
Walrand 6
The Problem
What is Fair?
Possible definitions:
Walrand 7
The Problem
What is Fair?
Example 1:
Walrand 8
The Problem
What is Fair?
Example 2:
Walrand 9
The Problem
What is Fair?
Example 3:
Walrand 10
Approaches
End-to-End Control:
Sources adjust their rates Can share rate among different flows
Traffic shaping:
Access control by network
Policing and dropping Cheating RAW
Router bandwidth assignment:
Scheduling per class or “flow”
WFQ, DRR, Priority, …
Differentiated dropping or marking
WRED, RIO, …
Walrand 11
Approaches
End-to-End Control:
Idea:
- Not congested = > increase rate
- Congested = > slow down
Questions:
- How to detect congestion?
Missing ACKs: Usual TCP (Reno) Delayed ACKs: TCP Vegas Routers mark packets: ECN, AVQ, …
- How to increase/slow down?
AIMD Improved algorithms
Walrand 12
Approaches
End-to-End: Detecting congestion
Tail Drop: Drop when full
Unfair to bursty traffic Multiple losses = > bad for window size … Synchronizes sources
RED: Drop as recent average queue length becomes large: p(q_av) VQ: Monitor virtual queue served with slower rate ECN: Mark instead of dropping; ACKs reflect marks – Obviously better
Walrand 13
Approaches
End-to-End: AIMD - Justification
Walrand 14
Approaches
End-to-End: AIMD - Reno
Walrand 15
Approaches
End-to-End: AIMD – Router Memory
This is pretty bad …!
Walrand 16
Approaches
End-to-End: AIMD – RED
This is a bit idealized …
Walrand 17
Approaches
End-to-End: AIMD (cont)
Solution: When source gets ACK, It replaces W by W + a.RTT/W Solution: When source gets ACK, It replaces W by W + a.RTT/W
Walrand 18
Approaches
End-to-End: AIMD (cont)
Walrand 19
Approaches
End-to-End: AIMD (cont)
Walrand 20
Approaches
End-to-End: AIMD + Scheduling
Walrand 21
Approaches
End-to-End: Admission Control
Walrand 22
Approaches
Access Control
Inefficient: Unnecessarily limits x2 and x3
Walrand 23
Approaches Approaches
Access Control
Walrand 24
Approaches
Access Control
Walrand 25
Approaches
Router Scheduling
Complex: Requires router configuration
Walrand 26