Multipath TCP: Overview, Design, and Use-Cases Benno Overeinder NLnet Labs.

Slides:



Advertisements
Similar presentations
TCP--Revisited. Background How to effectively share the network? – Goal: Fairness and vague notion of equality Ideal: If N connections, each should get.
Advertisements

REVEALING MIDDLEBOXES INTERFERENCE WITH TRACEBOX Gregory Detal*, Benjamin Hesmans*, Olivier Bonaventure*, Yves Vanaubel° and Benoit Donnet°. *Université.
Decoupling TCP from IP with Multipath TCP Olivier Bonaventure Thanks to Sébastien.
Multipath TCP Costin Raiciu University Politehnica of Bucharest Joint work with: Mark Handley, Damon Wischik, University College London Olivier Bonaventure,
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks Multipath.
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
TDTS21 Advanced Networking
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Instructor: Sam Nanavaty TCP/IP protocol. Instructor: Sam Nanavaty Version – Allows for the evolution of the protocol IHL (Internet header length) – Length.
Computer Networks 2 Lecture 2 TCP – I - Transport Protocols: TCP Segments, Flow control and Connection Setup.
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
Options or payload? Costin Raiciu UCL IETF 78, Maastricht.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Exam Review Networking CS 3470, Section 1 Sarah Diesburg.
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
Gursharan Singh Tatla Transport Layer 16-May
Midterm Review These slides contain 90% recycled content.
1 Chapter 1 OSI Architecture The OSI 7-layer Model OSI – Open Systems Interconnection.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
1 LAN Protocols (Week 3, Wednesday 9/10/2003) © Abdou Illia, Fall 2003.
TCP Transport Control Protocol Information management 2 Groep T Leuven – Information department 2/35 Introduction UDP provides the connection.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
ECE453 – Introduction to Computer Networks Lecture 14 – Transport Layer (I)
Copyright 2002, S.D. Personick. All Rights Reserved.1 Telecommunications Networking II Topic 20 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Transmission Control Protocol
Review the key networking concepts –TCP/IP reference model –Ethernet –Switched Ethernet –IP, ARP –TCP –DNS.
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
Congestion control for Multipath TCP (MPTCP) Damon Wischik Costin Raiciu Adam Greenhalgh Mark Handley THE ROYAL SOCIETY.
CISC856 University of Delaware
Cisco Networking Academy S2 C9 TCP/IP. ensure communication across any set of interconnected networks Stack components such as protocols to support file.
TCP Behavior Inference Tool Jitendra Padhye, Sally Floyd Presented by Songjie Wei.
Multipath TCP ACM Queue, Volume 12 Issue 2, pp. 1-12, February 2014 Christoph Paasch and Olivier Bonaventure University College London 1.
Explicit Congestion Notification (ECN) RFC 3168
Transport Protocols.
CIS679: TCP and Multimedia r Review of last lecture r TCP and Multimedia.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
1 Three ways to (ab)use Multipath Congestion Control Costin Raiciu University Politehnica of Bucharest.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
Introduction to TCP/IP networking
By, Nirnimesh Ghose, Master of Science,
Multipath TCP in SDN-enabled LEO Satellite Networks
Transport Layer.
Process-to-Process Delivery, TCP and UDP protocols
Long-haul Transport Protocols
Process-to-Process Delivery
TCP.
Multipath TCP Yifan Peng Oct 11, 2012
CS 1652 Jack Lange University of Pittsburgh
MULTIPATH TCP -Tejas Rajput -Ridip De -Shreyas S Rao.
Internet and Intranet Protocols and Applications
Networking CS 3470, Section 1 Sarah Diesburg
MultiPath TCP Material from
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
COS 561: Advanced Computer Networks
Networking CS 3470, Section 1 Sarah Diesburg
Networking CS 3470, Section 1 Sarah Diesburg
Transport Protocols: TCP Segments, Flow control and Connection Setup
Network Architecture Models: Layered Communications
Transport Protocols: TCP Segments, Flow control and Connection Setup
Review of Internet Protocols Transport Layer
Transport Layer 9/22/2019.
Presentation transcript:

Multipath TCP: Overview, Design, and Use-Cases Benno Overeinder NLnet Labs

NLnet Labs … FOR MULTIPATH TCP MPTCP slides by courtesy of Olivier Bonaventure (UCL)

NLnet Labs The TCP Byte Stream Model Client Server ABCDEF XYZZ IP: IP:

