Developing Multipath TCP. Damon Wischik, Mark Handley, Costin Raiciu

Similar documents
Multipath TCP. Prof. Mark Handley Dr. Damon Wischik Costin Raiciu University College London

Multipath TCP. Prof. Mark Handley Dr. Damon Wischik Costin Raiciu University College London

Multipath Transport, Resource Pooling, and implications for Routing

XCP: explicit Control Protocol

CS519: Computer Networks. Lecture 1 (part 2): Jan 28, 2004 Intro to Computer Networking

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

Multipath TCP: Goals and Background. Mark Handley, UCL

CS644 Advanced Networks

Congestion Control of MPTCP: Performance Issues and a Possible Solution

One More Bit Is Enough

Internet Architecture and Experimentation

Converged Networks. Objectives. References

Just enough TCP/IP. Protocol Overview. Connection Types in TCP/IP. Control Mechanisms. Borrowed from my ITS475/575 class the ITL

Congestion Control for High Bandwidth-Delay Product Networks

Urban dashboardistics Damon Wischik Dept. of Computer Science and Technology

EC441 Midterm Two Fall 2017

CS 268: Lecture 7 (Beyond TCP Congestion Control)

CS 43: Computer Networks The Network Layer. Kevin Webb Swarthmore College November 2, 2017

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

Networks Fall This exam consists of 10 problems on the following 13 pages.

Midterm Review. EECS 489 Computer Networks Z. Morley Mao Monday Feb 19, 2007

cs/ee 143 Communication Networks

TCP and BBR. Geoff Huston APNIC

CS268: Beyond TCP Congestion Control

Computer Networks and Data Systems

Congestion Control In the Network

TCP and BBR. Geoff Huston APNIC

Load Balancing Technology White Paper

cs/ee 143 Communication Networks

Student ID: CS457: Computer Networking Date: 3/20/2007 Name:

Congestion Control for High-Bandwidth-Delay-Product Networks: XCP vs. HighSpeed TCP and QuickStart

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 11

Techniques and Protocols for Improving Network Availability

ADVANCED TOPICS FOR CONGESTION CONTROL

Exercises TCP/IP Networking With Solutions

15-744: Computer Networking TCP

6.888: Lecture 4 Data Center Load Balancing

Lecture 14: Congestion Control"

Utilizing Datacenter Networks: Centralized or Distributed Solutions?

CSC 4900 Computer Networks: Link Layer (3)

Congestion Control. Andreas Pitsillides University of Cyprus. Congestion control problem

TCP Congestion Control

Improving Multipath TCP. PhD Thesis - Christoph Paasch

EECS 228a Lecture 1 Overview: Networks. Jean Walrand

Wireless MACs: MACAW/802.11

Congestion Control for High Bandwidth-delay Product Networks

CSC 401 Data and Computer Communications Networks

On Network Dimensioning Approach for the Internet

Balancing Resource Pooling and Equipoise in Multipath Transport

Outline. Internet. Router. Network Model. Internet Protocol (IP) Design Principles

19: Networking. Networking Hardware. Mark Handley

Congestion Control for High Bandwidth-delay Product Networks. Dina Katabi, Mark Handley, Charlie Rohrs

Jellyfish: Networking Data Centers Randomly

ADVANCED COMPUTER NETWORKS

Table of Contents. Computer Networks and the Internet

Advanced Computer Networks. Datacenter TCP

CompSci 356: Computer Network Architectures. Lecture 8: Spanning Tree Algorithm and Basic Internetworking Ch & 3.2. Xiaowei Yang

cs144 Midterm Review Fall 2010

Next Steps Spring 2011 Lecture #18. Multi-hop Networks. Network Reliability. Have: digital point-to-point. Want: many interconnected points

ETSF10 Internet Protocols Transport Layer Protocols

Delay Controlled Elephant Flow Rerouting in Software Defined Network

! Network bandwidth shared by all users! Given routing, how to allocate bandwidth. " efficiency " fairness " stability. !

Routing Domains in Data Centre Networks. Morteza Kheirkhah. Informatics Department University of Sussex. Multi-Service Networks July 2011

Network Layer (1) Networked Systems 3 Lecture 8

Computer Networks Spring 2017 Homework 2 Due by 3/2/2017, 10:30am

Increase-Decrease Congestion Control for Real-time Streaming: Scalability

Lecture 15 Networking Fundamentals. Today s Plan

CSE/EE 461 Lecture 16 TCP Congestion Control. TCP Congestion Control

Congestion Control in the Network

Multi-class Applications for Parallel Usage of a Guaranteed Rate and a Scavenger Service

Data Communications and Networks Spring Syllabus and Reading Assignments

Patrick Stuedi, Qin Yin, Timothy Roscoe Spring Semester 2015

The Network Layer and Routers

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

