idnits 2.17.1 draft-song-mptcp-owl-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet has text resembling RFC 2119 boilerplate text. -- The document date (Dec 18, 2018) is 1956 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- -- Obsolete informational reference (is this intentional?): RFC 793 (Obsoleted by RFC 9293) -- Obsolete informational reference (is this intentional?): RFC 6824 (Obsoleted by RFC 8684) Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 MPTCP F. Song 2 Internet Draft H. Zhang 3 Intended status: Informational Beijing Jiaotong University 4 Expires: June 18, 2019 H. Chan 5 A. Wei 6 Huawei Technologies 7 Dec 18, 2018 9 One Way Latency Considerations for MPTCP 10 draft-song-mptcp-owl-05 12 Status of this Memo 14 This Internet-Draft is submitted in full conformance with the 15 provisions of BCP 78 and BCP 79. 17 Internet-Drafts are working documents of the Internet Engineering 18 Task Force (IETF). Note that other groups may also distribute 19 working documents as Internet-Drafts. The list of current Internet- 20 Drafts is at http://datatracker.ietf.org/drafts/current/. 22 Internet-Drafts are draft documents valid for a maximum of six 23 months and may be updated, replaced, or obsoleted by other documents 24 at any time. It is inappropriate to use Internet-Drafts as reference 25 material or to cite them other than as "work in progress." 27 This Internet-Draft will expire on June 18, 2019. 29 Copyright Notice 31 Copyright (c) 2017 IETF Trust and the persons identified as the 32 document authors. All rights reserved. 34 This document is subject to BCP 78 and the IETF Trust's Legal 35 Provisions Relating to IETF Documents 36 (http://trustee.ietf.org/license-info) in effect on the date of 37 publication of this document. Please review these documents 38 carefully, as they describe your rights and restrictions with 39 respect to this document. Code Components extracted from this 40 document must include Simplified BSD License text as described in 41 Section 4.e of the Trust Legal Provisions and are provided without 42 warranty as described in the Simplified BSD License. 44 Abstract 46 This document discusses the use of One Way Latency (OWL) for 47 enhancing multipath TCP (MPTCP). Several use cases of OWL, such as 48 retransmission policy and crucial data scheduling are analyzed. Two 49 kinds of OWL measurement approaches are also provided and compared. 50 More explorations related with OWL will be helpful to the 51 performance of MPTCP. 53 Table of Contents 55 1. Introduction ................................................ 2 56 2. Conventions and Terminology.................................. 3 57 3. Potential Usages of OWL in MPTCP............................. 3 58 3.1. Crucial Data Scheduling................................. 4 59 3.2. Congestion control...................................... 5 60 3.3. Packet Retransmission................................... 6 61 3.4. Bandwidth Estimation.................................... 6 62 3.5. Shared Bottleneck Detection............................. 7 63 4. OWL Measurements in TCP...................................... 7 64 5. Security Considerations...................................... 8 65 6. IANA Considerations ......................................... 8 66 7. References .................................................. 8 67 7.1. Normative References.................................... 8 68 7.2. Informative Reference................................... 8 69 Authors' Addresses ............................................. 9 71 1. Introduction 73 End hosts and the intermediate devices in the Internet both have 74 basically been equipped with more and more physical network 75 interfaces. The efficiency of interfaces, which had been widely 76 used in packet forwarding at the end hosts, had been confirmed and 77 utilized [RFC6419]. Moreover,in oder to aggregate more bandwidths, 78 to decrease packet delay and to provide better services, the 79 increased capacity provided by the multiple paths created by 80 multiple interfaces is leveraged. Unlike traditional TCP [RFC0793], 81 many transport layer protocols, such as MPTCP [RFC6182] [RFC6824] 82 enable the end hosts to concurrently transfer data on top of 83 multiple paths to greatly increase the overall throughput. 85 Round-trip time (RTT) is commonly used in congestion control and 86 loss recovery mechanism for data transmission. Yet the key issue for 87 data transmission is simply the delay of the data transmission along 88 a path which does not include the return. It might be very different 89 of the latency for uplink and downlink between two peers. RTT can be 90 easily influenced by the latency in the oppsite direction along a 91 path, which cannot reflect the delay of the data transmission 92 along that path accurately. Therefore, the use of One Way Latency 93 (OWL) is proposed to describe the exact latency from the time that 94 data is sent to the time data is received. 96 The performance of current practices of MPTCP can be further 97 improved by taking full advantage of One Way Latency (OWL) during 98 the transmission is explained in this document. It may be asymmetric 99 of the OWL components in the forward and reverse direction of a RTT 100 so that it can provide a better measure to the user such as for 101 congestion control even with the regular TCP. It will be more 102 benefits when there are multiple paths to choose. 104 This document discusses the necessary considerations of OWL in MPTCP. 105 The structure of this document is as follows: Firstly, it analyzed 106 several using cases of OWL in MPTCP. Secondly, two kinds of OWL 107 measurements are listed and compared. The considerations related 108 with security and IANA are given at the end. 110 The application programmer whose products may be significantly 111 benefit from MPTCP will be the potential targeted audience of this 112 document. The necessary information for the developers of MPTCP to 113 implement the new version API into the TCP/IP network stack is also 114 demonstrated in this document. 116 2. Conventions and Terminology 118 The key words "MUST", "MUST NOT", "GLUIRED", "SHALL","SHALL NOT", 119 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 120 document are to be interpreted as described in [RFC2119]. 122 One Way Latency (OWL): the propagation delay between a sender and a 123 receiver from the time a signal is sent to the time the signal is 124 received. 126 3. Potential Usages of OWL in MPTCP 128 There are a number of OWL use cases when MPTCP is enabled by the 129 sender and receiver. Although, only 5 use cases are illustrated in 130 this document, more explorations are still needed. 132 3.1. Crucial Data Scheduling 134 During a transmission process, some essential data often need to be 135 immediately sent to the destination. Examples of such data include 136 the key frame of multimedia and high priority chunk of emergency 137 communication. No one can guarantee the arrival sequence by using 138 the RTTs alone with the multiple paths. 140 The data rate in any given link can be asymmetric. In addition, 141 according to the amount of packet queue, the delay in a given 142 direction can change. Therefore, the same as that in the reverse 143 direction as exemplified in Figure 1, delay in a forward direction 144 in a path is not important. 146 -------- OWL(s-to-c,path1)=16ms <-------- 147 / \ 148 | -----> OWL(c-to-s,path1)= 5ms ----- | 149 | / RTT(path1)=21ms \ | 150 | | | | 151 +------+ +------+ 152 | |-----> OWL(c-to-s,path2)= 8ms -----| | 153 |Client| |Server| 154 | |----- OWL(s-to-c,path2)= 8ms <-----| | 155 +------+ RTT(path2)=16ms +------+ 156 | | | | 157 | \ / | 158 | -----> OWL(c-to-s,path3)=10ms ----- | 159 \ / 160 -------- OWL(s-to-c,path3)= 8ms <-------- 161 RTT(path3)=18ms 163 Figure 1. Example with 3 paths between the client and the server 164 with OWL as indicated in the figure. RTT information alone would 165 indicate to the client that the fastest path to the server is 166 path 2, followed by path 3, and then followed by path 1. Although 167 path 2 is the fastest, whereas OWL indicates to the client that the 168 fastest path to the server is path 1, followed by path 2, and then 169 followed by path 3. 171 The sender can easily choose the faster path by using the results of 172 OWL measurement, in terms of forward latency, for crucial data 173 transmission. Moreover, the acknowledgements of these crucial data 174 could be sent on the path with minimum reverse latency. If duplex 175 communication mode is adopted, piggyback will be also useful. 177 3.2. Congestion control 179 Congestion in a given direction does not necessarily imply the 180 congestion in the reverse direction. 182 -------- No congestion (path 1) <-------- 183 / \ 184 | -----> Congestion (path 1) ----- | 185 | / \ | 186 | | | | 187 +------+ +------+ 188 |Client| |Server| 189 +------+ +------+ 190 | | | | 191 | \ / | 192 | -----> No congestion (path 2) ----- | 193 \ / 194 -------- Congestion (path 2) <-------- 196 Figure 2. Example of a congestion situation with 2 paths between 197 the client and the server. There is congestion from client to 198 server along both path 1 and path 2. RTT information alone will 199 indicate congestion in both paths, whereas OWL information will 200 show the client that path 2 is the more lightly loaded path to get 201 to the server. 203 It can be better described the network congestion in a given 204 direction using OWL rather than using RTT. Especially when the 205 congestion can be a situation in a unidirectional path, the 206 congestion in the path from a client to a server is different from 207 the congestion in the path from the server to the client. The delay 208 of interest for data transmission along a path cannot be 209 reflected by the RTT accurately. For MPTCP, the client needs to 210 choose a more lightly loaded path to send packets [RFC6356]. Instead 211 of comparing the RTT among different paths, it should use OWL to 212 compare among the paths. 214 Current version of MPTCP includes different kinds of congestion 215 control mechanisms [RFC6356]. The network congestion situation in a 216 single direction could be better described by reasonably utilizing 217 OWL. 219 3.3. Packet Retransmission 221 Continuous Multipath Transmission (CMT) increases throughput by 222 concurrently transferring new data from a source to a destination 223 host through multiple paths. However, the sender needs to select a 224 suitable path for retransmission, when packet is identified as lost 225 by triple duplicated acknowledgements or timeout. Outstanding 226 packets on multiple paths may reach to the destination disorderly 227 and trigger Receive Buffer Blocking (RBB) problem (Figure 3), which 228 will further affect the transmission performance, due to the popular 229 mechanisms of sequence control in reliable transport protocols. 231 Packetwith octets sequence # 0- 499(lost) 232 ---> Packetwith octets sequence #1000-1499(rcvd) ------ 233 / Packetwith octets sequence #2000-2499(rcvd) \ 234 | | 235 +------+ +--------+ 236 |Sender| |Receiver| 237 +------+ +--------+ 238 | | 239 \ Packetwith octets sequence # 501- 999(lost) / 240 -----> Packetwith octets sequence #1501-1999(lost) ----- 241 Packetwith octets sequence #2501-2999(lost) 243 Figure 3. Example of Receive Buffer Blocking: The packet containing 244 octets 0-499 is lost. On the other hand the packets containing 245 Octets 500-999, 1000-1499, 1500-1999, 2000-2499, and 2500-2999 have 246 all been received. The octets 500-2999 are then all buffered at the 247 receiver, and are blocked by the missing octets 0-499. 249 The sender can quickly determine the specific path with minimum 250 latency in the forward direction by using the results of OWL 251 measurement. As soon as the receiver obtains the most needed packet 252 (s), RBB can be relieved and be submitted to the upper layer. 254 3.4. Bandwidth Estimation 256 It's crucial to understand the bandwidth condition for data packet 257 scheduling, and load balancing, etc. OWL could be integrated with 258 bandwidth estimation approaches without interrupting the regular 259 transmission of packets. 261 3.5. Shared Bottleneck Detection 263 Fairness is critical especially when MPTCP and ordinary TCP coexist 264 in the same network. OWL measurements can be treated by sender as 265 the sample process of shared bottleneck detection, and sender adjust 266 the volume of data packet on multiple paths accordingly. 268 4. OWL Measurements in TCP 270 The timestamp option in TCP [RFC7323] may be invoked to estimate 271 latency. The time (TSval) of sending the data is provided in the 272 option when sending data. The receiver acknowledges the receipt of 273 this data by echoing this time (TSecr). And also the time (TSval) of 274 sending this acknowledgment is provided. Although there are two 275 problems, the difference of these times in the acknowledgment of 276 data from the sender can help to estimate the OWL from the sender to 277 the receiver. 279 First, there may be delay from the time the receiver who has 280 received the data to the time when the acknowledgment is sent. Then, 281 the above value may be an upper bound of OWL. 283 Second, the clocks between the sender and the receiver may not be 284 synchronized. Only if the clocks are synchronized, the OWL can be 285 showed in different paths by the above measure. The comparison of 286 OWLs among different paths is limited to showing the OWL differences 287 among them without clock synchronization. 289 Two kinds of OWL measurement approaches are available: absolute 290 value measurement and relative value measurement. 292 In order to obtain the absolute value of OWL, the primary condition 293 of measurement is clock synchronization. End hosts can calibrate the 294 local clock with the remote NTP server by using network time 295 protocol (NTP) [RFC5905]. The additional information or optional 296 capabilities can even be added via extension fields in the standard 297 NTP header [RFC7822]. The calibration accuracy can reach to the 298 millisecond level in less congested situations. The obvious burden 299 here is to persuade the end hosts to initialize the NTP option. 301 It's more than enough to obtain the relative value of OWL in some 302 circumstances to establish applications on top of it. For instance, 303 the sender may only care about which path has the minimum forwarding 304 latency when retransmission is needed. When bandwidth is being 305 estimated, the difference of forward latency, i.e. delta latency, 306 among all available paths are needed. Both sides could obtain the 307 relative value of OWL by exchanging with correspondent end host the 308 local timestamps of receiving and sending the packets. 310 The overheads are the extra protocol requirement and synchronization 311 accuracy, while absolute value measurement of OWL is more convenient 312 for the applications. On the contrary, it's no need for relative 313 value to worry about the accuracy whereas the overhead is to add 314 timestamps into the original protocol stack. 316 5. Security Considerations 318 This document does not contain any security considerations. However, 319 the relevant mechanisms definitely need to be established by future 320 applications of OWL in MPTCP to improve security. 322 6. IANA Considerations 324 This document presents no IANA considerations. 326 7. References 328 7.1. Normative References 330 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 331 Requirement Levels", BCP 14, RFC 2119, DOI 332 10.17487/RFC2119, March 1997, . 335 7.2. Informative Reference 337 [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC 338 793, DOI 10.17487/RFC0793, September 1981, 339 . 341 [RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, 342 "Network Time Protocol Version 4: Protocol and Algorithms 343 Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010, 344 . 346 [RFC6182] Ford, A., Raiciu, C., Handley, M., Barre, S., and J. 347 Iyengar, "Architectural Guidelines for Multipath TCP 348 Development", RFC 6182, DOI 10.17487/RFC6182, March 2011, 349 . 351 [RFC6356] Raiciu, C., Handley, M., and D. Wischik, "Coupled 352 Congestion Control for Multipath Transport Protocols", RFC 353 6356, DOI 10.17487/RFC6356, October 2011, . 356 [RFC6419] Wasserman, M. and P. Seite, "Current Practices for 357 Multiple-Interface Hosts", RFC 6419, DOI 10.17487/RFC6419, 358 November 2011, . 360 [RFC6824] Ford, A., Raiciu, C., Handley, M., and O. Bonaventure, 361 "TCP Extensions for Multipath Operation with Multiple 362 Addresses", RFC 6824, DOI 10.17487/RFC6824, January 2013, 363 . 365 [RFC7323] Borman, D., Braden, B., Jacobson, V., and R. Scheffenegger, 366 Ed., "TCP Extensions for High Performance", RFC 7323, DOI 367 10.17487/RFC7323, September 2014, . 370 [RFC7822] Mizrahi, T. and D. Mayer, "Network Time Protocol Version 4 371 (NTPv4) Extension Fields", RFC 7822, DOI 10.17487/RFC7822, 372 March 2016, . 374 Authors' Addresses 376 Fei Song 377 Beijing Jiaotong University 378 Beijing, 100044 379 P.R. China 381 Email: fsong@bjtu.edu.cn 383 Hongke Zhang 384 Beijing Jiaotong University 385 Beijing, 100044 386 P.R. China 388 Email: hkzhang@bjtu.edu.cn 389 H Anthony Chan 390 Huawei Technologies 391 5340 Legacy Dr. Building 3 392 Plano, TX 75024 393 USA 395 Email: h.a.chan@ieee.org 397 Anni Wei 398 Huawei Technologies 399 Xin-Xi Rd. No. 3, Haidian District 400 Beijing, 100095 401 P.R. China 403 Email: weiannig@huawei.com