NLnet Labs End Hosts Have Evolved Mobile devices have multiple wireless interfaces

NLnet Labs User Expectations

NLnet Labs What Technology Provides 3G cell tower IP

NLnet Labs What Technology Provides 3G cell tower IP IP

NLnet Labs What Technology Provides 3G cell tower When IP addresses change TCP connections have to be re-established ! IP IP

NLnet Labs Data Centers

NLnet Labs CHANGING INTERNET

NLnet Labs The Internet Architecture That We Explain to Our Students Physical Datalink Network Transport Application Physical Datalink Physical Datalink Network

NLnet Labs A Typical «Academic» Network Physical Datalink Network Transport Application Physical Datalink Network Transport Application Physical Datalink Network Physical Datalink

NLnet Labs The End-to-End Principle Physical Datalink Network Transport Application Physical Datalink Network Transport Application Physical Datalink Network Physical Datalink TCP

NLnet Labs In Reality –almost as many middleboxes as routers –various types of middleboxes are deployed Sherry, Justine, et al. "Making middleboxes someone else's problem: Network processing as a cloud service." Proceedings of the ACM SIGCOMM 2012 conference. ACM, 2012.

NLnet Labs A Middlebox Zoo Web Security Appliance NAC Appliance ACE XML Gateway Streamer VPN Concentrator SSL Terminator Cisco IOS Firewall IP Telephony Router PIX Firewall Right and Left Voice Gateway Content Engine NAT

NLnet Labs How to Model Those Middleboxes? In the official architecture, they do not exist In reality... Physical Datalink Network Transport Application Physical Datalink Network Transport Application Physical Datalink Network TCP Physical Datalink Network Transport Application

NLnet Labs TCP Segments Processed by a Router Source portDestination port Checksum Urgent pointer THL Reserved Flags Acknowledgment number Sequence number Window Ver IHL ToS Total length Checksum TTL Protocol Flags Frag. Offset Source IP address Identification Destination IP address Payload Options Source portDestination port Checksum Urgent pointer THL Reserved Flags Acknowledgment number Sequence number Window Ver IHL ToS Total length Checksum TTL Protocol Flags Frag. Offset Source IP address Identification Destination IP address Payload Options IP TCP

NLnet Labs TCP Segments Processed by a NAT Source portDestination port Checksum Urgent pointer THL Reserved Flags Acknowledgment number Sequence number Window Ver IHL ToS Total length Checksum TTL Protocol Flags Frag. Offset Source IP address Identification Destination IP address Payload Options Source portDestination port Checksum Urgent pointer THL Reserved Flags Acknowledgment number Sequence number Window Ver IHL ToS Total length Checksum TTL Protocol Flags Frag. Offset Source IP address Identification Destination IP address Payload Options

NLnet Labs TCP Segments Processed by an ALG Running on a NAT Source portDestination port Checksum Urgent pointer THL Reserved Flags Acknowledgment number Sequence number Window Ver IHL ToS Total length Checksum TTL Protocol Flags Frag. Offset Source IP address Identification Destination IP address Payload Options Source portDestination port Checksum Urgent pointer THL Reserved Flags Acknowledgment number Sequence number Window Ver IHL ToS Total length Checksum TTL Protocol Flags Frag. Offset Source IP address Identification Destination IP address Payload Options

NLnet Labs End-to-End Transparency Today Source portDestination port Checksum Urgent pointer THL Reserved Flags Acknowledgment number Sequence number Window Ver IHL ToS Total length Checksum TTL Protocol Flags Frag. Offset Source IP address Identification Destination IP address Payload Options Source portDestination port Checksum Urgent pointer THL Reserved Flags Acknowledgment number Sequence number Window Ver IHL ToS Total length Checksum TTL Protocol Flags Frag. Offset Source IP address Identification Destination IP address Payload Options Middleboxes don't change the Protocol field, but many discard packets with an unknown Protocol field

NLnet Labs MULTIPATH PROTOCOL

NLnet Labs Design Objectives Multipath TCP is an evolution of TCP Design objectives –Support unmodified applications –Work over today’s networks –Works in all networks where regular TCP works

NLnet Labs TCP Connection Establishment Three-way handshake SYN,seq=1234,Options SYN+ACK,ack=1235,seq=5678,Options ACK,seq=1235,ack=5679

NLnet Labs Data Transfer seq=1234,"abcd" ACK,ack=1238,win=4 seq=1238,"efgh" ACK,ack=1242,win=0

