multipath TCP (MPTCP)
Multipath TCP (MPTCP) is a TCP extension standardized by a working group of the Internet Engineering Task Force( IETF). With MPTCP, multiple paths can be established over a TCP connection to make better use of resources, increase redundancy, throughput, and resilience, and respond to errors in a more balanced manner.
The redundancy provided by MPTCP enables inverse multiplexing, where a wideband channel can be split into multiple independent individual channels. Multipath TCP is backward compatible with normal TCP. It is of particular interest for WLANs because with MPTCP, both WiFi and cellular networks can be used, increasing the quality and performance of smartphones. With this technique, connections can be added or removed during inverse multiplexing with a type of link handover, and in such a way that the TCP end connection is not interrupted. The MPTCP technique does not require any special hardware, it has been implemented directly in the protocol stack of the IP protocol by abstraction in the transport layer, without any special mechanism at the network layer or link layer. Link handover is implemented directly in the endpoints. During transmission, clients and servers negotiate a TCP connection independently. The data packets with different IP senders can be transmitted over different lines.
Multipath TCP brings advantages to data centerperformance. Unlike 802.3ad link aggregation, Multipath- TCO can balance a single TCP connection across multiple interfaces. MPTCP presents the same user interface as normal TCP. It modifies TCP so that it appears to applications as a normal interface, although it distributes data across different sub-connections.
There are several implementations for MPTCP, such as for FreeBSD, for Linuxkernel, Citrix and Apple iOS 7.