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

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

Multipath TCP: Goals and Background. Mark Handley, UCL

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

Multipath Transport, Resource Pooling, and implications for Routing

Implementation and Evaluation of Coupled Congestion Control for Multipath TCP

Balancing Resource Pooling and Equipoise in Multipath Transport

CS519: Computer Networks. Lecture 5, Part 5: Mar 31, 2004 Queuing and QoS

CS644 Advanced Networks

Urban dashboardistics Damon Wischik Dept. of Computer Science and Technology

PACC: A Path Associativity Congestion Control and Throughput Model For Multi-path TCP

XCP: explicit Control Protocol

Congestion Control of MPTCP: Performance Issues and a Possible Solution

Exercises TCP/IP Networking With Solutions

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

Analysis on MPTCP combining Congestion Window Adaptation and Packet Scheduling for Multi-Homed Device

Oscillations and Buffer Overflows in Video Streaming under Non- Negligible Queuing Delay

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

Basic Reliable Transport Protocols

TCP and BBR. Geoff Huston APNIC

Reliable Transport II: TCP and Congestion Control

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

Mobile Routing : Computer Networking. Overview. How to Handle Mobile Nodes? Mobile IP Ad-hoc network routing Assigned reading

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

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long

Equation-Based Congestion Control for Unicast Applications. Outline. Introduction. But don t we need TCP? TFRC Goals

TCP and BBR. Geoff Huston APNIC

Wireless Interference and Multipath TCP

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

Congestion Control. COSC 6590 Week 2 Presentation By Arjun Chopra, Kashif Ali and Mark Obsniuk

CS268: Beyond TCP Congestion Control

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

Assignment 7: TCP and Congestion Control Due the week of October 29/30, 2015

SaaS Providers. ThousandEyes for. Summary

Lecture 14: Congestion Control"

Sally Floyd, Mark Handley, and Jitendra Padhye. Sept. 4-6, 2000

Reliable Transport II: TCP and Congestion Control

Episode 4. Flow and Congestion Control. Baochun Li Department of Electrical and Computer Engineering University of Toronto

On the Fairness of Transport Protocols in a Multi-Path Environment

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Deploying MPLS & DiffServ

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Congestion control mechanism of TCP for achieving predictable throughput

Lecture 14: Congestion Control"

Improving Multipath TCP. PhD Thesis - Christoph Paasch

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

Communication Networks

One More Bit Is Enough

Can Congestion-controlled Interactive Multimedia Traffic Co-exist with TCP? Colin Perkins

Utilizing Datacenter Networks: Centralized or Distributed Solutions?

Multiple unconnected networks

Network Control and Signalling

Master s Thesis. TCP Congestion Control Mechanisms for Achieving Predictable Throughput

ThousandEyes for. Application Delivery White Paper

On TCP friendliness of VOIP traffic

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Congestion Control In the Network

TCP Fairness in Multipath Transport Protocols. Ronald Henry Tse

Chapter 6: Congestion Control and Resource Allocation

BLEST: Blocking Estimation-based MPTCP Scheduler for Heterogeneous Networks. Simone Ferlin, Ozgu Alay, Olivier Mehani and Roksana Boreli

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies

RCRT:Rate-Controlled Reliable Transport Protocol for Wireless Sensor Networks

UNIT IV -- TRANSPORT LAYER

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

The Case for Informed Transport Protocols

Lecture 4: Congestion Control

Voice over IP. Circuit Switching is Inefficient. Circuit Switching is Expensive. Down At The CO

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

Congestion? What Congestion? Mark Handley

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Layer 4 TCP Performance in carrier transport networks Throughput is not always equal to bandwidth

Principles of congestion control

Implementing stable TCP variants

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

Quality of Service in Telecommunication Networks

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

P2P Control for ISPs Dr. Lawrence G. Roberts Anagran Oct. 2008

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

MultipathTCP. Alan Ford

The War Between Mice and Elephants

MultiPath TCP : Linux Kernel Implementation

Let It Flow Resilient Asymmetric Load Balancing with Flowlet Switching

ETSF05/ETSF10 Internet Protocols. Performance & QoS Congestion Control

Lecture 10: Protocol Design

Tuning, Tweaking and TCP

ETSF05/ETSF10 Internet Protocols. Performance & QoS Congestion Control

Lecture 11. Transport Layer (cont d) Transport Layer 1

Neural-based TCP performance modelling

From Routing to Traffic Engineering

Studying Fairness of TCP Variants and UDP Traffic

Chapter 24 Congestion Control and Quality of Service Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Performance Comparison of TFRC and TCP

Congestion Control for High Bandwidth-delay Product Networks

CMPE150 Midterm Solutions

Computer Networks (Fall 2011) Homework 2

Transmission Control Protocol (TCP)

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

PCC: Performance-oriented Congestion Control

MPTCP: Design and Deployment. Day 11

Flow and Congestion Control

Transcription:

Multipath TCP How one little change can make: Google more robust your iphone service cheaper your home broadband quicker prevent the Internet from melting down enable remote brain surgery cure hyperbole Prof. Mark Handley Dr. Damon Wischik Costin Raiciu University College London

