January 2013 | A. Ford, C. Raiciu, M. Handley, O. Bonaventure
This document, titled "TCP Extensions for Multipath Operation with Multiple Addresses," is an experimental RFC published by the Internet Engineering Task Force (IETF). It introduces a set of extensions to traditional TCP to support multipath operation, allowing a transport connection to use multiple paths simultaneously. The document is authored by A. Ford from Cisco, C. Raiciu from the University Politehnica of Bucharest, M. Handley from University College London, and O. Bonaventure from the University catholique de Louvain.
The primary goal of Multipath TCP (MPTCP) is to improve resource utilization and resilience to network failures by enabling the simultaneous use of multiple paths between peers. The protocol offers the same reliable bytestream service as TCP and provides components necessary for establishing and using multiple TCP flows across potentially disjoint paths.
Key features of MPTCP include:
- **Backwards Compatibility**: MPTCP must be compatible with regular TCP to increase deployment chances.
- **Multihomed Hosts**: MPTCP assumes that hosts are multihomed and multiaddressed, allowing the use of different paths and addresses.
- **NAT Support**: MPTCP handles NATs by using Address IDs to identify addresses, ensuring that subflows can be created even behind NATs.
- **Fallback to Standard TCP**: MPTCP can fallback to standard TCP if it is not possible to operate multipath, such as when one host is not MPTCP-capable or when middleboxes alter the payload.
The document outlines the protocol changes required for multipath capability, including signaling and setting up multiple paths ("subflows"), managing these subflows, reassembling data, and terminating sessions. It also discusses the design assumptions, operation overview, and detailed protocol specifications, including the use of TCP options for signaling and data transfer.
The MPTCP protocol is designed to be transparent to both higher and lower layers in the networking stack and is intended to be usable by legacy applications with no changes. The document provides a high-level summary of normal operation and detailed specifications for various aspects of the protocol, such as connection initiation, starting new subflows, general MPTCP operation, and data transfer using MPTCP.This document, titled "TCP Extensions for Multipath Operation with Multiple Addresses," is an experimental RFC published by the Internet Engineering Task Force (IETF). It introduces a set of extensions to traditional TCP to support multipath operation, allowing a transport connection to use multiple paths simultaneously. The document is authored by A. Ford from Cisco, C. Raiciu from the University Politehnica of Bucharest, M. Handley from University College London, and O. Bonaventure from the University catholique de Louvain.
The primary goal of Multipath TCP (MPTCP) is to improve resource utilization and resilience to network failures by enabling the simultaneous use of multiple paths between peers. The protocol offers the same reliable bytestream service as TCP and provides components necessary for establishing and using multiple TCP flows across potentially disjoint paths.
Key features of MPTCP include:
- **Backwards Compatibility**: MPTCP must be compatible with regular TCP to increase deployment chances.
- **Multihomed Hosts**: MPTCP assumes that hosts are multihomed and multiaddressed, allowing the use of different paths and addresses.
- **NAT Support**: MPTCP handles NATs by using Address IDs to identify addresses, ensuring that subflows can be created even behind NATs.
- **Fallback to Standard TCP**: MPTCP can fallback to standard TCP if it is not possible to operate multipath, such as when one host is not MPTCP-capable or when middleboxes alter the payload.
The document outlines the protocol changes required for multipath capability, including signaling and setting up multiple paths ("subflows"), managing these subflows, reassembling data, and terminating sessions. It also discusses the design assumptions, operation overview, and detailed protocol specifications, including the use of TCP options for signaling and data transfer.
The MPTCP protocol is designed to be transparent to both higher and lower layers in the networking stack and is intended to be usable by legacy applications with no changes. The document provides a high-level summary of normal operation and detailed specifications for various aspects of the protocol, such as connection initiation, starting new subflows, general MPTCP operation, and data transfer using MPTCP.