Olivier Bonaventure (Université Catholique de Louvain, Belgium)

Date, Time and Location

Monday, March 11, 2013, 13:30--17:00 (to be acknowledged)
Room: t.b.a.

download the slides here from


The Transmission Control Protocol (TCP) is used by the vast majority of applications to transport their data reliably across the Internet. TCP was designed in the 1970s, and neither mobile devices nor computers with many network interfaces were an immediate design priority. On the other hand, the TCP designers knew that network links could fail, and they chose to decouple the network-layer protocols (Internet Protocol) from those of the transport layer (TCP) so that the network could reroute packets around failures without affecting TCP connections. This ability to reroute packets is largely due to the use of dynamic routing protocols, and their job is made much easier because they don’t need to know anything about transport-layer connections.

Today’s networks are multipath: mobile devices have multiple wireless interfaces, datacenters have many redundant paths between servers, and multihoming has become the norm for big server farms. Meanwhile, TCP is essentially a single-path protocol: when a TCP connection is established, the connection is bound to the IP addresses of the two communicating hosts. If one of these addresses changes, for whatever reason, the connection will fail. In fact, a TCP connection cannot even be load balanced across more than one path within the network, because this results in packet reordering, and TCP misinterprets this reordering as congestion and slows down.

Multipath TCP (MPTCP) is a major modification to TCP that allows multiple paths to be used simultaneously by a single transport connection. Multipath TCP circumvents the issues mentioned above and several others that affect TCP. Changing TCP to use multiple paths is not a new idea; it was originally proposed more than 15 years ago by Christian Huitema in the Internet Engineering Task Force (IETF), and there have been a half-dozen more proposals since then to similar effect. Multipath TCP draws on the experience gathered in previous work, and goes further to solve issues of fairness when competing with regular TCP and deployment issues as a result of middleboxes in today’s Internet. The Multipath TCP protocol has recently been standardized by the IETF, and an implementation in the Linux kernel is available today.


This tutorial will present in details the design of Multipath TCP and explain the motivation for most of the design decisions. It will be organized as follows :

1. The current Internet landscape. The Internet has evolved during the last decade. One notable change has been the widespread deployment of middleboxes that are still not part of the Internet architecture. Their characteristics have influenced several of the Multipath TCP design choices.

2. Connection establishment and release. A Multipath TCP can be considered as a bundle of TCP connections (called subflows in the Multipath TCP terminology). We detail the establishment and release phases of Multipath TCP.

3. Data transfer. Transporting data over several TCP connections at the same time is one of the main objectives of Multipath TCP. We explain how the data transfer works and some remaining open questions.

4. Congestion control. Congestion control is a key factor in the performance of TCP. Multipath TCP uses the new coupled congestion control that coordinates the congestion controller on the different subflows that compose a Multipath TCP connection.

5. Use cases. Multipath TCP has several use cases : datacenters, smartphones, IPv4/IPv6 coexistence. We discuss these use cases in details and show the benefits that Multipath TCP can bring.

6. Research issues. The development of a major extension like Multipath TCP opens new research problems. We'll survey some of them to conclude the tutorial.


[1] A. Ford, C. Raiciu, M. Handley, and O. Bonaventure, “TCP Extensions for Multipath Operation with Multiple Addresses”:
[2] C. Paasch, S. Barre, J. Korkeaniemi, F. Duchene, G. Detal, et al., “MPTCP Linux Kernel Implementation”:
[3] C. Raiciu, M. Handley, and D. Wischik, “Coupled Congestion Control for Multipath Transport Protocols,” RFC 6356, October 2011.
[4] D. Wischik, C. Raiciu, A. Greenhalgh, and M. Handley, “Design, Implementation and Evaluation of Congestion Control for Multipath TCP,” USENIX NSDI, March 2011.
[5] C. Raiciu, S. Barre, C. Pluntke, A. Greenhalgh, D. Wischik, and M. Handley, “Improving Datacenter Performance and Robustness with Multipath TCP,” ACM SIGCOMM 2011, Toronto, Canada, August 2011.
[6] C. Paasch, G. Detal, F. Duchene, C. Raiciu, and O. Bonaventure, “Exploring Mobile/WiFi Handover with Multipath TCP,” ACM SIGCOMM Workshop on Cel- lular Networks (Cellnet’12), 2012.
[7] C. Raiciu, C. Paasch, S. Barre, A. Ford, M. Honda, F. Duchene, O. Bonaventure, and M. Handley, “How Hard Can It Be? Designing and Implementing a Deployable Multipath TCP,” USENIX Symposium of Networked Systems Design and Implementation (NSDI’12), San Jose (CA), 2012.
[8] Multipath TCP resources:
[9] Michio Honda, Yoshifumi Nishida, Costin Raiciu, Adam Greenhalgh, Mark Handley and Hideyuki Tokuda, Is it Still Possible to Extend TCP?", ACM Internet Measurement Conference (IMC), November 2011, pp.181-192, Berlin, Germany

About the Presenters

Olivier Bonaventure is Professor at Université catholique de Louvain where he leads the IP Networking Lab ( His research interests include Internet protocols, traffic engineering, routing Internet measurements and network management. He is interested in both fundamental and applied research. His PhD students have developed several open-source software packages including the C-BGP simulator, OpenLISP and the shim6 and Multipath TCP implementations in the Linux kernel. He has published more than eighty papers in various scientific journals and conferences and has directed ten PhD thesis. He also contributes to the IETF and has been granted several patents.

Olivier Bonaventure received several awards as a researcher (Alcatel-Bell prize, INFOCOM 2007 best paper award, USENIX NSDI 2012 community award) and teacher (Wernaers prize for the development of online courses, prize for the open textbook Computer Networking : Principles, Protocols and Practice). He currently serves on the editorial board of IEEE/ACM Transactions on Networking, on the steering committee of ACM Conext, chairs the IEEE Internet award committee and is education Director of ACM SIGCOMM.