Internet DRAFT - draft-zhang-virtual-multi-path-tcp
draft-zhang-virtual-multi-path-tcp
Multipath TCP Working Group K. Xu
Internet-Draft Y. Zhang
Intended status: Informational Tsinghua University
Expires: June 3, 2017 M. Shen
Beijing Institute of Technology
Z. Ge
X. Wang
Tsinghua University
November 30, 2016
Efficient Transmission in Virtual Multi-path TCP
draft-zhang-virtual-multi-path-tcp-00
Abstract
Traditional MPTCP [RFC6824] requires that at least one node in a pair
should equipped more than one NIC, and this limits the deployment
[RFC6182] of MPTCP. This document proposes the VMPTCP (Virtual
Multi-Path TCP) and describes how to build TCP sub-connections in
VMPTCP among nodes with just one NIC.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 3, 2017.
Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
Xu, et al. Expires June 3, 2017 [Page 1]
Internet-Draft virtual multi-path TCP November 2016
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. An application of VMPTCP in wireless LAN . . . . . . . . . . 4
3.1. Sub-connection 1: The first connection . . . . . . . . . 4
3.2. Sub-connection 2 and 3: The joint connection . . . . . . 5
3.3. Merge flows from multiple sub-connections together . . . 5
4. Security Considerations . . . . . . . . . . . . . . . . . . . 5
5. Dynamics Considerations . . . . . . . . . . . . . . . . . . . 5
5.1. Node failure . . . . . . . . . . . . . . . . . . . . . . 6
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
7.1. Normative References . . . . . . . . . . . . . . . . . . 6
7.2. Informative References . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction
There are multiple pathes in Multi-path TCP [RFC6824]. To build more
than one TCP sub-connections, MPTCP requires at least one node in the
communication peer should be equipped with more than one NIC.
[RFC6356] describes the use of MPTCP for congestion control,
[RFC6181] and [RFC6824] describe the TCP extensions for multipath
operation with multiple addresses. The TCP connections, SYN and ACK
messages, and the session key are carried in TCP.
However, this imposes restrictions on the deployment of MPTCP:
o A node eqiupped with just one NIC cannot benifit from MPTCP, and
it is expensive to embed extra NICs to network elments
o MPTCP works as a one-to-one manner
o The I/O resources on the NIC are reserved for a particular
transmission. This results in less efficient bandwidth usage
This document describes how to build virtualized TCP sub-connections
among multiple single-NIC network elements. The main advantages of
using VMPTCP in traditional network environment are as follows:
Xu, et al. Expires June 3, 2017 [Page 2]
Internet-Draft virtual multi-path TCP November 2016
o No inherent restrictions on the nodes, and every node (even with
one single NIC) can adopt VMPTCP to accelerate its processing
o No modification on the state-of-the-art commercial devices or
network architecture
o It allows more than two participants in one VMPTCP connection, so
more efficient I/O usage is possible
o Faster data transmission, more flexible connection establishment
and better user experience through higher throughput
o High resilience to network failure
Taking these interface limitations into consideration like [RFC6879],
[RFC6181] and [RFC7430] post the threat analysis and possible
fixesfor multipath TCP.
Note that the virtual multipath TCP has no extra requirements on
specific communication peers, network elements with just one NIC can
also benifit from multipath. The data transmission and connection
establishment are not limited to two peers any more, and multiple
nodes can participate in one VMPTCP. This makes high resource
utilization on each node and improves application performance.
The architecture which is described in this document can be
implemented without any modifications on the state-of-the-art
commercial devices or network architecture. For a single-path TCP
connection between two single-NIC communication peers, if the
transmission on this link cannot satisfy application requirements,
VMPTCP allows other peers to join in. VMPTCP builds TCP sub-
connections between the destination nodes and the newcome nodes, and
these sub-connections would serve for applications together with the
origin connection.
2. Terminology
Terminology defined in [RFC6181] and [RFC6824] is used extensively
throughout this document.
Virtual TCP sub-connection: As there are more than one source for a
particular data transmission, multiple source-destination address
pairs coexist, and there is one connection between each source-
destination pair. Each connection is a sub-connection and is
responsible to transfer part of the required data.
Xu, et al. Expires June 3, 2017 [Page 3]
Internet-Draft virtual multi-path TCP November 2016
3. An application of VMPTCP in wireless LAN
As shown in Figure 1, the wireless LAN consists of five nodes : Host
1, Host 2, Host 3, Destination and AP (Access Point). Note that
these nodes are not necessarily required to be equipped with more
than one NIC. One existing example is that when the destination node
wants to download a data replica, the AP assign data sources for this
download action according to VMPTCP. The advantages of VMPTCP is the
multiple optional sources, and the connections establish process is
also described below.
________ _________ __________
| | | | | |
| Host 1 | | Host 2 | | Host 3 |
|________| |_________| |__________|
\ | /
sub-connection 2 \ 1| /
\ | / 3
\ v /
/ \
/ \
/ AP \
/_______\
|
|
_____v_____Merge all Flows together
| |
|Destination|
|___________|
The numbers corresponding to each of the flows are described in more
detail below.
Figure 1: VMPTCP with Multiple Sources
3.1. Sub-connection 1: The first connection
This is the main connection that is established between two hosts by
IP address and port.
The establishment of this link should go through TCP three-way
handshake and the 64-bit session key exchange. In the TCP segment,
MPTCP uses MP_CAPABLE MP_JOIN and some other subtype fields under the
"MPTCP Option Subtypes" [RFC6824]. Then Host 2 and the destination
node generate a shared 32-bit hash key, thus, the two nodes have
received an acknowledgement of this connection.
Note that Host 2 just has one NIC, so it cannot establish extra
Xu, et al. Expires June 3, 2017 [Page 4]
Internet-Draft virtual multi-path TCP November 2016
pathes using MPTCP.
3.2. Sub-connection 2 and 3: The joint connection
In the traditional potocols, this download action can only be
executed between Host 2 and the destination node. Although there are
extra I/O resources in the peers, MPTCP cannot work here due to the
NIC limitation.
To fully use the I/O and bandwidth resources, VMPTCP allows other
hosts to join in the transmission. Note that Host 1 (or 3) has a
different IP and mac from Host 2.
The sub-connection between Host 1 (or 3) still use TCP SYN segment in
MPTCP potocol to generate traffic. It obtains that shared 32-bit
hash key from AP and write it to the MP_JOIN segment, making it
associated with the origin connection (sub-connection 1).
3.3. Merge flows from multiple sub-connections together
Once connection establishments are successfully completed, data
transmission traffic would be auto adjusted among these sub-
connections. Each sub-connection between host peers acts as one flow
in MPTCP, and each source node (Host 1, 2, 3) acts as one NIC in the
source node in the traditional MPTCP concept.
There is a data sequence number and an acknowledment number in MPTCP
[RFC6824] option field, so the destinition node can keep the received
data in the original order and revert to the origin data.
4. Security Considerations
Security considerations in [RFC6824] are also relevant here.
As the connection establihment process in VMPTCP is the same as that
in traditional MPTCP, each host should provide the secret key to join
the multiplath transmission.
In some cases, some malicious nodes would try to join the multipath
transmission, so the AP in VMPTCP should deploy encryption algorithm
to make node identification before sending the encrypted
communication key to the node.
5. Dynamics Considerations
Dynymic considerations in [RFC6824] are also relevant here. The
traffic on these multiple sub-connections can be adjusted adaptively
according to the MPTCP.
Xu, et al. Expires June 3, 2017 [Page 5]
Internet-Draft virtual multi-path TCP November 2016
5.1. Node failure
In some wireless situations, nodes could move out of the
communication range, breaking the connection. In this case, the AP
would recalculate the residual completion time of that transmission,
if the completion time exceeds the transmission deadline and there is
still unused resources on the destination node, the AP will assign
other source nodes to this download action.
In sparticular, the newly assigned source-destination peer would join
in the VMPTCP by establishing a new sub-connection. This process
follows the above "joint connection" procedure.
The dynamic model that is described in this document brings an
additional calculation requirement to AP: It should maintain state
information for all established connections. This is an extra
overheard than traditional MPTCP, but ensures the high transmission
efficiency.
6. IANA Considerations
This document does not include an IANA request.
7. References
7.1. Normative References
[RFC6356] Raiciu, C., Handley, M., and D. Wischik, "Coupled
Congestion Control for Multipath Transport Protocols",
RFC 6356, DOI 10.17487/RFC6356, October 2011,
<http://www.rfc-editor.org/info/rfc6356>.
[RFC6824] Ford, A., Raiciu, C., Handley, M., and O. Bonaventure,
"TCP Extensions for Multipath Operation with Multiple
Addresses", RFC 6824, DOI 10.17487/RFC6824, January 2013,
<http://www.rfc-editor.org/info/rfc6824>.
[RFC6879] Jiang, S., Liu, B., and B. Carpenter, "IPv6 Enterprise
Network Renumbering Scenarios, Considerations, and
Methods", RFC 6879, DOI 10.17487/RFC6879, February 2013,
<http://www.rfc-editor.org/info/rfc6879>.
[RFC7430] Bagnulo, M., Paasch, C., Gont, F., Bonaventure, O., and C.
Raiciu, "Analysis of Residual Threats and Possible Fixes
for Multipath TCP (MPTCP)", RFC 7430,
DOI 10.17487/RFC7430, July 2015,
<http://www.rfc-editor.org/info/rfc7430>.
Xu, et al. Expires June 3, 2017 [Page 6]
Internet-Draft virtual multi-path TCP November 2016
7.2. Informative References
[RFC6181] Bagnulo, M., "Threat Analysis for TCP Extensions for
Multipath Operation with Multiple Addresses", RFC 6181,
DOI 10.17487/RFC6181, March 2011,
<http://www.rfc-editor.org/info/rfc6181>.
[RFC6182] Ford, A., Raiciu, C., Handley, M., Barre, S., and J.
Iyengar, "Architectural Guidelines for Multipath TCP
Development", RFC 6182, DOI 10.17487/RFC6182, March 2011,
<http://www.rfc-editor.org/info/rfc6182>.
Authors' Addresses
Ke Xu
Tsinghua University
Department of Computer Science, Tsinghua University
Beijing 100084
P.R.China
Phone: +86-13001081658
Email: xuke@mail.tsinghua.edu.cn
Yuchao Zhang
Tsinghua University
Department of Computer Science, Tsinghua University
Beijing 100084
P.R.China
Phone: +86-18630500826
Email: zhangyc14@mails.tsinghua.edu.cn
Meng Shen
Beijing Institute of Technology
Department of Computer Science
Beijing 100084
P.R.China
Phone: +86-15210362001
Email: shenmeng@bit.edu.cn
Xu, et al. Expires June 3, 2017 [Page 7]
Internet-Draft virtual multi-path TCP November 2016
Zhicheng Ge
Tsinghua University
Department of Computer Science, Tsinghua University
Beijing 100084
P.R.China
Phone: +86-18810543121
Email: gzc15@mails.tsinghua.edu.cn
Xiangxiang Wanf
Tsinghua University
Department of Computer Science, Tsinghua University
Beijing 100084
P.R.China
Phone: +86-18522247311
Email: wxx15@mails.tsinghua.edu.cn
Xu, et al. Expires June 3, 2017 [Page 8]