Multipath TCP

from Wikipedia, the free encyclopedia
Multipath TCP
Family: Internet protocol family
Operation area: Reliable bidirectional
data transport
MPTCP in the TCP / IP protocol stack :
application HTTP SMTP ...
transport MPTCP
Internet IP ( IPv4 , IPv6 )
Network access Ethernet Token
bus
Token
ring
FDDI ...
Standards: RFC 6824 (2013)
RFC 6356 (2011)

Multipath TCP ( MPTCP ) is a new proposed standard by the Internet Engineering Task Force . MPTCP should allow multiple paths to be merged for increased redundancy and throughput.

In January 2013, the IETF published the multipath specification as an experimental standard in RFC 6824 .

Bundling of a DSL and LTE connection with multipath TCP

Advantages, goals, classification

By logically combining multiple TCP connections, MPTCP offers increased redundancy and throughput. The throughput is equal to the sum of the available bandwidth on the respective network interfaces . Multipath TCP is backwards compatible with regular TCP.

In addition to MPTCP, there is another multipath data transport protocol in the IETF standardization, Multipath QUIC . There are also methods for dividing data traffic at line and network level, e.g. B. LACP and ECMP . The aim of these multipath protocols is the interconnection of several transmission channels to form a hybrid access , which bundles and utilizes the entire transmission capacity over all routes in one Internet connection.

Mobile scenario

MPTCP is particularly useful in a mobile environment where multiple network technologies are used at the same time, such as cellular networks and Wi-Fi networks. A mobile phone can e.g. B. start an online video on the Wi-Fi network and continue uninterrupted on the cellular network when leaving the range. The costs are reduced for the user and he can switch transparently from network to network.

Server scenario

By bundling several paths, servers with multihoming can also benefit. You can use several paths at the same time and if one path fails, the TCP connection remains.

Application interface

If an application requires a TCP connection, this is transparently established with MPTCP without the application noticing anything. In this way, MPTCP can be introduced on a system without having to make changes to the existing applications.

Implementations

In July 2013 the MPTCP Working Group reported on 5 independent implementations of MPTCP., Including the reference implementation in the Linux kernel.

The published implementations are:

  • Linux (kernel) (reference implementation) from Université Catholique de Louvain.
  • FreeBSD (IPv4 only) from Swinburne University of Technology.
  • f5 Networks BIG-IP LTM.
  • Citrix Netscaler.
  • Apple iOS 7 , published on September 18, 2013, is the first major spread of MPTCP.

Package structure

The MPTCP packet structure is described in detail in RFC 6824 .

MPTCP adds ID 30 to a TCP packet in the TCP options field ( RFC 6824 , section 8). The TCP option 30 is registered with the IANA .

In addition, MPTCP packets have a 4-bit subtype that is also registered with the IANA . The subtypes are listed in the "MPTCP Option Subtypes" sub-register. These subtypes have the following meanings:

value symbol Surname
0x0 MP_CAPABLE Multipath Capable
0x1 MP_JOIN Join Connection
0x2 DSS Data Sequence Signal (Data ACK and data sequence mapping)
0x3 ADD_ADDR Add address
0x4 REMOVE_ADDR Remove Address
0x5 MP_PRIO Change Subflow Priority
0x6 MP_FAIL Fallback
0x7 MP_FASTCLOSE Almost close
0xf (PRIVATE) Private use within controlled testbeds

The values ​​from 0x8 to 0xe are not yet assigned.

Web links

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

Individual evidence

  1. ^ Multipath TCP working group
  2. MultiPath TCP: From Theory to Practice
  3. MPTCP - Linux Kernel implementation
  4. Multipath TCP for FreeBSD v0.1 . Retrieved September 23, 2013.
  5. Release Note: BIG-IP LTM and TMOS 11.5.0 . f5 Networks. May 30, 2014. Retrieved May 30, 2014.
  6. ^ John Gudmundson: Maximize mobile user experience with NetScaler Multipath TCP . Citrix. May 28, 2013. Retrieved September 20, 2013.
  7. Apple seems to also believe in Multipath TCP . Retrieved September 20, 2013.
  8. IANA TCP options
  9. IANA TCP options, MPTCP subtypes