Welcome to the Linux Kernel MultiPath TCP project
Are you talking MPTCP ?
Checkout this website to see if you are using MPTCP.
29. March 2020: Linux v5.6 contains the first bit of codes related to MPTCP. This is the beginning of MPTCP in the official Linux kernel, no longer as a fork on the side.
03. February 2023: The stable release MultiPath TCP v0.96 is available on our release page.
22. June 2019: The stable release MultiPath TCP v0.95 is available on our release page.
09. March 2018: The stable release MultiPath TCP v0.94 is available on our release page.
02. November 2017: The stable release MultiPath TCP v0.93 is available on our release page.
04. June 2017: The stable release MultiPath TCP v0.92 is available on our release page.
12-13 Nov. 2016 Multipath TCP hackathon in Louvain-la-Neuve and Seoul during IETF'97.
21. July 2015: Multipath TCP included in Samsung Galaxy S6 to reach 1 Gbps in Korea
9. May 2015: Online bibliography with published papers and IETF drafts on Multipath TCP
20. August 2014: Get commercial support for Multipath TCP. If you are working on a commercial application on top of Multipath TCP and need commercial-grade support, new features or backport to previous kernel releases, just contact Gregory Detal (Tessares) and Sébastien Barré (Praos) directly to discuss with them about the services that they can offer.
MultiPath TCP (MPTCP) is an effort towards enabling the simultaneous use of several IP-addresses/interfaces by a modification of TCP that presents a regular TCP interface to applications, while in fact spreading data across several subflows. Benefits of this include better resource utilization, better throughput and smoother reaction to failures. Slides - explaining MultiPath TCP - are available in .pdf and .pptx format. You can also have a look at our Google Techtalk about MPTCP, or the MultiPath TCP tutorial given by Olivier Bonaventure at the IETF87.
If you are looking for MPTCP in Linux >= v5.6:
For Linux <= 5.4, you can stay on this website.
The IP Networking Lab is implementing MPTCP in the Linux Kernel and hosting it on this website for users, testers and developers.
For questions, feedback,... please contact us at the mptcp-dev Mailing-List
If you use the implementation in scientific papers, please indicate in the paper the version of the implementation that you use and cite it as :
C. Paasch, S. Barre, et al., Multipath TCP in the Linux Kernel, available from https://www.multipath-tcp.org
MultiPath TCP v0.96 is available on our release page.
Commercial support for Multipath TCP
Sébastien Barré and Gregory Detal, two of the key contributors to the Multipath TCP implementation in the Linux kernel, are creating a company that will develop innovative products based on this technology.
If you are working on a commercial application on top of Multipath TCP
and need commercial-grade support, new features or backport to
previous kernel releases, just contact Gregory Detal (Tessares) and Sébastien Barré (Praos) directly to discuss with them about the services that they can offer.
The fastest TCP connection with Multipath TCP
Breaking the record of the fastest TCP connection - have a look here how we can achieve 51.8 Gbit/second with Multipath TCP.
Who is using MultiPath TCP?
Check out on our map, who has visited our website with MPTCP enabled. Statistics since September 2012.
The following websites are using the Linux MPTCP implementation. If you are using MPTCP on a public website, let us know at mptcp-dev Mailing List.
If you are using MultiPath TCP (personnally or for business), let us know and share your experience on the mptcp-dev Mailing List.
Apple's iOS7 supports Multipath TCP for its traffic generated by Siri. Congratulations to Apple for pushing the first wide-spread deployment of MPTCP.
Citrix's Netscaler as well as the F5 BIG-IP also support Multipath TCP!
Samsung's Galaxy S6 and S6 Edge support MPTCP in Korea's KT network.
Linux Kernel MultiPath TCP in action
We did a little demo of MultiPath TCP used over Ethernet/WiFi/3G on our Linux Kernel implementation.
We start an ssh-session with X-redirection and launch xscreensaver demo on the distant MPTCP-capable server.
We then turn off Ethernet and WiFi and thanks to MultiPath TCP the ssh-session is able to handover the traffic to 3G without interrupting the user-experience. Without our MPTCP Linux Kernel the session would simply stop working and the user would need to restart the ssh-session.
In the video you see a trafficmonitor on the right, displaying the instantaneous amount of traffic going over each interface. Top is Ethernet, middle is WiFi and bottom is 3G.
The initial MPTCP implementation and architecture for the Linux OS is from Sébastien Barré. Sébastien started this project around 2009, based on his shim6-implementation and continued working on the MPTCP-implementation until he finished his thesis.
Since then, several people have joined the project. Current active developers are Christoph Paasch, Fabien Duchêne and Gregory Detal.
For an overview of the current and past contributions have a look here (generated with gitstats)
Thanks to our last partner:
We are also grateful to our previous partners:
Thanks to all the people who have used and reported their experience of using MPTCP, sometimes even helping in the debugging process: Joerg Wagner (NEC), Bruno Mongazon-Cazavet (Alcatel-Lucent), Andreas Seelinger (RWTH-Aachen), Vijay Subramanian, Alan P. Smith (BT), Ramakrishna Sura, Ovidiu Popa (University of Cambridge), Sergio Lembo (Aalto University), Piers O'Hanlon (UCLondon), Costin Raiciu (UCLondon).
Costin Raiciu has also written a userspace prototype that he kindly sent us as a help to start the development of this project.
A special thank to Adam Greenhalgh (UCLondon) for maintaining the HEN platform, which is a precious tool for thoroughly testing MPTCP in a wide range of scenarios. We specially appreciate his very fast action to solve problems on the platform. Prof. Mark Handley (UCLondon) also manages the platform and solved several tricky problems on it.