MultiPath TCP: From Theory to Practice

The IETF is developing a new transport layer solution, MultiPath TCP (MPTCP), which allows to efficiently exploit several Internet paths between a pair of hosts, while presenting a single TCP connection to the application layer. From an implementation viewpoint, multiplexing flows at the transport layer raises several challenges. We first explain how this major TCP extension affects the Linux TCP/IP stack when considering the establishment of TCP connections and the transmission and reception of data over multiple paths. Then, based on our implementation of MultiPath TCP in the Linux kernel, we explain how such an implementation can be optimized to achieve high performance and report measurements showing the performance of receive buffer tuning and coupled congestion control.

[1]  Hartmut Ritter,et al.  Linux Network Architecture , 2004 .

[2]  Andy Currid,et al.  TCP Offload to the Rescue , 2004, ACM Queue.

[3]  Jon Postel,et al.  Transmission Control Protocol , 1981, RFC.

[4]  Klaus Wehrle,et al.  The Linux networking architecture : design and implementation of network protocols in the Linux kernel , 2005 .

[5]  Robert N. Shorten,et al.  Experimental evaluation of TCP protocols for high-speed networks , 2007, TNET.

[6]  Mark Handley,et al.  TCP Extensions for Multipath Operation with Multiple Addresses , 2020, RFC.

[7]  Janardhan R. Iyengar,et al.  Concurrent Multipath Transfer Using SCTP Multihoming Over Independent End-to-End Paths , 2006, IEEE/ACM Transactions on Networking.

[8]  Vern Paxson,et al.  TCP Congestion Control , 1999, RFC.

[9]  Pekka Nikander,et al.  Host Identity Protocol (HIP) Architecture , 2006, RFC.

[10]  Marcelo Bagnulo,et al.  Shim6: Level 3 Multihoming Shim Protocol for IPv6 , 2009, RFC.

[11]  Lixia Zhang,et al.  Stream Control Transmission Protocol , 2000, RFC.

[12]  Mark Handley,et al.  The resource pooling principle , 2008, CCRV.

[13]  NikanderP.,et al.  Host Identity Protocol (HIP) , 2008 .

[14]  Robin Kravets,et al.  Transport level mechanisms for bandwidth aggregation on mobile hosts , 2001, Proceedings Ninth International Conference on Network Protocols. ICNP 2001.

[15]  Wu-chun Feng,et al.  DYNAMIC RIGHT-SIZING IN TCP. , 2001 .

[16]  Mark Handley,et al.  Design, Implementation and Evaluation of Congestion Control for Multipath TCP , 2011, NSDI.

[17]  Ming Zhang,et al.  A Transport Layer Approach for Improving End-to-End Performance and Robustness Using Redundant Paths , 2004, USENIX Annual Technical Conference, General Track.

[18]  Kultida Rojviboonchai,et al.  R-M/TCP: protocol for reliable multi-path transport over the Internet , 2005, 19th International Conference on Advanced Information Networking and Applications (AINA'05) Volume 1 (AINA papers).

[19]  Xiaomin Zhu,et al.  cmpSCTP: An Extension of SCTP to Support Concurrent Multi-Path Transfer , 2008, 2008 IEEE International Conference on Communications.

[20]  Raghupathy Sivakumar,et al.  pTCP: an end-to-end transport layer protocol for striped connections , 2002, 10th IEEE International Conference on Network Protocols, 2002. Proceedings..

[21]  Mark Handley,et al.  Architectural Guidelines for Multipath TCP Development , 2011, RFC.

[22]  Janardhan R. Iyengar,et al.  Receive buffer blocking in concurrent multipath transfer , 2005, GLOBECOM '05. IEEE Global Telecommunications Conference, 2005..

[23]  Mark Handley,et al.  Coupled Multipath-Aware Congestion Control , 2010 .

[24]  David A. Borman,et al.  Implementing TCP/IP on a cray computer , 1989, CCRV.