Multipath TCP receives USENIX NSDI community award

Tue, 05/01/2012 - 19:47 by Olivier Bonaventure • Categories:

The article How Hard Can It Be? Designing and Implementing a Deployable
Multipath TCP
written by Costin Raiciu (PUB), Christoph Paasch (UCL/ICTEAM), Sébastien
Barré (UCL/ICTEAM), Alan Ford (Cisco), Michio Honda (Keio University), Fabien Duchene (UCL/ICTEAM), Olivier Bonaventure (UCL/ICTEAM) and Mark Handley (UCL London) has received the community award at the USENIX Symposium on Networked Systems Design and Implementation (NSDI). This article describes the design of the Multipath TCP protocol and its implementation in the Linux kernel. The Transmission Control Protocol (TCP) is one of the most important Internet protocols. Briefly, Multipath TCP enables a TCP connection to use efficiently all the physical interfaces that are attached to a given host. Multipath TCP enables smartphones to use their WiFi and 3G interfaces at the same time or in failover mode. Multipath TCP also allows servers in datacenters to efficiently spread the network traffic over their high-speed interfaces. The Multipath TCP standard is being finalised within the IETF and the reference implementation in the Linux kernel is developed within ICTEAM by Sébastien Barré, Christoph Paasch, Fabien Duchêne and Grégory Detal.

The video used during the talk shows visually the benefits of Multipath TCP. It demonstrates an ssh session with X redirection from a laptop using Multipath TCP and having Ethernet, WiFi and 3G interfaces to a server. Multipath TCP automatically uses the three interfaces when needed. When all interfaces are available, it automatically prefers the Ethernet interface which is faster. However, when this interface fails, the TCP connection from the server is automatically redirected to the WiFi interface and sometimes packets are sent on the 3G interface. If the WiFi interface also fails, all packets are automatically sent over the 3G interface, ... All these operations are completely transparent for the application that uses a standard TCP socket.