A Survey of Recent High Speed TCP Variants

Slides:



Advertisements
Similar presentations
The Transmission Control Protocol (TCP) carries most Internet traffic, so performance of the Internet depends to a great extent on how well TCP works.
Advertisements

Martin Suchara, Ryan Witt, Bartek Wydrowski California Institute of Technology Pasadena, U.S.A. TCP MaxNet Implementation and Experiments on the WAN in.
Michele Pagano – A Survey on TCP Performance Evaluation and Modeling 1 Department of Information Engineering University of Pisa Network Telecomunication.
TCP Variants.
FAST TCP Anwis Das Ajay Gulati Slides adapted from : IETF presentation slides Link:
1 TCP Vegas: New Techniques for Congestion Detection and Avoidance Lawrence S. Brakmo Sean W. O’Malley Larry L. Peterson Department of Computer Science.
TCP Vegas: New Techniques for Congestion Detection and Control.
Different TCP Flavors CSCI 780, Fall TCP Congestion Control Slow-start Congestion Avoidance Congestion Recovery Tahoe, Reno, New-Reno SACK.
Congestion Control Algorithms: Open Questions Benno Overeinder NLnet Labs.
CSE534 – Fundamentals of Computer Networks Lecture 8-9: Transport (UDP, but mostly TCP) Based on slides by D. Choffnes Northeastern U Revised by P. Gill.
Ahmed El-Hassany CISC856: CISC 856 TCP/IP and Upper Layer Protocols Slides adopted from: Injong Rhee, Lisong Xu.
Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015.
CUBIC Qian HE (Steve) CS 577 – Prof. Bob Kinicki.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-4690: Experimental Networking Informal Quiz: TCP Shiv Kalyanaraman:
Presenter - Eric Wang CS577 Advanced Computer Networks
18 Nov 2009 TCP VEGAS Mohammad AlKurbi CMPT – 771: Internet Architecture and Protocols.
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
1 EE 689 Lecture 3 Review of Last Lecture UDP & Multimedia TCP & UDP Interaction.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
TCP Congestion Control TCP sources change the sending rate by modifying the window size: Window = min {Advertised window, Congestion Window} In other words,
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
A Two-Phase TCP Congestion Control for Reducing Bias over Heterogeneous Networks Jongmin Lee, Hojung Cha, Rhan Ha Yonsei University, Korea Information.
1 TCP Bulk Repeat CS218 Fall 2003 Students: Ricardo Oliveira, Joshua Choi, William So Tutor: Guang Yang 11/24/2003.
TCP in Heterogeneous Network Md. Ehtesamul Haque # P.
TCP Congestion Control
CS :: Fall 2003 TCP Friendly Streaming Ketan Mayer-Patel.
Transport Layer 4 2: Transport Layer 4.
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.
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.
Transport Layer3-1 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles.
Much better than the old TCP Flavours 1Rajon Bhuiyan.
TCP Vegas Kulan Kao 2006/3/25.
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.
27th, Nov 2001 GLOBECOM /16 Analysis of Dynamic Behaviors of Many TCP Connections Sharing Tail-Drop / RED Routers Go Hasegawa Osaka University, Japan.
High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion.
BIC Control for Fast Long-Distance Networks paper written by Injong Rhee, Lisong Xu & Khaled Harfoush (2004) Presented by Jonathan di Costanzo (2009/02/18)
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.
What is TCP? Connection-oriented reliable transfer Stream paradigm
Recent Congestion Control Research at UCLA Presenter: Cesar Marcondes PhD Candidate CS/UCLA Chicago, July IRTF/ICCRG Meeting Presenter: Cesar Marcondes.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Compound TCP in NS-3 Keith Craig 1. Worcester Polytechnic Institute What is Compound TCP? As internet speeds increased, the long ‘ramp’ time of TCP Reno.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
 Last Class  This Class  Chapter 6.3. ~ 6.4.  TCP congestion control.
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Fairness of Bandwidth Allocation (§6.3.1)
TCP Westwood: Efficient Transport for High-speed wired/wireless Networks 2008.
H. OhsakiITCom A control theoretical analysis of a window-based flow control mechanism for TCP connections with different propagation delays Hiroyuki.
Computer Networks Lecture 10: Transport layer Part III
Murari Sridharan Windows TCP/IP Networking, Microsoft Corp. (Collaborators: Kun Tan, Jingmin Song, MSRA & Qian Zhang, HKUST)
Congestion Control CS 168 Discussion Week 7. RECAP: How does TCP set rate? How much data can be outstanding? – min{RWND, CWND} RWND: do not overload the.
Congestion Avoidance Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
Increasing TCP's CWND based on Throughput draft-you-iccrg-throughput-based-cwnd-increasing-00 Jianjie You IETF92 Dallas.
@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.
@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.
Sandeep Kakumanu Smita Vemulapalli Gnan
Other Methods of Dealing with Congestion
TCP Vegas Congestion Control Algorithm
CUBIC Marcos Vieira.
COMP 431 Internet Services & Protocols
Introduction to Congestion Control
TCP Vegas: New Techniques for Congestion Detection and Avoidance
Transport Protocols over Circuits/VCs
TCP-LP Distributed Algorithm for Low-Priority Data Transfer
TCP Cubic CS577 Brett Levasseur 10/1/2013.
Compound TCP Summary (by Song, Zhang & Murari)
Transport Layer: Congestion Control
Review of Internet Protocols Transport Layer
When to use and when not to use BBR:
Presentation transcript:

