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

Slides:



Advertisements
Similar presentations
Michele Pagano – A Survey on TCP Performance Evaluation and Modeling 1 Department of Information Engineering University of Pisa Network Telecomunication.
Advertisements

TCP Variants.
Improving TCP over Wireless by Selectively Protecting Packet Transmissions Carla F. Chiasserini Michele Garetto Michela Meo Dipartimento di Elettronica.
Simulation-based Comparison of Tahoe, Reno, and SACK TCP Kevin Fall & Sally Floyd Presented: Heather Heiman September 10, 2002.
Different TCP Flavors CSCI 780, Fall TCP Congestion Control Slow-start Congestion Avoidance Congestion Recovery Tahoe, Reno, New-Reno SACK.
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
Networking TCP-DCR: Making TCP Robust to Non-Congestion Events Sumitha Bhandarkar A. L. Narasimha Reddy
1 End to End Bandwidth Estimation in TCP to improve Wireless Link Utilization S. Mascolo, A.Grieco, G.Pau, M.Gerla, C.Casetti Presented by Abhijit Pandey.
Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015.
1 TCP - Part II. 2 What is Flow/Congestion/Error Control ? Flow Control: Algorithms to prevent that the sender overruns the receiver with information.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth Edition,Peterson.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
TCP in Wireless Ad Hoc Networks
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #07 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
Energy Consumption of TCP Reno, Newreno and SACK in Multi-Hop Wireless Network Harkirat Singh & Suresh Singh.
TCP Variations Naveen Manicka CISC 856 – Fall 2005 Computer & Information Sciences University of Delaware Nov 10, 2005 Most slides are borrowed from J.
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
CS215 TCP Westwood Control Model Development and Stability Analysis Hu, Kunzhong Dong, Haibo Mentor: Wang, Ren Professor:
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
1 Internet Networking Spring 2002 Tutorial 10 TCP NewReno.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Comparison between TCPWestwood and eXplicit Control Protocol (XCP) Jinsong Yang Shiva Navab CS218 Project - Fall 2003.
TCP Westwood (with Faster Recovery) Claudio Casetti Mario Gerla Scott Seongwook Lee Saverio.
Congestion Avoidance and Control CSCI 780, Fall 2005.
1 Internet Networking Spring 2004 Tutorial 10 TCP NewReno.
Medium Start in TCP-Friendly Rate Control Protocol CS 217 Class Project Spring 04 Peter Leong & Michael Welch.
TCP in Heterogeneous Network Md. Ehtesamul Haque # P.
Advanced Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth.
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point)
Low-Rate TCP Denial of Service Defense Johnny Tsao Petros Efstathopoulos Tutor: Guang Yang UCLA 2003.
Inline Path Characteristic Estimation to Improve TCP Performance in High Bandwidth-Delay Networks HIDEyuki Shimonishi Takayuki Hama Tutomu Murase Cesar.
Discriminating Congestion Losses from Wireless Losses using Inter- Arrival Times at the Receiver By Saad Biaz,Nitin H.Vaidya Texas A&M University IEEE.
Qian Zhang Department of Computer Science HKUST Advanced Topics in Next- Generation Wireless Networks Transport Protocols in Ad hoc Networks.
CS 4396 Computer Networks Lab
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
CSE 461 University of Washington1 Topic How TCP implements AIMD, part 1 – “Slow start” is a component of the AI portion of AIMD Slow-start.
1 TCP III - Error Control TCP Error Control. 2 ARQ Error Control Two types of errors: –Lost packets –Damaged packets Most Error Control techniques are.
EE 122: Congestion Control and Avoidance Kevin Lai October 23, 2002.
TCP with Variance Control for Multihop IEEE Wireless Networks Jiwei Chen, Mario Gerla, Yeng-zhong Lee.
TCP Westwood: Efficient Transport for High-speed wired/wireless Networks 2009.
Lecture 9 – More TCP & Congestion Control
What is TCP? Connection-oriented reliable transfer Stream paradigm
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
1 Sonia FahmyPurdue University TCP Congestion Control Sonia Fahmy Department of Computer Sciences Purdue University
Network Protocols: Design and Analysis Polly Huang EE NTU
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
1 TCP - Part II. 2 What is Flow/Congestion/Error Control ? Flow Control: Algorithms to prevent that the sender overruns the receiver with information.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
TCP Westwood: Efficient Transport for High-speed wired/wireless Networks 2008.
TCP Congestion Control 컴퓨터공학과 인공지능 연구실 서 영우. TCP congestion control2 Contents 1. Introduction 2. Slow-start 3. Congestion avoidance 4. Fast retransmit.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Computer Networking Lecture 16 – Reliable Transport.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Karn’s Algorithm Do not use measured RTT to update SRTT and SDEV Calculate backoff RTO when a retransmission occurs Use backoff RTO for segments until.
Sandeep Kakumanu Smita Vemulapalli Gnan
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Khiem Lam Jimmy Vuong Andrew Yang
TCP Westwood(+) Protocol Implementation in ns-3
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
TCP - Part II Suman Banerjee CS 640, UW-Madison
TCP III - Error Control TCP Error Control.
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP flow and congestion control
Presentation transcript:

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

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 Motivation  Bit error rate of wireless links (~ to ) is substantially higher than wire- line links (~ )  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 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 Bulk Retransmit When a lost is detected:  New Reno Retransmits one packet per RTT  Bulk Repeat retransmits the whole window

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 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 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 Fixed Retransmit Timeout Solution:  Use a fixed retransmit timeout  For error-induced losses (LDA), do not double retransmit timeout value

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 Intelligent Window Adjustment (cont’d) Solution:  If loss is due to random error, leave cwnd unchanged

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 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 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 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 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 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 Simulation Results - Fairness Two TCPW-BR sharing the same 5% error rate

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

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 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 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 Experimental Results

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 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”