NLnet Labs Identification of a TCP Connection Four tuple –IP source –IP dest –Port source –Port dest All TCP segments contain the four tuple Source portDestination port Checksum Urgent pointer THL Reserved Flags Acknowledgment number Sequence number Window Ver IHL ToS Total length Checksum TTL Protocol Flags Frag. Offset Source IP address Identification Destination IP address Payload Options IP TCP

26 ClientServer ABCDEF XYZZ IP: IP: IP: IP: B B C C D D A A The New Byte Stream Model

NLnet Labs Design Decision A Multipath TCP connection is composed of one of more regular TCP subflows that are combined –Each host maintains state that glues the TCP subflows that compose a Multipath TCP connection together –Each TCP subflow is sent over a single path and appears like a regular TCP connection along this path

NLnet Labs Multipath TCP and the Architecture Physical Datalink Network TransportApplication Multipath TCP TCP1 socket TCP2 TCPn... Application A. Ford, C. Raiciu, M. Handley, S. Barre, and J. Iyengar, “Architectural guidelines for multipath TCP development", RFC

NLnet Labs A regular TCP connection What is a regular TCP connection ? –It starts with a three-way handshake SYN segments may contain special options –All data segments are sent in sequence There is no gap in the sequence numbers –It is terminated by using FIN or RST

NLnet Labs Multipath TCP SYN+Option SYN+ACK+Option ACK SYN+OtherOption SYN+ACK+OtherOption ACK

NLnet Labs How to Combine Two TCP Subflows ? SYN+Option SYN+ACK+Option ACK SYN+OtherOption SYN+ACK+OtherOption ACK How to link with blue subflow ?

NLnet Labs How to Link TCP Subflows ? SYN, Port src =1234,Port dst =80+Option SYN+ACK[...] ACK SYN, Port src =1235,Port dst =80 +Option[link Port src =1234,Port dst =80] A NAT could change addresses and port numbers

NLnet Labs How to Link TCP Subflows ? SYN, Port src =1234,Port dst =80 +Option[Token=5678] SYN+ACK+Option[Token=6543] ACK SYN, Port src =1235,Port dst =80 +Option[Token=6543] MyToken=5678 YourToken=6543 MyToken=6543 YourToken=5678

NLnet Labs Subflow Agility Multipath TCP supports –addition of subflows –removal of subflows

NLnet Labs How to Transfer Data ? seq=123,"a" seq=124,"b" seq=125,"c" seq=126,"d" ack=124 ack=126 ack=125 ack=127

NLnet Labs How to Transfer Data in Today’s Internet ? seq=123,"a" seq=124,"b" seq=125,"c" ack=124 ack=126 ack=125 Gap in sequence numbering space Some DPI will not allow this !

NLnet Labs Multipath TCP Data Transfer Two levels of sequence numbers Multipath TCP TCP1 socket TCP2 Multipath TCP TCP1 socket TCP2 ABCDEF Data sequence # TCP1 sequence # TCP2 sequence #

NLnet Labs Multipath TCP Data Transfer Dseq=0,seq=123,"a" DSeq=1, seq=456,"b" DSeq=2, seq=124,"c" DAck=1,ack=124 DAck=3, ack=125 DAck=2,ack=457

NLnet Labs TCP Congestion Control A linear rate adaption algorithm To be fair and efficient, a linear algorithm must use additive increase and multiplicative decrease (AIMD) # Additive Increase Multiplicative Decrease if congestion : rate=rate*betaC # multiplicative decrease, betaC<1 else rate=rate+alphaN # additive increase, v0>0

NLnet Labs AIMD in TCP Congestion control mechanism –Each host maintains a congestion window (cwnd) –No congestion Congestion avoidance (additive increase) –increase cwnd by one segment every round-trip-time –Congestion TCP detects congestion by detecting losses Mild congestion (fast retransmit – multiplicative decrease) –cwnd=cwnd/2 and restart congestion avoidance Severe congestion (timeout) –cwnd=1, set slow-start-threshold and restart slow-start

NLnet Labs Evolution of the Congestion Window Cwnd Fast retransmit Threshold Slow-start exponential increase of cwnd Congestion avoidance linear increase of cwnd Fast retransmit Time

NLnet Labs Congestion Control for Multipath TCP Simple approach –independant congestion windows Threshold

NLnet Labs Independant Congestion Windows Problem 12Mbps

