Download presentation
Presentation is loading. Please wait.
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%
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.