Ahmed El-Hassany CISC856: CISC 856 TCP/IP and Upper Layer Protocols Slides adopted from: Injong Rhee, Lisong Xu.

Slides:



Advertisements
Similar presentations
TCP Variants.
Advertisements

FAST TCP Anwis Das Ajay Gulati Slides adapted from : IETF presentation slides Link:
Lecturer: Namratha Vedire
CS640: Introduction to Computer Networks Mozafar Bag-Mohammadi Lecture 3 TCP Congestion Control.
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.
Restricted Slow-Start for TCP William Allcock 1,2, Sanjay Hegde 3 and Rajkumar Kettimuthu 1,2 1 Argonne National Laboratory 2 The University of Chicago.
Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015.
CUBIC : A New TCP-Friendly High-Speed TCP Variant Injong Rhee, Lisong Xu Member, IEEE v 0.2.
CUBIC Qian HE (Steve) CS 577 – Prof. Bob Kinicki.
Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
TCP Stability and Resource Allocation: Part II. Issues with TCP Round-trip bias Instability under large bandwidth-delay product Transient performance.
Congestion Control on High-Speed Networks
Texas A&M University Improving TCP Performance in High Bandwidth High RTT Links Using Layered Congestion Control Sumitha.
Recent Research in Congestion Control The problem of high bandwidth-delay product connections By Guillaume Marceau Presented for WPI CS577, Advanced Computer.
Chapter 3 Transport Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 12.
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
CSEE W4140 Networking Laboratory Lecture 7: TCP flow control and congestion control Jong Yul Kim
High speed TCP’s. Why high-speed TCP? Suppose that the bottleneck bandwidth is 10Gbps and RTT = 200ms. Bandwidth delay product is packets (1500.
TCP on High-Speed Networks Sangtae Ha and Injong Rhee North Carolina State University.
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,
The Effect of Router Buffer Size on HighSpeed TCP Performance Dhiman Barman Joint work with Georgios Smaragdakis and Ibrahim Matta.
TCP Friendliness CMPT771 Spring 2008 Michael Jia.
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.
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Transport Layer 4 2: Transport Layer 4.
Congestion control for multimedia Henning Schulzrinne Dept. of Computer Science Columbia University Fall 2003.
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.
Computer Networking Lecture 17 – TCP Performance & Future Eric Anderson Fall
Experiences in Design and Implementation of a High Performance Transport Protocol Yunhong Gu, Xinwei Hong, and Robert L. Grossman National Center for Data.
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!
High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion.
Congestion Control for High Bandwidth-Delay Product Networks D. Katabi (MIT), M. Handley (UCL), C. Rohrs (MIT) – SIGCOMM’02 Presented by Cheng.
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)
Performance of New Variants of TCP Presenter – Bob Kinicki.
TCP with Variance Control for Multihop IEEE Wireless Networks Jiwei Chen, Mario Gerla, Yeng-zhong Lee.
TCP CUBIC in ns-3 CS577 Brett Levasseur 12/10/2013.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
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:
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 Layer 3- Midterm score distribution. Transport Layer 3- TCP congestion control: additive increase, multiplicative decrease Approach: increase.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Principles of Congestion Control Some slides.
Performance Engineering E2EpiPEs and FastTCP Internet2 member meeting - Indianapolis World Telecom Geneva October 15, 2003
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
The Macroscopic behavior of the TCP Congestion Avoidance Algorithm.
Murari Sridharan Windows TCP/IP Networking, Microsoft Corp. (Collaborators: Kun Tan, Jingmin Song, MSRA & Qian Zhang, HKUST)
TCP transfers over high latency/bandwidth networks & Grid DT Measurements session PFLDnet February 3- 4, 2003 CERN, Geneva, Switzerland Sylvain Ravot
Performance of New Variants of TCP Presenter – Bob Kinicki.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
INDIANAUNIVERSITYINDIANAUNIVERSITY Status of FAST TCP and other TCP alternatives John Hicks TransPAC HPCC Engineer Indiana University APAN Meeting – Hawaii.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP Congestion Control.
An Analysis of AIMD Algorithm with Decreasing Increases Yunhong Gu, Xinwei Hong, and Robert L. Grossman National Center for Data Mining.
Masaki Hirabaru (NICT) and Jin Tanaka (KDDI) Impact of Bottleneck Queue on Long Distant TCP Transfer August 25, 2005 NOC-Network Engineering Session Advanced.
@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.
Transport Layer session 1 TELE3118: Network Technologies Week 11: Transport Layer TCP Some slides have been taken from: r Computer Networking:
1 Network Transport Layer: TCP Analysis and BW Allocation Framework Y. Richard Yang 3/30/2016.
1 Stochastic Ordering for Internet Congestion Control Han Cai, Do Young Eun, Sangtae Ha, Injong Rhee, and Lisong Xu PFLDnet 2007 February 7, 2007.
@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.
CUBIC Marcos Vieira.
Introduction to Congestion Control
PUSH Flag A notification from the sender to the receiver to pass all the data the receiver has to the receiving application. Some implementations of TCP.
TCP Cubic CS577 Brett Levasseur 10/1/2013.
Transport Layer: Congestion Control
TCP flow and congestion control
Network Transport Layer: TCP/Reno Analysis, TCP Cubic, TCP/Vegas
Review of Internet Protocols Transport Layer
Presentation transcript:

