Presentation is loading. Please wait.

Presentation is loading. Please wait.

TCP EE122 Discussion 10/31/11. TCP Flow Control Keep sender from overwhelming receiver Data not necessarily pushed to app layer ACK Adv_Win: 300 R Push.

Similar presentations


Presentation on theme: "TCP EE122 Discussion 10/31/11. TCP Flow Control Keep sender from overwhelming receiver Data not necessarily pushed to app layer ACK Adv_Win: 300 R Push."— Presentation transcript:

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


Download ppt "TCP EE122 Discussion 10/31/11. TCP Flow Control Keep sender from overwhelming receiver Data not necessarily pushed to app layer ACK Adv_Win: 300 R Push."

Similar presentations


Ads by Google