An enhanced socket API for Multipath TCP

Multipath TCP is a TCP extension that enables hosts to send data belonging to a single TCP connection over different paths. It was designed as an incrementally deployable evolution of TCP. For this reason, the Multipath TCP specification assumes that applications use the unmodified socket interface. Given the growing interest in using Multipath TCP for specific applications, there is a demand for an advanced API that enables application developers to control the operation of the Multipath TCP stack. Keeping with the incremental deployment objectives of Multipath TCP, we propose a simple but powerful socket API that uses new socket options to control the operation of the underlying stack. We implement this extension in the reference implementation of Multipath TCP in the Linux kernel and illustrate its usefulness in several use cases.

[1]  Mark Handley,et al.  Is it still possible to extend TCP? , 2011, IMC '11.

[2]  Mark Handley,et al.  TCP Extensions for Multipath Operation with Multiple Addresses , 2020, RFC.

[3]  Erich M. Nahum,et al.  A measurement-based study of MultiPath TCP performance over wireless networks , 2013, Internet Measurement Conference.

[4]  Olivier Bonaventure,et al.  SMAPP: towards smart multipath TCP-enabled applications , 2015, CoNEXT.

[5]  Erich M. Nahum,et al.  How green is multipath TCP for mobile devices? , 2014, AllThingsCellular '14.

[6]  Olivier Bonaventure,et al.  A First Analysis of Multipath TCP on Smartphones , 2016, PAM.

[7]  Olivier Bonaventure,et al.  Multipath TCP , 2014 .

[8]  Gorry Fairhurst,et al.  Towards a flexible Internet transport layer architecture , 2016, 2016 IEEE International Symposium on Local and Metropolitan Area Networks (LANMAN).

[9]  Grenville Armitage,et al.  Multipath TCP in Vehicular to Infrastructure Communications , 2014 .

[10]  Olivier Bonaventure,et al.  Experience with Multipath TCP , 2014 .

[11]  Stefano Secci,et al.  An MPTCP Option for Network-Assisted MPTCP Deployments: Plain Transport Mode , 2016 .

[12]  Alan Ford,et al.  Multipath TCP (MPTCP) Application Interface Considerations , 2013, RFC.

[13]  Anja Feldmann,et al.  Socket intents: leveraging application awareness for multi-access connectivity , 2013, CoNEXT.

[14]  Mark Handley,et al.  Architectural Guidelines for Multipath TCP Development , 2011, RFC.

[15]  Mark Handley,et al.  How Hard Can It Be? Designing and Implementing a Deployable Multipath TCP , 2012, NSDI.

[16]  Mark Handley,et al.  Improving datacenter performance and robustness with multipath TCP , 2011, SIGCOMM 2011.

[17]  Matt Ganis,et al.  SOCKS Protocol Version 5 , 1996, RFC.

[18]  Olivier Bonaventure,et al.  Exploring mobile/WiFi handover with multipath TCP , 2012, CellNet '12.

[19]  Philip Eardley Survey of MPTCP Implementations , 2013 .

[20]  Michael Tüxen,et al.  Internet Engineering Task Force (ietf) Sockets Api Extensions for the Stream Control Transmission Protocol (sctp) , 2022 .