Multipath TCP (MPTCP): Motivations, Status, and Opportunities for the Future Internet

Multipath TCP (MPTCP): Motivations, Status, and Opportunities for the Future Internet

David Binet (Orange, France), Mohamed Boucadair (Orange, France), Christian Jacquenet (Orange, France), Denis Collange (Orange, France), Karine Guillouard (Orange, France), Yves L'Azou (Orange, France), Luca Muscariello (Orange, France), Laurent Reynaud (Orange, France), Pierrick Seite (Orange, France) and Vincent Gouraud (Orange, France)
DOI: 10.4018/978-1-4666-8371-6.ch009


The Transmission Control Protocol (TCP) is one of the core components of the TCP/IP protocol suite. It has been extensively used for the past three decades (and counting) as the privileged connection-oriented transport mode for many Internet applications, including access to web contents. Nevertheless, experience with TCP can sometimes be rather poor for various reasons which include (but are not limited to) sub-optimized forwarding path capabilities. Because a TCP session can only be established over a single path (by definition), this restriction is not only unable to take into account the dramatic evolution of terminal technologies towards multi-interfaced devices, but also the ability to benefit from several yet potential forwarding paths for the sake of improved Quality of Experience (QoE).
Chapter Preview

Context, Issues, And Rationale


Devices are more and more multi-interfaced (i.e., can mount multiple logical interfaces bound to the same or distinct physical interfaces). As such, multiple addresses may be assigned from various network types (e.g., wired network, mobile network, WLAN hot-spot, etc.). These addresses may be of distinct address families (IPv4, IPv6 or both) and may have different scopes (e.g., private IPv4 address, IPv6 ULA, IPv6 GUA, etc.). They may be bound to the same physical interface or different interfaces. A host may use a service to advertise all available IP addresses so that a remote host can make use of one of these addresses to establish a communication with the multi-interfaced device.

Some networks (e.g., enterprise networks) are multi-homed (i.e., a given corporate site is connected to the network by at least two distinct links). These networks may use the same node to connect to the provider’s network or connect to a specific node for each link. A network may also be connected to the same network provider but through several interconnection links. A multi-homed device that is assigned one address (in the provider independent mode) or many addresses (provider assigned mode), may be configured to balance both incoming and outgoing traffic through available links. Even when multiple links are used, some failures are encountered when an interface is out of service.

Because TCP (transport control protocol) connections are identified by an IP address and a port number, any change of the connection conditions will disrupt the TCP connection and therefore the service. This change is particularly harmful:

  • When the host is assigned a new IP address because of a renumbering event in the network side

  • Because the host is connected to another network (e.g., handover to WLAN)

  • When the interface to which the address is bound, is unavailable.

Means to notify the remote peer about the unavailability of an address would be helpful to restore an existing connection (e.g., long TCP sessions).

Various techniques have been proposed in the past to make use of multiple paths to establish a connection between two hosts or to optimize network resource usage by means of traffic balancing capabilities. Some of these techniques (Villamizar, C., 1999)) only rely upon the routing protocol machinery, and may therefore be useless for a TCP host, unless this host participates to the route computation procedures.

As a consequence, means for a TCP host to make use of available resources, enhance robustness and be able to automatically recover from any connection condition change without disrupting the TCP service are likely to improve the user’s quality of experience.

On The Complexity of Aggregation at L1/L2 Level Background

3GPP initiated an effort to aggregate several radio resources for the sake of increasing bitrates (denoted as Carrier Aggregation (CA) (Wannstrom, J., 2013)). Aggregation is achieved at the radio level by combining the set of allocated contiguous or non-contiguous component carriers. This extension requires modification at the radio interface level of UE (User Equipment) and some tuning at the network side.

Carrier Aggregation (CA) is specific to radio-based environment and, as such, it is not convenient for other deployments cases such as wired networks or enforcing advanced TE (Traffic Engineering) features in core networks. Furthermore, Carrier Aggregation does not target the same design objectives as MPTCP.

This document does not exclude the activation of MPTCP and ca to further increase data transfer rates.

Key Terms in this Chapter

Proxy: An intermediary program which acts both as a server and a client for the purpose of making request on behalf of other clients.

Sub-flows: A flow of TCP segments operating over an individual path.

Bandwidth: Amount of data the can be carried on a network during a period of time.

Congestion: Congestion happens when bandwidth on a link or node capacity are too much limited to transmit data traffic.

Transmission Control Protocol: Layer 4 protocol that is widely supported in IP networks. TCP provides several features such as reliability and order delivery.

Sessions: Interactive communication between two or more devices.

Session continuity: Capability for a node to maintain its ongoing IP sessions while changing its (IP) point of attachment.

Path: Sequence of links between a sender and a receiver.

Complete Chapter List

Search this Book: