Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 More on duplicate ACK May be due to segment loss,or delayed segment segment 1 segment 3 ACK 1 ACK 1 segment 2 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.16
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.16 More on duplicate ACK • May be due to segment loss, or delayed segment segment 1 segment 3 segment 2 ACK 1 ACK 1
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 TCP Congestion Avoidance Congestion avoidance /slowstart is over *1 /Congwin threshold * Until (loss event){ (s]u every w segments ACKed: 9 Congwin++ E threshold MOPUTAA 7 threshold 6 threshold Congwin/2 5 Congwin 1 perform slowstart! 01234567891011121314 1:TCP Reno skips slow start(fast Number of transmissions recovery)after three duplicate ACKs 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.17
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.17 TCP Congestion Avoidance /* slowstart is over */ /* Congwin > threshold */ Until (loss event) { every w segments ACKed: Congwin++ } threshold = Congwin/2 Congwin = 1 perform slowstart Congestion avoidance 1 1: TCP Reno skips slow start (fast recovery) after three duplicate ACKs
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 Additive Increase Multiplicative Decrease (AIMD) 。 Used Slow Start to get rough estimate of cwnd 。 Goal:maintain operating point at the left of the cliff Additive increase:starting from the rough estimate,slowly increase cwnd to probe for additional available bandwidth Multiplicative decrease:cut congestion window size aggressively if congestion occurs 。 Alternatives AlAD:gentle increase,gentle decrease AIMD:gentle increase,drastic decrease MIAD:drastic increase,gentle decrease (too many losses) MIMD:drastic increase and decrease 。 Why not AIAD,MIMD,MIAD? mathematical models show AlMD is only choice that converges to fairness and efficiency 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.18
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.18 Additive Increase Multiplicative Decrease (AIMD) • Used Slow Start to get rough estimate of cwnd • Goal: maintain operating point at the left of the cliff - Additive increase: starting from the rough estimate, slowly increase cwnd to probe for additional available bandwidth - Multiplicative decrease: cut congestion window size aggressively if congestion occurs • Alternatives - AIAD: gentle increase, gentle decrease - AIMD: gentle increase, drastic decrease - MIAD: drastic increase, gentle decrease (too many losses) - MIMD: drastic increase and decrease • Why not AIAD, MIMD, MIAD? - mathematical models show AIMD is only choice that converges to fairness and efficiency
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 Buffer and Window Dynamics (AIMD) A B X C 50 pkts/RTT No congestion>x increases by one packet/RTT every RTT Congestion>decrease x by factor 2 60 Rate(pkts/RTT) 50 40 30 Backlog in router(pkts) 20 Congested if >20 10 0 料品的母母的量后青带胡尉骨导草孕 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.19
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.19 Buffer and Window Dynamics (AIMD) • No congestion x increases by one packet/RTT every RTT • Congestion decrease x by factor 2 A B C = 50 pkts/RTT 0 10 20 30 40 50 60 1 28 55 82 109 136 163 190 217 244 271 298 325 352 379 406 433 460 487 Backlog in router (pkts) Congested if > 20 Rate (pkts/RTT) x
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 TCP Fairness Fairness goal:if N TCP sessions TCP congestion avoidance: share same bottleneck link,each AIMD:additive increase, should get 1/N of link capacity multiplicative decrease increase window by 1 per RTT decrease window by factor of 2 on loss event TCP connection 1 TCP bottleneck connection 2 router capacity R 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.20
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.20 TCP Fairness Fairness goal: if N TCP sessions share same bottleneck link, each should get 1/N of link capacity TCP congestion avoidance: • AIMD: additive increase, multiplicative decrease - increase window by 1 per RTT - decrease window by factor of 2 on loss event bottleneck router capacity R TCP connection 1 TCP connection 2