MPTCP                                                           F. Song
Internet Draft                                                 H. Zhang
Intended status: Informational              Beijing Jiaotong University
Expires: June 18, 2019                                          H. Chan
                                                                 A. Wei
                                                    Huawei Technologies
                                                           Dec 18, 2018


                 One Way Latency Considerations for MPTCP
                          draft-song-mptcp-owl-05


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 18, 2019.

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 18, 2019                 [Page 1]


Internet-Draft         OWL Considerations for MPTCP           Dec 2018


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

   End hosts and the intermediate devices in the Internet both have
   basically been equipped with more and more physical network
   interfaces. The efficiency of interfaces, which had been widely
   used in packet forwarding at the end hosts, had been confirmed and
   utilized [RFC6419]. Moreover,in oder 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 might be very different
   of the latency for uplink and downlink between two peers. RTT can be


Song, et al.            Expires June 18, 2019                 [Page 2]


Internet-Draft         OWL Considerations for MPTCP           Dec 2018


   easily influenced by the latency in the oppsite direction along a
   path, which cannot reflect the delay of the data transmission
   along that path accurately. 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 taking full 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 direction 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.

   This document discusses the necessary considerations of OWL in MPTCP.
   The structure of this document is as follows: Firstly, it analyzed
   several using 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 be 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
   demonstrated 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 18, 2019                 [Page 3]


Internet-Draft         OWL Considerations for MPTCP           Dec 2018


3.1. Crucial Data Scheduling

   During a transmission process, some essential 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 with 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 important.


        --------  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. Although
   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 choose 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. If duplex
   communication mode is adopted, piggyback will be also useful.



Song, et al.            Expires June 18, 2019                 [Page 4]


Internet-Draft         OWL Considerations for MPTCP           Dec 2018


3.2. Congestion control

   Congestion in a given direction does not necessarily imply the
   congestion 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 both path 1 and 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
   reflected by the RTT accurately. 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 use OWL to
   compare 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 18, 2019                 [Page 5]


Internet-Draft         OWL Considerations for MPTCP           Dec 2018


3.3. Packet Retransmission

   Continuous Multipath Transmission (CMT) increases throughput by
   concurrently transferring new data from a source to a destination
   host through 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 crucial 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 18, 2019                 [Page 6]


Internet-Draft         OWL Considerations for MPTCP           Dec 2018


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 value may be an upper bound of OWL.

   Second, the clocks between the sender and the receiver may not be
   synchronized. Only if the clocks are synchronized, the OWL can be
   showed in different paths by the above measure. 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 instance,
   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 are needed. Both sides could obtain the



Song, et al.            Expires June 18, 2019                 [Page 7]


Internet-Draft         OWL Considerations for MPTCP           Dec 2018


   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, <http://www.rfc-
             editor.org/info/rfc2119>.

7.2. Informative Reference

   [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC
             793, DOI 10.17487/RFC0793, September 1981,
             <http://www.rfc-editor.org/info/rfc793>.

   [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,
             <http://www.rfc-editor.org/info/rfc5905>.

   [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>.






Song, et al.            Expires June 18, 2019                 [Page 8]


Internet-Draft         OWL Considerations for MPTCP           Dec 2018


   [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>.

   [RFC6419] Wasserman, M. and P. Seite, "Current Practices for
             Multiple-Interface Hosts", RFC 6419, DOI 10.17487/RFC6419,
             November 2011, <http://www.rfc-editor.org/info/rfc6419>.

   [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>.

   [RFC7323] Borman, D., Braden, B., Jacobson, V., and R. Scheffenegger,
             Ed., "TCP Extensions for High Performance", RFC 7323, DOI
             10.17487/RFC7323, September 2014, <http://www.rfc-
             editor.org/info/rfc7323>.

   [RFC7822] Mizrahi, T. and D. Mayer, "Network Time Protocol Version 4
             (NTPv4) Extension Fields", RFC 7822, DOI 10.17487/RFC7822,
             March 2016, <http://www.rfc-editor.org/info/rfc7822>.


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 18, 2019                 [Page 9]


Internet-Draft         OWL Considerations for MPTCP           Dec 2018


   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 18, 2019                [Page 10]