1 Three ways to (ab)use Multipath Congestion Control Costin Raiciu University Politehnica of Bucharest.

Slides:



Advertisements
Similar presentations
Martin Suchara, Ryan Witt, Bartek Wydrowski California Institute of Technology Pasadena, U.S.A. TCP MaxNet Implementation and Experiments on the WAN in.
Advertisements

Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
mptcp proxies Mark Handley
WELCOME! Multipath TCP Implementors Workshop Saturday 24 th July Maastricht Philip Eardley MPTCP WG Co-chair.
Improving Datacenter Performance and Robustness with Multipath TCP
Ramin Khalili (T-Labs/TUB) Nicolas Gast (LCA2-EPFL)
TCP--Revisited. Background How to effectively share the network? – Goal: Fairness and vague notion of equality Ideal: If N connections, each should get.
Opportunistic Mobility with Multipath TCP
RED Enhancement Algorithms By Alina Naimark. Presented Approaches Flow Random Early Drop - FRED By Dong Lin and Robert Morris Sabilized Random Early Drop.
MPTCP is not Pareto- Optimal Performance Issues and a possible solution B 吳昇峰.
Restless bandits and congestion control Mark Handley, Costin Raiciu, Damon Wischik UCL.
Packet Video TCP Video Streaming to Bandwidth-Limited Access Links Puneet Mehra and Avideh Zakhor Video and Image Processing Lab University of California,
Multipath TCP Costin Raiciu University Politehnica of Bucharest Joint work with: Mark Handley, Damon Wischik, University College London Olivier Bonaventure,
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks Multipath.
TDTS21 Advanced Networking
Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu, Sebastien Barre, Christopher Pluntke, Adam Greenhalgh, Damon Wischik,
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.
Options or payload? Costin Raiciu UCL IETF 78, Maastricht.
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
MAC Layer (Mis)behaviors Christophe Augier - CSE Summer 2003.
Leveraging Multiple Network Interfaces for Improved TCP Throughput Sridhar Machiraju, Prof. Randy Katz.
Explicit Congestion Notification ECN Tilo Hamann Technical University Hamburg-Harburg, Germany.
Leveraging Multiple Network Interfaces for Improved TCP Throughput Sridhar Machiraju SAHARA Retreat, June 10-12, 2002.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
1 How to apply Adaptation principle: case study in
Cabernet: Vehicular Content Delivery Using WiFi Jakob Eriksson, Hari Balakrishnan, Samuel Madden MIT CSAIL MOBICOM '08 Network Reading Group, NRL, UCLA.
Routing of Outgoing Packets with MP-TCP draft-handley-mptcp-routing-00 Mark Handley Costin Raiciu Marcelo Bagnulo.
ICTCP: Incast Congestion Control for TCP in Data Center Networks∗
Second year review Resource Pooling Damon Wischik, UCL.
AQM Recommendation Fred Baker. History At IETF 86, TSVAREA decided to update the recommendation of RFC 2309 to not recommend the use of RED Argument:
TCP & Data Center Networking
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.
Network Technologies essentials Week 8: TCP congestion control Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall, University.
Multipath TCP design, and application to data centers Damon Wischik, Mark Handley, Costin Raiciu, Christopher Pluntke.
Enhancing TCP Fairness in Ad Hoc Wireless Networks using Neighborhood RED Kaixin Xu, Mario Gerla UCLA Computer Science Department
INFOCOM A Receiver-Driven Bandwidth Sharing System (BWSS) for TCP Puneet Mehra, Avideh Zakhor UC Berkeley, USA Christophe De Vleeschouwer Université.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Congestion control for Multipath TCP (MPTCP) Damon Wischik Costin Raiciu Adam Greenhalgh Mark Handley THE ROYAL SOCIETY.
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
Transmission Control Protocol TCP Part 2 University of Glamorgan Networked & Distributed Systems.
Congestion Control for High Bandwidth-Delay Product Networks D. Katabi (MIT), M. Handley (UCL), C. Rohrs (MIT) – SIGCOMM’02 Presented by Cheng.
CISC856 University of Delaware
Vertical Optimization Of Data Transmission For Mobile Wireless Terminals MICHAEL METHFESSEL, KAI F. DOMBROWSKI, PETER LANGENDORFER, HORST FRANKENFELDT,
Data Transport Challenges for e-VLBI Julianne S.O. Sansa* * With Arpad Szomoru, Thijs van der Hulst & Mike Garret.
Architectures and Algorithms for Future Wireless Local Area Networks  1 Chapter Architectures and Algorithms for Future Wireless Local Area.
1 1 July 28, Goal of this session is too have a discussion where we learn about the relevant data to help us understand the problem and design.
1 Capacity Dimensioning Based on Traffic Measurement in the Internet Kazumine Osaka University Shingo Ata (Osaka City Univ.)
Fat Virtual Access Points Taken from Srikanth Kandula.
Receiver Driven Bandwidth Sharing for TCP Authors: Puneet Mehra, Avideh Zakor and Christophe De Vlesschouwer University of California Berkeley. Presented.
Murari Sridharan Windows TCP/IP Networking, Microsoft Corp. (Collaborators: Kun Tan, Jingmin Song, MSRA & Qian Zhang, HKUST)
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
Mptcp proxies Mark Handley. MPTCP Mobility Mobile client 3G celltower Server.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
MMPTCP: A Multipath Transport Protocol for Data Centres 1 Morteza Kheirkhah University of Edinburgh, UK Ian Wakeman and George Parisis University of Sussex,
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
By, Nirnimesh Ghose, Master of Science,
Architecture and Algorithms for an IEEE 802
Improving Datacenter Performance and Robustness with Multipath TCP
Improving Datacenter Performance and Robustness with Multipath TCP
Multipath QUIC: Design and Evaluation
Multipath TCP Yifan Peng Oct 11, 2012
ECF: an MPTCP Scheduler to Manage Heterogeneous Paths
COS 561: Advanced Computer Networks
High Throughput Route Selection in Multi-Rate Ad Hoc Wireless Networks
AMP: A Better Multipath TCP for Data Center Networks
Review of Internet Protocols Transport Layer
Lecture 5, Computer Networks (198:552)
Lecture 6, Computer Networks (198:552)
Presentation transcript:

