| < draft-ietf-6man-ipv6-alt-mark-02.txt | draft-ietf-6man-ipv6-alt-mark-03.txt > | |||
|---|---|---|---|---|
| 6MAN Working Group G. Fioccola | 6MAN Working Group G. Fioccola | |||
| Internet-Draft T. Zhou | Internet-Draft T. Zhou | |||
| Intended status: Standards Track Huawei | Intended status: Standards Track Huawei | |||
| Expires: April 16, 2021 M. Cociglio | Expires: August 1, 2021 M. Cociglio | |||
| Telecom Italia | Telecom Italia | |||
| F. Qin | F. Qin | |||
| China Mobile | China Mobile | |||
| R. Pang | R. Pang | |||
| China Unicom | China Unicom | |||
| October 13, 2020 | January 28, 2021 | |||
| IPv6 Application of the Alternate Marking Method | IPv6 Application of the Alternate Marking Method | |||
| draft-ietf-6man-ipv6-alt-mark-02 | draft-ietf-6man-ipv6-alt-mark-03 | |||
| Abstract | Abstract | |||
| This document describes how the Alternate Marking Method can be used | This document describes how the Alternate Marking Method can be used | |||
| as the passive performance measurement tool in an IPv6 domain and | as the passive performance measurement tool in an IPv6 domain and | |||
| reports implementation considerations. It proposes how to define a | reports implementation considerations. It proposes how to define a | |||
| new Extension Header Option to encode alternate marking technique and | new Extension Header Option to encode alternate marking technique and | |||
| both Hop-by-Hop Options Header and Destination Options Header are | both Hop-by-Hop Options Header and Destination Options Header are | |||
| considered. | considered. | |||
| skipping to change at page 1, line 49 ¶ | skipping to change at page 1, line 49 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on April 16, 2021. | This Internet-Draft will expire on August 1, 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Alternate Marking application to IPv6 . . . . . . . . . . . . 3 | 2. Alternate Marking application to IPv6 . . . . . . . . . . . . 3 | |||
| 3. Definition of the AltMark Option . . . . . . . . . . . . . . 4 | 2.1. Controlled Domain . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.1. Data Fields Format . . . . . . . . . . . . . . . . . . . 4 | 3. Definition of the AltMark Option . . . . . . . . . . . . . . 5 | |||
| 4. Use of the AltMark Option . . . . . . . . . . . . . . . . . . 5 | 3.1. Data Fields Format . . . . . . . . . . . . . . . . . . . 5 | |||
| 5. Alternate Marking Method Operation . . . . . . . . . . . . . 7 | 4. Use of the AltMark Option . . . . . . . . . . . . . . . . . . 6 | |||
| 5.1. Packet Loss Measurement . . . . . . . . . . . . . . . . . 7 | 5. Alternate Marking Method Operation . . . . . . . . . . . . . 8 | |||
| 5.2. Packet Delay Measurement . . . . . . . . . . . . . . . . 8 | 5.1. Packet Loss Measurement . . . . . . . . . . . . . . . . . 8 | |||
| 5.2. Packet Delay Measurement . . . . . . . . . . . . . . . . 9 | ||||
| 5.3. Flow Monitoring Identification . . . . . . . . . . . . . 10 | 5.3. Flow Monitoring Identification . . . . . . . . . . . . . 10 | |||
| 5.3.1. Uniqueness of FlowMonID . . . . . . . . . . . . . . . 10 | 5.3.1. Uniqueness of FlowMonID . . . . . . . . . . . . . . . 11 | |||
| 5.4. Multipoint and Clustered Alternate Marking . . . . . . . 11 | 5.4. Multipoint and Clustered Alternate Marking . . . . . . . 12 | |||
| 5.5. Data Collection and Calculation . . . . . . . . . . . . . 11 | 5.5. Data Collection and Calculation . . . . . . . . . . . . . 12 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 | 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 13 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 14 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 13 | 9.2. Informative References . . . . . . . . . . . . . . . . . 14 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 1. Introduction | 1. Introduction | |||
| [RFC8321] and [RFC8889] describe a passive performance measurement | [RFC8321] and [RFC8889] describe a passive performance measurement | |||
| method, which can be used to measure packet loss, latency and jitter | method, which can be used to measure packet loss, latency and jitter | |||
| on live traffic. Since this method is based on marking consecutive | on live traffic. Since this method is based on marking consecutive | |||
| batches of packets, the method is often referred as Alternate Marking | batches of packets, the method is often referred as Alternate Marking | |||
| Method. | Method. | |||
| The Alternate Marking Method has become mature to be implemented and | The Alternate Marking Method has became mature to be implemented and | |||
| encoded in the IPv6 protocol and this document defines how it can be | encoded in the IPv6 protocol and this document defines how it can be | |||
| used to measure packet loss and delay metrics in IPv6. | used to measure packet loss and delay metrics in IPv6. | |||
| The format of the IPv6 addresses is defined in [RFC4291] while | The format of the IPv6 addresses is defined in [RFC4291] while | |||
| [RFC8200] defines the IPv6 Header, including a 20-bit Flow Label and | [RFC8200] defines the IPv6 Header, including a 20-bit Flow Label and | |||
| the IPv6 Extension Headers. The Segment Routing Header (SRH) is | the IPv6 Extension Headers. The Segment Routing Header (SRH) is | |||
| defined in [RFC8754] to apply Segment Routing over IPv6 dataplane | defined in [RFC8754] to apply Segment Routing over IPv6 dataplane | |||
| (SRv6). | (SRv6). | |||
| [I-D.fioccola-v6ops-ipv6-alt-mark] reported a summary on the possible | [I-D.fioccola-v6ops-ipv6-alt-mark] summarizes the possible | |||
| implementation options for the application of the Alternate Marking | implementation options for the application of the Alternate Marking | |||
| Method in an IPv6 domain. This document, starting from the outcome | Method in an IPv6 domain. This document, starting from the outcome | |||
| of [I-D.fioccola-v6ops-ipv6-alt-mark], introduces a new TLV that can | of [I-D.fioccola-v6ops-ipv6-alt-mark], introduces a new TLV that can | |||
| be encoded in the Options Headers (both Hop-by-Hop or Destination) | be encoded in the Options Headers (both Hop-by-Hop or Destination) | |||
| for the purpose of the Alternate Marking Method application in an | for the purpose of the Alternate Marking Method application in an | |||
| IPv6 domain. The case of SRH ([RFC8754]) is also discussed, anyway | IPv6 domain. The case of SRH ([RFC8754]) is also discussed, anyway | |||
| this is valid for all the types of Routing Header (RH). | this is valid for all the types of Routing Header (RH). | |||
| 2. Alternate Marking application to IPv6 | 2. Alternate Marking application to IPv6 | |||
| The Alternate Marking Method requires a marking field. As mentioned, | The Alternate Marking Method requires a marking field. As mentioned, | |||
| several alternatives have been analysed in | several alternatives have been analysed in | |||
| [I-D.fioccola-v6ops-ipv6-alt-mark] such as IPv6 Extension Headers, | [I-D.fioccola-v6ops-ipv6-alt-mark] such as IPv6 Extension Headers, | |||
| IPv6 Address and Flow Label. | IPv6 Address and Flow Label. | |||
| In consequence to the previous document and to the discussion within | Consequently, it is possible to state that the only robust choice is | |||
| the community, it is possible to state that the only correct and | to standardize a new Hop-by-Hop or Destination Option. | |||
| robust choice that can actually be standardized would be the use of a | ||||
| new TLV to be encoded in the Options Header (Hop-by-Hop or | ||||
| Destination Option). | ||||
| This approach is compliant with [RFC8200] indeed the Alternate | This approach is compliant with [RFC8200] indeed the Alternate | |||
| Marking application to IPv6 involves the following operations: | Marking application to IPv6 involves the following operations: | |||
| o The source node is the only one that writes the Option Header to | o The source node is the only one that writes the Option Header to | |||
| mark alternately the flow (for both Hop-by-Hop and Destination | mark alternately the flow (for both Hop-by-Hop and Destination | |||
| Option). | Option). | |||
| o In case of Hop-by-Hop Option Header carrying Alternate Marking | o In case of Hop-by-Hop Option Header carrying Alternate Marking | |||
| bits, it is not inserted or deleted, but can be read by any node | bits, it is not inserted or deleted, but can be read by any node | |||
| along the path. The intermediate nodes may be configured to | along the path. The intermediate nodes may be configured to | |||
| support this Option or not. Anyway this does not impact the | support this Option or not. Anyway this does not impact the | |||
| traffic since the measurement can be done only for the nodes | traffic throughput since the measurement can be done only for the | |||
| configured to read the Option. | nodes configured to read the Option. | |||
| o In case of Destination Option Header carrying Alternate Marking | o In case of Destination Option Header carrying Alternate Marking | |||
| bits, it is not processed, inserted, or deleted by any node along | bits, it is not processed, inserted, or deleted by any node along | |||
| the path until the packet reaches the destination node. Note | the path until the packet reaches the destination node. Note | |||
| that, if there is also a Routing Header (RH), any visited | that, if there is also a Routing Header (RH), any visited | |||
| destination in the route list can process the Option Header. | destination in the route list can process the Option Header. | |||
| Hop-by-Hop Option Header is also useful to signal to routers on the | Hop-by-Hop Option Header is also useful to signal to routers on the | |||
| path to process the Alternate Marking, anyway it is to be expected | path to process the Alternate Marking, anyway it is to be expected | |||
| that some routers cannot process it unless explicitly configured. | that some routers cannot process it unless explicitly configured. | |||
| The optimization of both implementation and scaling of the Alternate | The optimization of both implementation and scaling of the Alternate | |||
| Marking Method is also considered and a way to identify flows is | Marking Method is also considered and a way to identify flows is | |||
| required. The Flow Monitoring Identification field (FlowMonID), as | required. The Flow Monitoring Identification field (FlowMonID), as | |||
| introduced in the next sections, goes in this direction and it is | introduced in the next sections, goes in this direction and it is | |||
| used to identify a monitored flow. | used to identify a monitored flow. | |||
| Note that the FlowMonID is different from the Flow Label field of the | Note that the FlowMonID is different from the Flow Label field of the | |||
| IPv6 Header ([RFC8200]). Flow Label is used for application service, | IPv6 Header ([RFC8200]). Flow Label is used for load-balancing/equal | |||
| like load-balancing/equal cost multi-path (LB/ECMP) and QoS. | cost multi-path (LB/ECMP). Instead, FlowMonID is only used to | |||
| Instead, FlowMonID is only used to identify the monitored flow. The | identify the monitored flow. The reuse of flow label field for | |||
| reuse of flow label field for identifying monitored flows is not | identifying monitored flows is not considered since it may change the | |||
| considered since it may change the application intent and forwarding | application intent and forwarding behaviour. Furthermore the flow | |||
| behaviour. Furthermore the flow label may be changed en route and | label may be changed en route and this may also violate the | |||
| this may also violate the measurement task. Those reasons make the | measurement task. Also, since the flow label is pseudo-random, there | |||
| is always a finite probability of collision. Those reasons make the | ||||
| definition of the FlowMonID necessary for IPv6. Flow Label and | definition of the FlowMonID necessary for IPv6. Flow Label and | |||
| FlowMonID within the same packet have different scope, identify | FlowMonID within the same packet have different scope, identify | |||
| different flows, and associate different uses. | different flows, and associate different uses. | |||
| An important point that will also be discussed in this document is | An important point that will also be discussed in this document is | |||
| the the uniqueness of the FlowMonID and how to allow disambiguation | the the uniqueness of the FlowMonID and how to allow disambiguation | |||
| of the FlowMonID in case of collision. [RFC6437] states that the | of the FlowMonID in case of collision. [RFC6437] states that the | |||
| Flow Label cannot be considered alone to avoid ambiguity since it | Flow Label cannot be considered alone to avoid ambiguity since it | |||
| could be accidentally or intentionally changed en route for | could be accidentally or intentionally changed en route for | |||
| compelling operational security reasons and this could also happen to | compelling operational security reasons and this could also happen to | |||
| the IP addresses that can change due to NAT. But the Alternate | the IP addresses that can change due to NAT. But the Alternate | |||
| Marking is usually applied in a controlled domain, which would not | Marking is usually applied in a controlled domain, which would not | |||
| have NAT and there is no security issue that would necessitate | have NAT and there is no security issue that would necessitate | |||
| rewriting Flow Labels. So, for the purposes of this document, both | rewriting Flow Labels. So, for the purposes of this document, both | |||
| IP addresses and Flow Label should not change in flight and, in some | IP addresses and Flow Label should not change in flight and, in some | |||
| cases, they could be considered together with the FlowMonID for | cases, they could be considered together with the FlowMonID for | |||
| disambiguation. | disambiguation. | |||
| 2.1. Controlled Domain | ||||
| [RFC8799] introduces the concept of specific limited domain solutions | ||||
| and, in this regard, it is reported the IPv6 Application of the | ||||
| Alternate Marking Method as an example. | ||||
| IPv6 has much more flexibility than IPv4 and innovative applications | ||||
| have been proposed, but for a number of reasons, such as the options | ||||
| supported, the style of network management and security requirements, | ||||
| it is suggested to limit some of these applications to a controlled | ||||
| domain. This is also the case of the Alternate Marking application | ||||
| to IPv6 as assumed hereinafter. | ||||
| 3. Definition of the AltMark Option | 3. Definition of the AltMark Option | |||
| The desired choice is to define a new TLV for the Options Extension | The desired choice is to define a new TLV for the Options Extension | |||
| Headers, carrying the data fields dedicated to the alternate marking | Headers, carrying the data fields dedicated to the alternate marking | |||
| method. | method. | |||
| 3.1. Data Fields Format | 3.1. Data Fields Format | |||
| The following figure shows the data fields format for enhanced | The following figure shows the data fields format for enhanced | |||
| alternate marking TLV. This AltMark data is expected to be | alternate marking TLV. This AltMark data is expected to be | |||
| skipping to change at page 5, line 50 ¶ | skipping to change at page 6, line 17 ¶ | |||
| 4. Use of the AltMark Option | 4. Use of the AltMark Option | |||
| The AltMark Option is the best way to implement the Alternate Marking | The AltMark Option is the best way to implement the Alternate Marking | |||
| method and can be carried by the Hop-by-Hop Options header and the | method and can be carried by the Hop-by-Hop Options header and the | |||
| Destination Options header. In case of Destination Option, it is | Destination Options header. In case of Destination Option, it is | |||
| processed only by the source and destination nodes: the source node | processed only by the source and destination nodes: the source node | |||
| inserts and the destination node removes it. While, in case of Hop- | inserts and the destination node removes it. While, in case of Hop- | |||
| by-Hop Option, it may be examined by any node along the path, if | by-Hop Option, it may be examined by any node along the path, if | |||
| explicitly configured to do so. In this way an unrecognized Hop-by- | explicitly configured to do so. In this way an unrecognized Hop-by- | |||
| Hop Option may be just ignored without impacting the traffic. | Hop Option may be just ignored without any impact. | |||
| So it is important to highlight that the Option Layout can be used | So it is important to highlight that the Option Layout can be used | |||
| both as Destination Option and as Hop-by-Hop Option depending on the | both as Destination Option and as Hop-by-Hop Option depending on the | |||
| Use Cases and it is based on the chosen type of performance | Use Cases and it is based on the chosen type of performance | |||
| measurement. In general, it is needed to perform both end to end and | measurement. In general, it is needed to perform both end to end and | |||
| hop by hop measurements, and the alternate marking methodology | hop by hop measurements, and the alternate marking methodology | |||
| allows, by definition, both performance measurements. Anyway, in | allows, by definition, both performance measurements. Anyway, in | |||
| many cases the end-to-end measurement is not enough and it is | many cases the end-to-end measurement is not enough and it is | |||
| required also the hop-by-hop measurement, so the most complete choice | required also the hop-by-hop measurement, so the most complete choice | |||
| is the Hop-by-Hop Options Header. | is the Hop-by-Hop Options Header. | |||
| skipping to change at page 6, line 42 ¶ | skipping to change at page 7, line 7 ¶ | |||
| leverages the Segment Routing header which consists of a new type of | leverages the Segment Routing header which consists of a new type of | |||
| routing header. Like any other use case of IPv6, Hop-by-Hop and | routing header. Like any other use case of IPv6, Hop-by-Hop and | |||
| Destination Options are useable when SRv6 header is present. Because | Destination Options are useable when SRv6 header is present. Because | |||
| SRv6 is implemented through a Segment Routing Header (SRH), | SRv6 is implemented through a Segment Routing Header (SRH), | |||
| Destination Options before the Routing Header are processed by each | Destination Options before the Routing Header are processed by each | |||
| destination in the route list, that means, in case of SRH, by every | destination in the route list, that means, in case of SRH, by every | |||
| node that is an identity in the SR path. | node that is an identity in the SR path. | |||
| In summary, it is possible to list the alternative possibilities: | In summary, it is possible to list the alternative possibilities: | |||
| o Destination Option => measurement only by node in Destination | o Destination Option not preceding a Routing Header => measurement | |||
| Address. | only by node in Destination Address. | |||
| o Hop-by-Hop Option => every router on the path with feature | o Hop-by-Hop Option => every router on the path with feature | |||
| enabled. | enabled. | |||
| o Destination Option + any Routing Header => every destination node | o Destination Option preceding a Routing Header => every destination | |||
| in the route list. | node in the route list. | |||
| In general, Hop-by-Hop and Destination Options are the most suitable | In general, Hop-by-Hop and Destination Options are the most suitable | |||
| ways to implement Alternate Marking. | ways to implement Alternate Marking. | |||
| It is worth mentioning that new Hop-by-Hop Options are not strongly | It is worth mentioning that new Hop-by-Hop Options are not strongly | |||
| recommended in [RFC7045] and [RFC8200], unless there is a clear | recommended in [RFC7045] and [RFC8200], unless there is a clear | |||
| justification to standardize it, because nodes may be configured to | justification to standardize it, because nodes may be configured to | |||
| ignore the Options Header, drop or assign packets containing an | ignore the Options Header, drop or assign packets containing an | |||
| Options Header to a slow processing path. In case of the AltMark | Options Header to a slow processing path. In case of the AltMark | |||
| data fields described in this document, the motivation to standardize | data fields described in this document, the motivation to standardize | |||
| a new Hop-by-Hop Option is that it is needed for OAM. An | a new Hop-by-Hop Option is that it is needed for OAM. An | |||
| intermediate node can read it or not but this does not affect the | intermediate node can read it or not but this does not affect the | |||
| packet behavior. The source node is the only one that writes the | packet behavior. The source node is the only one that writes the | |||
| Hop-by-Hop Option to mark alternately the flow, so, the performance | Hop-by-Hop Option to mark alternately the flow, so, the performance | |||
| measurement can be done for those nodes configured to read this | measurement can be done for those nodes configured to read this | |||
| Option, while the others are simply not considered for the metrics. | Option, while the others are simply not considered for the metrics. | |||
| 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]. | ||||
| In addition to the previous alternatives, for legacy network it is | In addition to the previous alternatives, for legacy network it is | |||
| possible to mention a non-conventional application of the Destination | possible to mention a non-conventional application of the Destination | |||
| Option for the hop by hop usage. [RFC8200] defines that the nodes | Option for the hop by hop usage. [RFC8200] defines that the nodes | |||
| along a path examine and process the Hop-by-Hop Options header only | along a path examine and process the Hop-by-Hop Options header only | |||
| if Hop-by-Hop processing is explicitly configured. On the other | if Hop-by-Hop processing is explicitly configured. On the other | |||
| hand, using the Destination Option for hop by hop action would cause | hand, using the Destination Option for hop by hop action would cause | |||
| worse performance than Hop-by-Hop. The only motivation for the hop | worse performance than Hop-by-Hop. The only motivation for the hop | |||
| by hop usage of Destination Options can be for compatibility reasons | by hop usage of Destination Options can be for compatibility reasons | |||
| but in general it is not recommended. | but in general it is not recommended. | |||
| 5. Alternate Marking Method Operation | 5. Alternate Marking Method Operation | |||
| This section describes how the method operates. [RFC8321] introduces | This section describes how the method operates. [RFC8321] introduces | |||
| several alternatives but in this section the most applicable methods | several alternatives but in this section the most applicable methods | |||
| are reported and a new fied is introduced to facilitate the | are reported and a new field is introduced to facilitate the | |||
| deployment and improve the scalability. | deployment and improve the scalability. | |||
| 5.1. Packet Loss Measurement | 5.1. Packet Loss Measurement | |||
| The measurement of the packet loss is really straightforward. The | The measurement of the packet loss is really straightforward. The | |||
| packets of the flow are grouped into batches, and all the packets | packets of the flow are grouped into batches, and all the packets | |||
| within a batch are marked by setting the L bit (Loss flag) to a same | within a batch are marked by setting the L bit (Loss flag) to a same | |||
| value. The source node can switch the value of the L bit between 0 | value. The source node can switch the value of the L bit between 0 | |||
| and 1 after a fixed number of packets or according to a fixed timer, | and 1 after a fixed number of packets or according to a fixed timer, | |||
| and this depends on the implementation. By counting the number of | and this depends on the implementation. By counting the number of | |||
| skipping to change at page 11, line 5 ¶ | skipping to change at page 11, line 40 ¶ | |||
| it is possible to consider the hashed 3-tuple Flow Label, Source and | it is possible to consider the hashed 3-tuple Flow Label, Source and | |||
| Destination addresses) or the FlowMonID size could be increased. | Destination addresses) or the FlowMonID size could be increased. | |||
| This issue is more visible when the FlowMonID is pseudo randomly | This issue is more visible when the FlowMonID is pseudo randomly | |||
| generated by the source node and there needs to tag it with | generated by the source node and there needs to tag it with | |||
| additional flow information to allow disambiguation. While, in case | additional flow information to allow disambiguation. While, in case | |||
| of a centralized controller, the controller should set FlowMonID by | of a centralized controller, the controller should set FlowMonID by | |||
| considering these aspects and instruct the nodes properly in order to | considering these aspects and instruct the nodes properly in order to | |||
| guarantee its uniqueness. | guarantee its uniqueness. | |||
| Anyway, it is worth highlighting that the uniqueness of FlowMonID may | ||||
| not be a problem and a low rate of ambiguous FlowMonIDs can be | ||||
| acceptable, since this does not cause significant harm to the | ||||
| operators or their clients and this harm may not justify the | ||||
| complications of avoiding it. But, for large scale measurements | ||||
| where it is possible to monitor a big number of flows, the | ||||
| disambiguation of the Flow Monitoring Identification field is | ||||
| something to take into account. | ||||
| 5.4. Multipoint and Clustered Alternate Marking | 5.4. Multipoint and Clustered Alternate Marking | |||
| The Alternate Marking method can also be extended to any kind of | The Alternate Marking method can also be extended to any kind of | |||
| multipoint to multipoint paths, and the network clustering approach | multipoint to multipoint paths, and the network clustering approach | |||
| allows a flexible and optimized performance measurement, as described | allows a flexible and optimized performance measurement, as described | |||
| in [RFC8889]. | in [RFC8889]. | |||
| The Cluster is the smallest identifiable subnetwork of the entire | The Cluster is the smallest identifiable subnetwork of the entire | |||
| Network graph that still satisfies the condition that the number of | Network graph that still satisfies the condition that the number of | |||
| packets that goes in is the same that goes out. With network | packets that goes in is the same that goes out. With network | |||
| skipping to change at page 12, line 18 ¶ | skipping to change at page 13, line 18 ¶ | |||
| where the network nodes are locally administered and this type of | where the network nodes are locally administered and this type of | |||
| attack can be avoided. Indeed the source and destination addresses | attack can be avoided. Indeed the source and destination addresses | |||
| are within the controlled domain and therefore it is unlikely subject | are within the controlled domain and therefore it is unlikely subject | |||
| to hijacking of packets, because it is possible to filter external | to hijacking of packets, because it is possible to filter external | |||
| packets at the domain boundaries. In addition, an attacker cannot | packets at the domain boundaries. In addition, an attacker cannot | |||
| gain information about network performance from a single monitoring | gain information about network performance from a single monitoring | |||
| point; it must use synchronized monitoring points at multiple points | point; it must use synchronized monitoring points at multiple points | |||
| on the path, because they have to do the same kind of measurement and | on the path, because they have to do the same kind of measurement and | |||
| aggregation as Alternate Marking requires. | aggregation as Alternate Marking requires. | |||
| Additionally, it is to be noted that Alternate Marking bits are | ||||
| carried by the Options Header and it may have some impact on the | ||||
| packet sizes for the monitored flow and on the path MTU, since some | ||||
| packets might exceed the MTU. Anyway the relative small size (48 bit | ||||
| in total) of these Option Headers and its application to a controlled | ||||
| domain help to mitigate the problem. | ||||
| The privacy concerns of network measurement are limited because the | The privacy concerns of network measurement are limited because the | |||
| method only relies on information contained in the Option Header | method only relies on information contained in the Option Header | |||
| without any release of user data. Although information in the Option | without any release of user data. Although information in the Option | |||
| Header is metadata that can be used to compromise the privacy of | Header is metadata that can be used to compromise the privacy of | |||
| users, the limited marking technique seems unlikely to substantially | users, the limited marking technique seems unlikely to substantially | |||
| increase the existing privacy risks from header or encapsulation | increase the existing privacy risks from header or encapsulation | |||
| metadata. | metadata. | |||
| The Alternate Marking application described in this document relies | The Alternate Marking application described in this document relies | |||
| on an time synchronization protocol. Thus, by attacking the time | on an time synchronization protocol. Thus, by attacking the time | |||
| skipping to change at page 13, line 8 ¶ | skipping to change at page 14, line 13 ¶ | |||
| (https://www.iana.org/assignments/ipv6-parameters/). | (https://www.iana.org/assignments/ipv6-parameters/). | |||
| Hex Value Binary Value Description Reference | Hex Value Binary Value Description Reference | |||
| act chg rest | act chg rest | |||
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
| TBD 00 0 tbd AltMark [This draft] | TBD 00 0 tbd AltMark [This draft] | |||
| 8. Acknowledgements | 8. Acknowledgements | |||
| The authors would like to thank Bob Hinden, Ole Troan, Tom Herbert, | The authors would like to thank Bob Hinden, Ole Troan, Tom Herbert, | |||
| Stefano Previdi, Brian Carpenter, Eric Vyncke, Ron Bonica for the | Stefano Previdi, Brian Carpenter, Eric Vyncke, Ron Bonica, Greg | |||
| precious comments and suggestions. | Mirsky for the precious comments and suggestions. | |||
| 9. References | 9. References | |||
| 9.1. Normative References | 9.1. Normative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| skipping to change at page 13, line 37 ¶ | skipping to change at page 14, line 42 ¶ | |||
| <https://www.rfc-editor.org/info/rfc8200>. | <https://www.rfc-editor.org/info/rfc8200>. | |||
| 9.2. Informative References | 9.2. Informative References | |||
| [I-D.fioccola-v6ops-ipv6-alt-mark] | [I-D.fioccola-v6ops-ipv6-alt-mark] | |||
| Fioccola, G., Velde, G., Cociglio, M., and P. Muley, "IPv6 | Fioccola, G., Velde, G., Cociglio, M., and P. Muley, "IPv6 | |||
| Performance Measurement with Alternate Marking Method", | Performance Measurement with Alternate Marking Method", | |||
| draft-fioccola-v6ops-ipv6-alt-mark-01 (work in progress), | draft-fioccola-v6ops-ipv6-alt-mark-01 (work in progress), | |||
| June 2018. | June 2018. | |||
| [I-D.hinden-6man-hbh-processing] | ||||
| Hinden, R. and G. Fairhurst, "IPv6 Hop-by-Hop Options | ||||
| Processing Procedures", draft-hinden-6man-hbh- | ||||
| processing-00 (work in progress), December 2020. | ||||
| [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing | [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing | |||
| Architecture", RFC 4291, DOI 10.17487/RFC4291, February | Architecture", RFC 4291, DOI 10.17487/RFC4291, February | |||
| 2006, <https://www.rfc-editor.org/info/rfc4291>. | 2006, <https://www.rfc-editor.org/info/rfc4291>. | |||
| [RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme, | [RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme, | |||
| "IPv6 Flow Label Specification", RFC 6437, | "IPv6 Flow Label Specification", RFC 6437, | |||
| DOI 10.17487/RFC6437, November 2011, | DOI 10.17487/RFC6437, November 2011, | |||
| <https://www.rfc-editor.org/info/rfc6437>. | <https://www.rfc-editor.org/info/rfc6437>. | |||
| [RFC7045] Carpenter, B. and S. Jiang, "Transmission and Processing | [RFC7045] Carpenter, B. and S. Jiang, "Transmission and Processing | |||
| skipping to change at page 14, line 20 ¶ | skipping to change at page 15, line 30 ¶ | |||
| L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi, | L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi, | |||
| "Alternate-Marking Method for Passive and Hybrid | "Alternate-Marking Method for Passive and Hybrid | |||
| Performance Monitoring", RFC 8321, DOI 10.17487/RFC8321, | Performance Monitoring", RFC 8321, DOI 10.17487/RFC8321, | |||
| January 2018, <https://www.rfc-editor.org/info/rfc8321>. | January 2018, <https://www.rfc-editor.org/info/rfc8321>. | |||
| [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., | [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., | |||
| Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | |||
| (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, | (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, | |||
| <https://www.rfc-editor.org/info/rfc8754>. | <https://www.rfc-editor.org/info/rfc8754>. | |||
| [RFC8799] Carpenter, B. and B. Liu, "Limited Domains and Internet | ||||
| Protocols", RFC 8799, DOI 10.17487/RFC8799, July 2020, | ||||
| <https://www.rfc-editor.org/info/rfc8799>. | ||||
| [RFC8889] Fioccola, G., Ed., Cociglio, M., Sapio, A., and R. Sisto, | [RFC8889] Fioccola, G., Ed., Cociglio, M., Sapio, A., and R. Sisto, | |||
| "Multipoint Alternate-Marking Method for Passive and | "Multipoint Alternate-Marking Method for Passive and | |||
| Hybrid Performance Monitoring", RFC 8889, | Hybrid Performance Monitoring", RFC 8889, | |||
| DOI 10.17487/RFC8889, August 2020, | DOI 10.17487/RFC8889, August 2020, | |||
| <https://www.rfc-editor.org/info/rfc8889>. | <https://www.rfc-editor.org/info/rfc8889>. | |||
| Authors' Addresses | Authors' Addresses | |||
| Giuseppe Fioccola | Giuseppe Fioccola | |||
| Huawei | Huawei | |||
| End of changes. 23 change blocks. | ||||
| 45 lines changed or deleted | 97 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||