HOME

TheInfoList



OR:

Multipath TCP (MPTCP) is an ongoing effort of the
Internet Engineering Task Force The Internet Engineering Task Force (IETF) is a standards organization for the Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster or requirements and a ...
's (IETF) Multipath TCP working group, that aims at allowing a
Transmission Control Protocol The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly ...
(TCP) connection to use multiple paths to maximize
throughput Network throughput (or just throughput, when in context) refers to the rate of message delivery over a communication channel, such as Ethernet or packet radio, in a communication network. The data that these messages contain may be delivered ov ...
and increase redundancy. In January 2013, the IETF published the Multipath specification as an Experimental standard in RFC 6824. It was replaced in March 2020 by the Multipath TCP v1 specification i
RFC 8684


Benefits

The redundancy offered by Multipath TCP enables
inverse multiplexing An inverse multiplexer (often abbreviated to inverse MUX or IMUX) allows a data stream to be broken into multiple lower data rate communication links. An inverse multiplexer differs from a demultiplexer because the multiple output streams from ...
of resources, and thus increases TCP throughput to the sum of all available link-level channels instead of using a single one as required by standard TCP. Multipath TCP is backward compatible with standard TCP. Multipath TCP is particularly useful in the context of wireless networks; using both
Wi-Fi Wi-Fi () is a family of wireless network protocols, based on the IEEE 802.11 family of standards, which are commonly used for local area networking of devices and Internet access, allowing nearby digital devices to exchange data by radio wave ...
and a
mobile network A cellular network or mobile network is a communication network where the link to and from end nodes is wireless. The network is distributed over land areas called "cells", each served by at least one fixed-location transceiver (typically thre ...
is a typical
use case In software and systems engineering, the phrase use case is a polyseme with two senses: # A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful. # A potential scenario ...
. In addition to the gains in throughput from inverse multiplexing, links may be added or dropped as the user moves in or out of coverage without disrupting the end-to-end TCP connection. The problem of link
handover In cellular telecommunications, handover, or handoff, is the process of transferring an ongoing call or data session from one channel connected to the core network to another channel. In satellite communications it is the process of transfe ...
is thus solved by abstraction in the
transport layer In computer networking, the transport layer is a conceptual division of methods in the layered architecture of protocols in the network stack in the Internet protocol suite and the OSI model. The protocols of this layer provide end-to-end ...
, without any special mechanisms at the
network Network, networking and networked may refer to: Science and technology * Network theory, the study of graphs as a representation of relations between discrete objects * Network science, an academic field that studies complex networks Mathematics ...
or link layers. Handover functionality can then be implemented at the endpoints without requiring special functionality in the
subnetwork A subnetwork or subnet is a logical subdivision of an IP network. Updated by RFC 6918. The practice of dividing a network into two or more networks is called subnetting. Computers that belong to the same subnet are addressed with an identical ...
s - in accordance to the Internet's
end-to-end principle The end-to-end principle is a design framework in computer networking. In networks designed according to this principle, guaranteeing certain application-specific features, such as reliability and security, requires that they reside in the commu ...
. Multipath TCP also brings performance benefits in
datacenter A data center (American English) or data centre (British English)See spelling differences. is a building, a dedicated space within a building, or a group of buildings used to house computer systems and associated components, such as telecommunic ...
environments. In contrast to
Ethernet Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 198 ...
channel bonding using
802.3ad In computer networking, link aggregation is the combining ( aggregating) of multiple network connections in parallel by any of several methods, in order to increase throughput beyond what a single connection could sustain, to provide redundan ...
link aggregation, Multipath TCP can balance a single TCP connection across multiple interfaces and reach very high throughput. Multipath TCP causes a number of new issues. From a network security perspective, multipath routing causes cross-path data fragmentation that results in firewalls and malware scanners becoming inefficient when they only see one path's traffic. In addition, SSL decryption will become inefficient by way of the end-to-end encryption protocols.


User interface

In order to facilitate its deployment, Multipath TCP presents the same socket interface as TCP. This implies that any standard TCP application can be used above Multipath TCP while in fact spreading data across several subflows. Some applications could benefit from an enhanced API to control the underlying Multipath TCP stack. Two different APIs have been proposed to expose some of features of the Multipath TCP stack to applications: an API that extends
Netlink Netlink is a socket family used for inter-process communication (IPC) between both the kernel and userspace processes, and between different userspace processes, in a way similar to the Unix domain sockets available on certain Unix-like operati ...
on Linux and an enhanced socket API.


Implementation

In July 2013, the MPTCP working group reported five independent implementations of Multipath TCP, including the reference implementation in the Linux kernel. The currently available
implementation Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy. Industry-specific definitions Computer science In computer science, an implementation is a realiza ...
s are: *
Linux kernel The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ope ...
(reference implementation) from
Université catholique de Louvain The Université catholique de Louvain (also known as the Catholic University of Louvain, the English translation of its French name, and the University of Louvain, its official English name) is Belgium's largest French-speaking university. It ...
researchers and other collaborators , *
FreeBSD FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
(IPv4 only) from
Swinburne University of Technology Swinburne University of Technology (often simply called Swinburne) is a public research university based in Melbourne, Australia. It was founded in 1908 as the Eastern Suburbs Technical College by George Swinburne to serve those without access ...
, *
F5 Networks F5, Inc. is an American technology company specializing in application security, multi-cloud management, online fraud prevention, application delivery networking (ADN), application availability & performance, network security, and access & autho ...
BIG-IP LTM, *
Citrix Citrix Systems, Inc. is an American multinational cloud computing and virtualization technology company that provides server, application and desktop virtualization, networking, software as a service (SaaS), and cloud computing technologies. C ...
Netscaler, *
Apple An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple fruit tree, trees are agriculture, cultivated worldwide and are the most widely grown species in the genus ''Malus''. The tree originated in Central Asia, wh ...
iOS 7 iOS 7 is the seventh major release of the iOS mobile operating system developed by Apple Inc., being the successor to iOS 6. It was announced at the company's Worldwide Developers Conference on June 10, 2013, and was released on September 18 o ...
, released on September 18, 2013 is the first large scale commercial deployment of Multipath TCP. Since
iOS 7 iOS 7 is the seventh major release of the iOS mobile operating system developed by Apple Inc., being the successor to iOS 6. It was announced at the company's Worldwide Developers Conference on June 10, 2013, and was released on September 18 o ...
, any application can use Multipath TCP. *
Apple An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple fruit tree, trees are agriculture, cultivated worldwide and are the most widely grown species in the genus ''Malus''. The tree originated in Central Asia, wh ...
Mac OS X 10.10 OS X Yosemite ( ; version 10.10) is the eleventh major release of macOS, Apple Inc.'s desktop and server operating system for Macintosh computers. OS X Yosemite was announced and released to developers on June 2, 2014, at WWDC 2014 and rele ...
, released on October 16, 2014. *
Alcatel-Lucent Alcatel–Lucent S.A. () was a French–American global telecommunications equipment company, headquartered in Boulogne-Billancourt, France. It was formed in 2006 by the merger of France-based Alcatel and U.S.-based Lucent, the latter being a su ...
released MPTCP proxy version 0.9 source code on October 26, 2012. In July 2014, Oracle reported that an implementation on
Solaris Solaris may refer to: Arts and entertainment Literature, television and film * ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem ** ''Solaris'' (1968 film), directed by Boris Nirenburg ** ''Solaris'' (1972 film), directed by ...
was being developed. In June 2015, work is in progress. During the MPTCP WG meeting at IETF 93, SungHoon Seo announced that KT had deployed since mid June a commercial service that allows smartphone users to reach 1 Gbit/s using a MPTCP proxy service. Tessares uses the Linux kernel implementation to deploy
Hybrid Access Networks Hybrid Access Networks refer to a special architecture for broadband access networks where two different network technologies are combined to improve bandwidth. A frequent motivation for such Hybrid Access Networks to combine one xDSL network with ...
There is an ongoing effort to push a new Multipath TCP implementation in the mainline Linux kernel,


Use cases

Multipath TCP was designed to be backward compatible with regular TCP. As such, it can support any application. However, some specific deployments leverage the ability of simultaneously using different paths.
Apple An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple fruit tree, trees are agriculture, cultivated worldwide and are the most widely grown species in the genus ''Malus''. The tree originated in Central Asia, wh ...
uses Multipath TCP to support the
Siri Siri ( ) is a virtual assistant that is part of Apple Inc.'s iOS, iPadOS, watchOS, macOS, tvOS, and audioOS operating systems. It uses voice queries, gesture based control, focus-tracking and a natural-language user interface to answer questio ...
application on iPhone.
Siri Siri ( ) is a virtual assistant that is part of Apple Inc.'s iOS, iPadOS, watchOS, macOS, tvOS, and audioOS operating systems. It uses voice queries, gesture based control, focus-tracking and a natural-language user interface to answer questio ...
sends voice samples over an
HTTPS Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP). It is used for secure communication over a computer network, and is widely used on the Internet. In HTTPS, the communication protocol is enc ...
session to Apple servers. Those servers reply with the information requested by the users. According to
Apple An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple fruit tree, trees are agriculture, cultivated worldwide and are the most widely grown species in the genus ''Malus''. The tree originated in Central Asia, wh ...
engineers, the main benefits of Multipath TCP with this application are : * User-feedback (Time-to-First-Word) 20% faster in the 95th percentile * 5x reduction of network failures Other deployment use Multipath TCP to aggregate the bandwidth of different networks. For example, several types of smartphones, notably in Korea, use Multipath TCP to bond WiFi and 4G through SOCKS proxies. Another example are the
Hybrid Access Networks Hybrid Access Networks refer to a special architecture for broadband access networks where two different network technologies are combined to improve bandwidth. A frequent motivation for such Hybrid Access Networks to combine one xDSL network with ...
that are deployed by network operators willing to combine xDSL and LTE networks. In this deployment, Multipath TCP is used to efficiently balance the traffic over the xDSL and the LTE network. In standardisation of converged fixed and mobile communication networks 3GPP and BBF are interoperating to provide an ATSSS (Access Traffic Selection, Switching, Splitting) feature to support multipath sessions, e.g, by applying Multipath TCP both in the User Equipment (UE) or Residential Gateway (RG) and on the network side.


