A key step for MPTCP integration in Linux 5.x

  • Focus

The Internet plays an increasing role in our digital society with a growing number of services that are accessible through the network. This growth has fuelled the development of a range of access network technologies, from xDSL, cable, fiber, 3G, 4G, 5G, Wi-Fi and broadband satellite. As the Internet becomes more and more pervasive, a single access technology is no longer sufficient and many users rely on multiple networks to access the Internet.  For example, several telecom operators have deployed hybrid access networks that combine xDSL and 4G to provide a cost-effective solution to deliver improved broadband services in rural areas, and of course all smartphones are equipped with cellular and Wi-Fi interfaces, while future connected cars will combine cellular and satellite services, etc.

However, from a technological viewpoint, it remains difficult for traditional Internet protocols to efficiently combine different access networks except if you use Multipath TCP. Multipath TCP was designed with heterogeneous access networks in mind and excels at combining them. Apple started to use Multipath TCP to support the Siri voice recognition application in 2013. Since then, its usage has continued to grow. In September 2019, Apple Maps and Apple Music moved to Multipath TCP to provide the best quality of experience while users walk and move away from Wi-Fi to cellular and vice versa. In parallel, Tessares has leveraged the Linux implementation of Multipath TCP to deploy Hybrid Access Networks that provide enhanced broadband services to rural users in more than six countries. 

The parallel efforts of Apple and Tessares will converge in future 5G networks. 3GPP, the standardisation body that is developing 5G standards, has selected Multipath TCP and Tessares’ hybrid access solution for the Access Traffic Steering, Switching and Splitting (ATSSS) service that will play a key role in efficiently combining Wi-Fi and 5G. This use case will drive the demand for Multipath TCP on smartphones, 5G connected devices and on servers. As mentioned above, Apple devices have supported Multipath TCP since 2013 and thus are ready for future converged networks. Android smartphones and servers depend on the availability of a Multipath TCP implementation in the Linux kernel and whereas a community-supported implementation is available from https://www.multipath-tcp.org, this has not been integrated into the mainline Linux kernel. 

However, for more than a year, engineers from Tessares, Apple, Intel and Red Hat have worked to develop a new Multipath TCP implementation that will be easier to integrate in the mainline Linux kernel. A first result from this significant effort was sent to the netdev mailing list last week. This patch integrates basic support for Multipath TCP in the Linux kernel and will be discussed by the core Linux developers. While it is not yet as complete as the community supported version, it clearly indicates a path towards the adoption of Multipath TCP as an official feature of the forthcoming versions of Linux 5.x. You can follow the development of this implementation on the project github page.

More information on this effort available here.

  • Share