idnits 2.17.00 (12 Aug 2021) /tmp/idnits33235/draft-ietf-6man-ipv6-alt-mark-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 date (May 25, 2021) is 361 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-01) exists of draft-hinden-6man-hbh-processing-00 Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 6MAN Working Group G. Fioccola 3 Internet-Draft T. Zhou 4 Intended status: Standards Track Huawei 5 Expires: November 26, 2021 M. Cociglio 6 Telecom Italia 7 F. Qin 8 China Mobile 9 R. Pang 10 China Unicom 11 May 25, 2021 13 IPv6 Application of the Alternate Marking Method 14 draft-ietf-6man-ipv6-alt-mark-05 16 Abstract 18 This document describes how the Alternate Marking Method can be used 19 as a passive performance measurement tool in an IPv6 domain. It 20 defines a new Extension Header Option to encode alternate marking 21 information in both the Hop-by-Hop Options Header and Destination 22 Options Header. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at https://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on November 26, 2021. 41 Copyright Notice 43 Copyright (c) 2021 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (https://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 59 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 60 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 61 2. Alternate Marking application to IPv6 . . . . . . . . . . . . 3 62 2.1. Controlled Domain . . . . . . . . . . . . . . . . . . . . 4 63 3. Definition of the AltMark Option . . . . . . . . . . . . . . 5 64 3.1. Data Fields Format . . . . . . . . . . . . . . . . . . . 5 65 4. Use of the AltMark Option . . . . . . . . . . . . . . . . . . 6 66 5. Alternate Marking Method Operation . . . . . . . . . . . . . 8 67 5.1. Packet Loss Measurement . . . . . . . . . . . . . . . . . 8 68 5.2. Packet Delay Measurement . . . . . . . . . . . . . . . . 9 69 5.3. Flow Monitoring Identification . . . . . . . . . . . . . 10 70 5.3.1. Uniqueness of FlowMonID . . . . . . . . . . . . . . . 11 71 5.4. Multipoint and Clustered Alternate Marking . . . . . . . 12 72 5.5. Data Collection and Calculation . . . . . . . . . . . . . 12 73 6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 74 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 75 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 76 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 77 9.1. Normative References . . . . . . . . . . . . . . . . . . 14 78 9.2. Informative References . . . . . . . . . . . . . . . . . 14 79 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 81 1. Introduction 83 [RFC8321] and [RFC8889] describe a passive performance measurement 84 method, which can be used to measure packet loss, latency and jitter 85 on live traffic. Since this method is based on marking consecutive 86 batches of packets, the method is often referred as the Alternate 87 Marking Method. 89 This document defines how the Alternate Marking Method can be used to 90 measure packet loss and delay metrics in IPv6. 92 The format of IPv6 addresses is defined in [RFC4291] while [RFC8200] 93 defines the IPv6 Header, including a 20-bit Flow Label and the IPv6 94 Extension Headers. 96 [I-D.fioccola-v6ops-ipv6-alt-mark] summarizes the possible 97 implementation options for the application of the Alternate Marking 98 Method in an IPv6 domain. This document, starting from the outcome 99 of [I-D.fioccola-v6ops-ipv6-alt-mark], introduces a new TLV that can 100 be encoded in the Options Headers (Hop-by-Hop or Destination) for the 101 purpose of the Alternate Marking Method application in an IPv6 102 domain. While the case of Segment Routing Header (SRH), defined in 103 [RFC8754], is also discussed, it is valid for all the types of 104 Routing Header (RH). 106 1.1. Terminology 108 This document uses the terms related to the the Alternate Marking 109 Method as defined in [RFC8321] and [RFC8889]. 111 1.2. Requirements Language 113 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 114 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 115 "OPTIONAL" in this document are to be interpreted as described in BCP 116 14 [RFC2119] [RFC8174] when, and only when, they appear in all 117 capitals, as shown here. 119 2. Alternate Marking application to IPv6 121 The Alternate Marking Method requires a marking field. As mentioned, 122 several alternatives have been analysed in 123 [I-D.fioccola-v6ops-ipv6-alt-mark] such as IPv6 Extension Headers, 124 IPv6 Address and Flow Label. 126 Consequently, a robust choice is to standardize a new Hop-by-Hop or 127 Destination Option. 129 This approach is compliant with [RFC8200]. The Alternate Marking 130 application to IPv6 involves the following operations: 132 o The source node is the only one that writes the Option Header to 133 mark alternately the flow (for both Hop-by-Hop and Destination 134 Option). 136 o In case of Hop-by-Hop Option Header carrying Alternate Marking 137 bits, it is not inserted or deleted, but can be read by any node 138 along the path. The intermediate nodes may be configured to 139 support this Option or not and the measurement can be done only 140 for the nodes configured to read the Option. Anyway this should 141 not affect the traffic throughput on nodes that do not recognize 142 the Option, as further discussed in Section 4. 144 o In case of Destination Option Header carrying Alternate Marking 145 bits, it is not processed, inserted, or deleted by any node along 146 the path until the packet reaches the destination node. Note 147 that, if there is also a Routing Header (RH), any visited 148 destination in the route list can process the Option Header. 150 Hop-by-Hop Option Header is also useful to signal to routers on the 151 path to process the Alternate Marking, anyway it is to be expected 152 that some routers cannot process it unless explicitly configured. 154 The optimization of both implementation and scaling of the Alternate 155 Marking Method is also considered and a way to identify flows is 156 required. The Flow Monitoring Identification field (FlowMonID), as 157 introduced in the next sections, goes in this direction and it is 158 used to identify a monitored flow. 160 Note that the FlowMonID is different from the Flow Label field of the 161 IPv6 Header ([RFC8200]). Flow Label is used for load-balancing/equal 162 cost multi-path (LB/ECMP). Instead, FlowMonID is only used to 163 identify the monitored flow. The reuse of flow label field for 164 identifying monitored flows is not considered since it may change the 165 application intent and forwarding behaviour. Furthermore the flow 166 label may be changed en route and this may also violate the 167 measurement task. Also, since the flow label is pseudo-random, there 168 is always a finite probability of collision. Those reasons make the 169 definition of the FlowMonID necessary for IPv6. Flow Label and 170 FlowMonID within the same packet have different scope, identify 171 different flows, and associate different uses. 173 An important point that will also be discussed in this document is 174 the the uniqueness of the FlowMonID and how to allow disambiguation 175 of the FlowMonID in case of collision. [RFC6437] states that the 176 Flow Label cannot be considered alone to avoid ambiguity since it 177 could be accidentally or intentionally changed en route for 178 compelling operational security reasons and this could also happen to 179 the IP addresses that can change due to NAT. But the Alternate 180 Marking is usually applied in a controlled domain, which would not 181 have NAT and there is no security issue that would necessitate 182 rewriting Flow Labels. So, for the purposes of this document, both 183 IP addresses and Flow Label should not change in flight and, in some 184 cases, they could be considered together with the FlowMonID for 185 disambiguation. 187 2.1. Controlled Domain 189 [RFC8799] introduces the concept of specific limited domain solutions 190 and, in this regard, it is reported the IPv6 Application of the 191 Alternate Marking Method as an example. 193 IPv6 has much more flexibility than IPv4 and innovative applications 194 have been proposed, but for a number of reasons, such as the options 195 supported, the style of network management and security requirements, 196 it is suggested to limit some of these applications to a controlled 197 domain. This is also the case of the Alternate Marking application 198 to IPv6 as assumed hereinafter. 200 3. Definition of the AltMark Option 202 The desired choice is to define a new TLV for the Options Extension 203 Headers, carrying the data fields dedicated to the alternate marking 204 method. 206 3.1. Data Fields Format 208 The following figure shows the data fields format for enhanced 209 alternate marking TLV. This AltMark data is expected to be 210 encapsulated in the IPv6 Options Headers (Hop-by-Hop or Destination 211 Option). 213 0 1 2 3 214 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 215 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 216 | Option Type | Opt Data Len | 217 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 218 | FlowMonID |L|D| Reserved | 219 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 221 where: 223 o Option Type: 8 bit identifier of the type of Option that needs to 224 be allocated. Unrecognised Types MUST be ignored on receipt. For 225 Hop-by-Hop Options Header or Destination Options Header, [RFC8200] 226 defines how to encode the three high-order bits of the Option Type 227 field. The two high-order bits specify the action that must be 228 taken if the processing IPv6 node does not recognize the Option 229 Type; for AltMark these two bits MUST be set to 00 (skip over this 230 Option and continue processing the header). The third-highest- 231 order bit specifies whether or not the Option Data can change en 232 route to the packet's final destination; for AltMark the value of 233 this bit MUST be set to 0 (Option Data does not change en route). 235 o Opt Data Len: The length of the Option Data Fields of this Option 236 in bytes. 238 o FlowMonID: 20 bits unsigned integer. The FlowMon identifier is 239 described in Section 5.3. 241 o L: Loss flag for Packet Loss Measurement as described in 242 Section 5.1; 244 o D: Delay flag for Single Packet Delay Measurement as described in 245 Section 5.2; 247 o Reserved: is reserved for future use. These bits MUST be set to 248 zero on transmission and ignored on receipt. 250 4. Use of the AltMark Option 252 The AltMark Option is the best way to implement the Alternate Marking 253 method and can be carried by the Hop-by-Hop Options header and the 254 Destination Options header. In case of Destination Option, it is 255 processed only by the source and destination nodes: the source node 256 inserts and the destination node removes it. While, in case of Hop- 257 by-Hop Option, it may be examined by any node along the path, if 258 explicitly configured to do so. 260 It is important to highlight that the Option Layout can be used both 261 as Destination Option and as Hop-by-Hop Option depending on the Use 262 Cases and it is based on the chosen type of performance measurement. 263 In general, it is needed to perform both end to end and hop by hop 264 measurements, and the alternate marking methodology allows, by 265 definition, both performance measurements. Anyway, in many cases the 266 end-to-end measurement is not enough and it is required also the hop- 267 by-hop measurement, so the most complete choice is the Hop-by-Hop 268 Options Header. 270 IPv6, as specified in [RFC8200], allows nodes to optionally process 271 Hop-by-Hop headers. Specifically the Hop-by-Hop Options header is 272 not inserted or deleted, but may be examined or processed by any node 273 along a packet's delivery path, until the packet reaches the node (or 274 each of the set of nodes, in the case of multicast) identified in the 275 Destination Address field of the IPv6 header. Also, it is expected 276 that nodes along a packet's delivery path only examine and process 277 the Hop-by-Hop Options header if explicitly configured to do so. 279 The Hop-by-Hop Option defined in this document is designed to take 280 advantage of the property of how Hop-by-Hop options are processed. 281 Nodes that do not support this Option SHOULD ignore them. This can 282 mean that, in this case, the performance measurement does not account 283 for all links and nodes along a path. 285 Another application that can be mentioned is the presence of a 286 Routing Header, in particular it is possible to consider SRv6. A new 287 type of Routing Header, referred as SRH, has been defined for SRv6. 288 Like any other use case of IPv6, Hop-by-Hop and Destination Options 289 are useable when SRv6 header is present. Because SRv6 is implemented 290 through a Segment Routing Header (SRH), Destination Options before 291 the Routing Header are processed by each destination in the route 292 list, that means, in case of SRH, by every node that is an identity 293 in the SR path. 295 In summary, it is possible to list the alternative possibilities: 297 o Destination Option not preceding a Routing Header => measurement 298 only by node in Destination Address. 300 o Hop-by-Hop Option => every router on the path with feature 301 enabled. 303 o Destination Option preceding a Routing Header => every destination 304 node in the route list. 306 In general, Hop-by-Hop and Destination Options are the most suitable 307 ways to implement Alternate Marking. 309 It is worth mentioning that new Hop-by-Hop Options are not strongly 310 recommended in [RFC7045] and [RFC8200], unless there is a clear 311 justification to standardize it, because nodes may be configured to 312 ignore the Options Header, drop or assign packets containing an 313 Options Header to a slow processing path. In case of the AltMark 314 data fields described in this document, the motivation to standardize 315 a new Hop-by-Hop Option is that it is needed for OAM. An 316 intermediate node can read it or not but this does not affect the 317 packet behavior. The source node is the only one that writes the 318 Hop-by-Hop Option to mark alternately the flow, so, the performance 319 measurement can be done for those nodes configured to read this 320 Option, while the others are simply not considered for the metrics. 322 It is important to highlight that the definition of the Hop-by-Hop 323 Options in this document SHOULD NOT affect the throughput on nodes 324 that do not recognize the Option. Indeed, the three high-order bits 325 of the Options Header defined in this draft are 000 and, in theory, 326 as per [RFC8200] and [I-D.hinden-6man-hbh-processing], this means 327 "skip if do not recognize and data do not change en route". 328 [RFC8200] also mentions that the nodes only examine and process the 329 Hop-by-Hop Options header if explicitly configured to do so. For 330 these reasons, this HbH Option should not affect the throughput. 331 Anyway, in practice, it is important to be aware for the 332 implementation that the things may be different and it can happen 333 that packets with Hop-by-Hop are forced onto the slow path, but this 334 is a general issue, as also explained in 335 [I-D.hinden-6man-hbh-processing]. 337 In addition to the previous alternatives, it could be possible to 338 consider a non-conventional application of the Destination Options 339 for hop by hop action, but this would cause worse performance than 340 Hop-by-Hop. The only motivation for the hop by hop usage of 341 Destination Options can be for compatibility reasons but in general 342 it is not recommended. 344 5. Alternate Marking Method Operation 346 This section describes how the method operates. [RFC8321] introduces 347 several alternatives but in this section the most applicable methods 348 are reported and a new field is introduced to facilitate the 349 deployment and improve the scalability. 351 5.1. Packet Loss Measurement 353 The measurement of the packet loss is really straightforward. The 354 packets of the flow are grouped into batches, and all the packets 355 within a batch are marked by setting the L bit (Loss flag) to a same 356 value. The source node can switch the value of the L bit between 0 357 and 1 after a fixed number of packets or according to a fixed timer, 358 and this depends on the implementation. By counting the number of 359 packets in each batch and comparing the values measured by different 360 network nodes along the path, it is possible to measure the packet 361 loss occurred in any single batch between any two nodes. Each batch 362 represents a measurable entity unambiguously recognizable by all 363 network nodes along the path. 365 Packets with different L values may get swapped at batch boundaries, 366 and in this case, it is required that each marked packet can be 367 assigned to the right batch by each router. It is important to 368 mention that for the application of this method there are two 369 elements to consider: the clock error between network nodes and the 370 network delay. These can create offsets between the batches and out- 371 of-order of the packets. There is the condition on timing aspects 372 explained in [RFC8321] that must be satisfied and it takes into 373 considerations the different causes of reordering such as clock 374 error, network delay. The consequence is that it is necessary to 375 define a waiting interval where to get stable counters and to avoid 376 these issues. Usually the counters can be taken in the middle of the 377 batch period to be sure to take still counters. In a few words this 378 implies that the length of the batches MUST be chosen large enough so 379 that the method is not affected by those factors. 381 L bit=1 ----------+ +-----------+ +---------- 382 | | | | 383 L bit=0 +-----------+ +-----------+ 384 Batch n ... Batch 3 Batch 2 Batch 1 385 <---------> <---------> <---------> <---------> <---------> 387 Traffic Flow 388 ===========================================================> 389 L bit ...1111111111 0000000000 11111111111 00000000000 111111111... 390 ===========================================================> 392 Figure 1: Packet Loss Measurement and Single-Marking Methodology 393 using L bit 395 5.2. Packet Delay Measurement 397 The same principle used to measure packet loss can be applied also to 398 one-way delay measurement. Delay metrics MAY be calculated using the 399 two possibilities: 401 1. Single-Marking Methodology: This approach uses only the L bit to 402 calculate both packet loss and delay. In this case, the D flag 403 MUST be set to zero on transmit and ignored by the monitoring 404 points. The alternation of the values of the L bit can be used 405 as a time reference to calculate the delay. Whenever the L bit 406 changes and a new batch starts, a network node can store the 407 timestamp of the first packet of the new batch, that timestamp 408 can be compared with the timestamp of the first packet of the 409 same batch on a second node to compute packet delay. Anyway this 410 measurement is accurate only if no packet loss occurs and if 411 there is no packet reordering at the edges of the batches. A 412 different approach can also be considered and it is based on the 413 concept of the mean delay. The mean delay for each batch is 414 calculated by considering the average arrival time of the packets 415 for the relative batch. There are limitations also in this case 416 indeed, each node needs to collect all the timestamps and 417 calculate the average timestamp for each batch. In addition the 418 information is limited to a mean value. 420 2. Double-Marking Methodology: This approach is more complete and 421 uses the L bit only to calculate packet loss and the D bit (Delay 422 flag) is fully dedicated to delay measurements. The idea is to 423 use the first marking with the L bit to create the alternate flow 424 and, within the batches identified by the L bit, a second marking 425 is used to select the packets for measuring delay. The D bit 426 creates a new set of marked packets that are fully identified 427 over the network, so that a network node can store the timestamps 428 of these packets; these timestamps can be compared with the 429 timestamps of the same packets on a second node to compute packet 430 delay values for each packet. The most efficient and robust mode 431 is to select a single double-marked packet for each batch, in 432 this way there is no time gap to consider between the double- 433 marked packets to avoid their reorder. If a double-marked packet 434 is lost, the delay measurement for the considered batch is simply 435 discarded, but this is not a big problem because it is easy to 436 recognize the problematic batch and skip the measurement just for 437 that one. So in order to have more information about the delay 438 and to overcome out-of-order issues this method is preferred. 440 L bit=1 ----------+ +-----------+ +---------- 441 | | | | 442 L bit=0 +-----------+ +-----------+ 444 D bit=1 + + + + + 445 | | | | | 446 D bit=0 ------+----------+----------+----------+------------+----- 448 Traffic Flow 449 ===========================================================> 450 L bit ...1111111111 0000000000 11111111111 00000000000 111111111... 452 D bit ...0000010000 0000010000 00000100000 00001000000 000001000... 453 ===========================================================> 455 Figure 2: Double-Marking Methodology using L bit and D bit 457 Similar to packet delay measurement (both for Single Marking and 458 Double Marking), the method can also be used to measure the inter- 459 arrival jitter. 461 5.3. Flow Monitoring Identification 463 The Flow Monitoring Identification (FlowMonID) is required for some 464 general reasons: 466 o First, it helps to reduce the per node configuration. Otherwise, 467 each node needs to configure an access-control list (ACL) for each 468 of the monitored flows. Moreover, using a flow identifier allows 469 a flexible granularity for the flow definition. 471 o Second, it simplifies the counters handling. Hardware processing 472 of flow tuples (and ACL matching) is challenging and often incurs 473 into performance issues, especially in tunnel interfaces. 475 o Third, it eases the data export encapsulation and correlation for 476 the collectors. 478 The FlowMon identifier field is to uniquely identify a monitored flow 479 within the measurement domain. The field is set at the source node. 480 The FlowMonID can be uniformly assigned by the central controller or 481 algorithmically generated by the source node. The latter approach 482 cannot guarantee the uniqueness of FlowMonID but it may be preferred 483 for local or private network, where the conflict probability is small 484 due to the large FlowMonID space. 486 5.3.1. Uniqueness of FlowMonID 488 It is important to note that if the 20 bit FlowMonID is set 489 independently and pseudo randomly there is a chance of collision. 490 So, in some cases, FlowMonID could not be sufficient for uniqueness. 492 In general the probability of a flow identifier uniqueness correlates 493 to the amount of entropy of the inputs. For instance, using the 494 well-known birthday problem in probability theory, if the 20 bit 495 FlowMonID is set independently and pseudo randomly without any 496 additional input entropy, there is a 50% chance of collision for just 497 1206 flows. For a 32 bit identifier the 50% threshold jumps to 498 77,163 flows and so on. So, for more entropy, FlowMonID can either 499 be combined with other identifying flow information in a packet (e.g. 500 it is possible to consider the hashed 3-tuple Flow Label, Source and 501 Destination addresses) or the FlowMonID size could be increased. 503 This issue is more visible when the FlowMonID is pseudo randomly 504 generated by the source node and there needs to tag it with 505 additional flow information to allow disambiguation. While, in case 506 of a centralized controller, the controller should set FlowMonID by 507 considering these aspects and instruct the nodes properly in order to 508 guarantee its uniqueness. 510 Anyway, it is worth highlighting that the uniqueness of FlowMonID may 511 not be a problem and a low rate of ambiguous FlowMonIDs can be 512 acceptable, since this does not cause significant harm to the 513 operators or their clients and this harm may not justify the 514 complications of avoiding it. But, for large scale measurements 515 where it is possible to monitor a big number of flows, the 516 disambiguation of the Flow Monitoring Identification field is 517 something to take into account. 519 5.4. Multipoint and Clustered Alternate Marking 521 The Alternate Marking method can also be extended to any kind of 522 multipoint to multipoint paths, and the network clustering approach 523 allows a flexible and optimized performance measurement, as described 524 in [RFC8889]. 526 The Cluster is the smallest identifiable subnetwork of the entire 527 Network graph that still satisfies the condition that the number of 528 packets that goes in is the same that goes out. With network 529 clustering, it is possible to use the partition of the network into 530 clusters at different levels in order to perform the needed degree of 531 detail. So, for Multipoint Alternate Marking, FlowMonID can identify 532 in general a multipoint-to-multipoint flow and not only a point-to- 533 point flow. 535 5.5. Data Collection and Calculation 537 The nodes enabled to perform performance monitoring collect the value 538 of the packet counters and timestamps. There are several 539 alternatives to implement Data Collection and Calculation, but this 540 is not specified in this document. 542 6. Security Considerations 544 This document aims to apply a method to perform measurements that 545 does not directly affect Internet security nor applications that run 546 on the Internet. However, implementation of this method must be 547 mindful of security and privacy concerns. 549 There are two types of security concerns: potential harm caused by 550 the measurements and potential harm to the measurements. 552 Harm caused by the measurement: Alternate Marking implies 553 modifications on the fly to an Option Header of IPv6 packets by the 554 source node but this must be performed in a way that does not alter 555 the quality of service experienced by the packets and that preserves 556 stability and performance of routers doing the measurements. The 557 advantage of the Alternate Marking method is that the marking bits 558 are the only information that is exchanged between the network nodes. 559 Therefore, network reconnaissance through passive eavesdropping on 560 data-plane traffic does not allow attackers to gain information about 561 the network performance. Moreover, Alternate Marking should usually 562 be applied in a controlled domain and this also helps to limit the 563 problem. 565 Harm to the Measurement: Alternate Marking measurements could be 566 harmed by routers altering the marking of the packets or by an 567 attacker injecting artificial traffic. Since the measurement itself 568 may be affected by network nodes along the path intentionally 569 altering the value of the marking bits of IPv6 packets, the Alternate 570 Marking should be applied in the context of a controlled domain, 571 where the network nodes are locally administered and this type of 572 attack can be avoided. Indeed the source and destination addresses 573 are within the controlled domain and therefore it is unlikely subject 574 to hijacking of packets, because it is possible to filter external 575 packets at the domain boundaries. In addition, an attacker cannot 576 gain information about network performance from a single monitoring 577 point; it must use synchronized monitoring points at multiple points 578 on the path, because they have to do the same kind of measurement and 579 aggregation as Alternate Marking requires. 581 Additionally, it is to be noted that Alternate Marking bits are 582 carried by the Options Header and it may have some impact on the 583 packet sizes for the monitored flow and on the path MTU, since some 584 packets might exceed the MTU. Anyway the relative small size (48 bit 585 in total) of these Option Headers and its application to a controlled 586 domain help to mitigate the problem. 588 The privacy concerns of network measurement are limited because the 589 method only relies on information contained in the Option Header 590 without any release of user data. Although information in the Option 591 Header is metadata that can be used to compromise the privacy of 592 users, the limited marking technique seems unlikely to substantially 593 increase the existing privacy risks from header or encapsulation 594 metadata. 596 The Alternate Marking application described in this document relies 597 on an time synchronization protocol. Thus, by attacking the time 598 protocol, an attacker can potentially compromise the integrity of the 599 measurement. A detailed discussion about the threats against time 600 protocols and how to mitigate them is presented in [RFC7384]. 602 7. IANA Considerations 604 The Option Type should be assigned in IANA's "Destination Options and 605 Hop-by-Hop Options" registry. 607 This draft requests the following IPv6 Option Type assignments from 608 the Destination Options and Hop-by-Hop Options sub-registry of 609 Internet Protocol Version 6 (IPv6) Parameters 610 (https://www.iana.org/assignments/ipv6-parameters/). 612 Hex Value Binary Value Description Reference 613 act chg rest 614 ---------------------------------------------------------------- 615 TBD 00 0 tbd AltMark [This draft] 617 8. Acknowledgements 619 The authors would like to thank Bob Hinden, Ole Troan, Tom Herbert, 620 Stefano Previdi, Brian Carpenter, Eric Vyncke, Ron Bonica, Greg 621 Mirsky for the precious comments and suggestions. 623 9. References 625 9.1. Normative References 627 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 628 Requirement Levels", BCP 14, RFC 2119, 629 DOI 10.17487/RFC2119, March 1997, 630 . 632 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 633 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 634 May 2017, . 636 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 637 (IPv6) Specification", STD 86, RFC 8200, 638 DOI 10.17487/RFC8200, July 2017, 639 . 641 9.2. Informative References 643 [I-D.fioccola-v6ops-ipv6-alt-mark] 644 Fioccola, G., Velde, G. V. D., Cociglio, M., and P. Muley, 645 "IPv6 Performance Measurement with Alternate Marking 646 Method", draft-fioccola-v6ops-ipv6-alt-mark-01 (work in 647 progress), June 2018. 649 [I-D.hinden-6man-hbh-processing] 650 Hinden, R. M. and G. Fairhurst, "IPv6 Hop-by-Hop Options 651 Processing Procedures", draft-hinden-6man-hbh- 652 processing-00 (work in progress), December 2020. 654 [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing 655 Architecture", RFC 4291, DOI 10.17487/RFC4291, February 656 2006, . 658 [RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme, 659 "IPv6 Flow Label Specification", RFC 6437, 660 DOI 10.17487/RFC6437, November 2011, 661 . 663 [RFC7045] Carpenter, B. and S. Jiang, "Transmission and Processing 664 of IPv6 Extension Headers", RFC 7045, 665 DOI 10.17487/RFC7045, December 2013, 666 . 668 [RFC7384] Mizrahi, T., "Security Requirements of Time Protocols in 669 Packet Switched Networks", RFC 7384, DOI 10.17487/RFC7384, 670 October 2014, . 672 [RFC8321] Fioccola, G., Ed., Capello, A., Cociglio, M., Castaldelli, 673 L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi, 674 "Alternate-Marking Method for Passive and Hybrid 675 Performance Monitoring", RFC 8321, DOI 10.17487/RFC8321, 676 January 2018, . 678 [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., 679 Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header 680 (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, 681 . 683 [RFC8799] Carpenter, B. and B. Liu, "Limited Domains and Internet 684 Protocols", RFC 8799, DOI 10.17487/RFC8799, July 2020, 685 . 687 [RFC8889] Fioccola, G., Ed., Cociglio, M., Sapio, A., and R. Sisto, 688 "Multipoint Alternate-Marking Method for Passive and 689 Hybrid Performance Monitoring", RFC 8889, 690 DOI 10.17487/RFC8889, August 2020, 691 . 693 Authors' Addresses 695 Giuseppe Fioccola 696 Huawei 697 Riesstrasse, 25 698 Munich 80992 699 Germany 701 Email: giuseppe.fioccola@huawei.com 702 Tianran Zhou 703 Huawei 704 156 Beiqing Rd. 705 Beijing 100095 706 China 708 Email: zhoutianran@huawei.com 710 Mauro Cociglio 711 Telecom Italia 712 Via Reiss Romoli, 274 713 Torino 10148 714 Italy 716 Email: mauro.cociglio@telecomitalia.it 718 Fengwei Qin 719 China Mobile 720 32 Xuanwumenxi Ave. 721 Beijing 100032 722 China 724 Email: qinfengwei@chinamobile.com 726 Ran Pang 727 China Unicom 728 9 Shouti South Rd. 729 Beijing 100089 730 China 732 Email: pangran@chinaunicom.cn