1 Three ways to (ab)use Multipath Congestion Control Costin Raiciu University Politehnica of Bucharest

Multipath TCP Design Goals Do at least as well as TCP on any path Move traffic away from congested subflows Be fair to TCP at bottlenecks Do at least as well as TCP on any path Move traffic away from congested subflows Be fair to TCP at bottlenecks 2

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

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. Increase w r for each ACK on path r, by Decrease w r for each drop on path r, by w r / 2 4

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. Increase w r for each ACK on path r, by Decrease w r for each drop on path r, by w r / 2 5 Design goal 3: At any potential bottleneck S that path r might be in, look at the best that a single-path TCP could get, and compare to what I’m getting.

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. Increase w r for each ACK on path r, by Decrease w r for each drop on path r, by w r / 2 6 Design goal 2: We want to shift traffic away from congestion. To achieve this, we increase windows in proportion to their size.

7 Multipath TCP Meets WiFi

AP deployment in Bucharest Center WiFi is mostly a static connectivity solution

Why bother selecting best AP? Connect to all APs Spread traffic with Multipath TCP while having a single NIC in the client Implementation is straightforward On a single channel, use virtual interfaces Channel switch between different channels

Connect to all APs So how should traffic be allocated? Most traffic should come via the best AP while probing all other APs

Multipath TCP + Multiple APs Experiments Single channel – Hidden terminal – Carrier-sense Multiple channels – Use channel switching AP1 AP2

Carrier Sense experiment APs hear each other

Great. Are we done? NO With n, MPTCP client gets half the throughput it should receive

MAC with two APs sending AP 1 Client AP 2 lower rate The Wifi MAC gives packet level fairness, reducing total throughput The Wifi MAC gives packet level fairness, reducing total throughput

Carrier-Sense performance depends on rate control algorithm Near-optimal behaviour when: All APs used the same fixed rate Using minstrel (the default algorithm in Linux) Bad behaviour when: Using less aggressive rate control algorithms Using minstrel-ht (802.11n) Rate control algorithms are specific to each AP vendor. Change is very difficult.