EXAM TCP/IP NETWORKING Duration: 3 hours With Solutions

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources

Implementation and Evaluation of Coupled Congestion Control for Multipath TCP

Where we are in the Course

IP-Telephony Introduction

Internet Architecture. CPS 214 (Nick Feamster) January 14, 2008

Routing, Routing Algorithms & Protocols

Unicast Routing. Information About Layer 3 Unicast Routing CHAPTER

CSC 401 Data and Computer Communications Networks

EXAM TCP/IP NETWORKING Duration: 3 hours

CS 421: COMPUTER NETWORKS SPRING FINAL May 24, minutes. Name: Student No: TOT

Reliable Transport I: Concepts and TCP Protocol

Computer Science 461 Midterm Exam March 14, :00-10:50am

Performance Comparison of TFRC and TCP

Lecture 13: Traffic Engineering

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

CSE 473 Introduction to Computer Networks. Exam 2. Your name here: 11/7/2012

ECE 158A: Lecture 7. Fall 2015

Multipath QUIC: Design and Evaluation

Improving Internet Performance through Traffic Managers

CS 5114 Network Programming Languages Control Plane. Nate Foster Cornell University Spring 2013

Network Layer. Goals of This Lecture. Internet Reference Model. Outline of the Class

Fundamentals of IP Networking 2017 Webinar Series Part 4 Building a Segmented IP Network Focused On Performance & Security

Introduction. Network Architecture Requirements of Data Centers in the Cloud Computing Era

Quick-Start for TCP and IP

Transcription:

Developing Multipath TCP Damon Wischik, Mark Handley, Costin Raiciu

1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010 2 * * 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 * 2006 * 2008 2010

1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010 3 * * 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 * 2006 * 2008 2010 congestion control PhD topics

1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010 4 * * 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 * 2006 * 2008 2010 multipath PhD topics

Stability of end-to-end algorithms for joint routing and rate control Kelly and Voice, Computer Communication Review 2005 5 ABSTRACT. Dynamic multi-path routing has the potential to improve the reliability and performance of a communication network, but carries a risk. Routing needs to respond quickly to achieve the potential benefits, but not so quickly that the network is destabilized. This paper studies how rapidly routing can respond, without compromising stability. We present a sufficient condition for the local stability of end-to-end algorithms for joint routing and rate control. The network model considered allows an arbitrary interconnection of sources and resources, and heterogeneous propagation delays. The sufficient condition we present is decentralized: the responsiveness of each route is restricted by the round-trip time of that route alone, and not by the roundtrip times of other routes. Our results suggest that stable, scalable loadsharing across paths, based on end-to-end measurements, can be achieved on the same rapid time-scale as rate control, namely the time-scale of round-trip times.

MPTCP is a replacement for TCP, which lets you use multiple paths simultaneously. The mptcp working group at the IETF has just standardized it as an Experimental RFC. Thanks to 6 The sender stripes packets across paths user space socket API MPTCP IP addr MPTCP addr 1 addr 2 The receiver puts the packets in the correct order

What problem is being solved by joint routing and rate control? 7 Given a network consisting of a set of links indexed by j, each with its own penalty function C j a set of users indexed by s, each with his/her own utility function U s and a set of routes indexed by r,

What problem is being solved by end-to-end algorithms for joint routing and rate control? 8 Find a distributed algorithm for solving the network utility maximization problem. That is, where the fixed point of this system of equations solves the utility maximization problem.

What problem is being solved by stable end-to-end algorithms for joint routing and rate control? 9 Find a distributed algorithm for solving the network utility maximization problem. The system of differential equations should be stable (or at least locally stable, in y and z) about the equilibrium.

What are the limits of this solution? 10 1. It is tricky to evolve TCP to implement the principles of the Kelly+Voice algorithm. 2. Network systems people don t see the applicability of fluid stability results. 3. Network systems people don t see the point in utility maximization.

You have to be careful talking to mathematicians. You tell them a problem, then they restate it in their own language, and straight away it means something completely different. 11

12 What are the current multipath technologies? What problems are they solving?

Mobile hand-offs 13 wifi hotspot 3G cell wifi hotspot internet

Mobile hand-offs 14 wifi hotspot 3G cell wifi hotspot internet

Mobile hand-offs 15 wifi hotspot 3G cell wifi hotspot internet

Mobile hand-offs 16 wifi hotspot 3G cell wifi hotspot internet

Mobile hand-offs 17 wifi hotspot 3G cell wifi hotspot internet

Mobile hand-offs 18 With multipath, your phone could use both radios at the same time, so you experience no interruption.

Mobile hand-offs 19 With multipath, your phone could use both radios at the same time, so you experience no interruption.

Mobile hand-offs 20 With multipath, your phone could use both radios at the same time, so you experience no interruption.

Mobile hand-offs 21 With multipath, your phone could use both radios at the same time, so you experience no interruption.

