Download presentation
Presentation is loading. Please wait.
Published byMartin Garrett Modified over 9 years ago
1
TCP EE122 Discussion 10/31/11
2
TCP Flow Control Keep sender from overwhelming receiver Data not necessarily pushed to app layer ACK Adv_Win: 300 R Push data to application S PKT_MAX = 200 MSS = min(PKT_MAX, Adv_Win) ACK Adv_Win: 100 ACK Adv_Win: 100 Adv_Win: 300
3
Congestion Control [1] Avoid overwhelming the network cwnd – congestion window SSTHRESH –threshold until which exponential slow-start happens TCP is either in slow-start mode or AIMD mode
4
Congestion Control [2] TCP is either in slow-start mode or AIMD mode Slow-start: for every ACK, increase cwnd by MSS “AI”: for every window of packets being ACK-ed, increase cwnd by MSS
5
‘Vanilla’ TCP Exponential slow-start till SSTHRESH Set timer, which expires when packets are lost At each new data ACK the timeout is RESET On time-out, set SSTHRESH to (cwnd/2), and cwnd itself to 1 – Timeout = receiving nothing for an entire RTO Usually a disaster!
6
‘Vanilla’ TCP 6 Set SSTHRESH = 1; Enter directly into AIMD since SSTHRESH is already crossed. Set SSTHRESH = 5; Enter Slow Start SSTHRESH = 5 crossed. Enter AIMD
7
TCP Retransmission + Fast Recovery 7 Set SS thresh = 1; Enter directly into AIMD since SS thresh is already crossed. Set SSTHRESH = 5; However, enter AIMD directly!
8
TCP Congestion Control: CWND Flowchart Start Slow Start Additive Increase Additive Increase Simple Fast Retransmission Loss detected by timeout (CWND > SSTHRESH) timeout3 duplicate ACKs timeout3 duplicate ACKs
9
TCP Congestion Control: CWND Flowchart Start CWND+= MSS timeout3 duplicate ACKs Action when receive ACK (CWND > SSTHRESH) timeout3 duplicate ACKs
10
Problem 1 Seg# of ACK responding to Seq # Data can send CWNDACKAdv Win n/a0100 101350 101 100200201250 101201100200301150 201301100300 20140150300 301NoPacketSent 301NoPacketSent
11
Problem 2 ACKCWND 8011000 8011010 8011020 9011030 9011040 9011050 901525
12
Problem 3 ACKCWNDSSTHRESH 801800MAX_INT Timeout!100400 901200400 1001300400 1101400 1201425400 1301450400
13
Advanced Fast Retransmit Start CWND+= MSS timeout 3 duplicate ACKs CWND += MSS CWND = SSTHRESH duplicate ACK new ACK Action when receive ACK (CWND > SSTHRESH) timeout
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.