TCP is the main transport protocol on the Internet Web Email Remote login Chat Video streaming Peer-to-peer TCP provides two functions: reliable delivery and congestion control. This talk is about congestion control.

TCP tries to answer the question how fast should I send?

TCP s window is all the packets TCP has sent for which it has not yet seen the acknowlegment. Data packets Acks for data packets

TCP s congestion control adapts the window to fit the capacity available in the network. Each round-trip time, increase window by one packet. If a packet is lost, halve the window. TCP s Window Time (RTTs)

Over time, TCP equalizes the windows of competing flows Flow 2 Flow 1 Window of flow 2 w1 + w2 = 80 (Queue at 2 fills up) Window of flow 1

Over time, TCP equalizes the windows of competing flows Flow 2 Flow 1 Window of flow 2 The two windows are similar most of the time Window of flow 1

TCP does not prevent congestion Ideal protocol: transfer a large file in zero time. Congestion is normal if TCP is working. TCP doesn t make traffic go away All it does is spread traffic out over time.

TCP has to use the path given it by routing. there here Source: Bill Cheswick, Lumeta

The routing system is not aware of congestion. TCP can t choose a better uncongested path. there here link is very congested Source: Bill Cheswick, Lumeta

Redundancy is the only way to make reliability greater than that of all the parts. If an Internet link fails, can routing can switch to a different path. Routing is too slow to converge. Can we use redundancy at the TCP level? Routing doesn t know about congestion. Can we avoid congestion at at the TCP level?

Obvious answer: Use more than one path This has only recently become possible, as hosts with more than one path to the Internet become commonplace.

Smartphone 3G celltower Mobile client Server Wifi

Multi-homed server Stripe data from one connection across both paths. We call these subflows. Client Load balances between access links Server

Sending simultaneously across more than one path can provide robustness. Client If any path dies, TCP can detect it immediately and switch all traffic to the working path. Server

Sending simultaneously across more than one path can balance load and pool resources. [Kelly & Voice, Key, Massoulie & Towsley] Each path runs its own congestion control, to detect and respond to the congestion it sees. But link the congestion control parameters, so as to move traffic away from the more congested paths. be less aggressive be more aggressive

We don t want to be more aggressive than a regular TCP when the bottleneck is common to all our subflows. Sometimes the flows won t take different paths. We still want to be fair to competing traffic. a 1 a 2 a 1 + a 2 = b b

Linking the subflows can reduce the traffic sent on the more congested path, and so balance load. Regular TCP: Each round trip, increase window w by 1. Each loss, decrease window w by w/2. Multipath TCP: For subflow i: Each round trip, increase window w i by w i /w total. Each loss, decrease window w i by w total /2 (but not negative) The subflow that has the smaller window increases less and decreases more.

Linking the subflows is fair, even if they all go through the same bottleneck. a 1 a 2 a 1 + a 2 = b Multipath TCP: For subflow i: Each round trip, increase window w i by w i /w total. Each loss, decrease window w i by w total /2 b Each round trip, the total window increases by: Σ w i /w total = 1 Same as a normal TCP Each loss, the total window decreases by w total /2 Same as a normal TCP So linked MP-TCP will be fair to normal TCP. i

MP-TCP allows a set of disparate links to behave just as if they were a single pooled resource. The ARPAnet pooled link resources rather than using circuits. ARPAnet resource pooling: Multipath resource pooling: Multipath TCP pools multiple link resources.

Linking the subflows allows a set of disparate links to behave just as if they were a single pooled resource.

Unfortunately it s not all rosy Differential equations predict stability. Reality is discrete, which results in flappy behaviour. Theory assumes we control the rate. In the Internet, we need to control the window to co-exist with TCP. This introduces a dependency on round trip time.

Problem 1: When paths are equally congested, linking causes the traffic to flap between them. Coupling moves traffic away from the more congested path until loss rates equalize. But losses are never exactly equal, so traffic flaps between paths randomly. Equal random loss on both paths Traffic flaps between one path and the other

To have a stable equilibrium, there needs to be a defined fixed point for any combination of loss rates, p i, seen by the subflows. Assume p 1 p 2 because TCP manages to balance load. So long as small changes in p 1 or p 2 only cause small changes in w 1 and w 2, then the system will not flap between the extremes. Linking increase and decrease means that if p 1 < p 2, even if the difference is tiny, then w 2 0. This causes flapping when p 1 p 2

The simplest algorithm that has a defined fixed point is one that just links the increases. Recall: Fully linked algorithm: Each RTT, increase window w i by w i /w total. Each loss, decrease window w i by w total /2. New: Linked increases algorithm: Each RTT, increase window w i by w i /w total. Each loss, decrease window w i by w i /2

Linked increases has a well-defined fixed point, but sacrifices a degree of resource pooling. Linked increases has a fixed point where: w 1 p 1 = w 2 p 2 This does move traffic away from congestion, but does not remove all traffic from the less congested path. In comparison, regular TCP has w i = 1/ p i Small changes in p i only have small effects on w i, so it does not flap.

