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