Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 TCP Bulk Repeat CS218 Fall 2003 Students: Ricardo Oliveira, Joshua Choi, William So Tutor: Guang Yang 11/24/2003.

Similar presentations


Presentation on theme: "1 TCP Bulk Repeat CS218 Fall 2003 Students: Ricardo Oliveira, Joshua Choi, William So Tutor: Guang Yang 11/24/2003."— Presentation transcript:

1 1 TCP Bulk Repeat CS218 Fall 2003 Students: Ricardo Oliveira, Joshua Choi, William So Tutor: Guang Yang 11/24/2003

2 2 Goal of our project Implement TCPW-BR in freeBSD Test this implementation in dummyNet Correct possible flaws of initial design Explore new loss discrimination algorithms (LDAs)

3 3 Motivation  Bit error rate of wireless links (~ 10 -6 to 10 -5 ) is substantially higher than wire- line links (~10 -12 )  packet loss rate can be very high (2-10%)  Because errors occur in bursts, several packets can be affected in the same TCP window  Regular TCP (New Reno) retransmits one packet per RTT  need multiple RTTs to recover from several losses  In pathological scenarios (i.e., all the pkts in a window are lost), TCP makes use of the Karn’s clamped retransmit backoff (doubling the RTO each time)  New Reno halves the congestion window when any loss occurs  bandwidth underutilized

4 4 Bulk Repeat Scheme Bulk retransmit  retransmit several packets instead of one (Go-Back-N) Fixed retransmit timeout  Avoid exponential backoff in presence of random losses Intelligent window adjustment  avoid reducing cwnd in random loss events Loss discrimination algorithm (LDA)  End-to-end scheme to differentiate random losses from congestion losses

5 5 Bulk Retransmit When a lost is detected:  New Reno Retransmits one packet per RTT  Bulk Repeat retransmits the whole window

6 6 Bulk Retransmit Algorithm When sender receives 3 dup ACKs or times out, it just retransmit the lost packet (like NewReno) Bulk retransmit is only triggered by partial ACKs:  only if the LDA tells us the loss was random; otherwise retransmit as NewReno Bulk retransmission means retransmitting all outstanding unacknowledged packets in the current window

7 7 Bulk Retransmit Issue Compensate for inflated pipe - wait until effects of burst die down before transmitting new packets: Transmit only after k ACKs have been received ( 0 ≤ k ≤ number of bulk retransmitted packets) Maintain maximum of one bulk retransmission per RTT

8 8 Fixed Retransmit Timeout Karn’s clamped retransmit backoff  Consecutive timeouts trigger doubling of RTO (up to a maximum of 64X)  Under high error rate, if packet or ACK is lost, bandwidth and time are wasted before timeout

9 9 Fixed Retransmit Timeout Solution:  Use a fixed retransmit timeout  For error-induced losses (LDA), do not double retransmit timeout value

10 10 Intelligent Window Adjustment High error rates keep ssthresh low  ssthresh should represent estimate of the pipe size  High error keeps ssthresh too conservative TCP behavior  Sets cwnd to ssthresh on 3DUPACKs  Sets cwnd to 1 on timeout Underutilization in non-congestion

11 11 Intelligent Window Adjustment (cont’d) Solution:  If loss is due to random error, leave cwnd unchanged

12 12 Loss Discrimination Algorithm High impact on Bulk Repeat performance:  Congestion  do TCP loss recovery  Random Error  Bulk Repeat LDA inaccuracy can lead to aggravation of congestion or underutilization

13 13 LDA – Background Two major types:  Network-layer assisted: ECN/RED, ELN, …  End-to-end: Spike: uses ROTT (Relative one-way trip time) combined with hysteresis scheme; ZigZag: uses the mean and standard deviation of ROTT; Biaz scheme: assumes last hop bottleneck wireless link; uses pkt inter-arrival times; if (n+1)Tmin≤Ti<(n+2)Tmin then n missing pkts were lost due to wireless tx errors; Rate Gap Threshold (RGT): uses TCPW ERE and compare to current rate to infer network congestion; Bulk Repeat uses end-to-end, namely Spike + RGT

14 14 LDA - Spike Based on RTT measurement:  B spikestart = RTT min + α∙ (RTT max - RTT min )  B spikeend = RTT min + β∙ (RTT max - RTT min )  α>β; we use 0.4 and 0.05 respectively If RTT goes above B spikestart, TCP enters congestion mode If RTT goes below B spikeend, TCP exits congestion mode

15 15 LDA – RGT Rate Gap Threshold:  Bulk Repeat uses TCPW ERE (Eligible Rate Estimate)  The sending rate is computed as cwnd/RTT min  If the sending rate >> ERE then most likely the network is congested; otherwise loss is a random loss Because Spike and RGT work well under different error rates, Bulk Repeat uses a combination of the two :  RGT is accurate under low error rate; but RGT can’t tell the difference between a heavy loss scenario and a congestion scenario (because it is based on rate estimation)  Spike is good under high error rate (because it’s based on RTT)

16 16 Simulations in ns-2 45Mbps wired + 11Mbps wireless; 70msec RTT; wireless link as shared bottleneck 45Mbps wired + 11Mbps wireless; 70msec RTT; wireless link as shared bottleneck

17 17 Simulation Results Throughput for different pkt error rates (NewReno, TCPW and TCPW-BR) TCPW-BR performs better than the other TCP flavors in high error rate scenarios

18 18 Simulation Results - Fairness Two TCPW-BR sharing the same bottleneck @ 5% error rate

19 19 Simulation Results - Friendliness TCPW-BR and New Reno sharing the same bottleneck @ 5% error rate New Reno gets its fair share as it was running alone

20 20 Experimental Setup Last-hop wireless link with low delay Took measures for several packet error loss rates in the wireless link Sender was running freeBSD5.1 w/ TCPW-BR kernel Receiver was running FreeBSD4.5 w/ New Reno kernel

21 21 Emulation/measurement tools We used dummyNet to emulate the desire scenario  better than ns-2 (simulation)  not as perfect as a real testbed (like a satellite Internet link)  advantages: control over the bwd/delay/pkt error loss/queues Iperf to generate TCP traffic from sender to receiver  simulates a client/server application  control the running time  generates CBR UDP traffic

22 22 Experimental Details TCP socket size(advertised window) must be large enough both in receiver and sender; good heuristic: let it be twice the pipe size= 2*Bwd*RTT We measured the throughput for each flavor of TCP Each connection lasted about 1 minute

23 23 Experimental Results

24 24 Future Work Test friendliness/fairness of our implementation Test stability of protocol (check for deadlocks) Change network scenario: wireless last-hop vs. wireless backbone Different propagation delays Tune the “inflated pipe” compensation scheme Source code tweaking

25 25 References Guang Yang, Ren Wang, Mario Gerla, M. Y. Sanadidi, “TCP with Bulk Repeat” S. Cen, P. C. Cosman and G. M. Voelker, “End-to-end Differentiation of Congestion and Wireless losses”


Download ppt "1 TCP Bulk Repeat CS218 Fall 2003 Students: Ricardo Oliveira, Joshua Choi, William So Tutor: Guang Yang 11/24/2003."

Similar presentations


Ads by Google