NLnet Labs Coupling the Congestion Windows Principle –The TCP subflows are not independant and their congestion windows must be coupled EWTCP –For each ACK on path r, cwin r =cwin r +a/cwin r (in segments) –For each loss on path r, cwin r =cwin r /2 –Each subflow gets window size proportional to a 2 –Same throughput as TCP if M. Honda, Y. Nishida, L. Eggert, P. Sarolahti, and H. Tokuda. Multipath Congestion Control for Shared Bottleneck. In Proc. PFLDNeT workshop, May 2009.

NLnet Labs Can We Split Traffic Equally Among All Subflows ? 12Mbps D. Wischik, C. Raiciu, A. Greenhalgh, and M. Handley, “Design, implementation and evaluation of congestion control for multipath TCP,” NSDI'11: Proceedings of the 8th USENIX conference on Networked systems design and implementation, In this scenario, EWTCP would get 3.5 Mbps on the two hops path and 5 Mbps on the one hop path, less than the optimum of 12 Mbps for each Multipath TCP connection

NLnet Labs Linked Increases Congestion Control Algorithm – For each loss on path r, cwin r =cwin r /2 – Additive increase D. Wischik, C. Raiciu, A. Greenhalgh, and M. Handley, “Design, implementation and evaluation of congestion control for multipath TCP,” NSDI'11: Proceedings of the 8th USENIX conference on Networked systems design and implementation, 2011.

NLnet Labs Other Multipath-aware Congestion Control Schemes Y. Cao, X. Mingwei, and X. Fu, “Delay-based Congestion Control for Multipath TCP,” ICNP2012, T. A. Le, C. S. Hong, and E.-N. Huh, “Coordinated TCP Westwood congestion control for multiple paths over wireless networks,” ICOIN '12: Proceedings of the The International Conference on Information Network 2012, 2012, pp. 92–96. T. A. Le, H. Rim, and C. S. Hong, “A Multipath Cubic TCP Congestion Control with Multipath Fast Recovery over High Bandwidth-Delay Product Networks,” IEICE Transactions, R. Khalili, N. Gast, M. Popovic, U. Upadhyay, J.-Y. Le Boudec, MPTCP is not Pareto-optimal: Performance issues and a possible solution, Proc. ACM Conext 2012 T. Dreibholz, M. Becke, J. Pulinthanath, and E. P. Rathgeb, “Applying TCP-Friendly Congestion Control to Concurrent Multipath Transfer,” Advanced Information Networking and Applications (AINA), th IEEE International Conference on, 2010, pp. 312–319.

NLnet Labs USE-CASE: 3G AND WIFI

NLnet Labs Usage of 3G and WiFi How should Multipath TCP use 3G and WiFi ? –Full mode Both wireless networks are used at the same time –Backup mode Prefer WiFi when available, open subflows on 3G and use them as backup –Single path mode Only one path is used at a time, WiFi preferred over 3G

NLnet Labs Evaluation Scenario 3G: Mobistar (~2 Mbps, ~80ms) WiFi: Belgacom ADSL2+ (~8 Mbps, ~30 ms)

NLnet Labs Recovery After Failure C. Paasch, et al., “Exploring mobile/WiFi handover with multipath TCP,” presented at the CellNet '12: Proceedings of the 2012 ACM SIGCOMM workshop on Cellular networks: operations, challenges, and future design, 2012.

NLnet Labs Recovery After Failure C. Paasch, et al., “Exploring mobile/WiFi handover with multipath TCP,” presented at the CellNet '12: Proceedings of the 2012 ACM SIGCOMM workshop on Cellular networks: operations, challenges, and future design, 2012.

NLnet Labs Recovery After Failure C. Paasch, et al., “Exploring mobile/WiFi handover with multipath TCP,” presented at the CellNet '12: Proceedings of the 2012 ACM SIGCOMM workshop on Cellular networks: operations, challenges, and future design, 2012.

NLnet Labs USE-CASE: SURFNET & CERN/CALTECH LHC NETWORK

NLnet Labs

NLnet Labs Conclusion Multipath TCP is becoming a reality –Due to the middleboxes, the protocol is more complex than initially expected –RFC has been published –there is running code ! –Multipath TCP works over today's Internet ! What's next ? –More use cases IPv4/IPv6, anycast, load balancing, deployment –Measurements and improvements to the protocol Time to revisit 20+ years of heuristics added to TCP

NLnet Labs More Information Multipath TCP resources – Multipath TCP – Linux kernel implementation – Multipath TCP – FreeBSD kernel implementation –