Multipath TCP Support Is Working Its Upstream - First Bits Landing With Linux 5.6
We've already been looking forward to Linux 5.6 with already there being a lot of good stuff coming and now it's even more exciting: at least the prerequisites have been merged overnight for Multipath TCP (MPTCP) support!
Multipath TCP is the IETF-backed initiative for allowing TCP connections to use multiple paths for greater performance/efficiency and redundancy. There have been various Multipath TCP implementations going back several years while Apple's macOS/iOS was the first major player with official support. There's been Linux kernel support available as part of the reference implementation albeit out-of-tree with not much effort to mainline it until recently.
As explained on Multipath-TCP.org that has housed the reference Linux kernel implementation, "MultiPath TCP (MPTCP) is an effort towards enabling the simultaneous use of several IP-addresses/interfaces by a modification of TCP that presents a regular TCP interface to applications, while in fact spreading data across several subflows. Benefits of this include better resource utilization, better throughput and smoother reaction to failures." More details on MPTCP can be learned from this slide deck (PDF).
MPTCP can provide significant performance benefits on top of greater reliability...
Multi-Path TCP on WiFi can even provide better throughput too.
What was merged overnight is the mptcp-prereq code as the prerequisites for landing Multipath TCP. As of writing, MPTCP hasn't yet been merged into net-next but now that this pull request is in, we'd expect the actual MPTCP implementation to either land soon for Linux 5.6 or come with Linux 5.7. Exciting times ahead especially with Linux 5.6 also bringing WireGuard to the networking subsystem.
Multipath TCP is the IETF-backed initiative for allowing TCP connections to use multiple paths for greater performance/efficiency and redundancy. There have been various Multipath TCP implementations going back several years while Apple's macOS/iOS was the first major player with official support. There's been Linux kernel support available as part of the reference implementation albeit out-of-tree with not much effort to mainline it until recently.
As explained on Multipath-TCP.org that has housed the reference Linux kernel implementation, "MultiPath TCP (MPTCP) is an effort towards enabling the simultaneous use of several IP-addresses/interfaces by a modification of TCP that presents a regular TCP interface to applications, while in fact spreading data across several subflows. Benefits of this include better resource utilization, better throughput and smoother reaction to failures." More details on MPTCP can be learned from this slide deck (PDF).
MPTCP can provide significant performance benefits on top of greater reliability...
Multi-Path TCP on WiFi can even provide better throughput too.
What was merged overnight is the mptcp-prereq code as the prerequisites for landing Multipath TCP. As of writing, MPTCP hasn't yet been merged into net-next but now that this pull request is in, we'd expect the actual MPTCP implementation to either land soon for Linux 5.6 or come with Linux 5.7. Exciting times ahead especially with Linux 5.6 also bringing WireGuard to the networking subsystem.
28 Comments