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 sharing? � Does it matter? � What is fair? How can we implement it? � Flows are not aware � of each other � of the network topology and link rates � Need a decentralized solution Walrand 4
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 5
The Problem What is Fair? Possible definitions: Walrand 6
The Problem What is Fair? Example 1: Walrand 7
The Problem What is Fair? Example 2: Walrand 8
The Problem What is Fair? Example 3: Walrand 9
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 10
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 11
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 12
Approaches End-to-End: AIMD - Justification Walrand 13
Approaches End-to-End: AIMD - Reno Walrand 14
Approaches End-to-End: AIMD – Router Memory This is pretty bad …! Walrand 15
Approaches End-to-End: AIMD – RED This is a bit idealized … Walrand 16
Approaches End-to-End: AIMD (cont) Solution: When source gets ACK, Solution: When source gets ACK, It replaces W by W + a.RTT/W It replaces W by W + a.RTT/W Walrand 17
Approaches End-to-End: AIMD (cont) Walrand 18
Approaches End-to-End: AIMD (cont) Walrand 19
Approaches End-to-End: AIMD + Scheduling Walrand 20
Approaches End-to-End: Admission Control Walrand 21
Approaches Access Control Inefficient: Unnecessarily limits x 2 and x 3 Walrand 22
Approaches Approaches Access Control Walrand 23
Approaches Access Control Walrand 24
Approaches Router Scheduling Complex: Requires router configuration Walrand 25
Approaches Router Scheduling Walrand 26
Recommend
More recommend