TCP Westwood: Efficient Transport for High-speed wired/wireless Networks 2009.

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.
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
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.
Ahmed El-Hassany CISC856: CISC 856 TCP/IP and Upper Layer Protocols Slides adopted from: Injong Rhee, Lisong Xu.
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
TCP in Wireless Ad Hoc Networks
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
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:
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168) Limited Transmit (RFC 3042)
TCP Westwood (TCPW) and Bandwidth Estimation cs218 – fall 2003 Claudio E. Palazzi tutor: Dr. Giovanni Pau.
TCP Westwood with Agile Probing: Handling Dynamic Large Leaky Pipes.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
RCS: A Rate Control Scheme for Real-Time Traffic in Networks with High B X Delay and High error rates J. Tang et al, Infocom 2001 Another streaming control.
Comparison between TCPWestwood and eXplicit Control Protocol (XCP) Jinsong Yang Shiva Navab CS218 Project - Fall 2003.
1 TCP Bulk Repeat CS218 Fall 2003 Students: Ricardo Oliveira, Joshua Choi, William So Tutor: Guang Yang 11/24/2003.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168)
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
TCP Westwood (with Faster Recovery) Claudio Casetti Mario Gerla Scott Seongwook Lee Saverio.
Transport: TCP Manpreet Singh (Slides borrowed from various sources on the web)
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #8 Explicit Congestion Notification (RFC 3168) Limited Transmit.
TCP in Heterogeneous Network Md. Ehtesamul Haque # P.
Adaptive MPEG4 Video Streaming using Bandwidth Estimation Mario Gerla, Alex Balk, Medy Sanadidi {gerla, abalk, Dario Maggiorini
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point)
TCP Westwood: Experiments over Large Pipes Cesar Marcondes Anders Persson Prof. M.Y. Sanadidi Prof. Mario Gerla NRL – Network Research Lab UCLA.
CS :: Fall 2003 TCP Friendly Streaming Ketan Mayer-Patel.
Inline Path Characteristic Estimation to Improve TCP Performance in High Bandwidth-Delay Networks HIDEyuki Shimonishi Takayuki Hama Tutomu Murase Cesar.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
TCP in Wireless Ad Hoc Networks TCP on Wireless Ad Hoc Networks TCP overview Ad hoc TCP and network layer: mobility, route failures and timeout.
CS/EE 145A Congestion Control Netlab.caltech.edu/course.
TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model CS 218 W 2003 Oct 29, 2003.
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
27th, Nov 2001 GLOBECOM /16 Analysis of Dynamic Behaviors of Many TCP Connections Sharing Tail-Drop / RED Routers Go Hasegawa Osaka University, Japan.
February 2005Proprietary Content1 The Role of PCE in the Evolution of Transport Protocols Pfldnet 2005, Lyon, France M. Y. “Medy” Sanadidi
TCP with Variance Control for Multihop IEEE Wireless Networks Jiwei Chen, Mario Gerla, Yeng-zhong Lee.
Lecture 9 – More TCP & Congestion Control
Murari Sridharan and Kun Tan (Collaborators: Jingmin Song, MSRA & Qian Zhang, HKUST.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
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
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Principles of Congestion Control Some slides.
Thoughts on the Evolution of TCP in the Internet (version 2) Sally Floyd ICIR Wednesday Lunch March 17,
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
TCP Westwood: Efficient Transport for High-speed wired/wireless Networks 2008.
@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.
1 Network Transport Layer: TCP Analysis and BW Allocation Framework Y. Richard Yang 3/30/2016.
@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.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Internet Networking recitation #9
Chapter 3 outline 3.1 transport-layer services
COMP 431 Internet Services & Protocols
Introduction to Congestion Control
Chapter 3 outline 3.1 Transport-layer services
Mario Gerla, Medy Sanadidi, Ren Wang and Massimo Valla
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.
Lecture 19 – TCP Performance
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
CS640: Introduction to Computer Networks
Internet Networking recitation #10
Improving TCP Start-up over High Bandwidth Delay Paths
Transport Layer: Congestion Control
Presentation transcript:

TCP Westwood: Efficient Transport for High-speed wired/wireless Networks 2009

TCP Westwood (Mobicom 2001) Key Idea: Enhance congestion control via the Rate Estimate (RE) Samples are determined from ACK inter- arrival times and info in ACKs regarding amounts of bytes delivered Estimate is computed at the sender by sampling and exponential filtering RE is used by sender to properly set cwnd and ssthresh after packet loss (indicated by 3 DUPACKs, or Timeout)

Rate Estimation (BE-> RE) Ideally, would like to determine the connection fair share of the bottleneck bandwidth Since fair share is difficult (to define or determine), we instead estimate the achieved rate: Rate Estimate (RE) Receiver Sender Internet Bottleneck packets ACKs measure

First TCPW version used a “bandwidth like” estimator (BE) given by: “Original” Rate estimation (BE-> RE) t k-1 t k dk dk sample exponential filter filter gain RE/BE Estimation is similar to Keshav Packet Pair estimation

TCP Westwood: the control algorithm TCPW Algorithm Outline: When three duplicate ACKs are detected: set ssthresh=BE*RTT min (instead of ssthresh=cwin/2 as in Reno) if (cwin > ssthresh) set cwin=ssthresh When a TIMEOUT expires: set ssthresh=BE*RTT min (instead of ssthresh=cwnd/2 as in Reno) and cwin=1 Note: RTT min = min round trip delay experienced by the connection

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 : W i = R i x RTT= R i (Buf/Cap + RTT min ) for i = 1,2 At overflow, RE estimate reduces windows back to “zero backlog” line, ie: W i ’ = RE RTT min = Ri RTT min = Wi (RTT min /RTT) zero backlog bottleneck overflow Fair rate share Connection 1 Window Connection 2 Window RTT = RTT min +T same for both connections

7 Extensions to TCP End-to-end congestion control Selective acknowledgements: TCP SACK Delay-based congestion avoidance: TCP Vegas TCP-Friendly Rate Control: TFRC Binomial Congestion Control Router - assisted Congestion Control Active Queue Mgmt. (AQM) and RED Explicit congestion notification: ECN eXplicit Control Protocol: XCP Discriminating between congestion losses and other losses: cross-layer signaling and guesses losses

Related TCP + Bdw estimation work Bandwidth estimate used by Vegas and Keshav PP TCP Vegas monitors Bdw and RTT to infer the bottleneck queue; then, from queue it derives feedback to congestion window Expected = window size / round trip time Actual = acks / round trip time Queues (bottleneck) ~ expected - actual Keshav’s Packet Pair scheme also monitors bandwidth to estimate the bottleneck queue and compare to common queue target; it adjusts source rate Main difference: TCP Westwood does not need common queue target; it enforces fair share instead.

TCP Westwood Benefits What do we gain by using RE “feedback” in addition to packet loss? (a) ability to distinguish random loss from buffer loss, i.e. better performance with random loss (ie, loss caused by random errors as opposed to overflow) -- exponential filtering (b) using RE to estimate bottleneck bdw during slow start -- estimate the achieved rate

TCPW and random loss Reno overreacts to random loss (cwin cut by half) TCPW less sensitive to random loss (1) a small fraction of “randomly” lost packets minimally impacts the rate estimate RE (2) Thus, cwin = RE x RTT remains unchanged As a result, TCPW throughput is higher than Reno and SACK in presence of random loss

TCPW in presence of random loss: Analysis and Simulation

TCPW in a wireless lossy environment Efficiency: Improvement significant on high (Bdw x Length) paths Fairness: better fairness than RENO under varying RTT Friendliness: TCPW is friendly to TCP Reno

NASA Workshop Demo (From Steve Schultz, NASA) Internet Throughput Measurement

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 (BE) filter has Friendliness Problem…. 5 connections total (TCPW + RENO) ; Average throughput per connection is shown in the next slide

Lossy link ( 1% pkt loss ) TCPW Reno TCPW & Reno friendliness Average TCPW & Reno throughputs vs. TCPW/Reno mix (5 connections total) No link errors TCPW Reno Average Throughput(Mbps) No. of Reno connections Average Throughput(Mbps) No. of Reno connections

Recall that the first TCPW version used a “bandwidth like” estimator (BE) given by: TCPW original estimation (BE) t k-1 t k dk dk sample exponential filter filter gain

TCPW Rate Estimation (TCP RE) Rate estimate (RE) is obtained by aggregating the data ACKed during the interval T (typically = RTT): sample exponential filter filter gain dkdk T d k-1 tktk T is the sample interval

BE overestimates fair rate ( = 2.5 Mbps) TCPW BE Not friendly to NewReno! TCPW RE or BE interaction with RENO No errors (bottleneck gets saturated) fair share Errors (0.5%), no congestion RE underestimates fair rate (=3.6 Mbps) TCPW RE does not improve thruput! fair share * (*) TCPW fair share > 50% because NewReno is incapable of getting 50% One TCPW RE or BE and one Reno share a 5Mbps bottleneck

TCPW with adaptive filter (AF) 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) The Adaptive Filter actually provides a smooth transition from aggressive to conservative measure