Ahmed El-Hassany CISC856: CISC 856 TCP/IP and Upper Layer Protocols Slides adopted from: Injong Rhee, Lisong Xu

Agenda What? Why? How? Can we do better?

Source: TCP/IP Protocol Suite 4th3 Congestion example

AIMD (Additive Increase Multiplicative Decrease) AIMD increases cwnd by a larger number, say 32, instead of 1 per RTT. After a packet loss, AIMD decreases cwnd by 1/8, instead of 1/2 4 Packet loss Time (RTT)Slow startCongestion avoidance Packet loss cwnd Packet loss cwnd = cwnd + 1 cwnd = cwnd + 32 cwnd = cwnd * (1-1/2) cwnd = cwnd * (1-1/8) TCP

What How much time is needed increase cwnd of a 10Gbps from half utilization to full utilization? 1500-byte PDU 100 ms RTT Full utilization cwnd = 10Gbps/1500byte ~=83333 Half utilization cwnd = 83333/2 = Remember cwnd is increased by 1 for each RTT  RTT is needed to fully utilized the link  RTT * 100ms(RTT time) = 69.44minutes SLOW

What x ms y 1 ms y 2 ms z 1 ms z 2 ms y 1 + x + z 1 >> y 2 + x + z 2 Unfair

Definitions Bandwidth-Delay Product: Maximum amount of data on the network circuit at any given time Links capacity (bytes/sec)* end-to-end delay (sec) TCP Fairness: a new protocol receive no larger share of the network than a comparable TCP flow. TCP-friendliness: defines whether a protocol is being fair to TCP.

What TCP slowly increases its congestion window (cwnd) for every RTT. TCP reduces cwnd by half at a lost event.

Response Function of TCP Response function of TCP is the average throughput of a TCP connection in terms of the packet loss probability, the packet size, and the round- trip time. 9 R : Average Throughput MSS: Packet Size RTT: Round-Trip Time P : Packet Loss Probability Response Function of TCP is : J. Padhye, V. Firoio, D. Towsley, J. Kurose, "Modeling TCP Throughput: a Simple Model and its Empirical Validation", Proceedings of SIGCOMM 98

Why (Response Function of TCP) 10 10Gbps requires a packet loss rate of , or correspondingly a link bit error rate of at most , which is an unrealistic (or at least hard) requirement for current networks Using Log-Log scale, Assuming 1250-Byte packet size, and 100ms RTT

A Search Problem BIC consider the increase part of congestion avoidance as a search problem, in which a connection looks for the available bandwidth by comparing its current throughput with the available bandwidth, and adjusting cwnd accordingly. 11 How does TCP find the available bandwidth? Linear search while (no packet loss){ cwnd++; } Q: How to compare R with A? R = current throughput = cwnd/RTT A = available bandwidth A: Check for packet losses No packet loss: R <= A Packet losses : R > A

Linear Search 12 Available Bandwidth

BIC: Binary Search with Smax and Smin 13 BIC - Binary search while (Wmin <= Wmax){ inc = (Wmin+Wmax)/2 - cwnd; if (inc > Smax) inc = Smax; else if (inc < Smin) inc = Smin; cwnd = cwnd + inc; if (no packet losses) Wmin = cwnd; else break; } Wmax: Max Window Wmin: Min Window Smax: Max Increment Smin: Min Increment