Mobile hand-offs 22 With multipath, your phone could use both radios at the same time, so you experience no interruption. (Is there any maths here, or would any sensible rate control be good enough?)

Multipath TCP in practice 23 wifi throughput [Mb/s] 3G throughput [Mb/s] time [min] User in his office, using wifi and 3G Going downstairs In the kitchen

Multi-homed web sites (a) with classic hierarchical routing 24 Google.com 12.1.0 12.*.* AT&T You can reach 12.* via me other operators I ll use AT&T for 12.*

Multi-homed web sites (b) with redundancy, in case links fail 25 Google.com 12.1.0 12.*.* AT&T 8.*.* Level3 You can reach 12.* via me You can reach 8.* and 12.1.0 via me other operators I ll use AT&T for 12.*, but if AT&T fails I can use Level3 to reach 12.1.0

Multi-homed web sites (c) with load balancing across the gateway machines 26 Google.com 0 1 2 12.1.0 12.1.1 12.1.2 Users: for google.com, pick randomly between 12.1.0,.1 and.2 12.*.* AT&T 8.*.* Level3 You can reach 12.* via me You can reach 8.* and 12.1.0 to 12.1.2 via me other operators

Multi-homed web sites (c) with load balancing across the gateway machines 27 Path to 2 is costly Google.com 0 1 2 12.1.0 12.1.1 12.1.2 Path to 0 is costly Users: for google.com, pick randomly between 12.1.0,.1 and.2 12.*.* AT&T 8.*.* Level3 You You can can reach reach 12.* 12.* via via me me, but 12.1.2 is costly other operators You can reach 8.* You and can 12.1.0 reach to 8.* 12.1.2 and 12.1.0 via me, to but 12.1.2 12.1.0 via is me costly I ll use AT&T for 12.1.0 and 12.1.1, and Level3 for 12.1.2, but if either fails I can use the other

Multi-homed web sites 28 Path 2 is costly 12.*.* AT&T Google.com 0 1 2 g h Level3 12.1.0 12.1.1 12.1.2 Path 0 is costly 8.*.* Users: for google.com, pick randomly between 12.1.0 to 12.1.2 The limited resources are the memory and CPU needed by routers to remember specific paths and costs. You can reach 12.* via me, but 12.1.2 is costly other operators You can reach 8.* and 12.1.0 to 12.1.2 via me, but 12.1.0 is costly I ll use AT&T for 12.1.0 and 12.1.1, and Level3 for 12.1.2, but if either fails I can use the other It can take hours or days for path choices to stabilize.

Multi-homed web sites (d) with Kelly+Voice multipath TCP to balance traffic 29 2 TCPs @ 50Mb/s 100Mb/s 100Mb/s 4 TCPs @ 25Mb/s

Multi-homed web sites (d) with Kelly+Voice multipath TCP to balance traffic 30 2 TCPs @ 33Mb/s 100Mb/s 1 MPTCP @ 33Mb/s 100Mb/s 4 TCPs @ 25Mb/s

Multi-homed web sites (d) with Kelly+Voice multipath TCP to balance traffic 31 2 TCPs @ 25Mb/s 100Mb/s 2 MPTCPs @ 25Mb/s 100Mb/s 4 TCPs @ 25Mb/s The total capacity, 200Mb/s, is shared out evenly between all 8 flows.

It s as if they were all sharing a single 200Mb/s link. The two links can be said to form a 200Mb/s pool. Multi-homed web sites (d) with Kelly+Voice multipath TCP to balance traffic 32 2 TCPs @ 22Mb/s 100Mb/s 3 MPTCPs @ 22Mb/s 100Mb/s 4 TCPs @ 22Mb/s The total capacity, 200Mb/s, is shared out evenly between all 9 flows.

It s as if they were all sharing a single 200Mb/s link. The two links can be said to form a 200Mb/s pool. Multi-homed web sites (d) with Kelly+Voice multipath TCP to balance traffic 33 2 TCPs @ 20Mb/s 100Mb/s 4 MPTCPs @ 20Mb/s 100Mb/s 4 TCPs @ 20Mb/s The total capacity, 200Mb/s, is shared out evenly between all 10 flows.

Efficient use of data centres 34 Initially, there is one flow.

Efficient use of data centres 35 Initially, there is one flow. A new flow starts. Its default route collides with the first flow.

Efficient use of data centres 36 Initially, there is one flow. A new flow starts. Its default route collides with the first flow. But it has other routes available, which do not collide.

Efficient use of data centres 37 The current solution is Equal Cost Multipath (ECMP). It says: for each flow, independently, pick one of the shortest-hop paths, chosen at random.

Efficient use of data centres 38 The current solution is Equal Cost Multipath (ECMP). It says: for each flow, independently, pick one of the shortest-hop paths, chosen at random. But ECMP doesn t help, if the optimal answer is to shift traffic onto a longer path.

