Professional Documents
Culture Documents
Multipath TCP
Multipath TCP (MPTCP) is an ongoing effort of the IETF's Multipath TCP working group [1], that aims at allowing
a TCP connection to use multiple paths to maximize resource usage and increase redundancy.
In January 2013, the IETF published the Multipath specification as an Experimental standard in RFC 6824.
Benefits
The redundancy offered by Multipath TCP enables inverse multiplexing 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 plain TCP.
Multipath TCP is backwards compatible with plain TCP.
Multipath TCP is particularly useful in the context of wireless networks [2] - using both Wi-Fi and a mobile network
is a typical use case. 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 is thus solved by abstraction in the transport layer, without any special mechanisms at the network or link
level. Handover functionality can then be implemented at the endpoints without requiring special functionality in the
subnetworks - in accordance to the Internet's end-to-end principle.
Multipath TCP also brings performance benefits in datacenter environments. In contrast to Ethernet channel bonding
using 802.3ad link aggregation, Multipath TCP can balance a single TCP connection across multiple interfaces.
User interface
Multipath TCP presents the same user interface as TCP. It modifies TCP so that it presents a standard TCP interface
to applications, while in fact spreading data across several subflows.
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 implementations are:
Linux Kernel (reference implementation) from Universit Catholique de Louvain.
FreeBSD (IPv4 only) from Swinburne University of Technology.
F5 Networks BIG-IP
Citrix Netscaler.
Apple iOS7, released on September 18, 2013 is the first large scale commercial deployment of Multipath TCP.
0x2 DSS Data Sequence Signal (Data ACK and data sequence mapping)
Protocol operation
Protocol operation is described in detail in RFC 6824.
Congestion control is performed separately for each channel.
Alternatives
IMS SIP
Within the IMS architecture, 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 (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 RTP is currently 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).
Multipath TCP 3
RFC
RFC 6181 - Threat Analysis for TCP Extensions for Multipath Operation with Multiple Addresses
RFC 6182 - Architectural Guidelines for Multipath TCP Development
RFC 6356 - Coupled Congestion Control for Multipath Transport Protocols
RFC 6824 - TCP Extensions for Multipath Operation with Multiple Addresses
RFC 6897 - Multipath TCP (MPTCP) Application Interface Considerations
References
[1] http:/ / datatracker. ietf. org/ wg/ mptcp/
[2] TCP with feed-forward source coding for wireless downlink networks (http:/ / portal. acm. org/ citation. cfm?id=1794199)
External links
The Linux Kernel MultiPath TCP project (http://www.multipath-tcp.org)
Cross-platform Proxy based solution to achieve Multipath TCP like functionality (http://www.megaleecher.net/
Dispatch_Multipath_Proxy)
A clear article explaining the MPTCP implementation (http://lwn.net/Articles/544399/)
Article Sources and Contributors 4
License
Creative Commons Attribution-Share Alike 3.0
//creativecommons.org/licenses/by-sa/3.0/