idnits 2.17.1 draft-dang-ippm-multiple-path-measurement-03.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 : ---------------------------------------------------------------------------- ** There is 1 instance of too long lines in the document, the longest one being 2 characters in excess of 72. 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 seems to have RFC 2119 boilerplate text. -- The document date (May 13, 2020) is 1442 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Unused Reference: 'RFC2119' is defined on line 501, but no explicit reference was found in the text Summary: 1 error (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group D. Dang, Ed. 3 Internet-Draft Huawei 4 Intended status: Informational W. Wang 5 Expires: November 14, 2020 China Telecom 6 W. LEE 7 LG U+ 8 May 13, 2020 10 Multi-Path Concurrent Measurement for IPPM 11 draft-dang-ippm-multiple-path-measurement-03 13 Abstract 15 This test method can test multi-paths concurrently from one edge node 16 to another edge node. This document details Multi-Path Concurrent 17 Measurement (MPCM). 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at https://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on November 14, 2020. 36 Copyright Notice 38 Copyright (c) 2020 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (https://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 54 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 55 1.2. Terminology & Abbreviations . . . . . . . . . . . . . . . 3 56 2. Overview of MPCM . . . . . . . . . . . . . . . . . . . . . . 4 57 2.1. Principle . . . . . . . . . . . . . . . . . . . . . . . . 4 58 2.1.1. Single Path Measurement . . . . . . . . . . . . . . . 4 59 2.1.2. Multiple Path Measurement . . . . . . . . . . . . . . 6 60 3. MPCM-Test Packet Format and Content . . . . . . . . . . . . . 7 61 4. Expansion based on various measurement methods . . . . . . . 10 62 4.1. IOAM . . . . . . . . . . . . . . . . . . . . . . . . . . 10 63 5. Data Export . . . . . . . . . . . . . . . . . . . . . . . . . 10 64 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 65 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 66 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 67 9. Normative References . . . . . . . . . . . . . . . . . . . . 11 68 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 70 1. Introduction 72 As we know, the current network has been already being in load 73 balancing mode, however it is partially congested. In other words, 74 from the same source node to the same destination node, some paths 75 have been congested to cause a decline in service quality, but some 76 paths carry less traffic and are lightly loaded. To solve the 77 problem of unbalanced network load[draft-liu-ican], the first is to 78 have the ability to detect the quality of the load sharing paths. 79 And then the traffic from the Scr node to the Dst node is required to 80 be steered from the congested paths into the lightly loaded path/ 81 paths basing on the SLA's requirement. So it's necessary to measure 82 the multi-paths in load-balancing mode. 84 In the traditional method, the paths are measured separately because 85 they aren't maintained by the path group. If the multiple load 86 sharing paths are required to be selected based on the SLA 87 information, the measured SLA information needs to be comparable. If 88 you want to ensure that the data obtained by the test is available 89 and accurate, the multi-paths are required to maintain by the path 90 group in order that the test start and end points must be same. 92 For example, the low latency services require millisecond delays. If 93 the start time and the end time aren't same, the measured data may 94 not be in one test cycle, and the accuracy of this data is relatively 95 low and the data cannot be comparedFigure 1. 97 Path1 98 +-+-+-+-+-+-+-+-+ 99 | | 100 +-+-+-+-+-+-+-+-+ 102 Path2 103 +-+-+-+-+-+-+-+-+ 104 | | 105 +-+-+-+-+-+-+-+-+ 107 Path3 108 +-+-+-+-+-+-+-+-+ 109 | | 110 +-+-+-+-+-+-+-+-+ 112 ----------------------------------------------------------------------- 113 0 t 115 Figure 1: Measured Data in the Different Cycles 117 The Multi-Path Concurrent Measurement (MPCM) is required, which can 118 be used bi-directionally to concurrently measure multi-paths metrics 119 between two network elements. At the same time, this method also 120 consider saving the number of test messages to reduces the load on 121 the network. 123 1.1. Requirements Language 125 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 126 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 127 document are to be interpreted as described in RFC 2119. 129 1.2. Terminology & Abbreviations 131 o Muti-paths 133 * There are multiple paths between two nodes in the network. 134 These paths may be equal-cost multi-path (ECMP) mode or 135 unequal-cost multiple (UCMP) mode. In a real network, they 136 might be one [draft-ietf-spring-segment-routing-policy] or 137 [RFC7348] tunnel group. 139 o Concurrent 141 * In order to ensure comparability between multiple paths, the 142 test start point and the test end point are required to be 143 same. 145 2. Overview of MPCM 147 The Multi-Path Concurrent Measurement (MPCM) is the way of 148 measurement of multi-paths metrics. 150 MPCM can be embedded into a variety of transports such as NSH, 151 Segment Routing, VxLAN, native IPv6 (via extension header), or IPv4. 153 2.1. Principle 155 To complete the target scenario, we need to optimize the single-path 156 measurement mechanism, and then further diffuse the single-path 157 measurement mechanism to multiple-path. 159 1. For a single tunnel, the Dst needs to know when to start timing 160 in order to delimit. The Dst needs to solve various problems such as 161 congestion and discarding of measurement packets. Therefore, the Dst 162 needs to initiate a periodic response. 164 2. For multiple paths, the Dst needs to respond one measurement 165 message with multiple path information in its specific time, solving 166 the problems such as inconsistent initiation of any path, 167 inconsistent measurement periods, clock drift, and different delays. 169 2.1.1. Single Path Measurement 171 |-----ti-----|-----ti-----|-----ti-----| 172 t0 t1 t2 173 Src ----------------------------------------- 174 | \ \ 175 | \ \ 176 | \ \ 177 | \ \ 178 Dst ----------------------------------------- 179 t0' t1' t2' 181 Figure 2: Single path measurement 183 A path between Scr node and Dst node in the network to obtain 184 measurement results at equal intervals is as follows: 186 1) Set the measurement interval ti. 188 a) Before the test starts, the Scr sends a protocol packet to the Dst 189 and sets the test interval ti. 191 b) After receiving the protocol message, the Dst sets the test 192 interval ti for the Scr and Dst, and replies to the Scr to confirm 193 that the setting is successful. The congestion at the Dst will be 194 counted at intervals ti. 196 c) After receiving the interval setting successfully, the Scr starts 197 to start measurement. 199 2) The Scr sends the first delimited message, which includes the 200 sending timestamp t0, and starts to count the data packets sent. 202 3) After receiving the first delimited message, the Dst end stamps 203 the time stamp t0 'and starts to count the received data messages. 205 4) The Scr sends the second delimited message at time t1, where t1 = 206 t0 + ti, the message includes the sending timestamp t1, and counts 207 the number of data packets sent. The first delimited message uses 208 high priority, and the second delimited message uses normal priority. 209 Because the second delimitation message has a low priority and a 210 large queuing delay, the interval between the first delimitation 211 message and the second delimitation message shall become larger at 212 the Dest. 214 5) At the time t0 '+ ti, the Dst counts the number of packets 215 received between t0' and t0 '+ ti, and sends the message back to the 216 Src with the number of packets, the sending time t0 and the receiving 217 time t0'. If the delimitation message has not been received at t0' + 218 2 * ti time, the Dst repeats the previous actions, and so on. 220 6) When the second delimited message arrives at the Dst, the Dst 221 counts the number of packets received between t0 'and t1' at t1 222 'time, and sends the message back to the Src with the number of 223 packets, the packet sending time t0 and the packet receiving time t0 224 '. 226 7) After t1 ', the sending time in the message from the Dst is 227 updated to t1, and the receiving time in the message from the Dst is 228 updated to t1'. The number of packets is still the number of packets 229 received within ti time. 231 8) Assuming that t1' is between t0' + (x-1) * ti and t0' + x * ti, 232 then the congestion in the interval ti is calculated in two parts. 233 The first part is from t0 '+ (x-1) * ti to t1', The statistics 234 packets sent at t1' must include the packet statistics and time t0'; 235 the second part is from t1 'to t0' + x * ti, t0 '+ x * ti need to 236 include the packet statistics and t1'. 238 9) Repeat the above steps. 240 2.1.2. Multiple Path Measurement 242 | <-----------> | <------------>| <------------> | 243 | Ti | Ti | Ti | 244 Path1 | m1 m2 | m3 | m4 m5 | m6 245 --------------------------------------------------------------- 246 | | | | 247 Path2 | m1 | m2 m3 m4 | m5 248 --------------------------------------+------------------------ 249 | | | | 250 Path3 | m1 m2 m3 m4 | m5 | m6 251 --------+---------------+----------------+----------------+---- 253 Figure 3: Multiple path measurement 255 There are multiple paths in the tunnel between Src node and Dst nodes 256 in the network. This method is mainly implemented at the Dst. 258 1) Set the measurement interval ti. 260 a) Before the test starts, the Src sends a protocol packet to the 261 Dst, setting the number of paths and the measurement interval ti. 262 The measurement result of each path is a message with measurement 263 data. 265 b) After receiving the protocol message, the Dst sets the number of 266 paths and measurement interval ti, and replies to the source to 267 confirm the successful setting. 269 c) After receiving the message with the number of paths and 270 measurement interval, the Src starts to start measurement. 272 2) On each path, the Src continuously sends measurement packets, and 273 the Dst continuously calculates the measurement results at intervals 274 ti. 276 3) The Dst collects the measurement results of each path at intervals 277 ti after the earliest measurement result of multiple paths is came 278 out. 280 4) The results of multiple paths in the same interval time ti are 281 counted as a group. If there is no measured results on the specific 282 path in the interval ti, the relevant information is set 0 in the 283 group results. A set of measurement results packaged of multiple 284 paths are taken back to the Src. 286 5) The measurement results of multiple paths on the Dst are 287 continuously packaged at intervals ti and sent back to the Src. The 288 packaged message carries the sequence number within the message to 289 prevent out of order. 291 3. MPCM-Test Packet Format and Content 293 This section defines path header and associated data types required 294 for MPCM. 296 Firstly one path packet formatFigure 4 of multi-path can be defined. 298 0 1 2 3 299 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 300 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 301 | Session ID | 302 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 303 | Path ID | Path-E2E-Type | 304 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 305 | Flags | Transaction ID | 306 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 308 Figure 4: MPCM Path header 310 o Session ID: A set of load sharing paths 312 o Path ID: One path of the session. 314 o Path-E2E-Type: A 16-bit identifier which Indicates whether the 315 packet type is a send message or a request message. 317 o Flags: 8-bit field. Identify the query or response type. 318 Following flags are defined: 320 * Bit 0 Identify the query type 322 * Bit 1 Identify the response type 324 * Reserved 326 o Transaction ID: 16-bit identifier of one measurement transaction. 327 The sender and receiver to identify measurement transactions based 328 on Transaction ID. 330 When a measurement is for a set of paths, each query message is made 331 for each path, but only one unified response message repliesFigure 5. 333 Sender Receiver 334 | | 335 | Query message of Path1 | 336 | -------------------------------------->| 337 | Query message of Path2 | 338 |--------------------------------------->| 339 | ... | 340 | ... | 341 | Query message of PathN | 342 |--------------------------------------->| 343 | | 344 | | 345 | | 346 | | 347 | | 348 | Response message of All multi-paths | 349 |<---------------------------------------| 350 | | 351 | | 353 Figure 5: Query and Response message 355 The measurement response packet format of a path is as 356 followsFigure 6. 358 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 359 | | 360 | E2E PathN Option Header | 361 | | 362 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 363 | | 364 | PathN Edge-to-Edge Option Data | 365 | | 366 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 368 Figure 6: Query message 370 The field of PathN Edge-to-Edge Option Data can refer to Edge-to-Edge 371 Option Data of [draft-ietf-ippm-ioam-data-04]. 373 It suppose there are N paths between two points.The measurement 374 response packet format of multi-paths is as followsFigure 6. 376 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 377 | | 378 | E2E Path1 Option Header | 379 | | 380 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 381 | | 382 | Path1 Edge-to-Edge Option Data | 383 | | 384 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 385 ~ ... ~ 386 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 387 | | 388 | E2E PathN-1 Option Header | 389 | | 390 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 391 | | 392 | PathN-1 Edge-to-Edge Option Data | 393 | | 394 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 395 | | 396 | E2E PathN Option Header | 397 | | 398 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 399 | | 400 | PathN Edge-to-Edge Option Data | 401 | | 402 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 404 Figure 7: Response message 406 o Long-term measurement 408 * The receiver can wait until it receives all measurement 409 requests of a set of path and then responds. 411 o Short-term measurement 413 * The Sender can query once t. 415 * The receiver can reply once t. 417 The overall solution needs to consider two methods of long-period 418 measurement and short-period measurement. 420 4. Expansion based on various measurement methods 422 The measurement message format defined by this document can be 423 extended based on various measurement methods. 425 4.1. IOAM 427 A new type may be added in IOAM-E2E-Type of IOAM Edge-to-Edge Option 428 header[draft-ietf-ippm-ioam-data-04-section4.4] as follow. 430 o Bit 4: Multiple paths measurement. 432 This bit is set by the headend node if Multi-Path Concurrent 433 Measurement is activated. 435 A common registry is maintained for IOAM-Types, see Section 6. 437 For path-based quality measurements, there is no need to measure each 438 message because the large-scale deployment consumes too much network 439 resources. Here, the way of periodic measurement is recommended.In a 440 period, if there is a packet, the appropriate packet is selected to 441 be inserted into the iOAM packet; if there is no packet, a 442 measurement packet is directly generated[draft-dang-ippm-congestion]. 444 5. Data Export 446 MPCM nodes collect information for packets traversing a domain that 447 supports MPCM. MPCM process the information further and export the 448 information using e.g., IPFIX. Raw data export of IOAM data using 449 IPFIX is discussed in [draft-spiegel-ippm-ioam-rawexport-00]. 451 6. IANA Considerations 453 This document requests the following IANA Actions. 455 IOAM E2E Type Registry: 457 Bit 4 Multiple ways measurement 459 7. Security Considerations 461 The Proof of Transit option (Section Section 4.3 In-situ OAM 462 [draft-ietf-ippm-ioam-data-04-section4.4]) is used for verifying the 463 path of data packets. 465 8. Acknowledgements 467 TBD 469 9. Normative References 471 [draft-dang-ippm-congestion] 472 "A One-Path Congestion Metric for IPPM", 473 . 476 [draft-ietf-ippm-ioam-data-04] 477 "A Variety of Transports", 478 . 481 [draft-ietf-ippm-ioam-data-04-section4.4] 482 "IOAM Edge-to-Edge Option", 483 . 486 [draft-ietf-spring-segment-routing-policy] 487 "Segment Routing Policy Architecture", 488 . 491 [draft-liu-ican] 492 "Instant Congestion Assessment Network (iCAN) for Traffic 493 Engineering", . 496 [draft-spiegel-ippm-ioam-rawexport-00] 497 "In-situ OAM raw data export with IPFIX", 498 . 501 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 502 Requirement Levels", BCP 14, RFC 2119, 503 DOI 10.17487/RFC2119, March 1997, 504 . 506 [RFC7348] "Virtual eXtensible Local Area Network (VXLAN)", 507 . 509 Authors' Addresses 511 Joanna Dang (editor) 512 Huawei 513 Beijing 514 China 516 Email: dangjuanna@huawei.com 518 Jianglong 519 China Telecom 520 Beijing 521 China 523 Email: wangjl50@chinatelecom.cn 525 Shinyoung 526 LG U+ 527 Seoul 528 Korea 530 Email: leesy@lguplus.co.kr