Multipath TCP on Linux
Summary
The MPTCP community explains how Linux spreads one logical TCP connection across several network paths. RFC 8684 describes Multipath TCP version 1. Linux supports kernel and user space path managers.
Ideas
- MPTCP splits a connection into several ordinary TCP subflows.
- The path manager creates subflows and announces additional addresses.
- The packet scheduler chooses paths by bandwidth, latency or policy.
- Failed paths can hand over data without the application reconnecting.
- Missing support on the other side falls back to ordinary TCP in a controlled way.
Insights
- Multipath separates the application connection from individual interfaces and addresses.
- Additional paths increase resilience and also the complexity of observation and privacy.
- Seamless fallback makes adoption easier but can silently disable the benefits.
Facts
- NetworkManager has included MPTCP features since version 1.40.
Recommendations
- Monitor subflows and TCP fallback with
ss,nstatandip mptcp. - Test firewalls, NAT and asymmetric paths before enabling it in production.
References
Links to the original source and the Web Archive open in a new tab.