Multipath TCP options

Multipath TCP uses options that are described in detail in RFC 6824. All Multipath TCP options are encoded as TCP options with Option Kind is 30, as reserved by IANA. The Multipath TCP option has the Kind (30), length (variable) and the remainder of the content begins with a 4-bit subtype field, for which
IANA The Internet Assigned Numbers Authority (IANA) is a standards organization that oversees global IP address allocation, autonomous system number allocation, root zone management in the Domain Name System (DNS), media types, and other Interne ...
has created and will maintain a sub-registry entitled "MPTCP Option Subtypes" under the "Transmission Control Protocol (TCP) Parameters" registry. Those subtype fields are defined as follows: Values 0x8 through 0xe are currently unassigned.


Protocol operation


Simplified description

The core idea of multipath TCP is to define a way to build a connection between two hosts and not between two interfaces (as standard TCP does). For instance, Alice has a smartphone with 3G and WiFi interfaces (with IP addresses 10.11.12.13 and 10.11.12.14) and Bob has a computer with an Ethernet interface (with IP address 20.21.22.23). In standard TCP, the connection should be established between two IP addresses. Each TCP connection is identified by a four-tuple (source and destination addresses and ports). Given this restriction, an application can only create one TCP connection through a single link. Multipath TCP allows the connection to use several paths simultaneously. For this, Multipath TCP creates one TCP connection, called subflow, over each path that needs to be used. The purpose of the different protocol operations (defined in RFC 6824) are: * to handle when and how to add/remove paths (for instance if there's a connection lost or some congestion control) * to be compatible with legacy TCP hardware (such as some firewalls that can automatically reject TCP connections if the sequence number aren't successive) * to define a fair congestion control strategy between the different links and the different hosts (especially with those that don't support MPTCP) Multipath TCP adds new mechanisms to TCP transmissions: * The subflow system, used to gather multiple standard TCP connections (the paths from one host to another). Subflows are identified during the TCP three-way handshake. After the handshake, an application can add or remove some subflows (subtypes 0x3 and 0x4). * The MPTCP DSS option contains a data sequence number and an acknowledgement number. These allow receiving data from multiple subflows in the original order, without any corruption (message subtype 0x2) * A modified retransmission protocol handles congestion control and reliability.


Detailed specification

The detailed protocol specification is provided in RFC 8684. Several survey articles provide an introduction to the protocol.


Congestion control

Several congestion control mechanisms have been defined for Multipath TCP. Their main difference with classical TCP congestion control schemes is that they need to react to congestion on the different paths without being unfair with single path TCP sources that could compete with them on one of the paths. Four Multipath TCP congestion control schemes are currently supported by the Multipath TCP implementation in the Linux kernel. * The Linked Increase Algorithm defined in RFC 6356 * The Opportunistic Linked Increase Algorithm * The wVegas delay based congestion control algorithm * The Balanced Linked Increase Algorithm


Alternatives


Stream Control Transmission Protocol

Stream Control Transmission Protocol The Stream Control Transmission Protocol (SCTP) is a computer networking communications protocol in the transport layer of the Internet protocol suite. Originally intended for Signaling System 7 (SS7) message transport in telecommunication, the p ...
(SCTP) is a reliable in-order
datagram A datagram is a basic transfer unit associated with a packet-switched network. Datagrams are typically structured in header and payload sections. Datagrams provide a connectionless communication service across a packet-switched network. The del ...
stream transport protocol originally intended for telecommunication signaling. It supports concurrent use of multiple access links and allows the application to influence the access interface selections on a datagram stream basis. It also supports mobility via access renegotiation. Hence, SCTP is also a transport layer solution. It offers type 3 flow granularity with concurrency, but with more flow scheduling control than Multipath TCP. It also fully supports mobility in a fashion similar to Multipath TCP.


IMS SIP

Within the
IP Multimedia Subsystem The IP Multimedia Subsystem or IP Multimedia Core Network Subsystem (IMS) is a standardised architectural framework for delivering IP multimedia services. Historically, mobile phones have provided voice call services over a circuit-switched-styl ...
(IMS) architecture,
Session Initiation Protocol The Session Initiation Protocol (SIP) is a signaling protocol used for initiating, maintaining, and terminating communication sessions that include voice, video and messaging applications. SIP is used in Internet telephony, in private IP telepho ...
(SIP) can support the concurrent use of multiple contact IP addresses for the registration of one or more IMS user agents. This allows for the creation of multiple IMS signaling paths. On these signaling paths, signaling messages carry
Session Description Protocol The Session Description Protocol (SDP) is a format for describing multimedia communication sessions for the purposes of announcement and invitation. Its predominant use is in support of streaming media applications, such as voice over IP (VoIP) ...
(SDP) messaging to negotiate media streams. SDP allows for the (re-)negotiation of the streams of one media session over multiple paths. In turn, this enables application layer multipath transport. From this point of view, IMS can therefore offer application layer multipath support with flow granularity and concurrent access. A multipath extension to
Real-time Transport Protocol The Real-time Transport Protocol (RTP) is a network protocol for delivering audio and video over IP networks. RTP is used in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applicatio ...
(RTP) has been under discussion within the IETF. Multipath RTP can offer flow granularity with concurrent access and mobility (via IMS, SDP signaling or the RTP control protocol). Very recently in addition a proposal to extend also
DCCP In computer networking, the Datagram Congestion Control Protocol (DCCP) is a message-oriented transport layer Communication protocol, protocol. DCCP implements reliable connection setup, teardown, Explicit Congestion Notification (ECN), congestion ...
(Datagram Congestion Control Protocol) by a multipath feature is discussed at IETF in TSVWG (Transport Area Working Group) dubbed as MP-DCCP.


Multipath QUIC

The
IETF The Internet Engineering Task Force (IETF) is a standards organization for the Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster or requirements and a ...
is currently developing the
QUIC QUIC (pronounced "quick") is a general-purpose transport layer network protocol initially designed by Jim Roskind at Google, implemented, and deployed in 2012, announced publicly in 2013 as experimentation broadened, and described at an IETF meet ...
protocol that integrates the features that are traditionally found in the
TCP TCP may refer to: Science and technology * Transformer coupled plasma * Tool Center Point, see Robot end effector Computing * Transmission Control Protocol, a fundamental Internet standard * Telephony control protocol, a Bluetooth communication s ...
, TLS and
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
protocols. Thanks to the flexibility and extensibility of QUIC, it is possible to extend it to support multiple paths and address the same use cases as Multipath TCP. A first design for Multipath QUIC has been proposed, implemented and evaluated.


Other protocols and experiments

At the session layer, the Mobile Access Router project experimented in 2003 with the aggregation of multiple wireless accesses with heterogeneous technologies, transparently balancing traffic between them in response to the perceived performance of each of them. Parallel access schemes used to accelerate transfers by taking advantage of HTTP range requests to initiate connections to multiple servers of a replicated content, are not equivalent to Multipath TCP as they involve the application layer and are limited to content of known size.


RFC

* - Threat Analysis for TCP Extensions for Multipath Operation with Multiple Addresses * - Architectural Guidelines for Multipath TCP Development * - Coupled Congestion Control for Multipath Transport Protocols * - TCP Extensions for Multipath Operation with Multiple Addresses (v0; replaced by RFC 8684) * - Multipath TCP (MPTCP) Application Interface Considerations * - Analysis of Residual Threats and Possible Fixes for Multipath TCP (MPTCP) * - Use Cases and Operational Experience with Multipath TCP * - TCP Extensions for Multipath Operation with Multiple Addresses (v1) * - 0-RTT TCP Convert Protocol


See also

* Transport protocol comparison table


References


External links

{{Wikiversity , Transmission Control Protocol
The Linux Kernel MultiPath TCP project

A clear article explaining the Linux MPTCP implementation