A Survey of Recent High Speed TCP Variants Philip Fisher-Ogden U.C. Davis March 16th, 2007

Outline Why do we need high speed TCP variants? Three recent variants Compound TCP CUBIC TCP-Adaptive Reno Recent Evaluations Q&A

Standard TCP - advantages Widely used Standardized Promises, promises Guaranteed, in-order delivery Avoids congestion collapse Evolved: Tahoe, Reno/NewReno, SACK

Standard TCP - disadvantages Underutilization of the bandwidth in fast long distance networks (FLDnets) Low window size resiliency to packet loss in FLDnets

Prior High Speed TCPs Effectively use available bandwidth Unfriendly – “doesn’t play nicely with others” Unfair to different RTT flows Examples: HSTCP, STCP, BIC-TCP

Goals TCP friendly RTT fair Efficient use of available bandwidth Minimize bandwidth-stolen RTT fair Co-existing flows with different RTTs are treated fairly Efficient use of available bandwidth

Compound TCP

Compound TCP - Motivation Loss-based - uses packet loss as an indicator of congestion and modifies the increase/decrease congestion avoidance TCP parameters. Delay-based - infers congestion and bottleneck queue size from changes in the RTT and modifies the transfer rates to mitigate the effects of congestion. Combine both approaches Focus on efficiency & friendliness

Compound TCP - Design Maintains a delay window and a congestion window – uses both to determine send window Estimates the bottleneck queue size: Diff = (Expected – Actual) * baseRTT Has a threshold, γ, at which it says “the network is congested”

Compound TCP Delay Window Calculations Formula Meaning dwnd(t+1) = dwnd(t) + (α * win(t)k – 1)+, if diff < γ In the increase phase, CTCP scales up the win (a composite of cwnd and dwnd) by α * win(t)k. (dwnd(t) – ζ * diff )+, if diff ≥ γ When a bottleneck queue is detected, dwnd decreases proportional to the estimated bottleneck size diff. (win(t) * (1 - β) – cwnd/2)+, if loss is detected (3 dup acks) win(t) * (1 - β) is the desired window size after loss occurs, so dwnd is set to the desired size minus the portion that cwnd already provides. Note: (...)+ = max(..., 0)

Compound TCP - Design Builds on loss-based (standard) TCP Reverts to standard TCP at low window sizes Uses gamma-auto tuning to dynamically adjust γ, the estimated number of packets that indicate a bottleneck in the queue, based on the network configuration

Compound TCP - Evaluation Production FLD Network Link Tests (comparing CTCP & TCP) Test Results Throughput CTCP improves the throughput by 28% to 52% over regular TCP. TCP friendliness With gamma auto-tuning, CTCP keeps good TCP friendliness (<20% bandwidth stolen) even in the presence of multiple concurrent flows. Reverse traffic CTCP improves the throughput over TCP even in the presence of many reverse flows.

CUBIC

CUBIC - Motivation Enhance BIC! Maintain BIC’s scalability & stability Simplify the window control Improve BIC’s friendliness Use real-time, rather than ACK-clocked, updates to window Improve the detection of the “TCP Region”

CUBIC - Design Based on BIC:

CUBIC - Design Window growth function:

CUBIC – Design Aspects Stability – The window grows slowly around Wmax. Scalability – It experiences fast “probing” growth away from Wmax. Intra-protocol fairness - Two competing CUBIC flows will converge to fair share window sizes. Fairness – The window growth rate is time dependent and RTT independent, allowing for fairer sharing.