Open question: Can the Kelly+Voice algorithm make a data center behave like a simple easy-to-manage capacity pool? 39 What topologies and path choices might achieve pooling, for what range of traffic patterns?

The spectrum of Internet research 40 incremental improvement blue-sky research?

The spectrum of Internet research 41 incremental improvement blue-sky research? smtp, http, rtp tcp, udp, sctp IP ethernet, wifi, atm fibre, cat5, wireless The Internet s standards for carrying data are an hourglass. This has made it easy to build new new things.

The spectrum of Internet research 42 incremental improvement blue-sky research slow death by a thousand fixes? sip sdp rtcp tcp sctp bgp dpi atm mpls ntp shim6 diameter ecmp leap eap ipsec isis gsmp dhcp radius stun netconf ospf diffserv arp l2tp xcp The Internet s standards for control are an accumulation of fixes to specific problems.

The spectrum of Internet research 43 incremental improvement slow death by a thousand fixes? blue-sky research undeployable without starting again from scratch The The Power of Legacy Power of Legacy

The spectrum of Internet research 44 incremental improvement slow death by a thousand fixes radical longterm change via small repurposable steps blue-sky research undeployable without starting again from scratch

The spectrum of Internet research 45 incremental improvement slow death by a thousand fixes radical long-term change via blue-sky research undeployable without starting again from scratch small re-purposable steps End-system multipath congestion control will succeed because it is a re-purposable interface for solving many different problems so it can become the narrow waist of the Internet s control architecture. Network utility maximization is mathematician s shorthand for this.

Multipath is Packet Switching 2.0, and multipath congestion control is TCP 2.0. 46 Two circuits A link Two separate links A pool of links

47 We have made some changes to Kelly+Voice multipath congestion control, to make it an incremental step from the current Internet. 1. Be fair to single-path TCP 2. Change its bandwidth probing, so it works well for individual flows and not just for fluid aggregates

48 wifi path: 4% loss, 10ms RTT, single-path TCP would get 707pkt/s 3G path: 1% loss, 100ms RTT, single-path TCP would get 141pkt/s The Kelly+Voice algorithm shifts all the traffic onto the leastcongested path, in this case 3G. So should a multipath user be fair to other 3G users and take only 141pkt/s, or should he/she be competitive with wifi and take 707pkt/s?

The fluid model for congestion control is no good for describing individual flows. 49 With the obvious packet-level implementation of Kelly+Voice, a single flow is bistable. Network systems people will test the algorithm on a small scale, see it doesn t work, and not look any further. Most congestion today is at access links, where there is little aggregation, so no one cares about fluid model stability (yet). e.g. CompoundTCP solves the problem of bloated buffers at access links, with no regard for the core

Conclusion 50 End-system multipath congestion control will be the biggest change to the architecture of the Internet since packet switching and TCP. Network utility maximization is a goal which in itself is moot. But network algorithms which can maximize arbitrary utilities are necessarily rich enough to solve any control problem. Stability of fluid models will be a big issue once the US core is congested. But it s not the pressing need now.

Further questions for mathematicians 51 In what sense can a data centre be made to behave like a simple capacity pool? For static traffic patterns, the answer comes from simple linear algebra. What about dynamic flow-level traffic models? How will resource pooling affect the pricing models of network operators? Will it force congestion exposure and congestion pricing? What is a principled way to model probing and adaptation by a single flow? Idea: dynamic programming

How does TCP congestion control work? Maintain a congestion window w. 52 Increase w for each ACK, by 1/w Decrease w for each drop, by w/2

How does MPTCP congestion control work? Maintain a congestion window w r, one window for each path, where r R ranges over the set of available paths. 53 Increase w r for each ACK on path r, by Decrease w r for each drop on path r, by w r /2

How does MPTCP congestion control work? Maintain a congestion window w r, one window for each path, where r R ranges over the set of available paths. 54 We want to shift traffic away from congestion. To achieve this, we increase windows in proportion to their size. Increase w r for each ACK on path r, by Decrease w r for each drop on path r, by w r /2

How does MPTCP congestion control work? Maintain a congestion window w r, one window for each path, where r R ranges over the set of available paths. 55 MPTCP puts an amount of flow on path r proportional to 1/p r (whereas Kelly+Voice put all the flow on the least-congested paths). We do this so that we send more probe traffic, so we react faster to changes. Increase w r for each ACK on path r, by Decrease w r for each drop on path r, by w r /2

How does MPTCP congestion control work? Maintain a congestion window w r, one window for each path, where r R ranges over the set of available paths. 56 Take no more than TCP would, at any potential bottleneck S: look at the best that a single-path TCP could get, and compare to what I m getting. Increase w r for each ACK on path r, by Decrease w r for each drop on path r, by w r /2