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?

Slides:



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

Michele Pagano – A Survey on TCP Performance Evaluation and Modeling 1 Department of Information Engineering University of Pisa Network Telecomunication.
FAST TCP Anwis Das Ajay Gulati Slides adapted from : IETF presentation slides Link:
Restless bandits and congestion control Mark Handley, Costin Raiciu, Damon Wischik UCL.
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.
Mathematical models of the Internet Frank Kelly Hood Fellowship Public Lecture University of Auckland 3 April 2012.
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.
Introduction 1 Lecture 14 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Congestion control principles Presentation by: Farhad Rad (Advanced computer Networks Lesson in
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
Charge-Sensitive TCP and Rate Control Richard J. La Department of EECS UC Berkeley November 22, 1999.
TCP Stability and Resource Allocation: Part I. References The Mathematics of Internet Congestion Control, Birkhauser, The web pages of –Kelly, Vinnicombe,
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
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.
Presented by Anshul Kantawala 1 Anshul Kantawala FAST TCP: From Theory to Experiments C. Jin, D. Wei, S. H. Low, G. Buhrmaster, J. Bunn, D. H. Choe, R.
Multipath Protocol for Delay-Sensitive Traffic Jennifer Rexford Princeton University Joint work with Umar Javed, Martin Suchara, and Jiayue He
Congestion Control for High Bandwidth-Delay Product Environments Dina Katabi Mark Handley Charlie Rohrs.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Buffer requirements for TCP: queueing theory & synchronization analysis Gaurav RainaDamon Wischik CambridgeUCL.
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
CS/EE 145A Congestion Control Netlab.caltech.edu/course.
1 Transport Protocols (continued) Relates to Lab 5. UDP and TCP.
CSCI-1680 Transport Layer II Data over TCP Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Theophilus Benson.
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.
Experience with Loss-Based Congestion Controlled TCP Stacks Yee-Ting Li University College London.
Congestion control for Multipath TCP (MPTCP) Damon Wischik Costin Raiciu Adam Greenhalgh Mark Handley THE ROYAL SOCIETY.
EE 122: Congestion Control and Avoidance Kevin Lai October 23, 2002.
1 Mao W07 Midterm Review EECS 489 Computer Networks Z. Morley Mao Monday Feb 19, 2007 Acknowledgement: Some.
Queueing theory for TCP Damon Wischik, UCL Gaurav Raina, Cambridge.
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
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:
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
TCP transfers over high latency/bandwidth networks Internet2 Member Meeting HENP working group session April 9-11, 2003, Arlington T. Kelly, University.
New designs for Internet congestion control Damon Wischik (UCL)
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
Network teleology Damon Wischik
CS2910 Week 9, Class 1 Today –Quiz on SMTP –TCP: Flow control vs. Congestion Control –TCP startup, error recovery, and shut-down Before 8am Thursday: –Watch.
Recap of Lecture 19 If symptoms persist, please consult Dr Jacobson.
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
Peer-to-Peer Networks 13 Internet – The Underlay Network
Queueing theory for TCP Damon Wischik, UCL Gaurav Raina, Cambridge.
1 Transport Bandwidth Allocation 3/29/2012. Admin. r Exam 1 m Max: 65 m Avg: 52 r Any questions on programming assignment 2 2.
Queueing theory, control theory, & buffer sizing Damon Wischik DARPA grant W911NF
Network Congestion Control HEAnet Conference 2005 (David Malone for Doug Leith)
Chapter 6 TCP Congestion Control
Congestion control principles
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.
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.
Chapter 6 TCP Congestion Control
Internet congestion control
Understanding Congestion Control Mohammad Alizadeh Fall 2018
Computer Science Division
TCP flow and congestion control
Review of Internet Protocols Transport Layer
Gaurav Raina Damon Wischik Mark Handley Cambridge UCL UCL
Presentation transcript:

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?

Some Internet History 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 “A Brief History of the Internet”, the Internet Society

TCP 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; _last_acked = seqno; if (new_data < _cwnd) _cwnd -= new_data; else _cwnd=0; _cwnd += _mss; retransmit_packet(now); send_packets(now); return; } uint32_t flightsize = _highest_sent - seqno; _cwnd = min(_ssthresh, flightsize + _mss); _last_acked = seqno; _dupacks = 0; _in_fast_recovery = false; send_packets(now); return; } if (_in_fast_recovery) { _cwnd += _mss; send_packets(now); return; } _dupacks++; if (_dupacks!=3) { send_packets(now); return; } _ssthresh = max(_cwnd/2, (uint32_t)(2 * _mss)); retransmit_packet(now); _cwnd = _ssthresh + 3 * _mss; _in_fast_recovery = true; _recover = _highest_sent; } time [0-8 sec] bandwidth [0-100 kB/sec]

How TCP shares capacity sum of flow bandwidths time available bandwidth individual flow bandwidths

