MPTCP

Multi-Path TCP Protocol

Protocol
Introduced in Rel-16
A transport layer protocol extension that allows a TCP connection to use multiple network paths simultaneously, increasing throughput, resilience, and mobility support. It enables devices with multiple interfaces (e.g., Wi-Fi and cellular) to aggregate bandwidth and seamlessly switch paths without breaking the connection.

Description

Multi-Path TCP (MPTCP) is an extension to the standard Transmission Control Protocol (TCP) that enables the simultaneous use of multiple network paths between two communicating hosts. Unlike regular TCP, which establishes a single connection over one source-destination IP address pair, MPTCP sets up a master TCP connection and then establishes additional subflows across different available interfaces or IP addresses. These subflows are aggregated into a single logical connection visible to the application, which continues to use a standard socket interface. The protocol manages the splitting and recombining of data across the subflows, ensuring in-order delivery to the application while optimizing the use of available bandwidth.

Architecturally, MPTCP operates at the transport layer, with extensions to the TCP option field to carry connection management information. Key components include the MPTCP-capable endpoints and, optionally, middleboxes like proxies that support the extension. The protocol uses a cryptographic token to securely associate multiple subflows with the same connection. A path manager component at each endpoint discovers available interfaces and IP addresses, and a scheduler decides how to distribute data across the subflows based on factors like path latency and congestion. A congestion control algorithm, typically coupled but not locked, manages congestion on each subflow independently while aiming for fairness with regular TCP flows on shared links.

In a 3GPP context, MPTCP is particularly relevant for User Equipment (UE) with multiple radio access technologies, such as 5G NR, LTE, and Wi-Fi. The UE can establish subflows over each activated PDU session or access network. The 3GPP architecture supports MPTCP through enhancements in the User Plane, such as defining how the UPF handles multiple tunnels corresponding to the subflows. The protocol's ability to migrate traffic from one path to another provides seamless mobility, for instance, when a UE moves out of Wi-Fi coverage, the cellular subflow can take over without interrupting the application session. This requires coordination with the 3GPP core's session management to manage IP address changes and PDU session continuity.

Purpose & Motivation

MPTCP was developed to overcome the limitations of traditional TCP, which is restricted to a single path per connection, making it unable to leverage the multiple network interfaces commonly available on modern devices. This single-path constraint leads to suboptimal resource utilization, as bandwidth from additional interfaces remains unused. It also results in poor resilience; if the single path fails, the TCP connection breaks, requiring application-layer recovery. MPTCP solves these problems by enabling concurrent use of multiple paths, thereby increasing aggregate throughput, improving reliability through path redundancy, and enhancing mobility by allowing connection migration.

The motivation for standardizing MPTCP within 3GPP, starting in Release 16, stems from the proliferation of multi-RAT devices and the need for efficient traffic aggregation and seamless session continuity in 5G networks. Prior solutions, like link aggregation at lower layers or application-level multiplexing, were either non-standard or inefficient. MPTCP provides a standardized, transport-layer solution that is transparent to most applications. It addresses specific 5G use cases such as enhanced mobile broadband (eMBB) requiring high throughput, ultra-reliable low-latency communications (URLLC) requiring resilience, and support for access traffic steering, switching, and splitting (ATSSS) functions.

Historically, IETF developed the base MPTCP protocol. 3GPP's work integrates and profiles MPTCP for the cellular ecosystem, defining how it interacts with 3GPP-specific functions like PDU sessions, QoS flows, and network-based traffic steering. This integration ensures that MPTCP operations are aligned with cellular network policies, charging, and security models, enabling operators to offer enhanced services that leverage multiple accesses in a controlled and efficient manner.

Key Features

  • Backward compatibility with applications using standard TCP sockets
  • Simultaneous data transmission over multiple network paths (subflows)
  • Dynamic addition and removal of subflows during a connection
  • Seamless handover and path migration without breaking the connection
  • Coupled congestion control for fairness with standard TCP traffic
  • Support for heterogeneous networks (e.g., 5G, LTE, Wi-Fi)

Evolution Across Releases

Rel-16 Initial

Introduced support for MPTCP as a transport protocol for enabling Access Traffic Steering, Switching, and Splitting (ATSSS). Defined the network architecture for MPTCP proxy functionality, where the User Plane Function (UPF) can act as a MPTCP proxy to assist legacy servers. Specified procedures for MPTCP connection establishment and management in conjunction with PDU sessions.

Defining Specifications

SpecificationTitle
TS 23.501 3GPP TS 23.501
TS 24.193 3GPP TS 24.193
TS 24.501 3GPP TS 24.501
TS 26.804 3GPP TS 26.804
TS 28.552 3GPP TS 28.552
TS 29.244 3GPP TS 29.244
TS 29.512 3GPP TS 29.512
TS 32.255 3GPP TR 32.255