January 3rd, 2025

Mptcp: Revolutionizing connectivity, one path at a time

Multi-Path TCP (MPTCP) enhances traditional TCP by allowing simultaneous use of multiple network paths, improving connectivity and reliability, particularly for mobile devices, though it remains in development with varying effectiveness.

Read original articleLink Icon
Mptcp: Revolutionizing connectivity, one path at a time

Multi-Path TCP (MPTCP) is an extension of the traditional TCP protocol that allows for the use of multiple network paths simultaneously, enhancing connectivity and reliability. While conventional TCP typically utilizes a single path for data transmission, MPTCP can leverage multiple interfaces on devices, such as Wi-Fi and cellular connections, to create "subflows" that collectively support a single TCP connection. This capability addresses two significant issues: aggregation of bandwidth from various interfaces and maintaining connectivity during network changes, which is particularly beneficial for mobile devices. MPTCP has seen implementations primarily in Linux and iOS/macOS environments, with Linux kernel support starting from version 5.6. However, MPTCP is still considered immature, and its effectiveness can vary based on specific use cases. The protocol introduces complexities in path management and scheduling, which are essential for optimizing the use of multiple paths. While MPTCP can improve reliability for applications like SSH during network transitions, its adoption requires careful consideration of the underlying network conditions and application needs. Overall, MPTCP represents a significant advancement in network connectivity, promising enhanced performance for modern applications.

- MPTCP allows simultaneous use of multiple network paths for improved connectivity.

- It addresses bandwidth aggregation and mobility issues in traditional TCP.

- Implementations are primarily available on Linux and iOS/macOS.

- MPTCP is still developing, with varying effectiveness based on use cases.

- It enhances reliability for mobile applications during network changes.

Link Icon 2 comments
By @majke - 3 months
Author here. It was fun trying to actually use MPTCP. There aren't many resources on how to actually run it and what to expect. There are many unpolished aspects, like I was able to find (and report) a bug in MacOS (which has been fixed since then).

MPTCP promises a lot, and when it works, it's pretty cool. However, I think that QUIC might out-innovate it. Time will tell.