Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 Unit 4 TCP Traffic Control 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.1
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.1 Unit 4 TCP Traffic Control
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 Roadmap Review of TCP TCP flow control and congestion control TCP over wireless Case study:New Snoop for TCP in Wireless networks 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.2
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.2 • Review of TCP • TCP flow control and congestion control • TCP over wireless • Case study: New Snoop for TCP in Wireless networks Roadmap
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 TCP:Overview RFCs:793,1122,1323,2018,2581 point-to-point: full duplex data: one sender,one receiver bi-directional data flow in reliable,in-order byte stream: same connection -no“message boundaries” MSS:maximum segment pipelined: size TCP congestion and flow connection-oriented: control set window size handshaking (exchange of send receive buffers control msgs)init's sender, receiver state before data exchange flow controlled: application application writes data sender will not overwhelm socket reads data socket door ----- ---个- door TCP TCP receiver send buffer receive buffer ● [segment 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.3
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.3 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 • full duplex data: - bi-directional data flow in same connection - MSS: maximum segment size • connection-oriented: - handshaking (exchange of control msgs) init’s sender, receiver state before data exchange • flow controlled: - sender will not overwhelm receiver • point-to-point: - one sender, one receiver • reliable, in-order byte stream: - no “message boundaries” • pipelined: - TCP congestion and flow control set window size • send & receive buffers socket door TCP send buffer TCP receive buffer socket door segment application writes data application reads data
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 TCP Flow Control flow control- sender won't overrun receiver's buffers by transmitting too much,too fast Closed-loop Cumulative acknowledgements Implicit an acknowledgement ack's all ·Dynamic window contiguously received data ·End-to-end Coordination between one sender and one receiver Features Per conversation or flow,not no support from routers network-wide increase if no loss - window decrease if loss additive increase multiplicative decrease 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.4
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.4 TCP Flow Control • Closed-loop • Implicit • Dynamic window • End-to-end • Features - no support from routers - increase if no loss - window decrease if loss - additive increase multiplicative decrease sender won’t overrun receiver’s buffers by transmitting too much, too fast flow control • Cumulative acknowledgements – an acknowledgement ack’s all contiguously received data • Coordination between one sender and one receiver - Per conversation or flow, not network-wide
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 TCP Round Trip Time and Timeout Q:how to set TCP timeout Q:how to estimate RTT? value? 。 SampleRTT:measured time from ·longer than RTT segment transmission until ACK receipt - note:RTT will vary ignore retransmissions, too short:premature timeout cumulatively ACKed segments unnecessary SampleRTT will vary,want estimated retransmissions RTT "smoother" 。 too long:slow reaction to use several recent measurements, segment loss not just current SampleRTT 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.5
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.5 TCP Round Trip Time and Timeout Q: how to set TCP timeout value? • longer than RTT - note: RTT will vary • too short: premature timeout - unnecessary retransmissions • too long: slow reaction to segment loss Q: how to estimate RTT? • SampleRTT: measured time from segment transmission until ACK receipt - ignore retransmissions, cumulatively ACKed segments • SampleRTT will vary, want estimated RTT “smoother” - use several recent measurements, not just current SampleRTT
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 Example RTT estimation RTT:gaia.cs.umass.edu to fantasia.eurecom.fr 350 300 250 200 150 100 1 8 15 22 29 36 43 50 5764 71 78 85 92 99 106 time(seconnds) -SampleRTT--Estimated RTT 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.6
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.6 Example RTT estimation RTT: gaia.cs.umass.edu to fantasia.eurecom.fr 100 150 200 250 300 350 1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 time (seconnds) RTT (milliseconds) SampleRTT Estimated RTT
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 TCP Round Trip Time and Timeout EstimatedRTT (1-x)*EstimatedRTT x*SampleRTT Exponential weighted moving average influence of given sample decreases exponentially fast typical value of x:0.1 Setting the timeout EstimtedRTT plus "safety margin" large variation in EstimatedRTT -larger safety margin Timeout EstimatedRTT 4*Deviation Deviation (1-x)*Deviation x*|SampleRTT-EstimatedRTT 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.7
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.7 TCP Round Trip Time and Timeout EstimatedRTT = (1-x)*EstimatedRTT + x*SampleRTT Exponential weighted moving average influence of given sample decreases exponentially fast typical value of x: 0.1 Setting the timeout • EstimtedRTT plus “safety margin” • large variation in EstimatedRTT -> larger safety margin Timeout = EstimatedRTT + 4*Deviation Deviation = (1-x)*Deviation + x*|SampleRTT-EstimatedRTT|
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 TCP Congestion Control Mechanisms that limit amount of data in the network Avoid overrun of internal network buffers Network-wide problem Often phrased as global optimization problem A control system with delayed feedback Implementation today Algorithms in TCP 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.8
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.8 TCP Congestion Control • Mechanisms that limit amount of data in the network - Avoid overrun of internal network buffers • Network-wide problem - Often phrased as global optimization problem - A control system with delayed feedback • Implementation today - Algorithms in TCP
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 Congestion Collapse Decrease of network efficiency under load efficiency utilization of bandwidth Waste resources on useless or undelivered data ·Network layer load->drops,>1 fragment dropped ·Transport layer retransmit too many times no congestion control avoidance 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.9
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.9 Congestion Collapse • Decrease of network efficiency under load - efficiency = utilization of bandwidth • Waste resources on useless or undelivered data • Network layer - loaddrops, 1 fragment dropped • Transport layer - retransmit too many times - no congestion control / avoidance
Feng Gang National Laboratory of Communication,UESTC Aug 2017 Ver 1.4 Congestion Collapse (cont'd) Penalized 90%loss ignores loss bw wasted Waste resources on undelivered data A flow sends data at a high rate despite loss Its packets consume bandwidth at earlier links,only to be dropped at a later link 2616009:Network Traffic Engineering 3:TCP Traffic Control Page.10
2616009: Network Traffic Engineering Feng Gang National Laboratory of Communication, UESTC Aug 2017 Ver 1.4 3: TCP Traffic Control Page.10 Congestion Collapse (cont’d) • Waste resources on undelivered data • A flow sends data at a high rate despite loss • Its packets consume bandwidth at earlier links, only to be dropped at a later link 90% loss bw wasted ignores loss Penalized