Internet congestion control

Slides:



Advertisements
Similar presentations
Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Advertisements

Restless bandits and congestion control Mark Handley, Costin Raiciu, Damon Wischik UCL.
Queueing theory and Internet congestion control Damon Wischik, UCL Mark Handley, UCL Gaurav Raina, Cambridge / IIT Madras.
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.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
Congestion Control: TCP & DC-TCP Swarun Kumar With Slides From: Prof. Katabi, Alizadeh et al.
Mathematical models of the Internet Frank Kelly Hood Fellowship Public Lecture University of Auckland 3 April 2012.
Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Resource pricing and the evolution of congestion control By R. J. Gibbens and F. P. Kelly.
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
Bandwidth sharing: objectives and algorithms Jim Roberts France Télécom - CNET Laurent Massoulié Microsoft Research.
TCP Stability and Resource Allocation: Part I. References The Mathematics of Internet Congestion Control, Birkhauser, The web pages of –Kelly, Vinnicombe,
Network Bandwidth Allocation (and Stability) In Three Acts.
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 Congestion Control
Congestion Control for High Bandwidth-Delay Product Environments Dina Katabi Mark Handley Charlie Rohrs.
1 A State Feedback Control Approach to Stabilizing Queues for ECN- Enabled TCP Connections Yuan Gao and Jennifer Hou IEEE INFOCOM 2003, San Francisco,
Buffer requirements for TCP: queueing theory & synchronization analysis Gaurav RainaDamon Wischik CambridgeUCL.
New Designs for the Internet Why can’t I get higher throughput? Why is my online video jerky? How is capacity shared in the Internet?
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
Buffer requirements for TCP Damon Wischik DARPA grant W911NF
The teleology of Internet congestion control Damon Wischik, Computer Science, UCL.
Queueing analysis of a feedback- controlled (TCP/IP) network Gaurav RainaDamon WischikMark Handley CambridgeUCLUCL.
Congestion models for bursty TCP traffic Damon Wischik + Mark Handley University College London DARPA grant W911NF
Queueing theory for TCP Damon Wischik University College London TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A.
Queueing theory for TCP Damon Wischik, UCL Gaurav Raina, Cambridge.
TCP with Variance Control for Multihop IEEE Wireless Networks Jiwei Chen, Mario Gerla, Yeng-zhong Lee.
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
The history of the Internet 1974: First draft of TCP/IP “A protocol for packet network interconnection”, Vint Cerf and Robert Kahn 1983: ARPANET switches.
Lecture 9 – More TCP & Congestion Control
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:
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
New designs for Internet congestion control Damon Wischik (UCL)
Network teleology Damon Wischik
XCP: eXplicit Control Protocol Dina Katabi MIT Lab for 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.
Peer-to-Peer Networks 13 Internet – The Underlay Network
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
Queueing theory for TCP Damon Wischik, UCL Gaurav Raina, Cambridge.
@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.
Queueing theory, control theory, & buffer sizing Damon Wischik DARPA grant W911NF
@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.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Topics discussed in this section:
Chapter 3 outline 3.1 transport-layer services
Chapter 6 TCP Congestion Control
Introduction to Congestion Control
Congestion control principles
TCP Congestion Control
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.
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.
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.
FAST TCP : From Theory to Experiments
CS 268: Lecture 4 (TCP Congestion Control)
Chapter 6 TCP Congestion Control
CS640: Introduction to Computer Networks
State Transition Diagram
TCP Congestion Control
Understanding Congestion Control Mohammad Alizadeh Fall 2018
Resource Pooling A system exhibits complete resource pooling if it behaves as if there was a single pooled resource. I propose ‘extent of resource pooling’
Transport Layer: Congestion Control
Congestion Control (from Chapter 05)
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Presentation transcript:

Internet congestion control Damon Wischik, UCL TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAAA

