bk99.de entertain the web since 1997

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, nstat and ip mptcp.
  • Test firewalls, NAT and asymmetric paths before enabling it in production.

References

Read the original article

Search the Web Archive