BlogsCloudflareMulti-Path TCP (MPTCP) Implementation

Multi-Path TCP (MPTCP) Implementation

Multi-Path TCP (MPTCP) Implementation

1
posts
2025

Cloudflare is exploring and implementing Multi-Path TCP (MPTCP) to leverage multiple network paths for enhanced connectivity. This involves understanding and configuring MPTCP subflows, path managers, and schedulers on both client and server sides, particularly for Linux and iOS/macOS. The goal is to improve aggregation and mobility use cases, such as maintaining persistent SSH sessions across network interface changes and aggregating bandwidth from multiple network interfaces.

2025

Multi-Path TCP: Revolutionizing connectivity, one path at a time

1/3/2025

This post details the technical aspects of setting up and understanding Multi-Path TCP (MPTCP). It explains the concept of MPTCP subflows, how they are represented in tools like `ss -M`, and the two primary use cases: aggregation and mobility. The post covers MPTCP implementations on Linux (kernel v5.6+, ideally v6.1+) and iOS/macOS, including server-side configurations like `net.mptcp.allow_join_initial_addr_port` and client-side configurations using `ip mptcp endpoint`. It also touches upon the path manager and scheduler components, and the challenges of configuring MPTCP for seamless mobility and server-announced addresses.