MPTCP congestion control in WiFi AP 1 AP 2 p1p1 p2p2 When the MAC gives packet level fairness, p 1 = p 2 When the MAC gives packet level fairness, p 1 = p 2

Client knows which AP is better Client estimates the average time T i it takes AP i to send one packet Assuming AP is alone accessing the medium Passively estimate PHY loss rates [see paper] Client orders its APs according to T i Informs server that AP j is bad when T j > 1.3 min i=1,N (T i )

Client ECN marking to steer traffic AP 1 AP 2 p1p1 p2p2 Mark 10% of incoming packets with ECN CE Codepoint

Client ECN marking to steer traffic AP 1 AP 2 p1p1 Mark 10% of incoming packets with ECN CE Codepoint

MPTCP congestion control primer Move traffic away from congested links Put most data on the subflow with the smallest loss rate Subflows with higher loss rate only receive probe traffic Do at least as good as TCP on the best path Use RTT and loss estimates on each subflow to estimate what TCP would get

Safe ECN Marking Mark δ packets as congested using ECN

Safe ECN Marking The client can compute the safe marking threshold delta: Implemented in device-independent part of the WiFi driver of the Linux kernel.

How well does ECN marking work for n?

Ensuring good performance with bottlenecked APs

Indoor client, walking speed A mobility experiment

Internet Operator Games with Multipath TCP

When does Multipath TCP give throughput benefits? 33 ISP A ISP B p A, RTT A p B, RTT B 10Mbps CASE 2: ENDOGENOUS LOSS MPTCP drives loss rates, using available capacity MPTCP = TCP A + TCP B CASE 1: EXOGENEOUS LOSS MPTCP flow does not affect loss rates MPTCP = MAX (TCP A, TCP B )

Can ISPs game Multipath TCP clients? ISP A ISP B 10Mbps ISP A drops a fraction of packets to convince traffic to go via alternate paths, if they exist. p A, RTT A

Drop rate that does not affect TCP The provider can easily compute the safe drop rate delta: Where T 1 =1/B client ; RTT can be estimated cheaply.

Provider shaping at work Implemented in htsim simulator. Shaping?Provider AProvider BTotal (Mbps) A11011 A + B MPTCP Congestion control Experiment: 25ms RTT, 10Mbps from A and B

Provider shaping at work Implemented in htsim simulator. Shaping?Provider AProvider BTotal (Mbps) A A + B Experiment: 25ms RTT, 10Mbps from A and B TCP Congestion control

Operator games Operators have incentives to shape Short term bandwidth reduction offsets costs in shaping hardware In the long run, everyone will shape. Using uncoupled congestion control fixes the problem

Ninja Tunneling

Why doesn’t Skype work over my 3G connection?

Middleboxes make Internet unpredictable Connectivity depends on protocols, port numbers and even payload Packets may be changed arbitrarily in flight New apps must act like old ones  tunneling is norm Tradeoff between efficiency and reachability Most apps choose reachability Unpredictability leads to inefficiency

Ninja tunneling Clients use multiple tunnels simultaneously to send traffic Tunnels include native IP, UDP, TCP, HTTP/HTTPS, DNS, covert channels and can change dynamically Traffic spread over the different tunnels with MPTCP Drop tunnels that where packet changes are detected

Ninja tunneling Benefits Unchanged apps Reachability is ensured in all cases Key difficulty: ensuring most traffic flows over the most efficient tunnel, and MPTCP congestion control can help

Ninja tunneling in a nutshell UDP TCP HTTP DNS Client Proxy p UDP p TCP p HTTP p DNS Multipath Congestion Control pushes most traffic onto tunnel with least loss rate If UDP is shaped => TCP => UDP in normal scenarios If UDP and TCP are shaped => HTTP etc

Multipath congestion control can be exploited by third parties to guide sender congestion control. It benefits: Clients: – In Wifi mobility – To circumvent operator DPI Operators: – To shed multipath traffic to other providers – To load balance their networks Reduced buffer usage for TCP as a side-effect Marking is harmful when multiple parties use it.