TCP Congestion Control TCP sources change the sending rate by modifying the window size: Window = min {Advertised window, Congestion Window} In other words,

Slides:



Advertisements
Similar presentations
TCP Variants.
Advertisements

TCP Vegas: New Techniques for Congestion Detection and Control.
Congestion Control Reasons: - too many packets in the network and not enough buffer space S = rate at which packets are generated R = rate at which receivers.
1 Comnet 2010 Communication Networks Recitation 9 Fairness & TCP Congestion Control.
ECE 4450:427/527 - Computer Networks Spring 2015
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015.
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.
Fall 2006CS 5611 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion Quality of Service.
1 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Communication Networks Recitation 12: TCP Rehearsal.
Lecture 18 – TCP Performance
Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Spring 2002CS 4611 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Spring 2003CS 4611 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
Chapter 6 Congestion Control and Resource Allocation
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.
Computer Networking Lecture 19 – TCP Performance.
Transport: TCP Manpreet Singh (Slides borrowed from various sources on the web)
Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
TCP Congestion Control
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Courtesy: Nick McKeown, Stanford 1 TCP Congestion Control Tahir Azim.
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
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 Dejian Ye, Liu Xin.
Congestion Control (cont’d). TCP Congestion Control Review Congestion control consists of 3 tasks  Detect congestion  Adjust sending rate  Determine.
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.
9.7 Other Congestion Related Issues Outline Queuing Discipline Avoiding Congestion.
Transport Layer3-1 TCP throughput r What’s the average throughout of TCP as a function of window size and RTT? m Ignore slow start r Let W be the window.
Lecture 9 – More TCP & Congestion Control
Spring 2003CS 3321 Congestion Avoidance. Spring 2003CS 3322 Congestion Avoidance TCP congestion control strategy: –Increase load until congestion occurs,
What is TCP? Connection-oriented reliable transfer Stream paradigm
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.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
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.
Spring 2009CSE Congestion Control Outline Resource Allocation Queuing TCP Congestion Control.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Principles of Congestion Control Some slides.
CSE Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 19 – March 23, 2010.
Winter 2008CS244a Handout 71 CS244a: An Introduction to Computer Networks Handout 7: Congestion Control Nick McKeown Professor of Electrical Engineering.
Spring 2015© CS 438 Staff - University of Illinois1 Next Topic: Vacation Planning UIUC Chicago Monterey San Francisco Chicago to San Francisco: ALL FLIGHTS.
CS 6401 Congestion Control in TCP Outline Overview of RENO TCP Reacting to Congestion SS/AIMD example.
Spring Computer Networks1 Congestion Control II Outline Queuing Discipline Reacting to Congestion Avoiding Congestion DECbit Random Early Detection.
Congestion Avoidance Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
@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.
Other Methods of Dealing with Congestion
TCP Vegas Congestion Control Algorithm
Chapter 6 TCP Congestion Control
Congestion Control Outline Queuing Discipline Reacting to Congestion
Congestion Control Outline Queuing Discipline Reacting to Congestion
Congestion Control Outline Queuing Discipline Reacting to Congestion
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.
Congestion Control in TCP
Other Methods of Dealing with Congestion
Other Methods of Dealing with Congestion
Chapter 6 TCP Congestion Control
CS640: Introduction to Computer Networks
TCP Throughput Modeling
TCP Congestion Control
15-744: Computer Networking
Presentation transcript:

TCP Congestion Control TCP sources change the sending rate by modifying the window size: Window = min {Advertised window, Congestion Window} In other words, send at the rate of the slowest component: network or receiver. “cwnd” follows additive increase/multiplicative decrease (AIMD) –On receipt of Ack: cwnd += 1 –On packet loss (timeout): cwnd *= 0.5 ReceiverTransmitter (“cwnd”)

Congestion Avoidance TCP’s strategy –control congestion once it happens –repeatedly increase load in an effort to find the point at which congestion occurs, and then back off Alternative strategy –predict when congestion is about to happen –reduce rate before packets start being discarded –call this congestion avoidance, instead of congestion control Two possibilities –host-centric: TCP Vegas –router-centric: RED Gateways

TCP Vegas Idea: source watches for some sign that router’s queue is building up and congestion will happen too; e.g., –RTT grows –sending rate flattens Congestion window Avg. source send rate Buffer space at router In shaded region we expect throughput to increase but it cannot increase beyond available bandwidth

Vegas Algorithm Vegas tries not to send at a rate that causes buffers to fill Let BaseRTT be the minimum of all measured RTTs If not overflowing the connection, then ExpectRate = CongestionWindow/BaseRTT Assume CWND = number of bytes in transit Source calculates sending rate ( ActualRate ) once per RTT –Pick one packet per RTT, timestamp send/ACKreceive time and divides by number of bytes in transit Source compares ActualRate with ExpectRate –Diff = ExpectedRate – ActualRate –if Diff <  increase CongestionWindow linearly –else if Diff >  decrease CongestionWindow linearly –Else leave CongestionWindow unchanged

Algorithm (cont) Parameters  = 1 buffer  = 3 buffers Black line = actual rate Green line = expected rate Shaded = region between  and  Note: Linear decrease in Vegas does not violate AIMD since it Happens before packets loss

TCP Modeling Given the congestion behavior of TCP can we predict what type of performance we should get? What are the important factors –MSS: Affects increase rate –Loss rate: Affects how often window is reduced –RTT: Affects increase rate and relates BW to window (RTO: Affects performance during loss recovery)

Overall TCP Behavior Time Window Let’s concentrate on steady state behavior with no timeouts and perfect loss recovery Packets transferred = area under curve

Simple TCP Model Some additional assumptions –Fixed RTT –No delayed ACKs In steady state, TCP losses packet each time window reaches W packets –Window drops to W/2 packets –Each RTT window increases by 1 packet  W/2 * RTT before next loss

Transmission Rate What is area under curve? –W = pkts/RTT, T = RTTs –A = avg window * time = ¾ W * T What was bandwidth? –BW = A / T = ¾ W In packets per RTT –Need to convert to bytes per second –BW = ¾ W * MSS / RTT What is W? –Depends on loss rate Time W W/2

Simple Loss Model What was the loss rate? –Packets transferred = (¾ W/RTT) * (W/2 * RTT) = 3W 2 /8 –1 packet lost  loss rate = p = 8/3W 2 – BW = ¾ * W * MSS / RTT –

TCP Fairness BW proportional to 1/RTT? Do flows sharing a bottleneck get the same bandwidth? –NO! TCP is RTT fair –If flows share a bottleneck and have the same RTTs then they get same bandwidth –Otherwise, in inverse proportion to the RTT

TCP Friendliness What does it mean to be TCP friendly? –TCP is not going away –Any new congestion control must compete with TCP flows Should not clobber TCP flows and grab bulk of link Should also be able to hold its own, i.e. grab its fair share, or it will never become popular How is this quantified/shown? –Has evolved into evaluating loss/throughput behavior –If it shows 1/sqrt(p) behavior it is ok