Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 Congestion Collapse and Efficiency 。 knee point after which knee cliff throughput increases slowly delay increases quickly congestion 。 cliff point after which collapse throughput decreases quickly to zero (congestion collapse) under saturation over delay goes to infinity utilizatio! utilization Congestion avoidance n Load stay at knee Congestion control Keled stay left of (but usually close to)cliff 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.11
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.11 Congestion Collapse and Efficiency • knee – point after which - throughput increases slowly - delay increases quickly • cliff – point after which - throughput decreases quickly to zero (congestion collapse) - delay goes to infinity • Congestion avoidance - stay at knee • Congestion control - stay left of (but usually close to) cliff Load Throughput Delay knee cliff over utilization under utilizatio n saturation congestion collapse
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 TCP Congestion Control Operate to the left of the cliff less efficient than operating at the knee,but requires less support from network Solution:Carefully manage number of packets in network starting up:increase number of packets allowed equilibrium:maintain constant number of packets must probe periodically for more available bandwidth congestion:decrease number of packets allowed 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.12
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.12 TCP Congestion Control • Operate to the left of the cliff - less efficient than operating at the knee, but requires less support from network • Solution: Carefully manage number of packets in network - starting up: increase number of packets allowed - equilibrium: maintain constant number of packets §must probe periodically for more available bandwidth - congestion: decrease number of packets allowed
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 TCP Congestion Control end-end control (no network assistance) transmission rate limited by congestion window size,congwin,over segments: send_base nextsegnum already usable,not ack'ed yet sent sent,not yet ack'ed not usable Congwin- w segments,each with MSS bytes sent in one RTT: throughput= w MSS RTT Bytes/sec 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.13
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.13 TCP Congestion Control • end-end control (no network assistance) • transmission rate limited by congestion window size, Congwin, over segments: w segments, each with MSS bytes sent in one RTT: throughput = w * MSS RTT Bytes/sec Congwin
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 TCP congestion control "probing"for usable bandwidth:.two "phases" ideally:transmit as fast as slow start possible(Congwin as large as congestion avoidance possible)without loss important variables: - increase Congwin until loss Congwin (congestion) threshold:defines loss:decrease congwin,then threshold between two slow begin probing (increasing) start phase,congestion again control phase 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.14
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.14 TCP congestion control • two “phases” - slow start - congestion avoidance • important variables: - Congwin - threshold: defines threshold between two slow start phase, congestion control phase • “probing” for usable bandwidth: - ideally: transmit as fast as possible (Congwin as large as possible) without loss - increase Congwin until loss (congestion) - loss: decrease Congwin, then begin probing (increasing) again
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 TCP Slowstart Slow start algorithm Host A Host B initialize:Congwin =1 one segment for(each segment ACKed) Congwin++ two segments until (loss event OR CongWin threshold) four segments exponential increase (per RTT) in window size(not so slow!) loss event:timeout (Tahoe TCP) and/oror three duplicate ACKs (Reno TCP) time 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.15
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.15 TCP Slowstart • exponential increase (per RTT) in window size (not so slow!) • loss event: timeout (Tahoe TCP) and/or or three duplicate ACKs (Reno TCP) initialize: Congwin = 1 for (each segment ACKed) Congwin++ until (loss event OR CongWin > threshold) Slow start algorithm Host A RTT Host B time