Presentation is loading. Please wait.

Presentation is loading. Please wait.

EE 122: Congestion Control The Sequel October 1, 2003.

Similar presentations


Presentation on theme: "EE 122: Congestion Control The Sequel October 1, 2003."— Presentation transcript:

1 EE 122: Congestion Control The Sequel October 1, 2003

2 2 Quick Review  Slow-Start: cwnd++ upon every new ACK  Congestion avoidance: AIMD if cwnd > ssthresh -ACK: cwnd = cwnd + 1/cwnd -Drop: ssthresh =cwnd/2 and cwnd=1  Fast Recovery: -duplicate ACKS: cwnd=cwnd/2 -Timeout: cwnd=1

3 3 TCP Flavors  TCP-Tahoe -cwnd =1 whenever drop is detected  TCP-Reno -cwnd =1 on timeout -cwnd = cwnd/2 on dupack  TCP-newReno -TCP-Reno + improved fast recovery  TCP-Vegas, TCP-SACK

4 4 TCP Vegas  Improved timeout mechanism  Decrease cwnd only for losses sent at current rate -avoids reducing rate twice  Congestion avoidance phase: -compare Actual rate (A) to Expected rate (E) -if E-A > , decrease cwnd linearly -if E-A < , increase cwnd linearly -rate measurements ~ delay measurements -see textbook for details!

5 5 TCP-SACK  SACK = Selective Acknowledgements  ACK packets identify exactly which packets have arrived  Makes recovery from multiple losses much easier

6 6 Standards?  How can all these algorithms coexist?  Don’t we need a single, uniform standard?  What happens if I’m using Reno and you are using Tahoe, and we try to communicate?

7 7 Equation-Based CC  Simple scenario -assume a drop every k’th RTT (for some large k) -w, w+1, w+2,...w+k-1 DROP (w+k-1)/2, (w+k-1)/2+1,...  Observations: -In steady state: w= (w+k-1)/2 so w=k-1 -Average window: 1.5(k-1) -Total packets between drops: 1.5k(k-1) -Drop probability: p = 1/[1.5k(k-1)]  Throughput: T ~ (1/RTT)*sqrt(3/2p)

8 8 Equation-Based CC  Idea: -Forget complicated increase/decrease algorithms -Use this equation T(p) directly!  Approach: -measure drop rate (don’t need ACKs for this) -send drop rate p to source -source sends at rate T(p)  Good for streaming audio/video that can’t tolerate the high variability of TCP’s sending rate

9 9 Question!  Why use the TCP equation?  Why not use any equation for T(p)?

10 10 Cheating  Three main ways to cheat: -increasing cwnd faster than 1 per RTT -using large initial cwnd -Opening many connections

11 11 Increasing cwnd Faster AB x DE y Limit rates: x = 2y C x y x increases by 2 per RTT y increases by 1 per RTT

12 12 Increasing cwnd Faster AB x DE y

13 13 Larger Initial cwnd AB x DE y x starts SS with cwnd = 4 y starts SS with cwnd = 1

14 14 Open Many Connections AB x DE y Assume A starts 10 connections to B D starts 1 connection to E Each connection gets about the same throughput Then A gets 10 times more throughput than D

15 15 Cheating and Game Theory AB x DE y 22, 2210, 35 35, 1015, 15 (x, y) A Increases by 1 Increases by 5 D  Increases by 1 Increases by 5 Individual incentives: cheating pays Social incentives: better off without cheating Classic PD: resolution depends on accountability Too aggressive  Losses  Throughput falls

16 16 Lossy Links  TCP assumes that all losses are due to congestion  What happens when the link is lossy?  Recall that Tput ~ 1/sqrt(p) where p is loss prob.  This applies even for non-congestion losses

17 17 Example p = 0 p = 1% p = 10%


Download ppt "EE 122: Congestion Control The Sequel October 1, 2003."

Similar presentations


Ads by Google