Binary Search with Smax and Smin 14 Smin Smax Wmax Wmin Available Bandwidth

Setting Smax 15 Response Function of BIC on high-speed networks Bandwidth scalability of BIC depends only on Smax RTT Fairness of BIC on high-speed networks is the same as that of AIMD Bandwidth scalability

Setting Smin 16 Response Function of BIC on low-speed networks TCP-friendliness of BIC depends only on Smin TCP friendliness

Response Functions 17 Bandwidth scalabilityRTT Fairness TCP-Friendliness

In Summary BIC function 18 BIC overall performs very well in evaluation of advanced TCP stacks on fast long-distance production. BIC (also HSTCP & STCP) growth function can be still aggressive for TCP especially under short RTTs or low speed networks.

Thinking Out of The Box Make window size growth function independent from RTT. Use the elapsed real-time since the last loss event. Goals TCP friendly RTT fair Co-existing flows with different RTTs are treated fairly Efficient use of available bandwidth

The CUBIC function 20 where C is a scaling factor, t is the elapsed time from the last window reduction, and β is a constant multiplication decrease factor accelerate slow down

CUBIC Algorithm If (received ACK && state == cong avoid) Compute W cubic (t+RTT). If cwnd < W TCP CUBIC in TCP mode If cwnd < W max CUBIC in concave region If cwnd > W max CUBIC in convex region

TCP Mode Detailed derivation of this equation is in Section 3.3 in CUBIC paper

Concave Region Detailed derivation of this equation is in Section 3.4 in CUBIC paper

Convex Region cwnd > Wmax New bandwidth might be available Use the same window growth function. Detailed derivation of this equation is in Section 3.5 in CUBIC paper

Packet Loss Event If cwnd < Wmax and fast_convergence Wmax = cwnd * ((2-β)/2) Else: Wmax = cwnd ssthread = cwnd = cwnd*(1-β)

Testbed (Dummynet) Setup 26 Router 1 Sender 1 Sender 2 Background Traffic Generator 1 Router 2 Receiver Background Traffic Generator 2 FreeBSD Linux Bottleneck Point : 800 Mbps Setting RTT for each path between Senders and Receiver RTT for Background Traffic : Exponential Distribution (Next Slide) 1 Gbps link Background Traffic Generation (Next Slide) Background Traffic Generation (Next Slide) High-Speed TCP Variants : e.g. CUBIC, BIC, FAST, HSTCP, STCP High-Speed TCP or TCP SACK

27 TCP Friendliness on short RTT - 5ms 80 Mbps200 Mbps Background traffic Link Utilization (%) Dummynet Testbed : RTT 5ms & 800 Mbps, 100% router buffer of the BDP with 80 ~ 200 Mbps background traffic TCP Friendliness (cont.)

28 TCP Friendliness on short RTT - 10ms 80 Mbps200 Mbps Background traffic Link Utilization (%) Dummynet Testbed : RTT 10ms & 800 Mbps, 100% router buffer of the BDP with 80 ~ 200 Mbps background traffic

TCP Friendliness (cont.) 29 TCP Friendliness on long RTT - 100ms 80 Mbps200 Mbps Background traffic Link Utilization (%) Dummynet Testbed : RTT 100ms & 800 Mbps, 100% router buffer of the BDP with 80 ~ 200 Mbps background traffic

TCP Friendliness (cont.) 30 TCP Friendliness on long RTT - 200ms 80 Mbps200 Mbps Background traffic Link Utilization (%) Dummynet Testbed : RTT 200ms & 800 Mbps, 100% router buffer of the BDP with 80 ~ 200 Mbps background traffic

RTT Fairness 31 Dummynet testbed : RTT 40, 120, 240 ms & 800 Mbps, Router buffer: 50% of the BDP with 200 Mbps background traffic

Can We do better? ?

References Sangtae Ha, Injong Rhee, and Lisong Xu. CUBIC: a new TCP-friendly high-speed TCP variant. SIGOPS Oper. Syst. Rev. 42, 5 (July 2008) Lisong Xu, Khaled Harfoush, and Injong Rhee, Binary Increase Congestion Control for Fast, Long Distance Networks,Infocom, IEEE, 2004