TCPW AF: Sampling Adapting the size of sampling intervals to congestion level measure TkTk Congestion: T k grows TkTk No Congestion: T k = inter ACK continuous adaptation Rate sample

TCPW AF: Sampling (cont) The sample size T k is continuously adjusted according to current congestion: Max throughput assuming there is no congestion in the network actual achieved throughput Sample interval T k Upon ACK Receipt Severe Congestion: T k --> RTT Link Under Utilized: T k --> 0 (ie, inter ACK intrv) ABE Computes Congestion Level

TCP Westwood with Agile Probing: Handling Dynamic Large Leaky Pipes -- Problem address Infocom 2004 Leaky Pipes: packet loss due to error Unjustified cwnd cut and premature Slow Start exit Large Pipes: Large capacity and long delay Control scheme may not scale Dynamic Pipes: Dynamic load/changing link bandwidth (Due to change of technologies, e.g., , Bluetooth, GPRS) Linear increase limits efficiency

Persistent Non-Congestion Detection (PNCD) Persistent Non-congestion detected, Agile Probing invoked Dominant flows leave At around 50 sec

Agile Probing Objective: Guided by ERE (Eligible Rate Estimate), converge faster to more appropriate ssthresh adaptively and repeatedly resets ssthresh to ERE*RTTmin Exponentially increase cwnd if ssthresh >cwnd Linearly increase cwnd if ERE < ssthresh Exit Agile Probing when packet loss is detected

Agile Probing

Performance Evaluation (1) Throughput vs. bottleneck capacity during first 20 seconds (RTT=100ms)

Performance Evaluation (2) Throughput vs. delay: 100 flows (each last 30sec) randomly spread out during 20 minutes (bottleneck capacity = 45Mbps)

Convergence/Friendliness 2 connections 10 connections (5 each) ( one TCPW one NewReno) TCPW with Agile Probing converges to the same rate as NewReno, showing friendliness

Lab Measurements Results (FreeBSD Implementation) Persistent Non-Congestion Detection(PNCD) invokes Agile Probing after dominant flow left Startup invokes Agile Probing

Performance Evaluation (3) Friendliness and convergence

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