The linked increases algorithm does not flap when the loss rates are equal Window of subflow 2 Same random loss on both paths Window of subflow 1

The Linked increases algorithm does move congestion away from the more congested path. Window of more congested subflow Window of less congested subflow

Problem 2: Differing round trip times can influence throughput significantly. Linked increases tries to equalize the loss rates, and hence equalize the windows of the subflows.

An example: Consider first the throughput when the loss rates and RTTs are equal. w 1 = 10 RTT 1 =10ms => 1000pkts/s Src p 1 = p 2 Dst w 2 = 10 RTT 2 =10ms => 1000pkts/s Total rate = 2000 pkts/s

The linked increases algorithm gets low throughput when the round trip times are different. But a regular TCP on path 1 would get 2000pkts/s w 1 = 10 RTT 1 =10ms => 1000pkts/s Src Dst w 2 = 10 RTT 2 =100ms => 100pkts/s Total rate = 1100 pkts/s

We can correct for this, but first we need to decide what a desirable outcome would be. Goal 1: Improve Throughput Do at least as well as a single-path flow on the best path. Goal 2: Do no harm. Affect other flows no more than a single-path flow on their path. Goal 3: Balance congestion Move the maximum amount of traffic off the more congested path

We can make the linked increases algorithm fair by simply scaling the increase function. Each RTT, increase window i by aw i /w total. Each loss, decrease window i by w i /2. a is the aggressiveness. It doesn t change relative window sizes, so doesn t affect Goal 3: move traffic away from congestion. By tuning a, we can also achieve Goal 1: improve throughput and Goal 2: do no harm.

By tuning a, linked increases can also satisfy Goal 1: improve throughput and Goal 2: do no harm.

By tuning a, linked increases can also satisfy Goal 1: improve throughput and Goal 2: do no harm. w 1 20 10 0 10 20 30 w 2

By tuning a, linked increases can also satisfy Goal 1: improve throughput and Goal 2: do no harm. Window a regular TCP would get on path 1 w 1 20 10 0 10 20 30 w 2

By tuning a, linked increases can also satisfy Goal 1: improve throughput and Goal 2: do no harm. Window a regular TCP would get on path 1 w 1 20 10 0 10 20 30 w 2 Window a regular TCP would get on path 2

By tuning a, linked increases can also satisfy Goal 1: improve throughput and Goal 2: do no harm. w 1 20 What MP-TCP would get if we didn t link subflows 10 0 10 20 30 w 2

By tuning a, linked increases can also satisfy Goal 1: improve throughput and Goal 2: do no harm. w 1 20 What MP-TCP would get if we didn t link subflows 10 0 10 20 30 w 2 Lines of Equal Throughput. Their gradient depends on the ratio of RTTs.

By tuning a, linked increases can also satisfy Goal 1: improve throughput and Goal 2: do no harm. Minimum acceptable throughput for multipath is no worse than the best single-path route w 1 20 10 0 10 20 30 What MP-TCP would get if we didn t link subflows w 2

By tuning a, linked increases can also satisfy Goal 1: improve throughput and Goal 2: do no harm. Minimum acceptable throughput for multipath is no worse than the best single-path route w 1 20 10 0 10 20 30 What MP-TCP would get if we didn t link subflows w 2 Region of acceptable throughput for multipath

By tuning a, linked increases can also satisfy Goal 1: improve throughput and Goal 2: do no harm. w 1 20 10 0 10 20 30 w 2 Point of maximum resource pooling (minimum traffic on more congested path)

By tuning a, linked increases can also satisfy Goal 1: improve throughput and Goal 2: do no harm. w 1 20 10 0 10 20 30 w 2 Point of maximum resource pooling (minimum traffic on more congested path) The equilibrium point for linked increases lies on this line.

By tuning a, linked increases can also satisfy Goal 1: improve throughput and Goal 2: do no harm. w 1 20 10 0 10 20 30 w 2 Point of maximum resource pooling (minimum traffic on more congested path) Choose a so that the equilibrium point is on the line of minimum throughput.

The value of a can be calculated from the window sizes and the RTTs of the subflows. w ^ is the equilibrium window, but experiments show the instantaneous window can be used.

MP-TCP is fair to TCP, even at a common bottleneck a 1 a 1 + a 2 = b a 2 b

We believe MP-TCP has the potential to improve the Internet service seen by users. Google can multihome to different networks. Network outages have minimal effect. Your iphone can use WiFi and 3G simultaneously. Sleep radios when unneeded for better battery life. Share your DSL and your neighbour s Cable broadband. Very high reliability possible by using many paths. Remote brain surgery?

Summary: Multipath transport may finally unlock the inherent redundancy in the Internet. Robustness to failure. Can move traffic away from congestion, not just spread it out over more time. Maybe even a better solution for mobility? Now being standardized in the IETF. New MultipathTCP working group formed. http://nrg.cs.ucl.ac.uk/mptcp