Random Walks, Electrical Networks Kakutani (1945) Consider a particle performing a random walk on a network

Random Walks, Electrical Networks Kakutani (1945) Consider a particle performing a random walk on a network From node i it jumps to neighbouring node j at rate 1/r ij i j r ij

Random Walks, Electrical Networks Kakutani (1945) Consider a particle performing a random walk on a network From node i it jumps to neighbouring node j at rate 1/r ij

Random Walks, Electrical Networks Kakutani (1945) Consider a particle performing a random walk on a network From node i it jumps to neighbouring node j at rate 1/r ij

Random Walks, Electrical Networks Kakutani (1945) Consider a particle performing a random walk on a network From node i it jumps to neighbouring node j at rate 1/r ij

Random Walks, Electrical Networks Kakutani (1945) Consider a particle performing a random walk on a network From node i it jumps to neighbouring node j at rate 1/r ij

Random Walks, Electrical Networks Kakutani (1945) Consider a particle performing a random walk on a network From node i it jumps to neighbouring node j at rate 1/r ij

Random Walks, Electrical Networks Let V i be the probability that, starting at i, the particle hits node 1 before it hits node 0 Let I ij =(V j -V i )/r ij node 1 node 0 ViVi

Random Walks, Electrical Networks Let V i be the probability that, starting at i, the particle hits node 1 before it hits node 0 Let I ij =(V j -V i )/r ij Then V i are the potentials and I ij the currents in this electrical circuit node 1 node 0 resistance r ij

Three Levels of Description Microscopic: particle-level rules of motion Macroscopic: Ohm’s law and Kirchhoff’s laws Teleological: I ij are such as to minimize heat dissipation minimize ½  i,j I ij 2 r ij over I ij

Macroscopic description Consider several TCP flows sharing a single link Let RTT be the round-trip time [sec] Let x be the mean bandwidth of a flow [pkts/sec] Let y be the total bandwidth of all flows [pkts/sec] Let C be the total available capacity [pkts/sec] The total fraction of packets that are lost is p = (y-C) + /y The TCP algorithm achieves average increase in rate = average decrease in rate 1/RTT 2 = (p x) x/2

Teleological description Consider several TCP flows sharing a single link Let RTT be the round-trip time [sec] Let x r be the mean bandwidth of flow r [pkts/sec] Let y be the total bandwidth of all flows [pkts/sec] Let C be the total available capacity [pkts/sec] TCP and the network act so as to solve maximise  r U(x r ) - (y - C log y/C-1) + over x r where y=  r x r x U(x)U(x)

Teleological description Consider several TCP flows sharing a single link Let RTT be the round-trip time [sec] Let x r be the mean bandwidth of flow r [pkts/sec] Let y be the total bandwidth of all flows [pkts/sec] Let C be the total available capacity [pkts/sec] TCP and the network act so as to solve maximise  r U(x r ) - (y - C log y/C-1) + over x r where y=  r x r x U(x)U(x) little extra valued attached to high- bandwidth flows severe penalty for allocating too little bandwidth

Teleological description Consider several TCP flows sharing a single link Let RTT be the round-trip time [sec] Let x r be the mean bandwidth of flow r [pkts/sec] Let y be the total bandwidth of all flows [pkts/sec] Let C be the total available capacity [pkts/sec] TCP and the network act so as to solve maximise  r U(x r ) - (y - C log y/C-1) + over x r where y=  r x r x U(x)U(x) small RTT large RTT

Teleological description Consider several TCP flows sharing a single link Let RTT be the round-trip time [sec] Let x r be the mean bandwidth of flow r [pkts/sec] Let y be the total bandwidth of all flows [pkts/sec] Let C be the total available capacity [pkts/sec] TCP and the network act so as to solve maximise  r U(x r ) - (y - C log y/C-1) + over x r where y=  r x r x U(x)U(x) no penalty until y>C i.e. the link is overloaded

Teleological description Is this what we want the Internet to optimize? Does it make good use of the network? Can it deliver high bandwidth? Is it a fair allocation? Can we design a better allocation? x U(x)U(x)

Stability of TCP TCP was designed to prevent congestion collapse. How well does it work? A more detailed macroscopic model for TCP is Is this dynamical system stable? How fast does it converge?

Ongoing work Kelly (Cambridge statslab) Vinnicombe (Cambridge engineering) proposed+analysed a good macro model Tom Kelly (CERN) implemented it in Linux: ScalableTCP Raina (Cambridge management science) analysed stability & instability Wischik (UCL computer science) micro/macro models for the link: how big should buffers be?

Ongoing work Low, Doyle (Caltech electrical engineering) Proposed further micro/macro models, FAST TCP Cottrell (SLAC) Testbed for TCP variants Srikant (UIUC electrical/computer engineering) Towsley (UMass computer science) Fluid model analysis Baccelli (ENS mathematics) Marsan (Turin electrical engineering) Mean field limit theory for TCP