MultiPath TCP: From Theory to Practice

  • Sébastien Barré
  • Christoph Paasch
  • Olivier Bonaventure
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6640)


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.


TCP multipath implementation measurements 


  1. 1.
    Allman, M., Paxson, V., Blanton, E.: TCP Congestion Control. RFC 5681 (Draft Standard) (September 2009),
  2. 2.
    Borman, D.A.: Implementing TCP/IP on a cray computer. SIGCOMM Comput. Commun. Rev. 19, 11–15 (1989), CrossRefGoogle Scholar
  3. 3.
    Currid, A.: TCP Offload to the Rescue. Queue 2, 58–65 (2004), CrossRefGoogle Scholar
  4. 4.
    Fisk, M., chun Feng, W.: Dynamic right-sizing in TCP. In: Proceedings of the Los Alamos Computer Science Institute Symposium, pp. 1–5460 (2001)Google Scholar
  5. 5.
    Ford, A., Raiciu, C., Barré, S., Iyengar, J.: Architectural Guidelines for Multipath TCP Development, internet draft, draft-ietf-mptcp-architecture-03.txt, work in progress (December 2010)Google Scholar
  6. 6.
    Ford, A., Raiciu, C., Handley, M.: TCP Extensions for Multipath Operation with Multiple Addresses, internet draft, draft-ietf-mptcp-multiaddressed-02.txt, work in progress (October 2010)Google Scholar
  7. 7.
    Hsieh, H.Y., Sivakumar, R.: pTCP: An End-to-End Transport Layer Protocol for Striped Connections. In: ICNP, pp. 24–33. IEEE Computer Society, Los Alamitos (2002)Google Scholar
  8. 8.
    Iyengar, J., Amer, P.D., Stewart, R.R.: Concurrent multipath transfer using SCTP multihoming over independent end-to-end paths. IEEE/ACM Trans. Netw. 14(5), 951–964 (2006)CrossRefGoogle Scholar
  9. 9.
    Iyengar, J., Amer, P., Stewart, R.: Receive buffer blocking in concurrent multipath transfer. In: IEEE Global Telecommunications Conference, GLOBECOM 2005, p. 6 (2005)Google Scholar
  10. 10.
    Jacobson, V.: Re: query about tcp header on tcp-ip (September 1993),
  11. 11.
    Li, Y.T., Leith, D., Shorten, R.N.: Experimental evaluation of TCP Protocols for High-Speed Networks. IEEE/ACM Trans. Netw. 15, 1109–1122 (2007), CrossRefGoogle Scholar
  12. 12.
    Liao, J., Wang, J., Zhu, X.: cmpSCTP: An extension of SCTP to support concurrent multi-path transfer. Communications (2008)Google Scholar
  13. 13.
    Magalhaes, L., Kravets, R.: Transport Level Mechanisms for Bandwidth Aggregation on Mobile Hosts. In: ICNP, pp. 165–171. IEEE Computer Society, Los Alamitos (2001)Google Scholar
  14. 14.
    Moskowitz, R., Nikander, P.: Host Identity Protocol (HIP) Architecture. RFC 4423 (May 2006),
  15. 15.
    Nordmark, E., Bagnulo, M.: Shim6: Level 3 Multihoming Shim Protocol for IPv6. RFC 5533 (June 2009),
  16. 16.
    Postel, J.: Transmission Control Protocol. RFC 793 (Standard), updated by RFCs 1122, 3168 (September 1981)Google Scholar
  17. 17.
    Raiciu, C., Handley, M., Wischik, D.: Coupled Multipath-Aware Congestion Control. Internet draft (work in progress), Internet Engineering Task Force (July 2010),
  18. 18.
    Rojviboonchai, K., Osuga, T., Aida, H.: R-M/TCP: Protocol for Reliable Multi-Path Transport over the Internet. In: AINA, pp. 801–806. IEEE Computer Society, Los Alamitos (2005)Google Scholar
  19. 19.
    Stewart, R.: Stream Control Transmission Protocol. RFC 4960 (September 2007)Google Scholar
  20. 20.
    Wehrle, K., Pahlke, F., Ritter, H., Muller, D., Bechler, M.: The Linux networking architecture: design and implementation of network protocols in the Linux kernel. Prentice Hall, Englewood Cliffs (2004)Google Scholar
  21. 21.
    Wischik, D., Handley, M., Braun, M.B.: The Resource Pooling Principle. SIGCOMM Comput. Commun. Rev. 38(5), 47–52 (2008)CrossRefGoogle Scholar
  22. 22.
    Wischik, D., Raiciu, C., Greenhalgh, A., Handley, M.: Design, implementation and evaluation of congestion control for multipath TCP, USENIX NSDI (April 2011)Google Scholar
  23. 23.
    Zhang, M., Lai, J., Krishnamurthy, A.: A transport layer approach for improving end-to-end performance and robustness using redundant paths. In: USENIX 2004, pp. 99–112 (2004)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2011

Authors and Affiliations

  • Sébastien Barré
    • 1
  • Christoph Paasch
    • 1
  • Olivier Bonaventure
    • 1
  1. 1.ICTEAMUniversité catholique de LouvainLouvain-la-NeuveBelgium

Personalised recommendations