Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer Science Division

Similar presentations


Presentation on theme: "Computer Science Division"— Presentation transcript:

1 EECS 122: Introduction to Computer Networks Transport Layer - Advanced Variations 
Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA

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 TCP Flavors TCP-Tahoe TCP-Reno TCP-newReno TCP-Vegas, TCP-SACK
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 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 TCP-SACK SACK = Selective Acknowledgements
ACK packets identify exactly which packets have arrived Makes recovery from multiple losses much easier

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 Equation-Based CC Simple scenario Observations:
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 Equation-Based CC Idea: Approach:
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 Question! Why use the TCP equation? Why not use any equation for T(p)?

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

11 Increasing cwnd Faster
B x D E y y C x increases by 2 per RTT y increases by 1 per RTT Limit rates: x = 2y x

12 Increasing cwnd Faster
B x D E y

13 Larger Initial cwnd A B D E x y x starts SS with cwnd = 4
y starts SS with cwnd = 1

14 Open Many Connections A B D E x 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 Cheating and Game Theory
B x D E y D  Increases by 1 Increases by 5 A Increases by 1 Increases by 5 (x, y) 22, 22 10, 35 35, 10 15, 15 Too aggressive Losses Throughput falls Individual incentives: cheating pays Social incentives: better off without cheating Classic PD: resolution depends on accountability

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 Example p = 0 p = 1% p = 10%


Download ppt "Computer Science Division"

Similar presentations


Ads by Google