CUBIC – Design Aspects Standard TCP outperforms CUBIC’s window growth function in short RTT networks. CUBIC emulates the time-independent TCP window adjustment algorithm so that it can select the greater of the two windows (emulated versus cubic) to use.

NS-2 Tests (comparing TCP, CUBIC, BIC, HSTCP, STCP, & HTCP) CUBIC - Evaluation NS-2 Tests (comparing TCP, CUBIC, BIC, HSTCP, STCP, & HTCP) Test Results TCP Friendliness in Short-RTT Networks CUBIC TCP maintained the best overall fair-share throughput ratio with regular TCP, and even had less throughput than regular TCP in the higher speed networks. TCP Friendliness in Long-RTT Networks As the link speed increased the throughput ratios of high speed to standard decreased. CUBIC TCP showed the best friendly ratio to regular TCP across all bottleneck link bandwidths in this experiment. Stability The CoV measurements showed that CUBIC TCP provides good stability in the presence of network perturbations and varying router buffer sizes.

TCP-Adaptive Reno (AReno)

TCP-AReno - Motivation Enhance TCP-Westwood-BBE Improve on TCP-Reno’s response function by incorporating a congestion estimate that is based on RTT measurements. Identify if a packet loss was due to congestion or not.

TCP-AReno - Design Congestion Estimate RTTcong = the RTT that would indicate a congestion event. Classifies packet losses as due to congestion or not RTT values vary between RTTmin and RTTcong. The distance of recent RTT measurements from RTTcong and RTTmin determines the level of congestion in the network.

TCP-AReno - Design Congestion Window Increase

TCP-AReno - Design Congestion Window Reduction

TCP-AReno - Evaluation Laboratory Tests (comparing TCP-AReno & TCP-Reno) Test Results Congestion windows of lone flows TCP-AReno is able to increase its congestion window when the link was under-utilized and then limit the increase when the window approached or exceeded the congestion point. TCP-AReno distinguishes between packet loss events that were congestion based or not, and then adapts its congestion window reduction accordingly. Congestion windows of co-existing flows TCP-AReno averaging 227.4Mbps (vs. 232.1) and TCP-Reno averaging 18.5Mbps (vs. 18.3). TCP-AReno is resilient to random packet losses and is able to attain high throughput without negatively affecting TCP-Reno flows. Throughput of a lone flow under various bottleneck capacities TCP-AReno is effective in high-speed and lossy environments, obtaining 10x more throughput than TCP-Reno when the packet loss rate is 10-4.

Recent Evaluations

Recent Evaluations Linux beats Windows! TCP variant Operating System BIC Current Linux CUBIC Possibly future Linux Compound TCP (CTCP) Possibly future Windows Vista TCP Any other operating system

Recent Evaluations Linux beats Windows! BIC/CUBIC are over aggressive and steal bandwidth. Serious unfairness

Recent Evaluations Experimental Evaluation of Cubic-TCP Conducted partially in response to “should CUBIC be adopted in Linux?” CUBIC suffers from a slow convergence of congestion windows. Controversial! A rebuttal was issued by Injong Rhee (CUBIC co-author)

Recent Evaluations Experimental Evaluation of Cubic-TCP Example of slow convergence:

Recent Evaluations Assessing Interactions among Legacy & High-Speed TCPs Evaluated efficiency, fairness, & friendliness

Recent Evaluations Assessing Interactions among Legacy & High-Speed TCPs Delay-based control are not effective in improving RTT-fairness due to the slow-start behavior of short flows that induces RTT measurement problems TCP-AReno was modified to avoid having the short flow problem impact its delay based mechanism. TCP-AReno outperformed all others. Compound TCP came close, but experienced the delay-based control problem.

Summary Protocol Approach Advantages Disadvantages Compound TCP Combines a delay based component with TCP Reno’s loss based component. Outperforms the link utilization of HSTCP and TCP Reno while still maintaining fairness to TCP Reno flows. The delay based component works best when in a steady state, but its effectiveness is reduced by the slow start behavior of lots of short flows. CUBIC Builds on BIC by simplifying the window response function and improving its TCP friendliness and RTT fairness through RTT-independent congestion window updates. Expands the TCP region to utilize standard TCP when it performs well. Maintains BIC’s scalability and stability regardless of RTT. Suffers from long convergence times between competing CUBIC flows. TCP-Adaptive Reno Incorporates a congestion estimation component that allows it to differentiate between packet losses from congestion or not, while also using RTT measurement to dynamically adjust its window response function. Offers the best link utilization, RTT fairness, and TCP friendliness of all the high speed variants. The most recent modifications have not yet been evaluated by an outside party.

Q&A