TCP Westwood: Efficient Transport for High-speed wired/wireless Networks Mario Gerla, Medy Sanadidi, Ren Wang and Massimo Valla UCLA Computer Science 1
Outline 1. TCP Overview 2. Bandwidth Estimation and TCP Westwood 3. Bandwidth Estimation vs. Rate Estimation 4. Performance Evaluation 2
TCP Congestion Control 3
TCP Congestion Control Overview Evolved over the years: Tahoe, Reno, NewReno, SACK Window based, window size => offered traffic rate Probing: a connection probes for available bandwidth, when perceives packet loss, backs down to slower rate Two phases with differing probing behavior Initial design assumes packet losses are almost all due to buffer overflow Network layer assistance (RED, ECN, XCP, BA-TCP) for better efficiency, fairness and stability Link layer assistance has been suggested for hybrid networks where packets loss can be caused by both (1) random error, and (2) buffer overflow 4
TCP Reno Limitations (Ren, please clarify ) In wireless (lossy) networks random packet loss causes unnecessary window reduction and thus inefficiency In High speed networks blind halving of cwnd also results in inefficiency (why?) Throughput (Mbps) 10 8 6 4 2 Throughput (Mbps) 10 8 6 4 2 NewReno 0 2 4 6 8 10 12 14 16 18 20 Transmition Speed of the Bottleneck Link (Mbps) 0 0.01 0.1 1 Packet Loss Rate (%) 5
Outline 1. TCP Overview 2. TCP Westwood and Rate Estimation 3. Bandwidth and Rate Estimation; adptive filter 4. Performance Evaluation 6
TCP Westwood (2000) Key Idea: Enhance congestion control via the Rate Estimate (RE) Estimate is computed at the sender by sampling and exponential filtering Samples are determined from ACK interarrival times and info in ACKs regarding amounts of bytes delivered RE is used by sender to properly set cwnd and ssthresh after packet loss (indicated by 3 DUPACKs, or Timeout) 7
TCP Westwood: the control algorithm TCPW Algorithm Outline: When three duplicate ACKs are detected: set ssthresh=re*rttmin (instead of ssthresh=cwin/2 as in Reno) if (cwin > ssthresh) set cwin=ssthresh When a TIMEOUT expires: set ssthresh=re*rttmin (instead of ssthresh=cwnd/2 as in Reno) and cwin=1 Note: RTTmin = min round trip delay experienced by the connection 8
At equilibrium, RE -> Fair RE Initially, two connections have different Wi and Ri. In the increase phase windows grow at the same rate Just before overflow : Wi = Ri (Buf/Cap + RTTm) for i = 1,2 At overflow, RE estimate reduces windows back to zero backlog line, ie: Wi = RE RTTm = Ri RTTm Connection 2 Window Connection 1 Window Fair rate share bottleneck overflow zero backlog 9
Fair RE = Residual Bandwidth Estimate? Bandwidth Estimation (Mbps) 6 5 4 3 2 1 Estimated BW Actual BW Single TCPW flow coexists with On/Off UDP traffic 0 0 50 100 150 200 250 300 Time (sec) Single TCPW flow at equilibrium does estimate residual bottleneck bandwidth 10
3. TCP Westwood Related TCP + Bdw estimation work Note: the concept of using the bandwidth estimate to control the TCP flow is not new TCP Vegas monitors Bdw and RTT to infer the bottleneck backlog; then, from backlog it derives feedback to congestion window Keshav s Packet Pair scheme also monitors bandwidth to estimate the bottleneck backlog and compare to common target; it adjusts source rate 11
Related Works (cont) TCP Vegas Sender watches for some sign that router s queue is building up and congestion will happen; e.g., RTT grows sending rate flattens Sender adjust sending rate to avoid filling the buffer Fairness problem has been reported Packet Pair Flow Control Using Packet Pair method to estimate bottleneck service rate to a connection Adjusts the transmitting rate to maintain the TCP connection bottleneck queue equal to a target called setpoint (B) Under round-robin, packet pair measures fair share; otherwise measure is inaccurate, and can overestimate fair share, up to link capacity 12
TCPW Benefits What do we gain by using RE feedback in addition to packet loss)? (a) better performance with random loss (ie, loss caused by random errors as opposed to overflow) (b) ability to distinguish random loss from buffer loss (c) using RE to estimate bottleneck bdw during slow start 13
TCPW and random loss Reno overreacts to random loss (cwin cut by half) TCPW less sensitive to random loss a small fraction of randomly lost packets minimally impacts the rate estimate RE Thus, cwin = RE x RTT remains unchanged As a result, TCPW throughput is higher than Reno and SACK 14
TCPW And Random Loss Segments Cwnd and ssthresh of TCPW and NewReno under random losses: 100 80 60 40 New RENO ssthresh congestion window Segments 100 80 60 40 Westwood ssthresh congestion window 20 0 0 20 40 60 Time (Sec) 80 100 20 0 0 20 40 60 80 100 Time (Sec) NewReno overreacts to random loss (cwin cut by half) A small fraction of isolated randomly lost packets does not impact the RE estimate Thus, cwnd = RE * RTTmin remains unchanged As a result, TCPW efficiency is higher than NewReno and SACK 15
3. TCP Westwood TCPW in lossy environment Throughput (Mbps) 45 40 35 30 25 20 15 10 5 Westwood Reno SACK 0 0.0001 0.001 0.01 0.1 1 Error Rate (%) 16
D at ageneral D at ageneral TCPW in a wireless lossy environment Efficiency: Improvement significant on high (Bdw x Length) paths link errors Base Station Wireless Host Internet Internet long propagation time Fairness: better fairness than RENO under varying RTT Friendliness: TCPW is friendly to TCP Reno TCP 17
NASA Workshop Demo (From Steve Schultz, NASA) 3. TCP Westwood Internet Throughput Measurement 18
3. TCP Westwood Internet Measurements Testbed Internet Test-Bed UCLA CS departiment LAN High Speed Backbone Westwood (Intrepid.cs. ucla.edu) Reno ( hebe.cs.ucla.edu) Bologna s University Italy (shannon. csr. unibo.it) R Internet R Taiwan University Tw (speed.cis.nctu.edu.tw) R Brazil (ceop2.nce.ufrj.br) 19
TCPW Fairness Fairness: how equitably is bandwidth shared among same flavor TCP flows? Internet experiment with 10 TCPW and 10 TCP NR Jain s index for this experiment is??? Throughput(Mbps) 1 0.8 0.6 0.4 0.2 0 NewReno Westwood 1 2 3 4 5 6 7 8 9 10 Flow No. 20
TCPW Friendliness Friendliness: fairness across different TCP flavors Friendly share principle: TCPW is allowed to recover the bandwidth wasted by NewReno because of blind window reduction TCPW original RE filter has Friendliness Problem. 10 connections total (TCPW + RENO) ; No random errors Average throughput per connection is shown below: Average throughput (Mbps) 3 2.5 2 1.5 1 0.5 Fair Share TCPW BE NewReno 0 0 2 4 6 8 10 No. of Competing New Reno connections 21
Outline 1. TCP Overview 2. TCP Westwood and Bandwidth Estimation 3. Bandwidth & Rate Estimation; Adaptive Filter 4. Performance Evaluation 22
3. TCP Westwood TCPW original estimation (BE) d k First TCPW version (referred to as: TCPW BE) used a bandwidth like estimator (BE) given by: BE k b k = d k k k /( t t 1) t k-1 t k b + b = α kbek 1 + k 2 α k 2τ = 2 τ ( ) k k 1 1 α t + t k k sample exponential filter filter gain 23
3. TCP Westwood TCPW Rate Estimation (TCP RE) d k-1 d k T Rate estimate (RE) is obtained by aggregating the data ACKed during the interval T (typically = RTT): t k T is the sample interval RE k = α k RE b k k 1 α + k = b + b 2 k k 1 ( 1 α ) 2τ = 2 τ t j > tk T T d j k t + t k k sample exponential filter filter gain 24
3. TCP Westwood Bandwidth Estimation (Mbps) TCPW RE/BE interaction with RENO One TCPW RE/BE and one Reno share a 5Mbps bottleneck No errors (bottleneck gets saturated) Errors (0.5%), no congestion 4 3.5 3 2.5 2 1.5 1 0.5 fair share BE RE 0 0 2 4 6 8 10 12 14 Time (sec) BE overestimates fair rate ( = 2.5 Mbps) Bandwidth Estimation(Mbps) 4 3.5 3 2.5 2 1.5 1 0.5 fair share* BE RE 0 0 2 4 6 8 10 12 14 Time (sec) RE underestimates fair rate (=3.6 Mbps) TCPW BE Not friendly to NewReno! TCPW RE does not improve thruput! (*) TCPW fair share > 50% because NewReno is incapable of getting 50% 25
3. TCP Westwood TCPW Adaptation Neither RE or BE estimator are optimal for all situations BE is more effective in random loss RE is more appropriate in congestion loss (ie, buffer overflow) KEY IDEA: dynamically select the aggressive estimate (BE) or the conservative estimate (RE) depending on current channel status (congestion or random loss?) NEEDED: a congestion measure that gives us an idea of the most probable cause of packet loss (congestion or random) 26
Combining Rate and Bandwidth estimations: TCPW CRB 3. TCP Westwood TCPW CRB chooses between RE or BE upon packet loss to set the ssthresh over a threshold q ssthresh = cwin = BE x RTT min Packet Loss Detected Congestion measure Binary switch under a threshold q ssthresh = cwin = RE x RTT min 27
3. TCP Westwood Congestion Measure Segments in Bits IF cwnd/ RTTmin (ie, max achievable rate) is larger than vs. RE (currently achieved rate) the channel is congested; if max is equal to current rate, the loss is random loss 600000 500000 400000 300000 200000 100000 RE*RTTmin congestion window 0 0 20 40 60 80 100 Time Congested Channel 450000 400000 350000 300000 250000 200000 150000 100000 50000 Segments in Bits RE*RTTmin congestion window 0 40 45 50 55 60 65 70 Time Random loss channel 28
TCPW with continuous filter adaptation Next step is to have a continuous instead of switched filter adaptation IDEA: adapt continuously the sample size according to congestion level adapt continuously the filter agility according to network instability In TCPW AF (Adaptive Filtering) we adapt the sample interval T k according to current measured congestion level T k ranges from T k = inter ACK interval to T k = RTT Filter agility (more or less weight on history) must be limited so that it does not overreact to network jitter 29
3. TCP Westwood TCPW AF: Sampling Adapting the size of sampling intervals to congestion level measure T k No Congestion: T k = inter ACK continuous adaptation T k Congestion: T k grows s k = j t j > tk Tk T k d Rate sample 30
TCPW AF: Sampling (cont) The sample size T k is continuously adjusted according to current congestion measure: T Max throughput assuming there is no congestion in the network k = RTT cwin *( RTT min Thˆ) / k cwin RTT min actual achieved throughput Severe Congestion: T k = RTT Upon ACK Receipt ABE Computes Congestion Level Sample interval T k Link Under Utilized: T k = > 0 (ie, inter ACK intrv) 31
Outline 1. TCP Overview 2. TCP Westwood and Bandwidth Estimation 3. Bandwidth & Rate Estimation; Adaptive Filter 4. Performance Evaluation 32
TCPW AF Simulation Results (1) 20 TCPW ARE NewReno 15 Throughput (Mbps) 10 5 0 0.01 0.1 1 Packet Loss Rate (%) Throughput vs. packet loss rate 33
TCPW AF Simulation Results (2) 60 TCPW ARE NewReno 50 Throughput (Mbps) 40 30 20 10 0 20 40 60 80 100 120 140 160 180 200 Two way Propagation Time (msec) Throughput vs. Two-way Propagation Time Is there loss? 34
TCPW AF Simulation Results (3) 40 35 ABSE NewReno 30 Throughput (Mbps) 25 20 15 10 5 0 10 20 30 40 50 60 70 80 90 100 Transmition Speed of the Bottleneck Link (Mbps) Throughput vs. Bottleneck Capacity Is there loss? 35
3. TCP Westwood TCPW AF Simulation results (4) Average throughput (Mbps) 3 2.5 2 1.5 1 0.5 Fair Share TCPW BE NewReno Average throughput (Mbps) 2 1.5 1 0.5 Fair Share TCPW ABE NewReno 0 0 2 4 6 8 10 No. of Competing New Reno connections 0 0 2 4 6 8 10 No. of Competing New Reno connections TCPW AF Is Friendly Towards NewReno! 36
Summary Introduced the concept of Rate Estimation and related work Reviewed end-to-end estimation based congestion control methods Presented TCP Westwood, and the evolution of fair rate estimate to improve the performance; showed simulation results to evaluate the method Compared TCPW with other methods 37
References The papers about TCP Westwood, TCP Westwood CRB and ABE can be found in the papers section of the TCP Westwood Web Page: http://www.cs.ucla.edu/nrl/hpi/tcpw/ TCP Vegas: New Techniques for Congestion Detection and Avoidance. Lawrence Brakmo, Sean O'Malley, and Larry Peterson. In ACM SIGCOMM, pages 24-35, August 1994 I. Akyildiz, G. Morabito, and S. Palazo. TCP-Peach: A new Congestion Control Scheme for Satellite IP Networks. IEEE/ACM Transaction on Networking, vol. 6, pp 307-21, 2001. S. Keshav A Control-Theoretic Approach to Flow Control, Proceeding of ACM SIGCOMM 1991 K. Lai and M. Baker, Measuring Link Bandiwdths Using a Deterministic Model of Packet Delay, Sigcomm 2000 M. Allman and Vern Paxson, On Estimating End-to-End Network Path Properties, ACM/Sigcomm 1999 R. Carter and M. Crovella, Measuring Bottleneck Link Speed in Packet-Switched Networks Performance Evaluation, Vol 27,28, 1996 Dovrolis, Ramanathan, Moore, What Do Packet Dispersion Techniques Measure?, Infocom 2001. 38