Flow & Congestion ControlThis LectureSlide 4Slide 5Slide 6Slide 7Slide 8Slide 9What is the right window size?Additive IncreaseTCP AIMDTCP “Slow Start”Slow Start + AIMD1Flow & Congestion ControlSome slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina KatabiRead 7.E & 7.F2This LectureMore about Sliding WindowFlow ControlCongestion Control4SrcRcvrwindow = 1-512345p1x5SrcRcvrwindow = 2-612345p1a2x66Srcwindow = 2-612345p1a2x6a2p3Rcvr7Srcwindow = 2-612345p1a2x6a2p3a2p4a2p6a2p5Timeout2a7p2Rcvr8Srcwindow = 7-1112345p1a2x6a2p3a2p4a2p6a2p5Timeout2a7p27891011RcvrIn this example, the receiver sent cumulative acks, but the same behavior happens if the receiver acks the received sequence number9This LectureMore about Sliding WindowFlow ControlCongestion Control10What is the right window size?The window limits how fast the sender sendsTwo mechanisms control the window:Flow control Congestion control20Additive IncreaseDASrcRcvrcwnd = 1cwnd += 1cwnd = 2D D A Acwnd = 3D D A AD Acwnd = 421TCP AIMDTimeCwndGrab capacity again Halve CwndTimeout because of a packet lossdesired cwndNeed the queue to absorb these saw-tooth oscillations22TCP “Slow Start”DAD D A A D DA ADASrcRcvrDA1248A A A AHow to set the initial cwnd?At the beginning of a connection, increase exponentiallyEvery RTT, double cwnd23Slow Start + AIMDTimeCwndSlow startAdditive increaseMultiplicative decrease
View Full Document