Welcome to the Linux kernel MultiPath TCP project

Are you talking MPTCP ?

No, you aren't!
You can remediate to this by installing MPTCP.

Breaking News

22. March 2013: The fastest TCP connection with Multipath TCP!!! Have a look here to see how to send a data-stream at 51.8 Gbit/second.

13. March 2013: The stable release MultiPath TCP v0.86 is available on our release page.

11. March 2013: Networked Systems 2013 includes a MultiPath TCP Tutorial given by Olivier Bonaventure. You can find the slides in .pdf or .pptx format.

09. January 2013: MultiPath TCP for the Android Nexus now available! Checkout https://github.com/mptcp-nexus/android for the tutorial on how to install MPTCP on your Nexus. Many thanks to Matthias Waehlisch and Raphael Wutzke.

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.

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

Stable Release

MultiPath TCP v0.86 is available on our release page.

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.



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 authors

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, Jaakko Korkeaniemi, 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 current partner:

Change Project

We are also grateful to our previous partners:

Trilogy European FP7 ProjectGoogleNokia

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.