MPTCP F. Song Internet Draft H. Zhang Intended status: Informational Beijing Jiaotong University Expires: June 14, 2018 H. Chan A. Wei Huawei Technologies Dec 13, 2017 One Way Latency Considerations for MPTCP draft-song-mptcp-owl-03 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 14, 2018. Copyright Notice Copyright (c) 2017 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 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. Song, et al. Expires June 13, 2018 [Page 1] Internet-Draft OWL Considerations for MPTCP Dec 2017 Abstract This document discusses the use of One Way Latency (OWL) for enhancing multipath TCP (MPTCP). Several use cases of OWL, such as retransmission policy and crucial data scheduling are analyzed. Two kinds of OWL measurement approaches are also provided and compared. More explorations related with OWL will be helpful to the performance of MPTCP. Table of Contents 1. Introduction ................................................ 2 2. Conventions and Terminology.................................. 3 3. Potential Usages of OWL in MPTCP............................. 3 3.1. Crucial Data Scheduling................................. 4 3.2. Congestion control...................................... 5 3.3. Packet Retransmission................................... 6 3.4. Bandwidth Estimation.................................... 6 3.5. Shared Bottleneck Detection............................. 7 4. OWL Measurements in TCP...................................... 7 5. Security Considerations...................................... 8 6. IANA Considerations ......................................... 8 7. References .................................................. 8 7.1. Normative References.................................... 8 7.2. Informative Reference................................... 8 Authors' Addresses ............................................. 9 1. Introduction Both end hosts and the intermediate devices in the Internet have basically been equipped with more and more physical network interfaces. The importance of interfaces, which had been widely used in packet forwarding at the end hosts, had been confirmed and utilized [RFC6419]. Moreover, to aggregate more bandwidths, to decrease packet delay and to provide better services, the increased capacity provided by the multiple paths created by multiple interfaces is leveraged. Unlike traditional TCP [RFC0793], many transport layer protocols, such as MPTCP [RFC6182] [RFC6824] enable the end hosts to concurrently transfer data on top of multiple paths to greatly increase the overall throughput. Round-trip time (RTT) is commonly used in congestion control and loss recovery mechanism for data transmission. Yet the key issue for data transmission is simply the delay of the data transmission along a path which does not include the return. It may be very different of the latency for uplink and downlink between two peers. Latency in Song, et al. Expires June 13, 2018 [Page 2] Internet-Draft OWL Considerations for MPTCP Dec 2017 the opposite direction along a path can easily influence RTT, which cannot accurately reflect the delay of the data transmission along that path. Therefore, the use of One Way Latency (OWL) is proposed to describe the exact latency from the time that data is sent to the time data is received. The performance of current practices of MPTCP can be further improved by fully taking advantage of One Way Latency (OWL) during the transmission is explained in this document. It may be asymmetric of the OWL components in the forward and reverse directions of a RTT so that it can provide a better measure to the user such as for congestion control even with the regular TCP. It will be more benefits when there are multiple paths to choose from. This document discusses the necessary considerations of OWL in MPTCP. The structure of this document is as follows: Firstly, it analyzed several use cases of OWL in MPTCP. Secondly, two kinds of OWL measurements are listed and compared. The considerations related with security and IANA are given at the end. The application programmer whose products may significantly benefit from MPTCP will be the potential targeted audience of this document. The necessary information for the developers of MPTCP to implement the new version API into the TCP/IP network stack is also provided in this document. 2. Conventions and Terminology The key words "MUST", "MUST NOT", "GLUIRED", "SHALL","SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. One Way Latency (OWL): the propagation delay between a sender and a receiver from the time a signal is sent to the time the signal is received. 3. Potential Usages of OWL in MPTCP There are a number of OWL use cases when MPTCP is enabled by the sender and receiver. Although, only 5 use cases are illustrated in this document, more explorations are still needed. Song, et al. Expires June 13, 2018 [Page 3] Internet-Draft OWL Considerations for MPTCP Dec 2017 3.1. Crucial Data Scheduling During a transmission process, some crucial data often need to be immediately sent to the destination. Examples of such data include the key frame of multimedia and high priority chunk of emergency communication. No one can guarantee the arrival sequence by using the RTTs alone of the multiple paths. The data rate in any given link can be asymmetric. In addition, according to the amount of packet queue, the delay in a given direction can change. Therefore, the same as that in the reverse direction as exemplified in Figure 1, delay in a forward direction in a path is not necessary. -------- OWL(s-to-c,path1)=16ms <-------- / \ | -----> OWL(c-to-s,path1)= 5ms ----- | | / RTT(path1)=21ms \ | | | | | +------+ +------+ | |-----> OWL(c-to-s,path2)= 8ms -----| | |Client| |Server| | |----- OWL(s-to-c,path2)= 8ms <-----| | +------+ RTT(path2)=16ms +------+ | | | | | \ / | | -----> OWL(c-to-s,path3)=10ms ----- | \ / -------- OWL(s-to-c,path3)= 8ms <-------- RTT(path3)=18ms Figure 1. Example with 3 paths between the client and the server with OWL as indicated in the figure. RTT information alone would indicate to the client that the fastest path to the server is path 2, followed by path 3, and then followed by path 1. Path 2 is the fastest, whereas OWL indicates to the client that the fastest path to the server is path 1, followed by path 2, and then followed by path 3. The sender can easily select the faster path by using the results of OWL measurement, in terms of forward latency, for crucial data transmission. Moreover, the acknowledgements of these crucial data could be sent on the path with minimum reverse latency. When duplex communication mode is adopted, piggyback is also useful. Song, et al. Expires June 13, 2018 [Page 4] Internet-Draft OWL Considerations for MPTCP Dec 2017 3.2. Congestion control Congestion in a given direction does not necessarily imply congestion also in the reverse direction. -------- No congestion (path 1) <-------- / \ | -----> Congestion (path 1) ----- | | / \ | | | | | +------+ +------+ |Client| |Server| +------+ +------+ | | | | | \ / | | -----> No congestion (path 2) ----- | \ / -------- Congestion (path 2) <-------- Figure 2. Example of a congestion situation with 2 paths between the client and the server. There is congestion from client to server along path 1 and also from server to client along path 2. RTT information alone will indicate congestion in both paths, whereas OWL information will show the client that path 2 is the more lightly loaded path to get to the server. It can be better described the network congestion in a given direction using OWL rather than using RTT. Especially when the congestion can be a situation in a unidirectional path, the congestion in the path from a client to a server is different from the congestion in the path from the server to the client. The delay of interest for data transmission along a path cannot be accurately reflected by the RTT. For MPTCP, the client needs to choose a more lightly loaded path to send packets [RFC6356]. Instead of comparing the RTT among different paths, it should compare the OWL among the paths. Current version of MPTCP includes different kinds of congestion control mechanisms [RFC6356]. The network congestion situation in a single direction could be better described by reasonably utilizing OWL. Song, et al. Expires June 13, 2018 [Page 5] Internet-Draft OWL Considerations for MPTCP Dec 2017 3.3. Packet Retransmission Continuous Multipath Transmission (CMT) increases throughput by concurrently transferring new data from a source to a destination host via multiple paths. However, the sender needs to select a suitable path for retransmission, when packet is identified as lost by triple duplicated acknowledgements or timeout. Outstanding packets on multiple paths may reach to the destination disorderly and trigger Receive Buffer Blocking (RBB) problem (Figure 3) which will further affect the transmission performance, due to the popular mechanisms of sequence control in reliable transport protocols. Packetwith octets sequence # 0- 499(lost) ---> Packetwith octets sequence #1000-1499(rcvd) ------ / Packetwith octets sequence #2000-2499(rcvd) \ | | +------+ +--------+ |Sender| |Receiver| +------+ +--------+ | | \ Packetwith octets sequence # 501- 999(lost) / -----> Packetwith octets sequence #1501-1999(lost) ----- Packetwith octets sequence #2501-2999(lost) Figure 3. Example of Receive Buffer Blocking: The packet containing octets 0-499 is lost. On the other hand the packets containing Octets 500-999, 1000-1499, 1500-1999, 2000-2499, and 2500-2999 have all been received. The octets 500-2999 are then all buffered at the receiver, and are blocked by the missing octets 0-499. The sender can quickly determine the specific path with minimum latency in the forward direction by using the results of OWL measurement. As soon as the receiver obtains the most needed packet (s), RBB can be relieved and be submitted to the upper layer. 3.4. Bandwidth Estimation It's beneficial to understand the bandwidth condition for data packet scheduling, and load balancing, etc. OWL could be integrated with bandwidth estimation approaches without interrupting the regular transmission of packets. Song, et al. Expires June 13, 2018 [Page 6] Internet-Draft OWL Considerations for MPTCP Dec 2017 3.5. Shared Bottleneck Detection Fairness is critical especially when MPTCP and ordinary TCP coexist in the same network. OWL measurements can be treated by sender as the sample process of shared bottleneck detection, and sender adjust the volume of data packet on multiple paths accordingly. 4. OWL Measurements in TCP The timestamp option in TCP [RFC7323] may be invoked to estimate latency. The time (TSval) of sending the data is provided in the option when sending data. The receiver acknowledges the receipt of this data by echoing this time (TSecr), and also the time (TSval) of sending this acknowledgment is provided. Although there are two problems, the difference of these times in the acknowledgment of data from the sender can help to estimate the OWL from the sender to the receiver. First, there may be delay from the time the receiver who has received the data to the time when the acknowledgment is sent. Then, the above number may be an upper bound of OWL. Second, the clocks between the sender and the receiver may not be synchronized. The OWL can be showed in different paths by the above measure only if the clocks synchronized. The comparison of OWLs among different paths is limited to showing the OWL differences among them without clock synchronization. Two kinds of OWL measurement approaches are available: absolute value measurement and relative value measurement. In order to obtain the absolute value of OWL, the primary condition of measurement is clock synchronization. End hosts can calibrate the local clock with the remote NTP server by using network time protocol (NTP) [RFC5905]. The additional information or optional capabilities can even be added via extension fields in the standard NTP header [RFC7822]. The calibration accuracy can reach to the millisecond level in less congested situations. The obvious burden here is to persuade the end hosts to initialize the NTP option. It's more than enough to obtain the relative value of OWL in some circumstances to establish applications on top of it. For example, the sender may only care about which path has the minimum forwarding latency when retransmission is needed. When bandwidth is being estimated, the difference of forward latency, i.e. delta latency, among all available paths is needed. Both sides could obtain the Song, et al. Expires June 13, 2018 [Page 7] Internet-Draft OWL Considerations for MPTCP Dec 2017 relative value of OWL by exchanging with correspondent end host the local timestamps of receiving and sending the packets. The overheads are the extra protocol requirement and synchronization accuracy, while absolute value measurement of OWL is more convenient for the applications. On the contrary, it's no need for relative value to worry about the accuracy whereas the overhead is to add timestamps into the original protocol stack. 5. Security Considerations This document does not contain any security considerations. However, the relevant mechanisms definitely need to be established by future applications of OWL in MPTCP to improve security. 6. IANA Considerations This document presents no IANA considerations. 7. References 7.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . 7.2. Informative Reference [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, DOI 10.17487/RFC0793, September 1981, . [RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, "Network Time Protocol Version 4: Protocol and Algorithms Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010, . [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, . Song, et al. Expires June 13, 2018 [Page 8] Internet-Draft OWL Considerations for MPTCP Dec 2017 [RFC6356] Raiciu, C., Handley, M., and D. Wischik, "Coupled Congestion Control for Multipath Transport Protocols", RFC 6356, DOI 10.17487/RFC6356, October 2011, . [RFC6419] Wasserman, M. and P. Seite, "Current Practices for Multiple-Interface Hosts", RFC 6419, DOI 10.17487/RFC6419, November 2011, . [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, . [RFC7323]Borman, D., Braden, B., Jacobson, V., and R. Scheffenegger, Ed., "TCP Extensions for High Performance", RFC 7323, DOI 10.17487/RFC7323, September 2014, . [RFC7822] Mizrahi, T. and D. Mayer, "Network Time Protocol Version 4 (NTPv4) Extension Fields", RFC 7822, DOI 10.17487/RFC7822, March 2016, . Authors' Addresses Fei Song Beijing Jiaotong University Beijing, 100044 P.R. China Email: fsong@bjtu.edu.cn Hongke Zhang Beijing Jiaotong University Beijing, 100044 P.R. China Email: hkzhang@bjtu.edu.cn Song, et al. Expires June 13, 2018 [Page 9] Internet-Draft OWL Considerations for MPTCP Dec 2017 H Anthony Chan Huawei Technologies 5340 Legacy Dr. Building 3 Plano, TX 75024 USA Email: h.a.chan@ieee.org Anni Wei Huawei Technologies Xin-Xi Rd. No. 3, Haidian District Beijing, 100095 P.R. China Email: weiannig@huawei.com Song, et al. Expires June 13, 2018 [Page 10]