ELI5 · · 4 min read

What is Multipath TCP (MPTCP)?

Discover how Multipath TCP lets a single connection use multiple network paths at once, increasing speed and resilience for mobile devices, data‑centres and the future Internet.

Image for our ELI5 series. This image states "ELI5 - What is MTPCP". MPTCP being Multipath TCP

Why we need more than one path

Single lanes limit performance

"Normal" TCP connections pick one route between two endpoints. If that is congested or fails, your data slows down or stops. The internet, however, has many routes between the same devices, and most modern devices have multiple network interfaces (Wi-Fi, 4G/5G, wired, etc.).

MPTCP's designers realised that using more than one link simultaneously could improve throughout and resilience.

💡
RFC 8684 notes that combining multiple paths can maximise network resource usage and improve user experience through higher throughput and better resilience.

Mobile devices use multiple networks

In this era, your phone talks over Wi‑Fi at home and 4G/5G when you leave. With classic TCP, moving out of Wi‑Fi range tears down the connection and forces your apps to reconnect.

MPTCP is designed for this reality: it lets a connection migrate seamlessly between networks or use them simultaneously. MPTCP introduces “subflows”, separate TCP flows over different interfaces, so a single connection can ride over both Wi‑Fi and cellular.

More resilience and resource pooling

By spreading traffic across different paths, MPTCP keeps your session alive if one path fails or becomes congested. MPTCP can maintain a stable connection even when a path fails because other paths can take over. This redundancy is valuable for real‑time applications like streaming, gaming or voice assistants.

An analogy

Imagine a courier company delivering a package from London to Edinburgh. Traditional TCP is like sending a parcel via a single courier van on the motorway. If there’s a traffic jam, the delivery slows down or fails. MPTCP is like splitting the parcel into several smaller parcels and sending them simultaneously via multiple vans on different roads (motorway, A‑roads, maybe even rail). Even if one route is congested, the others keep moving, and the package arrives faster. Later, these small parcels are reassembled at the destination.

How Multipath TCP works

MPTCP is not a brand‑new protocol; it’s an extension to TCP defined in RFC 8684. It aims to provide the same reliable, ordered byte‑stream as TCP while allowing multiple routes. Here’s a simplified view of how it operates:

  1. Initial subflow: The client initiates a normal TCP handshake with the server. During this handshake, it advertises that it supports MPTCP.
  2. Establish additional subflows: Once the initial subflow exists, the peers exchange additional IP addresses and negotiate new subflows. Each subflow is a regular TCP connection over a different network interface or path.
  3. Scheduling and data distribution: A scheduler in the operating system splits the application’s byte stream into chunks and assigns them to subflows. It monitors congestion, latency and path quality to decide how much data to send over each path. MPTCP also includes a connection‑level sequence number so the receiver can reorder data from multiple subflows.
  4. Fail‑over and mobility: If a subflow experiences packet loss, high latency or a link failure, the scheduler can reduce or stop sending on that subflow and instead use others. The connection remains intact, and applications don’t notice the change. This ability to create and destroy subflows over the lifetime of a single connection means MPTCP can survive network changes such as moving from Wi‑Fi to cellular without interrupting the session.
  5. Graceful close: When the application finishes, MPTCP closes all subflows gracefully, ensuring that outstanding data is delivered.

MPTCP is backward compatible with TCP: if the other endpoint doesn’t support it, the connection simply falls back to classic TCP.

Benefits of MPTCP

Trade‑offs and challenges

MPTCP isn’t always a free win. Some of the main trade‑offs include:

Where is Multipath TCP used today?

The first widespread deployment of MPTCP was on Apple’s iOS devices. Apple uses it for Siri voice assistant traffic, allowing Siri requests to continue when you leave Wi‑Fi and switch to cellular.

Linux added MPTCP support in kernel 5.6, although practical use typically requires kernel 6.1 and configuration. Some research projects and routers use MPTCP for link aggregation or to improve cloud traffic flows, and the IETF standard defines how any compliant OS can support it.

FAQ

Does MPTCP replace regular TCP?

No. MPTCP is an extension to TCP. If both endpoints support it, they can use multiple paths; otherwise they fall back to classic single‑path TCP. Applications still see the same reliable byte stream.

Do I need special hardware to use MPTCP?

Not usually. You need an operating system with MPTCP support (e.g. recent Linux, MacOS, etc.) and a server configured to accept MPTCP connections.

Can I use MPTCP with IPv6?

Yes. MPTCP operates over both IPv4 and IPv6, and a connection can mix addresses from both families.

Does MPTCP introduce security risks?

Multipath operation can complicate network monitoring. Security tools may not yet reassemble sessions spread across multiple addresses. As the protocol matures, vendors are updating tools to handle it.

Read next

What is SLAAC (IPv6)?
ELI5 ·

What is SLAAC (IPv6)?

Discover how SLAAC lets devices self‑assign global addresses, removes DHCP overhead, preserves end‑to‑end connectivity, and scales effortlessly for home, enterprise, and IoT networks.

Featured image from the ELI5 series. The image features some retro colouring/ design with the title "What is.. NAT?"
Networking ·

What is NAT?

Learn how Network Address Translation (NAT) works - lets home networks and data centres share one public IPv4 address, hides private hosts and enables port forwarding for servers.