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