What is queueing theory for? DJW 2006 2/24 Given the arrival process, what is We often seek limit theorems to describe the arrival process, and to approximate this probability Typical motivation: “this lets us choose buffer size etc. to ensure that queue overflow is rare” This does not make sense for Internet queues, since TCP (which governs most Internet traffic) deliberately causes the queue to overflow arrival process queue Example: for a queue with N independent flows, each self-similar with Hurst parameter H, then for some ,  >0

Some Internet history DJW 2006 3/24 1974: First draft of TCP/IP [“A protocol for packet network interconnection”, Vint Cerf and Robert Kahn] 1983: ARPANET switches on TCP/IP 1986: Congestion collapse 1988: Congestion control for TCP [“Congestion avoidance and control”, Van Jacobson]

TCP transmission control protocol DJW 2006 4/24 Internet congestion is controlled by the end-systems The TCP algorithm, running on the server, decides how fast to send data It sends data packets, and waits for ACKnowledgement packets It sets a target window size wt the number of packets that have been sent but not yet acknowledged (here 5+3) The average transmission rate is xt ≈ wt/RTT where RTT is the round trip time It adapts wt based on the ACKs it receives acknowledgements End-to-end argument: Generally, _some_ end2end control is necessary. It’s probably also sufficient. So it’s simplest/most elegant to use only end2end control. (It may not be most efficient.) Server (TCP) User data

TCP transmission rate [0–100 kB/sec] time [0–8 sec] if (seqno > _last_acked) { if (!_in_fast_recovery) { _last_acked = seqno; _dupacks = 0; inflate_window(); send_packets(now); _last_sent_time = now; return; } if (seqno < _recover) { uint32_t new_data = seqno - _last_acked; if (new_data < _cwnd) _cwnd -= new_data; else _cwnd=0; _cwnd += _mss; retransmit_packet(now); uint32_t flightsize = _highest_sent - seqno; _cwnd = min(_ssthresh, flightsize + _mss); _in_fast_recovery = false; if (_in_fast_recovery) { _dupacks++; if (_dupacks!=3) { _ssthresh = max(_cwnd/2, (uint32_t)(2 * _mss)); _cwnd = _ssthresh + 3 * _mss; _in_fast_recovery = true; _recover = _highest_sent; DJW 2006 5/24 transmission rate [0–100 kB/sec] Multiplicative decrease -- when network is congested, load grows exponentially (transmit, retransmit, reretransmit...) Additive increase -- helps with fairness (of relatively greater benefit to low-bandwidth users) Devised by Jain+Ramakrishnan (1988) DECbit time [0–8 sec]

How TCP shares capacity DJW 2006 6/24 individual flow rates available capacity aggregate flow rate time

How to describe a network DJW 2006 7/24 Some networks admit models at three different levels: Microscopic rules of behaviour for the individual elements e.g. rules of motion of electrons Macroscopic laws that describe the behaviour of aggregates e.g. Kirchhoff’s law, Ohm’s law Teleological principles that describe the operating point to which the system settles down e.g. Thomson’s principle

TCP model I: the sawtooth DJW 2006 8/24 Consider a single link, and a single flow with round trip time RTT When the link is not congested, transmission rate xt increases by 1/RTT i2 pkt/sec every sec When the link becomes congested, transmission rate is cut by 50% service capacity transmission rate x(t) * * * buffer size queue size time queue becomes full and packets are dropped TCP realizes there is congestion, and cuts its rate

TCP model II: billiards DJW 2006 9/24 Consider a single link, and many flows with round trip times RTT(1), RTT(2),... When the link is not saturated, flow r increases its transmission rate xt(r) by 1/RTT(r) pkt/sec2 When the link becomes saturated, some flows experience packet drops and they cut their rates Assume some probabilistic model that says which flows experience drops [Baccelli+Hong 2002] + + = * * * * * * *

TCP model III: fluid + + + + = = DJW 2006 10/24 Individual TCP flows follow a sawtooth + + individual flow rates + + = = aggregate flow rate time

TCP model III: fluid + + + + = = DJW 2006 11/24 Individual TCP flows follow a sawtooth ... but many TCP flows added together are smoother the average rate xt varies according to a time-delayed differential equation eqn involves pt, the packet drop probability experienced by packets sent at time t [Misra+Gong+Towsley 2000, Baccelli+McDonald+Reynier 2002, after Kelly et al. 1998] + + individual flow rates + + = = aggregate flow rate time

TCP model III: fluid DJW 2006 12/24 There are three possible limit models for describing the behaviour of the queue and calculating the drop probability TCP selects a limiting model, depending on the size of the buffer Round trip time RTT N TCP flows Service rate NC Buffer size B(N)

Three buffer-sizing regimes DJW 2006 13/24 small buffers B(N)=B medium buffers B(N)=B√N large buffers B(N)=BN drop probability [0–.3] queue size [0–B pkt] traffic intensity [0–1] time [0–5s] queue size [(B-25)–B pkt] time [50ms] These three regimes are qualitatively different; they are described by different dynamical systems, operating over different timescales The relationship between buffer size and timescales was first observed by [Deb+Srikant, 2004]

Instability / synchronization DJW 2006 14/24 Sometimes the dynamical system for the network is unstable, and the queue size flip-flops This means there are short periods of concentrated packet loss This might manifest itself as a burst of static in an Internet telephone call In fact, this corresponds to the billiards model for TCP Engineers can use the dynamical system description of TCP to help them design the network so that it is stable queue size [0–619pkt] TCP window sizes [0-25pkt] time [0–5s]

Equilibrium analysis DJW 2006 15/24 A well-designed network should be stable, i.e. it should reach some equilibrium state How can we characterize the equilibrium state?

Teleological description DJW 2006 16/24 Round trip time RTT N TCP flows; flow r has rate xr Service rate C Medium buffer size The equilibrium state is the solution to the optimization problem U(x) = const - 2 / RTT^2 x^2 x U(x)

Teleological description DJW 2006 17/24 Round trip time RTT N TCP flows; flow r has rate xr Service rate C Buffer size medium little extra value attached to high-throughput flows The equilibrium state is the solution to the optimization problem U(x) = const - 2 / RTT^2 x^2 U(x) severe penalty for allocating too little throughput x

Teleological description DJW 2006 18/24 Round trip time RTT N TCP flows; flow r has rate xr Service rate C Buffer size medium flows with large RTT are satisfied with just a little throughput The equilibrium state is the solution to the optimization problem U(x) = const - 2 / RTT^2 x^2 U(x) flows with small RTT demand higher throughput x

Teleological description DJW 2006 19/24 Round trip time RTT N TCP flows; flow r has rate xr Service rate C We should thus set up caches very close to the user, even if that means putting them in a congested part of the network Buffer size medium flows with large RTT are satisfied with just a little throughput The equilibrium state is the solution to the optimization problem U(x) = const - 2 / RTT^2 x^2 U(x) flows with small RTT demand higher throughput x

Teleological description DJW 2006 20/24 Round trip time RTT N TCP flows; flow r has rate xr Service rate C Buffer size medium The equilibrium state is the solution to the optimization problem U(x) = const - 2 / RTT^2 x^2 x U(x) there is no penalty until the link is overloaded, i.e. y>C The network seeks to be overloaded, leading to poor quality for Internet telephone calls

Maths conclusion TCP chooses its own limit regime DJW 2006 21/24 TCP chooses its own limit regime TCP, through its adaptive feedback mechanism, induces a fluid limit over the timescale of a round trip time The queue dynamics change fluidly over the timescale of a round trip time, and stochastically over much shorter timescales The choice of buffer size determines which of three queueing models is relevant

Design conclusion The TCP code admits description at two higher levels DJW 2006 22/24 The TCP code admits description at two higher levels a dynamical system model at the macroscopic level a welfare optimization problem at the teleological level This gives us insight into how to extend TCP make sure the dynamical system is stable choose a more desirable optimization problem These insights have led to new ideas about routing, load balancing, choice of buffer size in core routers, quality of service, high-speed TCP