| < draft-ietf-6man-ipv6-alt-mark-08.txt | draft-ietf-6man-ipv6-alt-mark-09.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: January 27, 2022 M. Cociglio | Expires: February 28, 2022 M. Cociglio | |||
| Telecom Italia | Telecom Italia | |||
| F. Qin | F. Qin | |||
| China Mobile | China Mobile | |||
| R. Pang | R. Pang | |||
| China Unicom | China Unicom | |||
| July 26, 2021 | August 27, 2021 | |||
| IPv6 Application of the Alternate Marking Method | IPv6 Application of the Alternate Marking Method | |||
| draft-ietf-6man-ipv6-alt-mark-08 | draft-ietf-6man-ipv6-alt-mark-09 | |||
| 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 a passive performance measurement tool in an IPv6 domain. It | as a passive performance measurement tool in an IPv6 domain. It | |||
| defines a new Extension Header Option to encode Alternate Marking | defines a new Extension Header Option to encode Alternate Marking | |||
| information in both the Hop-by-Hop Options Header and Destination | information in both the Hop-by-Hop Options Header and Destination | |||
| Options Header. | Options Header. | |||
| Status of This Memo | Status of This Memo | |||
| skipping to change at page 1, line 40 ¶ | skipping to change at page 1, line 40 ¶ | |||
| 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 January 27, 2022. | This Internet-Draft will expire on February 28, 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 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 | |||
| skipping to change at page 2, line 18 ¶ | skipping to change at page 2, line 18 ¶ | |||
| 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 | |||
| 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 | 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Alternate Marking application to IPv6 . . . . . . . . . . . . 3 | 2. Alternate Marking application to IPv6 . . . . . . . . . . . . 3 | |||
| 2.1. Controlled Domain . . . . . . . . . . . . . . . . . . . . 5 | 2.1. Controlled Domain . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3. Definition of the AltMark Option . . . . . . . . . . . . . . 6 | 2.1.1. Alternate Marking Measurement Domain . . . . . . . . 6 | |||
| 3.1. Data Fields Format . . . . . . . . . . . . . . . . . . . 6 | 3. Definition of the AltMark Option . . . . . . . . . . . . . . 7 | |||
| 4. Use of the AltMark Option . . . . . . . . . . . . . . . . . . 7 | 3.1. Data Fields Format . . . . . . . . . . . . . . . . . . . 7 | |||
| 5. Alternate Marking Method Operation . . . . . . . . . . . . . 9 | 4. Use of the AltMark Option . . . . . . . . . . . . . . . . . . 8 | |||
| 5.1. Packet Loss Measurement . . . . . . . . . . . . . . . . . 9 | 5. Alternate Marking Method Operation . . . . . . . . . . . . . 10 | |||
| 5.2. Packet Delay Measurement . . . . . . . . . . . . . . . . 11 | 5.1. Packet Loss Measurement . . . . . . . . . . . . . . . . . 10 | |||
| 5.3. Flow Monitoring Identification . . . . . . . . . . . . . 12 | 5.2. Packet Delay Measurement . . . . . . . . . . . . . . . . 12 | |||
| 5.3.1. Uniqueness of FlowMonID . . . . . . . . . . . . . . . 13 | 5.3. Flow Monitoring Identification . . . . . . . . . . . . . 13 | |||
| 5.4. Multipoint and Clustered Alternate Marking . . . . . . . 14 | 5.3.1. Uniqueness of FlowMonID . . . . . . . . . . . . . . . 14 | |||
| 5.5. Data Collection and Calculation . . . . . . . . . . . . . 14 | 5.4. Multipoint and Clustered Alternate Marking . . . . . . . 15 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | 5.5. Data Collection and Calculation . . . . . . . . . . . . . 15 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | |||
| 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 | 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 18 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 18 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 19 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 | 9.2. Informative References . . . . . . . . . . . . . . . . . 20 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 | ||||
| 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 to as the Alternate | batches of packets, the method is often referred to as the Alternate | |||
| Marking Method. | Marking Method. | |||
| This document defines how the Alternate Marking Method can be used to | This document defines how the Alternate Marking Method can be used to | |||
| measure performance metrics in IPv6. The rationale is to apply the | measure performance metrics in IPv6. The rationale is to apply the | |||
| Alternate Marking methodology to IPv6 and therefore allow detailed | Alternate Marking methodology to IPv6 and therefore allow detailed | |||
| packet loss, delay and delay variation measurements both hop-by-hop | packet loss, delay and delay variation measurements both hop-by-hop | |||
| and end-to-end to exactly locate the issues in an IPv6 network. | and end-to-end to exactly locate the issues in an IPv6 network. | |||
| The Alternate Marking is an on-path telemetry technique and consists | The Alternate Marking is an on-path telemetry technique and consists | |||
| in synchronizing the measurements in different points of a network by | of synchronizing the measurements in different points of a network by | |||
| switching the value of a marking bit and therefore divide the packet | switching the value of a marking bit and therefore dividing the | |||
| flow into batches. Each batch represents a measurable entity | packet flow into batches. Each batch represents a measurable entity | |||
| unambiguously recognizable by all network nodes along the path. By | recognizable by all network nodes along the path. By counting the | |||
| counting the number of packets in each batch and comparing the values | number of packets in each batch and comparing the values measured by | |||
| measured by different nodes, it is possible to precisely measure the | different nodes, it is possible to precisely measure the packet loss. | |||
| packet loss. In a similar way the alternation of the values of the | Similarly, the alternation of the values of the marking bits can be | |||
| marking bits can be used as a time reference to calculate the delay | used as a time reference to calculate the delay and delay variation. | |||
| and delay variation. The Alternate Marking operation is further | The Alternate Marking operation is further described in Section 5. | |||
| described in Section 5. | ||||
| The format of IPv6 addresses is defined in [RFC4291] while [RFC8200] | The format of IPv6 addresses is defined in [RFC4291] while [RFC8200] | |||
| defines the IPv6 Header, including a 20-bit Flow Label and the IPv6 | defines the IPv6 Header, including a 20-bit Flow Label and the IPv6 | |||
| Extension Headers. | Extension Headers. | |||
| [I-D.fioccola-v6ops-ipv6-alt-mark] summarizes the possible | This document introduces a new TLV (type-length-value) that can be | |||
| implementation options for the application of the Alternate Marking | encoded in the Options Headers (Hop-by-Hop or Destination) for the | |||
| Method in an IPv6 domain. This document, starting from the outcome | purpose of the Alternate Marking Method application in an IPv6 | |||
| of [I-D.fioccola-v6ops-ipv6-alt-mark], introduces a new TLV (type- | domain. | |||
| length-value) that can be encoded in the Options Headers (Hop-by-Hop | ||||
| or Destination) for the purpose of the Alternate Marking Method | ||||
| application in an IPv6 domain. While the case of Segment Routing | ||||
| Header (SRH), defined in [RFC8754], is also discussed, it is valid | ||||
| for all the types of Routing Header (RH). | ||||
| The threat model for the application of the Alternate Marking Method | The threat model for the application of the Alternate Marking Method | |||
| in an IPv6 domain is reported in Section 6. As for all the on-path | in an IPv6 domain is reported in Section 6. As with all on-path | |||
| telemetry technique, the only definitive solution is that this | telemetry techniques, the only definitive solution is that this | |||
| methodology MUST be applied in a controlled domain and therefore the | methodology MUST be applied in a controlled domain. | |||
| application to untrusted domain is NOT RECOMMENDED. | ||||
| 1.1. Terminology | 1.1. Terminology | |||
| This document uses the terms related to the Alternate Marking Method | This document uses the terms related to the Alternate Marking Method | |||
| as defined in [RFC8321] and [RFC8889]. | as defined in [RFC8321] and [RFC8889]. | |||
| 1.2. Requirements Language | 1.2. Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| 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. Several | |||
| several alternatives have been analysed in | alternatives could be considered such as IPv6 Extension Headers, IPv6 | |||
| Address and Flow Label. But, it is necessary to analyze the | ||||
| [I-D.fioccola-v6ops-ipv6-alt-mark] such as IPv6 Extension Headers, | drawbacks for all the available possibilities, more specifically: | |||
| IPv6 Address and Flow Label. | ||||
| [I-D.fioccola-v6ops-ipv6-alt-mark] analyzed and discussed all the | ||||
| available possibilities and the drawbacks: | ||||
| Reusing existing Extension Header for Alternate Marking leads to a | Reusing existing Extension Header for Alternate Marking leads to a | |||
| non-optimized implementation; | non-optimized implementation; | |||
| Using the IPv6 destination address to encode the Alternate Marking | Using the IPv6 destination address to encode the Alternate Marking | |||
| processing is very expensive; | processing is very expensive; | |||
| Using the IPv6 Flow Label for Alternate Marking conflicts with the | Using the IPv6 Flow Label for Alternate Marking conflicts with the | |||
| utilization of the Flow Label for load distribution purpose | utilization of the Flow Label for load distribution purpose | |||
| ([RFC6438]). | ([RFC6438]). | |||
| In the end, [I-D.fioccola-v6ops-ipv6-alt-mark] demonstrated that a | In the end, a new Hop-by-Hop or a new Destination Option is the best | |||
| new Hop-by-Hop or a new Destination Option was the best approach. | choice. | |||
| The approach for the Alternate Marking application to IPv6 specified | The approach for the Alternate Marking application to IPv6 specified | |||
| in this memo is compliant with [RFC8200]. It involves the following | in this memo is compliant with [RFC8200]. It involves the following | |||
| operations: | 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). The intermediate nodes and destination node MUST only | Option). The intermediate nodes and destination node MUST only | |||
| read the marking values of the option without modifying the Option | read the marking values of the option without modifying the Option | |||
| Header. | Header. | |||
| 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 and the measurement can be done only | support this Option or not and the measurement can be done only | |||
| for the nodes configured to read the Option. As further discussed | for the nodes configured to read the Option. As further discussed | |||
| in Section 4, the presence of the hop-by-hop option should not | in Section 4, the presence of the hop-by-hop option should not | |||
| affect the traffic throughput both on nodes that do not recognize | affect the traffic throughput both on nodes that do not recognize | |||
| this option and on the nodes that support it. However it is | this option and on the nodes that support it. However, it is | |||
| important to mention that there is a difference between the theory | worth mentioning that there is a difference between theory and | |||
| and the implementation and it can happen that packets with hop-by- | practice. Indeed, in a real implementation it can happen that | |||
| hop option could also be skipped or processed in the slow path. | packets with hop-by-hop option could also be skipped or processed | |||
| While some proposals are trying to address this problem | in the slow path. While some proposals are trying to address this | |||
| problem and make Hop-by-Hop Options more practical | ||||
| ([I-D.peng-v6ops-hbh], [I-D.hinden-6man-hbh-processing]), these | ([I-D.peng-v6ops-hbh], [I-D.hinden-6man-hbh-processing]), these | |||
| aspects are out of the scope for this document. | aspects are out of the scope for this document. | |||
| 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. However, as said, routers | path to process the Alternate Marking. However, as said, routers | |||
| will examine this option if properly configured. | will only examine this option if properly 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 Section 5.3, goes in this direction and it is used to | introduced in Section 5.3, goes in this direction and it is used to | |||
| identify a monitored flow. | identify a monitored flow. | |||
| The FlowMonID is different from the Flow Label field of the IPv6 | The FlowMonID is different from the Flow Label field of the IPv6 | |||
| Header ([RFC6437]). The Flow Label field in the IPv6 header is used | Header ([RFC6437]). The Flow Label field in the IPv6 header is used | |||
| by a source to label sequences of packets to be treated in the | by a source to label sequences of packets to be treated in the | |||
| network as a single flow and, as reported in [RFC6438], it can be | network as a single flow and, as reported in [RFC6438], it can be | |||
| used for load-balancing/equal cost multi-path (LB/ECMP). The reuse | used for load-balancing/equal cost multi-path (LB/ECMP). The reuse | |||
| of Flow Label field for identifying monitored flows is not considered | of Flow Label field for identifying monitored flows is not considered | |||
| since it may change the application intent and forwarding behaviour. | because it may change the application intent and forwarding behavior. | |||
| Furthermore the Flow Label may be changed en route and this may also | Also, the Flow Label may be changed en route and this may also | |||
| violate the measurement task. Also, since the Flow Label is pseudo- | invalidate the integrity of the measurement. Furthermore, since the | |||
| random, there is always a finite probability of collision. Those | Flow Label is pseudo-random, there is always a finite probability of | |||
| reasons make the definition of the FlowMonID necessary for IPv6. | collision. Those reasons make the definition of the FlowMonID | |||
| Indeed, the FlowMonID is designed and only used to identify the | necessary for IPv6. Indeed, the FlowMonID is designed and only used | |||
| monitored flow. Flow Label and FlowMonID within the same packet are | to identify the monitored flow. Flow Label and FlowMonID within the | |||
| totally disjoint, have different scope, identify different flows, and | same packet are totally disjoint, have different scope, are used to | |||
| are intended for different use cases. | identify flows based on different criteria, and are intended for | |||
| different use cases. | ||||
| The rationale for the FlowMonID is further discussed in Section 5.3. | The rationale for the FlowMonID is further discussed in Section 5.3. | |||
| This 20 bit field allows easy and flexible identification of the | This 20 bit field allows easy and flexible identification of the | |||
| monitored flow and enables a finer granularity and improved | monitored flow and enables improved measurement correlation and finer | |||
| measurement correlation. An important point that will be discussed | granularity since it can be used in combination with the traditional | |||
| in Section 5.3.1 is the uniqueness of the FlowMonID and how to allow | 5-tuple to identify a flow. An important point that will be | |||
| disambiguation of the FlowMonID in case of collision. | discussed in Section 5.3.1 is the uniqueness of the FlowMonID and how | |||
| to allow disambiguation of the FlowMonID in case of collision. | ||||
| The following section highlights an important requirement for the | The following section highlights an important requirement for the | |||
| application of the Alternate Marking to IPv6. The concept of the | application of the Alternate Marking to IPv6. The concept of the | |||
| controlled domain is explained and it is considered an essential | controlled domain is explained and it is considered an essential | |||
| precondition, as also highlighted in Section 6. | precondition, as also highlighted in Section 6. | |||
| 2.1. Controlled Domain | 2.1. Controlled Domain | |||
| [RFC8799] introduces the concept of specific limited domain solutions | [RFC8799] introduces the concept of specific limited domain solutions | |||
| and, in this regard, it is reported the IPv6 Application of the | and, in this regard, it is reported the IPv6 Application of the | |||
| Alternate Marking Method as an example. | Alternate Marking Method as an example. | |||
| IPv6 has much more flexibility than IPv4 and innovative applications | IPv6 has much more flexibility than IPv4 and innovative applications | |||
| have been proposed, but for a number of reasons, such as the | have been proposed, but for a number of reasons, such as the | |||
| policies, options supported, the style of network management and | policies, options supported, the style of network management and | |||
| security requirements, it is suggested to limit some of these | security requirements, it is suggested to limit some of these | |||
| applications to a controlled domain. This is also the case of the | applications to a controlled domain. This is also the case of the | |||
| Alternate Marking application to IPv6 as assumed hereinafter. | Alternate Marking application to IPv6 as assumed hereinafter. | |||
| Therefore, the IPv6 application of the Alternate Marking Method MUST | Therefore, the IPv6 application of the Alternate Marking Method MUST | |||
| NOT be deployed outside a controlled domain. It is RECOMMENDED that | be deployed in a controlled domain. It is RECOMMENDED that an | |||
| an implementation can be able to reject packets that carry Alternate | implementation rejects packets that carry Alternate Marking data and | |||
| Marking data and are entering or leaving the controlled domains. | are entering or leaving the controlled domains. | |||
| Some scenarios may imply that the Alternate Marking Method is applied | ||||
| outside a controlled domain, either intentionally or unintentionally, | A controlled domain is a managed network where it is required to | |||
| but in these cases, IPsec authentication and encryption MUST be used. | select, monitor and control the access to the network by enforcing | |||
| policies at the domain boundaries in order to discard undesired | ||||
| external packets entering the domain and check the internal packets | ||||
| leaving the domain. It does not necessarily mean that a controlled | ||||
| domain is a single administrative domain or a single organization. A | ||||
| controlled domain can correspond to a single administrative domain or | ||||
| can be composed by multiple administrative domains under a defined | ||||
| network management. Indeed, some scenarios may imply that the | ||||
| Alternate Marking Method involves more than one domain, but in these | ||||
| cases, it is RECOMMENDED that the multiple domains create a whole | ||||
| controlled domain while traversing the external domain by employing | ||||
| IPsec [RFC4301] authentication and encryption or other VPN technology | ||||
| that provides full packet confidentiality and integrity protection. | ||||
| In a few words, it must be possible to control the domain boundaries | ||||
| and eventually use specific precautions if the traffic traverse the | ||||
| Internet. | ||||
| The security considerations reported in Section 6 also highlight this | The security considerations reported in Section 6 also highlight this | |||
| requirement. | requirement. | |||
| 2.1.1. Alternate Marking Measurement Domain | ||||
| The Alternate Marking measurement domain can overlap with the | ||||
| controlled domain or may be a subset of the controlled domain. The | ||||
| typical scenarios for the application of the Alternate Marking Method | ||||
| depend on the controlled domain boundaries, in particular: | ||||
| the user equipment can be the starting or ending node, only in | ||||
| case it is fully managed and if it belongs to the controlled | ||||
| domain. In this case the user generated IPv6 packets contain the | ||||
| Alternate Marking data. But, in practice, this is not common due | ||||
| to the fact that the user equipment cannot be totally secured in | ||||
| the majority of cases. | ||||
| the CPE (Customer Premises Equipment) is most likely to be the | ||||
| starting or ending node since it connects the user's premises with | ||||
| the service provider's network and therefore belongs to the | ||||
| operator's controlled domain. Typically the CPE encapsulates a | ||||
| received packet in an outer IPv6 header which contains the | ||||
| Alternate Marking data. The CPE can also be able to filter and | ||||
| drop packets from outside of the domain with inconsistent fields | ||||
| to make effective the relevant security rules at the domain | ||||
| boundaries, for example a simple security check can be to insert | ||||
| the Alternate Marking data if and only if the destination is | ||||
| within the controlled domain. | ||||
| 3. Definition of the AltMark Option | 3. Definition of the AltMark Option | |||
| The definition of a new TLV for the Options Extension Headers, | The definition of a new TLV for the Options Extension Headers, | |||
| carrying the data fields dedicated to the Alternate Marking method, | carrying the data fields dedicated to the Alternate Marking method, | |||
| is reported below. | is reported below. | |||
| 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 can be encapsulated in the | Alternate Marking TLV (AltMark). This AltMark data can be | |||
| IPv6 Options Headers (Hop-by-Hop or Destination Option). | encapsulated in the IPv6 Options Headers (Hop-by-Hop or Destination | |||
| Option). | ||||
| 0 1 2 3 | 0 1 2 3 | |||
| 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 | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Option Type | Opt Data Len | | | Option Type | Opt Data Len | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | FlowMonID |L|D| Reserved | | | FlowMonID |L|D| Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| where: | where: | |||
| o Option Type: 8 bit identifier of the type of Option that needs to | o Option Type: 8-bit identifier of the type of Option that needs to | |||
| be allocated. Unrecognized Types MUST be ignored on receipt. For | be allocated. Unrecognized Types MUST be ignored on processing. | |||
| Hop-by-Hop Options Header or Destination Options Header, [RFC8200] | For Hop-by-Hop Options Header or Destination Options Header, | |||
| defines how to encode the three high-order bits of the Option Type | [RFC8200] defines how to encode the three high-order bits of the | |||
| field. The two high-order bits specify the action that must be | Option Type field. The two high-order bits specify the action | |||
| taken if the processing IPv6 node does not recognize the Option | that must be taken if the processing IPv6 node does not recognize | |||
| Type; for AltMark these two bits MUST be set to 00 (skip over this | the Option Type; for AltMark these two bits MUST be set to 00 | |||
| Option and continue processing the header). The third-highest- | (skip over this Option and continue processing the header). The | |||
| order bit specifies whether or not the Option Data can change en | third-highest-order bit specifies whether the Option Data can | |||
| route to the packet's final destination; for AltMark the value of | change en route to the packet's final destination; for AltMark the | |||
| this bit MUST be set to 0 (Option Data does not change en route). | value of this bit MUST be set to 0 (Option Data does not change en | |||
| In this way, since the three high-order bits of the AltMark Option | route). In this way, since the three high-order bits of the | |||
| are set to 000, it means that nodes can simply skip this Option if | AltMark Option are set to 000, it means that nodes can simply skip | |||
| they do not recognize and that the data of this Option do not | this Option if they do not recognize and that the data of this | |||
| change en route, indeed the source is the only one that can write | Option do not change en route, indeed the source is the only one | |||
| it. | that can write it. | |||
| o Opt Data Len: 4. It is the length of the Option Data Fields of | o Opt Data Len: 4. It is the length of the Option Data Fields of | |||
| this Option in bytes. | this Option in bytes. | |||
| o FlowMonID: 20 bits unsigned integer. The FlowMon identifier is | o FlowMonID: 20-bit unsigned integer. The FlowMon identifier is | |||
| described in Section 5.3. As further discussed below, it has been | described in Section 5.3. As further discussed below, it has been | |||
| picked 20 bit since it is a reasonable value and a good compromise | picked as 20 bits since it is a reasonable value and a good | |||
| in relation to the chance of collision if it is set pseudo | compromise in relation to the chance of collision if it is set | |||
| randomly by the source node or set by a centralized controller. | pseudo randomly by the source node or set by a centralized | |||
| controller. | ||||
| o L: Loss flag for Packet Loss Measurement as described in | o L: Loss flag for Packet Loss Measurement as described in | |||
| Section 5.1; | Section 5.1; | |||
| o D: Delay flag for Single Packet Delay Measurement as described in | o D: Delay flag for Single Packet Delay Measurement as described in | |||
| Section 5.2; | Section 5.2; | |||
| o Reserved: is reserved for future use. These bits MUST be set to | o Reserved: is reserved for future use. These bits MUST be set to | |||
| zero on transmission and ignored on receipt. | zero on transmission and ignored on receipt. | |||
| skipping to change at page 7, line 46 ¶ | skipping to change at page 8, line 36 ¶ | |||
| 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. | explicitly configured to do so. | |||
| It is important to highlight that the Option Layout can be used both | 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 Use | as Destination Option and as Hop-by-Hop Option depending on the Use | |||
| Cases and it is based on the chosen type of performance measurement. | Cases and it is based on the chosen type of performance measurement. | |||
| In general, it is needed to perform both end to end and hop by hop | In general, it is needed to perform both end to end and hop by hop | |||
| measurements, and the Alternate Marking methodology allows, by | measurements, and the Alternate Marking methodology allows, by | |||
| definition, both performance measurements. But, in many cases the | definition, both performance measurements. In many cases the end-to- | |||
| end-to-end measurement is not enough and it is required also the hop- | end measurement is not enough and it is required the hop-by-hop | |||
| by-hop measurement, so the most complete choice is the Hop-by-Hop | measurement, so the most complete choice can be the Hop-by-Hop | |||
| Options Header. | Options Header. | |||
| IPv6, as specified in [RFC8200], allows nodes to optionally process | IPv6, as specified in [RFC8200], allows nodes to optionally process | |||
| Hop-by-Hop headers. Specifically the Hop-by-Hop Options header is | Hop-by-Hop headers. Specifically the Hop-by-Hop Options header is | |||
| not inserted or deleted, but may be examined or processed by any node | not inserted or deleted, but may be examined or processed by any node | |||
| along a packet's delivery path, until the packet reaches the node (or | along a packet's delivery path, until the packet reaches the node (or | |||
| each of the set of nodes, in the case of multicast) identified in the | each of the set of nodes, in the case of multicast) identified in the | |||
| Destination Address field of the IPv6 header. Also, it is expected | Destination Address field of the IPv6 header. Also, it is expected | |||
| that nodes along a packet's delivery path only examine and process | that nodes along a packet's delivery path only examine and process | |||
| the Hop-by-Hop Options header if explicitly configured to do so. | the Hop-by-Hop Options header if explicitly configured to do so. | |||
| The Hop-by-Hop Option defined in this document is designed to take | Another scenario that can be mentioned is the presence of a Routing | |||
| advantage of the property of how Hop-by-Hop options are processed. | Header, in particular it is possible to consider SRv6. A new type of | |||
| Nodes that do not support this Option SHOULD ignore them. This can | Routing Header, referred as Segment Routing Header (SRH), has been | |||
| mean that, in this case, the performance measurement does not account | defined in [RFC8754] for SRv6. Like any other use case of IPv6, Hop- | |||
| for all links and nodes along a path. | by-Hop and Destination Options are usable when SRv6 header is | |||
| present. Because SRv6 is implemented through a Segment Routing | ||||
| Another application that can be mentioned is the presence of a | Header (SRH), Destination Options before the Routing Header are | |||
| Routing Header, in particular it is possible to consider SRv6. A new | processed by each destination in the route list, that means, in case | |||
| type of Routing Header, referred as SRH, has been defined for SRv6. | of SRH, by every SR node that is identified by the SR path. More | |||
| Like any other use case of IPv6, Hop-by-Hop and Destination Options | details about the SRv6 application are described in | |||
| are useable when SRv6 header is present. Because SRv6 is implemented | [I-D.fz-spring-srv6-alt-mark]. | |||
| through a Segment Routing Header (SRH), Destination Options before | ||||
| the Routing Header are processed by each destination in the route | ||||
| list, that means, in case of SRH, by every SR node that is identified | ||||
| by the SR path. More details about the SRv6 application are | ||||
| described in [I-D.fz-spring-srv6-alt-mark]. | ||||
| In summary, it is possible to list the alternative possibilities: | In summary, it is possible to list the alternative possibilities: | |||
| o Destination Option not preceding a Routing Header => measurement | o Destination Option not preceding a Routing Header => measurement | |||
| only by node in Destination 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 preceding a Routing Header => every destination | o Destination Option preceding a Routing Header => every destination | |||
| skipping to change at page 9, line 4 ¶ | skipping to change at page 9, line 35 ¶ | |||
| 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 (Operations, | a new Hop-by-Hop Option is that it is needed for OAM (Operations, | |||
| Administration, and Maintenance). An intermediate node can read it | Administration, and Maintenance). An intermediate node can read it | |||
| or not but this does not affect the packet behavior. The source node | or not, but this does not affect the packet behavior. The source | |||
| is the only one that writes the Hop-by-Hop Option to mark alternately | node is the only one that writes the Hop-by-Hop Option to mark | |||
| the flow, so, the performance measurement can be done for those nodes | alternately the flow, so, the performance measurement can be done for | |||
| configured to read this Option, while the others are simply not | those nodes configured to read this Option, while the others are | |||
| considered for the metrics. | simply not considered for the metrics. | |||
| It is important to highlight that the definition of the Hop-by-Hop | The Hop-by-Hop Option defined in this document is designed to take | |||
| Options in this document is designed to minimize throughput impact | advantage of the property of how Hop-by-Hop options are processed. | |||
| both on nodes that do not recognize the Option and on node that | Nodes that do not support this Option SHOULD ignore them. This can | |||
| support it. Indeed, the three high-order bits of the Options Header | mean that, in this case, the performance measurement does not account | |||
| defined in this draft are 000 and, in theory, as per [RFC8200] and | for all links and nodes along a path. The definition of the Hop-by- | |||
| [I-D.hinden-6man-hbh-processing], this means "skip if do not | Hop Options in this document is also designed to minimize throughput | |||
| impact both on nodes that do not recognize the Option and on node | ||||
| that support it. 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 | recognize and data do not change en route". [RFC8200] also mentions | |||
| that the nodes only examine and process the Hop-by-Hop Options header | that the nodes only examine and process the Hop-by-Hop Options header | |||
| if explicitly configured to do so. For these reasons, this HbH | if explicitly configured to do so. For these reasons, this Hop-by- | |||
| Option should not affect the throughput. However, in practice, it is | Hop Option should not affect the throughput. However, in practice, | |||
| important to be aware for the implementation that the things may be | it is important to be aware that the things may be different in the | |||
| different and it can happen that packets with Hop-by-Hop are forced | implementation and it can happen that packets with Hop-by-Hop are | |||
| onto the slow path, but this is a general issue, as also explained in | forced onto the slow path, but this is a general issue, as also | |||
| [I-D.hinden-6man-hbh-processing]. | explained in [I-D.hinden-6man-hbh-processing]. It is also worth | |||
| mentioning that the application to a controlled domain should avoid | ||||
| the risk of arbitrary nodes dropping packets with Hop-by-Hop Options. | ||||
| 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 applicable methods which are reported below, and a new field | |||
| are reported and a new field is introduced to facilitate the | is introduced to facilitate the deployment and improve the | |||
| deployment and improve the scalability. | 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 in | |||
| comparison to the existing mechanisms, as detailed in [RFC8321]. 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. The source node is the only | and this depends on the implementation. The source node is the only | |||
| one that marks the packets to create the batches, while the | one that marks the packets to create the batches, while the | |||
| intermediate nodes only read the marking values and identify the | intermediate nodes only read the marking values and identify the | |||
| packet batches. By counting the number of packets in each batch and | packet batches. By counting the number of packets in each batch and | |||
| comparing the values measured by different network nodes along the | comparing the values measured by different network nodes along the | |||
| path, it is possible to measure the packet loss occurred in any | path, it is possible to measure the packet loss occurred in any | |||
| single batch between any two nodes. Each batch represents a | single batch between any two nodes. Each batch represents a | |||
| measurable entity unambiguously recognizable by all network nodes | measurable entity recognizable by all network nodes along the path. | |||
| along the path. | ||||
| Both fixed number of packets and fixed timer can be used by the | Both fixed number of packets and fixed timer can be used by the | |||
| source node to create packet batches. But, as also explained in | source node to create packet batches. But, as also explained in | |||
| [RFC8321], using a fixed timer for the switching offers better | [RFC8321], the timer-based batches are preferable because they are | |||
| more deterministic than the counter-based batches. There is no | ||||
| definitive rule for counter-based batches, differently from timer- | ||||
| based batches. Using a fixed timer for the switching offers better | ||||
| control over the method, indeed the length of the batches can be | control over the method, indeed the length of the batches can be | |||
| chosen large enough to simplify the collection and the comparison of | chosen large enough to simplify the collection and the comparison of | |||
| the measures taken by different network nodes. In the implementation | the measures taken by different network nodes. In the implementation | |||
| the counters can be sent out by each node to the controller that is | the counters can be sent out by each node to the controller that is | |||
| responsible for the calculation. It is also possible to exchange | responsible for the calculation. It is also possible to exchange | |||
| this information by using other on-path techniques. But this is out | this information by using other on-path techniques. But this is out | |||
| of scope for this document. | of scope for this document. | |||
| Packets with different L values may get swapped at batch boundaries, | Packets with different L values may get swapped at batch boundaries, | |||
| and in this case, it is required that each marked packet can be | and in this case, it is required that each marked packet can be | |||
| skipping to change at page 10, line 27 ¶ | skipping to change at page 11, line 20 ¶ | |||
| network delay. These can create offsets between the batches and out- | network delay. These can create offsets between the batches and out- | |||
| of-order of the packets. The mathematical formula on timing aspects, | of-order of the packets. The mathematical formula on timing aspects, | |||
| explained in section 3.2 of [RFC8321], must be satisfied and it takes | explained in section 3.2 of [RFC8321], must be satisfied and it takes | |||
| into considerations the different causes of reordering such as clock | into considerations the different causes of reordering such as clock | |||
| error and network delay. The assumption is to define the available | error and network delay. The assumption is to define the available | |||
| counting interval where to get stable counters and to avoid these | counting interval where to get stable counters and to avoid these | |||
| issues. Specifically, if the effects of network delay are ignored, | issues. Specifically, if the effects of network delay are ignored, | |||
| the condition to implement the methodology is that the clocks in | the condition to implement the methodology is that the clocks in | |||
| different nodes MUST be synchronized to the same clock reference with | different nodes MUST be synchronized to the same clock reference with | |||
| an accuracy of +/- B/2 time units, where B is the fixed time duration | an accuracy of +/- B/2 time units, where B is the fixed time duration | |||
| of the block. In this way each marked packet can be assigned to the | of the batch, which refers to the original marking interval at the | |||
| right batch by each node. Usually the counters can be taken in the | source node considering that this interval could fluctuate along the | |||
| middle of the batch period to be sure to take still counters. In a | path. In this way each marked packet can be assigned to the right | |||
| few words this implies that the length of the batches MUST be chosen | batch by each node. Usually the counters can be taken in the middle | |||
| of the batch period to be sure to take still counters. In a few | ||||
| words this implies that the length of the batches MUST be chosen | ||||
| large enough so that the method is not affected by those factors. | large enough so that the method is not affected by those factors. | |||
| The length of the batches can be determined based on the specific | The length of the batches can be determined based on the specific | |||
| deployment scenario. | deployment scenario. | |||
| L bit=1 ----------+ +-----------+ +---------- | L bit=1 ----------+ +-----------+ +---------- | |||
| | | | | | | | | | | |||
| L bit=0 +-----------+ +-----------+ | L bit=0 +-----------+ +-----------+ | |||
| Batch n ... Batch 3 Batch 2 Batch 1 | Batch n ... Batch 3 Batch 2 Batch 1 | |||
| <---------> <---------> <---------> <---------> <---------> | <---------> <---------> <---------> <---------> <---------> | |||
| Traffic Flow | Traffic Flow | |||
| ===========================================================> | ===========================================================> | |||
| L bit ...1111111111 0000000000 11111111111 00000000000 111111111... | L bit ...1111111111 0000000000 11111111111 00000000000 111111111... | |||
| ===========================================================> | ===========================================================> | |||
| Figure 1: Packet Loss Measurement and Single-Marking Methodology | Figure 1: Packet Loss Measurement and Single-Marking Methodology | |||
| using L bit | using L bit | |||
| It is worth mentioning that the length of the batches is considered | It is worth mentioning that the duration of the batches is considered | |||
| stable over time in the previous figure. In theory, it is possible | stable over time in the previous figure. In theory, it is possible | |||
| to change the length of batches over time and and among different | to change the length of batches over time and among different flows | |||
| flows for more flexibility. But, in practice, it could complicate | for more flexibility. But, in practice, it could complicate the | |||
| the correlation of the information. | correlation of the information. | |||
| 5.2. Packet Delay Measurement | 5.2. Packet Delay Measurement | |||
| The same principle used to measure packet loss can be applied also to | The same principle used to measure packet loss can be applied also to | |||
| one-way delay measurement. Delay metrics MAY be calculated using the | one-way delay measurement. Delay metrics MAY be calculated using the | |||
| two possibilities: | two possibilities: | |||
| 1. Single-Marking Methodology: This approach uses only the L bit to | 1. Single-Marking Methodology: This approach uses only the L bit to | |||
| calculate both packet loss and delay. In this case, the D flag | calculate both packet loss and delay. In this case, the D flag | |||
| MUST be set to zero on transmit and ignored by the monitoring | MUST be set to zero on transmit and ignored by the monitoring | |||
| skipping to change at page 11, line 33 ¶ | skipping to change at page 12, line 27 ¶ | |||
| timestamp of the first packet of the new batch, that timestamp | timestamp of the first packet of the new batch, that timestamp | |||
| can be compared with the timestamp of the first packet of the | can be compared with the timestamp of the first packet of the | |||
| same batch on a second node to compute packet delay. But this | same batch on a second node to compute packet delay. But this | |||
| measurement is accurate only if no packet loss occurs and if | measurement is accurate only if no packet loss occurs and if | |||
| there is no packet reordering at the edges of the batches. A | there is no packet reordering at the edges of the batches. A | |||
| different approach can also be considered and it is based on the | different approach can also be considered and it is based on the | |||
| concept of the mean delay. The mean delay for each batch is | concept of the mean delay. The mean delay for each batch is | |||
| calculated by considering the average arrival time of the packets | calculated by considering the average arrival time of the packets | |||
| for the relative batch. There are limitations also in this case | for the relative batch. There are limitations also in this case | |||
| indeed, each node needs to collect all the timestamps and | indeed, each node needs to collect all the timestamps and | |||
| calculate the average timestamp for each batch. In addition the | calculate the average timestamp for each batch. In addition, the | |||
| information is limited to a mean value. | information is limited to a mean value. | |||
| 2. Double-Marking Methodology: This approach is more complete and | 2. Double-Marking Methodology: This approach is more complete and | |||
| uses the L bit only to calculate packet loss and the D bit (Delay | uses the L bit only to calculate packet loss and the D bit (Delay | |||
| flag) is fully dedicated to delay measurements. The idea is to | flag) is fully dedicated to delay measurements. The idea is to | |||
| use the first marking with the L bit to create the alternate flow | use the first marking with the L bit to create the alternate flow | |||
| and, within the batches identified by the L bit, a second marking | and, within the batches identified by the L bit, a second marking | |||
| is used to select the packets for measuring delay. The D bit | is used to select the packets for measuring delay. The D bit | |||
| creates a new set of marked packets that are fully identified | creates a new set of marked packets that are fully identified | |||
| over the network, so that a network node can store the timestamps | over the network, so that a network node can store the timestamps | |||
| skipping to change at page 12, line 13 ¶ | skipping to change at page 13, line 8 ¶ | |||
| marked packet can be chosen within the available counting | marked packet can be chosen within the available counting | |||
| interval that is not affected by factors such as clock errors. | interval that is not affected by factors such as clock errors. | |||
| If a double-marked packet is lost, the delay measurement for the | If a double-marked packet is lost, the delay measurement for the | |||
| considered batch is simply discarded, but this is not a big | considered batch is simply discarded, but this is not a big | |||
| problem because it is easy to recognize the problematic batch and | problem because it is easy to recognize the problematic batch and | |||
| skip the measurement just for that one. So in order to have more | skip the measurement just for that one. So in order to have more | |||
| information about the delay and to overcome out-of-order issues | information about the delay and to overcome out-of-order issues | |||
| this method is preferred. | this method is preferred. | |||
| In summary the approach with double marking is better than the | In summary the approach with double marking is better than the | |||
| approach with single marking. Moreover the two approaches can also | approach with single marking. Moreover, the two approaches provide | |||
| be combined to have even more information and statistics on delay. | slightly different pieces of information and the data consumer can | |||
| combine them to have a more robust data set. | ||||
| Similar to what said in Section 5.1 for the packet counters, in the | Similar to what said in Section 5.1 for the packet counters, in the | |||
| implementation the timestamps can be sent out to the controller that | implementation the timestamps can be sent out to the controller that | |||
| is responsible for the calculation or could also be exchanged using | is responsible for the calculation or could also be exchanged using | |||
| other on-path techniques. But this is out of scope for this | other on-path techniques. But this is out of scope for this | |||
| document. | document. | |||
| L bit=1 ----------+ +-----------+ +---------- | L bit=1 ----------+ +-----------+ +---------- | |||
| | | | | | | | | | | |||
| L bit=0 +-----------+ +-----------+ | L bit=0 +-----------+ +-----------+ | |||
| skipping to change at page 12, line 45 ¶ | skipping to change at page 13, line 41 ¶ | |||
| ===========================================================> | ===========================================================> | |||
| Figure 2: Double-Marking Methodology using L bit and D bit | Figure 2: Double-Marking Methodology using L bit and D bit | |||
| Likewise to packet delay measurement (both for Single Marking and | Likewise to packet delay measurement (both for Single Marking and | |||
| Double Marking), the method can also be used to measure the inter- | Double Marking), the method can also be used to measure the inter- | |||
| arrival jitter. | arrival jitter. | |||
| 5.3. Flow Monitoring Identification | 5.3. Flow Monitoring Identification | |||
| The Flow Monitoring Identification (FlowMonID) is required for some | The Flow Monitoring Identification (FlowMonID) identifies the flow to | |||
| general reasons: | be measured and is required for some general reasons: | |||
| o First, it helps to reduce the per node configuration. Otherwise, | o First, it helps to reduce the per node configuration. Otherwise, | |||
| each node needs to configure an access-control list (ACL) for each | each node needs to configure an access-control list (ACL) for each | |||
| of the monitored flows. Moreover, using a flow identifier allows | of the monitored flows. Moreover, using a flow identifier allows | |||
| a flexible granularity for the flow definition. | a flexible granularity for the flow definition, indeed, it can be | |||
| used together with the 5-tuple. | ||||
| o Second, it simplifies the counters handling. Hardware processing | o Second, it simplifies the counters handling. Hardware processing | |||
| of flow tuples (and ACL matching) is challenging and often incurs | of flow tuples (and ACL matching) is challenging and often incurs | |||
| into performance issues, especially in tunnel interfaces. | into performance issues, especially in tunnel interfaces. | |||
| o Third, it eases the data export encapsulation and correlation for | o Third, it eases the data export encapsulation and correlation for | |||
| the collectors. | the collectors. | |||
| The FlowMon identifier field is to uniquely identify a monitored flow | The FlowMon identifier field is to uniquely identify a monitored flow | |||
| within the measurement domain. The field is set at the source node. | within the measurement domain. The field is set at the source node. | |||
| The FlowMonID can be set in two ways: | The FlowMonID can be set in two ways: | |||
| * It can be uniformly assigned by the central controller. Since | * It can be assigned by the central controller. Since the | |||
| the controller knows the network topology, it can set the value | controller knows the network topology, it can set the value | |||
| properly to avoid or minimize ambiguity and guarantee the | properly to avoid or minimize ambiguity and guarantee the | |||
| uniqueness. | uniqueness. In this regard, the controller can simply verify that | |||
| there is no ambiguity between different pseudo-randomly generated | ||||
| FlowMonIDs on the same path. | ||||
| * It can be algorithmically generated by the source node, that can | * It can be algorithmically generated by the source node, that can | |||
| set it pseudo-randomly with some chance of collision. This | set it pseudo-randomly with some chance of collision. This | |||
| approach cannot guarantee the uniqueness of FlowMonID but it may | approach cannot guarantee the uniqueness of FlowMonID but it may | |||
| be preferred for local or private networks, where the conflict | be preferred for local or private networks, where the conflict | |||
| probability is small due to the large FlowMonID space. | probability is small due to the large FlowMonID space. | |||
| The value of 20 bits has been selected for the FlowMonID since it is | The value of 20 bits has been selected for the FlowMonID since it is | |||
| a good compromise and implies a low rate of ambiguous FlowMonIDs that | a good compromise and implies a low rate of ambiguous FlowMonIDs that | |||
| can be considered acceptable in most of the applications. Indeed | can be considered acceptable in most of the applications. Indeed, | |||
| with 20 bits the number of combinations is 1048576. | with 20 bits the number of combinations is 1048576. | |||
| if the FlowMonID is set by the source node, the intermediate nodes | If the FlowMonID is set by the source node, the intermediate nodes | |||
| can read the FlowMonIDs from the packets in flight and act | can read the FlowMonIDs from the packets in flight and act | |||
| accordingly. While, if the FlowMonID is set by the controller, both | accordingly. While, if the FlowMonID is set by the controller, both | |||
| possibilities are feasible for the intermediate nodes which can learn | possibilities are feasible for the intermediate nodes which can learn | |||
| by reading the packets or can be instructed by the controller. | by reading the packets or can be instructed by the controller. | |||
| When all values in the FlowMonID space are consumed, the centralized | When all values in the FlowMonID space are consumed, the centralized | |||
| controller can keep track and reassign the values that are not used | controller can keep track and reassign the values that are not used | |||
| any more by old flows, while if the FlowMonID is pseudo randomly | any more by old flows, while if the FlowMonID is pseudo randomly | |||
| generated by the source, conflicts and collisions are possible. | generated by the source, conflicts and collisions are possible. | |||
| 5.3.1. Uniqueness of FlowMonID | 5.3.1. Uniqueness of FlowMonID | |||
| It is important to note that if the 20 bit FlowMonID is set | It is important to note that if the 20 bit FlowMonID is set | |||
| independently and pseudo randomly there is a chance of collision. | independently and pseudo randomly there is a chance of collision. | |||
| Indeed, by using the well-known birthday problem in probability | Indeed, by using the well-known birthday problem in probability | |||
| theory, if the 20 bit FlowMonID is set independently and pseudo | theory, if the 20 bit FlowMonID is set independently and pseudo | |||
| randomly without any additional input entropy, there is a 50% chance | randomly without any additional input entropy, there is a 50% chance | |||
| of collision for 1206 flows. So, for more entropy, FlowMonID can | of collision for 1206 flows. So, for more entropy, FlowMonID can | |||
| either be combined with other identifying flow information in a | either be combined with other identifying flow information in a | |||
| packet (e.g. it is possible to consider the hashed 3-tuple Flow | packet (e.g. it is possible to consider the hashed 3-tuple Flow | |||
| Label, Source and Destination addresses) or the FlowMonID size could | Label, Source and Destination addresses). | |||
| 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 consider these | |||
| considering these aspects and instruct the nodes properly in order to | aspects and instruct the nodes properly in order to guarantee its | |||
| guarantee its uniqueness. | uniqueness. | |||
| It is worth highlighting that in most of the applications a low rate | It is worth highlighting that in most of the applications a low rate | |||
| of ambiguous FlowMonIDs can be acceptable, since this only affects | of ambiguous FlowMonIDs can be acceptable, since this only affects | |||
| the measurement. For large scale measurements, where it is possible | the measurement. For large scale measurements, where it is possible | |||
| to monitor a big number of flows, the disambiguation of the FlowMonID | to monitor a big number of flows, the disambiguation of the FlowMonID | |||
| field is something to take into account. | 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 | |||
| skipping to change at page 15, line 17 ¶ | skipping to change at page 16, line 17 ¶ | |||
| This document aims to apply a method to perform measurements that | This document aims to apply a method to perform measurements that | |||
| does not directly affect Internet security nor applications that run | does not directly affect Internet security nor applications that run | |||
| on the Internet. However, implementation of this method must be | on the Internet. However, implementation of this method must be | |||
| mindful of security and privacy concerns. | mindful of security and privacy concerns. | |||
| There are two types of security concerns: potential harm caused by | There are two types of security concerns: potential harm caused by | |||
| the measurements and potential harm to the measurements. | the measurements and potential harm to the measurements. | |||
| Harm caused by the measurement: Alternate Marking implies | Harm caused by the measurement: Alternate Marking implies | |||
| modifications on the fly to an Option Header of IPv6 packets by the | modifications on the fly to an Option Header of IPv6 packets by the | |||
| source node but this must be performed in a way that does not alter | source node, but this must be performed in a way that does not alter | |||
| the quality of service experienced by the packets and that preserves | the quality of service experienced by the packets and that preserves | |||
| stability and performance of routers doing the measurements. As | stability and performance of routers doing the measurements. As | |||
| already discussed in Section 4, it is RECOMMENDED that the AltMark | already discussed in Section 4, it is RECOMMENDED that the AltMark | |||
| Option does not affect the throughput and therefore the user | Option does not affect the throughput and therefore the user | |||
| experience. | experience. | |||
| Harm to the measurement: Alternate Marking measurements could be | Harm to the measurement: Alternate Marking measurements could be | |||
| harmed by routers altering the fields of the AltMark Option (e.g. | harmed by routers altering the fields of the AltMark Option (e.g. | |||
| marking of the packets, FlowMonID) or by a malicious attacker adding | marking of the packets, FlowMonID) or by a malicious attacker adding | |||
| AltMark Option to the packets in order to consume the resources of | AltMark Option to the packets in order to consume the resources of | |||
| network devices and entities involved. As described above, the | network devices and entities involved. As described above, the | |||
| source node is the only one that writes the Option Header while the | source node is the only one that writes the Option Header while the | |||
| intermediate nodes and destination node only read it without | intermediate nodes and destination node only read it without | |||
| modifying the Option Header. But, for example, an on-path attacker | modifying the Option Header. But, for example, an on-path attacker | |||
| can modify the flags, whether intentionally or accidentally, or | can modify the flags, whether intentionally or accidentally, or | |||
| insert deliberately a new option to the packet flow or delete the | deliberately insert a new option to the packet flow or delete the | |||
| option from the packet flow. The consequent effect could be to give | option from the packet flow. The consequent effect could be to give | |||
| the appearance of loss or delay or invalidate the measurement by | the appearance of loss or delay or invalidate the measurement by | |||
| modifying option identifiers, such as FlowMonID. The malicious | modifying option identifiers, such as FlowMonID. The malicious | |||
| implication can be to cause actions from the network administrator | implication can be to cause actions from the network administrator | |||
| where an intervention is not necessary or to hide real issues in the | where an intervention is not necessary or to hide real issues in the | |||
| network. Since the measurement itself may be affected by network | network. Since the measurement itself may be affected by network | |||
| nodes intentionally altering the bits of the AltMark Option or | nodes intentionally altering the bits of the AltMark Option or | |||
| injecting Options headers as a means for Denial of Service (DoS), the | injecting Options headers as a means for Denial of Service (DoS), the | |||
| Alternate Marking MUST be applied in the context of a controlled | Alternate Marking MUST be applied in the context of a controlled | |||
| domain, where the network nodes are locally administered and this | domain, where the network nodes are locally administered and this | |||
| type of attack can be avoided. | type of attack can be avoided. For this reason, the implementation | |||
| of the method is not done on the end node if it is not fully managed | ||||
| and does not belong to the controlled domain. Packets generated | ||||
| outside the controlled domain may consume router resources by | ||||
| maliciously using the HbH Option, but this can be mitigated by | ||||
| filtering these packets at the controlled domain boundary. This can | ||||
| be done because, if the end node does not belong to the controlled | ||||
| domain, it is not supposed to add the AltMark HbH Option, and it can | ||||
| be easily recognized. | ||||
| The flow identifier (FlowMonID) composes the AltMark Option together | The flow identifier (FlowMonID) composes the AltMark Option together | |||
| with the two marking bits (L and D). As explained in Section 5.3.1, | with the two marking bits (L and D). As explained in Section 5.3.1, | |||
| there is a chance of collision if the FlowMonID is set pseudo | there is a chance of collision if the FlowMonID is set pseudo | |||
| randomly and a solution exist. In general this may not be a problem | randomly and a solution exists. In general this may not be a problem | |||
| and a low rate of ambiguous FlowMonIDs can be acceptable, since this | and a low rate of ambiguous FlowMonIDs can be acceptable, since this | |||
| does not cause significant harm to the operators or their clients and | does not cause significant harm to the operators or their clients and | |||
| this harm may not justify the complications of avoiding it. But, for | this harm may not justify the complications of avoiding it. But, for | |||
| large scale measurements, a big number of flows could be monitored | large scale measurements, a big number of flows could be monitored | |||
| and the probability of a collision is higher, thus the disambiguation | and the probability of a collision is higher, thus the disambiguation | |||
| of the FlowMonID field can be considered. | of the FlowMonID field can be considered. | |||
| The privacy concerns also need to be analyzed even if the method only | The privacy concerns also need to be analyzed even if the method only | |||
| relies on information contained in the Option Header without any | relies on information contained in the Option Header without any | |||
| release of user data. Indeed, from a confidentiality perspective, | release of user data. Indeed, from a confidentiality perspective, | |||
| although AltMark Option does not contain user data, the metadata can | although AltMark Option does not contain user data, the metadata can | |||
| be used for network reconnaissance to compromise the privacy of users | be used for network reconnaissance to compromise the privacy of users | |||
| by allowing attackers to collect information about network | by allowing attackers to collect information about network | |||
| performance and network paths. AltMark Option contains two kind of | performance and network paths. AltMark Option contains two kinds of | |||
| metadata: the marking bits (L and D bits) and the flow identifier | metadata: the marking bits (L and D bits) and the flow identifier | |||
| (FlowMonID). | (FlowMonID). | |||
| The marking bits are the small information that is exchanged | The marking bits are the small information that is exchanged | |||
| between the network nodes. Therefore, due to this intrinsic | between the network nodes. Therefore, due to this intrinsic | |||
| characteristic, network reconnaissance through passive | characteristic, network reconnaissance through passive | |||
| eavesdropping on data-plane traffic is difficult. Indeed an | eavesdropping on data-plane traffic is difficult. Indeed, an | |||
| attacker cannot gain information about network performance from a | attacker cannot gain information about network performance from a | |||
| single monitoring point. The only way for an attacker can be to | single monitoring point. The only way for an attacker can be to | |||
| eavesdrop on multiple monitoring points at the same time, because | eavesdrop on multiple monitoring points at the same time, because | |||
| they have to do the same kind of calculation and aggregation as | they have to do the same kind of calculation and aggregation as | |||
| Alternate Marking requires, and, after that, it can finally gain | Alternate Marking requires. | |||
| information about the network performance, but this is not | ||||
| immediate. | ||||
| The FlowMonID field is used in the AltMark Option as identifier of | The FlowMonID field is used in the AltMark Option as the | |||
| the monitored flow. It represents a more sensitive information | identifier of the monitored flow. It represents a more sensitive | |||
| for network reconnaissance and may allow a flow tracking type of | information for network reconnaissance and may allow a flow | |||
| attack because an attacker could collect information about network | tracking type of attack because an attacker could collect | |||
| paths. | information about network paths. | |||
| Furthermore, in a pervasive surveillance attack, the information that | Furthermore, in a pervasive surveillance attack, the information that | |||
| can be derived over time is more. But the application of the | can be derived over time is more. But, as further described | |||
| Alternate Marking to a controlled domain helps to mitigate all the | hereinafter, the application of the Alternate Marking to a controlled | |||
| above aspects of privacy concerns. | domain helps to mitigate all the above aspects of privacy concerns. | |||
| At the management plane, attacks can be set up by misconfiguring or | At the management plane, attacks can be set up by misconfiguring or | |||
| by maliciously configuring AltMark Option. Thus, AltMark Option | by maliciously configuring AltMark Option. Thus, AltMark Option | |||
| configuration MUST be secured in a way that authenticates authorized | configuration MUST be secured in a way that authenticates authorized | |||
| users and verifies the integrity of configuration procedures. | users and verifies the integrity of configuration procedures. | |||
| Solutions to ensure the integrity of AltMark Option are outside the | Solutions to ensure the integrity of AltMark Option are outside the | |||
| scope of this document. | scope of this document. Also, attacks on the reporting of the | |||
| statistics between the monitoring points and the network management | ||||
| system (e.g. centralized controller) can interfere with the proper | ||||
| functioning of the system. Hence, the channels used to report back | ||||
| flow statistics MUST be secured. | ||||
| As stated above, the precondition for the application of the | As stated above, the precondition for the application of the | |||
| Alternate Marking is that it MUST be applied in specific controlled | Alternate Marking is that it MUST be applied in specific controlled | |||
| domains, thus confining the potential attack vectors within the | domains, thus confining the potential attack vectors within the | |||
| network domain. [RFC8799] analyzes and discusses the trend towards | network domain. [RFC8799] analyzes and discusses the trend towards | |||
| network behaviors that can be applied only within a limited domain. | network behaviors that can be applied only within a limited domain. | |||
| This is due to the specific set of requirements especially related to | This is due to the specific set of requirements especially related to | |||
| security, network management, policies and options supported which | security, network management, policies and options supported which | |||
| may vary between such limited domains. A limited administrative | may vary between such limited domains. A limited administrative | |||
| domain provides the network administrator with the means to select, | domain provides the network administrator with the means to select, | |||
| monitor and control the access to the network, making it a trusted | monitor and control the access to the network, making it a trusted | |||
| domain. In this regard it is expected to enforce policies at the | domain. In this regard it is expected to enforce policies at the | |||
| domain boundaries to filter both external packets with AltMark Option | domain boundaries to filter both external packets with AltMark Option | |||
| entering the domain and internal packets with AltMark Option leaving | entering the domain and internal packets with AltMark Option leaving | |||
| the domain. Therefore the trusted domain is unlikely subject to | the domain. Therefore, the trusted domain is unlikely subject to | |||
| hijacking of packets since packets with AltMark Option are processed | hijacking of packets since packets with AltMark Option are processed | |||
| and used only within the controlled domain. | and used only within the controlled domain. | |||
| Additionally, it is to be noted that the AltMark Option is carried by | Additionally, it is to be noted that the AltMark Option is carried by | |||
| the Options Header and it may have some impact on the packet sizes | 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 | for the monitored flow and on the path MTU, since some packets might | |||
| exceed the MTU. However the relative small size (48 bit in total) of | exceed the MTU. However, the relative small size (48 bit in total) | |||
| these Option Headers and its application to a controlled domain help | of these Option Headers and its application to a controlled domain | |||
| to mitigate the problem. | help to mitigate the problem. | |||
| It is worth mentioning that the security concerns may change based on | It is worth mentioning that the security concerns may change based on | |||
| the specific deployment scenario and related threat analysis, which | the specific deployment scenario and related threat analysis, which | |||
| can lead to specific security solutions that are beyond the scope of | can lead to specific security solutions that are beyond the scope of | |||
| this document. As an example, the AltMark Option can be used as Hop- | this document. As an example, the AltMark Option can be used as Hop- | |||
| by-Hop or Destination Option and, in case of Destination Option, | by-Hop or Destination Option and, in case of Destination Option, | |||
| multiple domains may be traversed by the AltMark Option that is not | multiple administrative domains may be traversed by the AltMark | |||
| confined to a single domain. In this case, the user, aware of the | Option that is not confined to a single administrative domain. In | |||
| kind of risks, may still want to use Alternate Marking for telemetry | this case, the user, aware of the kind of risks, may still want to | |||
| and test purposes but the inter-domain links need to be secured | use Alternate Marking for telemetry and test purposes but the | |||
| (e.g., by IPsec) in order to avoid external threats. For these | controlled domain must be composed by more than one administrative | |||
| specific scenarios the application of the Alternate Marking Method | domains. To this end, the inter-domain links need to be secured | |||
| outside a controlled domain is possible but IPsec through AH | (e.g., by IPsec, VPNs) in order to avoid external threats and realize | |||
| (Authentication Header) or ESP (Encapsulating Security Payload) MUST | the whole controlled domain. | |||
| be used. | ||||
| It might be theoretically possible to modulate the marking or the | ||||
| other fields of the AltMark Option to serve as a covert channel to be | ||||
| used by an on-path observer. This may affect both the data and | ||||
| management plane, but, here too, the application to a controlled | ||||
| domain helps to reduce the effects. | ||||
| 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 a time synchronization protocol. Thus, by attacking the time | |||
| protocol, an attacker can potentially compromise the integrity of the | protocol, an attacker can potentially compromise the integrity of the | |||
| measurement. A detailed discussion about the threats against time | measurement. A detailed discussion about the threats against time | |||
| protocols and how to mitigate them is presented in [RFC7384]. Also, | protocols and how to mitigate them is presented in [RFC7384]. | |||
| the time, which is distributed to the network nodes through the time | Network Time Security (NTS), described in [RFC8915], is a mechanism | |||
| protocol, is centrally taken from an external accurate time source, | that can be employed. Also, the time, which is distributed to the | |||
| such as an atomic clock or a GPS clock, and by attacking the time | network nodes through the time protocol, is centrally taken from an | |||
| source it can be possible to compromise the integrity of the | external accurate time source, such as an atomic clock or a GPS | |||
| measurement as well. There are security measures that can be taken | clock. By attacking the time source it can be possible to compromise | |||
| to mitigate the GPS spoofing attacks and a network administrator | the integrity of the measurement as well. There are security | |||
| should certainly employ solutions to secure the network domain. | measures that can be taken to mitigate the GPS spoofing attacks and a | |||
| network administrator should certainly employ solutions to secure the | ||||
| network domain. | ||||
| 7. IANA Considerations | 7. IANA Considerations | |||
| The Option Type should be assigned in IANA's "Destination Options and | The Option Type should be assigned in IANA's "Destination Options and | |||
| Hop-by-Hop Options" registry. | Hop-by-Hop Options" registry. | |||
| This draft requests the following IPv6 Option Type assignment from | This draft requests the following IPv6 Option Type assignment from | |||
| the Destination Options and Hop-by-Hop Options sub-registry of | the Destination Options and Hop-by-Hop Options sub-registry of | |||
| Internet Protocol Version 6 (IPv6) Parameters | Internet Protocol Version 6 (IPv6) Parameters | |||
| (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, Stewart | The authors would like to thank Bob Hinden, Ole Troan, Martin Duke, | |||
| Bryant, Christopher Wood, Yoshifumi Nishida, Tom Herbert, Stefano | Lars Eggert, Roman Danyliw, Alvaro Retana, Eric Vyncke, Warren | |||
| Previdi, Brian Carpenter, Eric Vyncke, Greg Mirsky, Ron Bonica for | Kumari, Benjamin Kaduk, Stewart Bryant, Christopher Wood, Yoshifumi | |||
| the precious comments and suggestions. | Nishida, Tom Herbert, Stefano Previdi, Brian Carpenter, Greg Mirsky, | |||
| Ron Bonica 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 19, line 5 ¶ | skipping to change at page 20, line 22 ¶ | |||
| <https://www.rfc-editor.org/info/rfc8200>. | <https://www.rfc-editor.org/info/rfc8200>. | |||
| 9.2. Informative References | 9.2. Informative References | |||
| [I-D.chen-pce-pcep-ifit] | [I-D.chen-pce-pcep-ifit] | |||
| Yuan, H., Zhou, T., Li, W., Fioccola, G., and Y. Wang, | Yuan, H., Zhou, T., Li, W., Fioccola, G., and Y. Wang, | |||
| "Path Computation Element Communication Protocol (PCEP) | "Path Computation Element Communication Protocol (PCEP) | |||
| Extensions to Enable IFIT", draft-chen-pce-pcep-ifit-04 | Extensions to Enable IFIT", draft-chen-pce-pcep-ifit-04 | |||
| (work in progress), July 2021. | (work in progress), July 2021. | |||
| [I-D.fioccola-v6ops-ipv6-alt-mark] | ||||
| Fioccola, G., Velde, G. V. D., Cociglio, M., and P. Muley, | ||||
| "IPv6 Performance Measurement with Alternate Marking | ||||
| Method", draft-fioccola-v6ops-ipv6-alt-mark-01 (work in | ||||
| progress), June 2018. | ||||
| [I-D.fz-spring-srv6-alt-mark] | [I-D.fz-spring-srv6-alt-mark] | |||
| Fioccola, G., Zhou, T., and M. Cociglio, "Segment Routing | Fioccola, G., Zhou, T., and M. Cociglio, "Segment Routing | |||
| Header encapsulation for Alternate Marking Method", draft- | Header encapsulation for Alternate Marking Method", draft- | |||
| fz-spring-srv6-alt-mark-01 (work in progress), July 2021. | fz-spring-srv6-alt-mark-01 (work in progress), July 2021. | |||
| [I-D.hinden-6man-hbh-processing] | [I-D.hinden-6man-hbh-processing] | |||
| Hinden, R. M. and G. Fairhurst, "IPv6 Hop-by-Hop Options | Hinden, R. M. and G. Fairhurst, "IPv6 Hop-by-Hop Options | |||
| Processing Procedures", draft-hinden-6man-hbh- | Processing Procedures", draft-hinden-6man-hbh- | |||
| processing-01 (work in progress), June 2021. | processing-01 (work in progress), June 2021. | |||
| [I-D.ietf-idr-sr-policy-ifit] | [I-D.ietf-idr-sr-policy-ifit] | |||
| Qin, F., Yuan, H., Zhou, T., Fioccola, G., and Y. Wang, | Qin, F., Yuan, H., Zhou, T., Fioccola, G., and Y. Wang, | |||
| "BGP SR Policy Extensions to Enable IFIT", draft-ietf-idr- | "BGP SR Policy Extensions to Enable IFIT", draft-ietf-idr- | |||
| sr-policy-ifit-02 (work in progress), July 2021. | sr-policy-ifit-02 (work in progress), July 2021. | |||
| [I-D.peng-v6ops-hbh] | [I-D.peng-v6ops-hbh] | |||
| Peng, S., Li, Z., Xie, C., Qin, Z., and G. Mishra, | Peng, S., Li, Z., Xie, C., Qin, Z., and G. Mishra, | |||
| "Processing of the Hop-by-Hop Options Header", draft-peng- | "Processing of the Hop-by-Hop Options Header", draft-peng- | |||
| v6ops-hbh-04 (work in progress), June 2021. | v6ops-hbh-06 (work in progress), August 2021. | |||
| [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>. | |||
| [RFC4301] Kent, S. and K. Seo, "Security Architecture for the | ||||
| Internet Protocol", RFC 4301, DOI 10.17487/RFC4301, | ||||
| December 2005, <https://www.rfc-editor.org/info/rfc4301>. | ||||
| [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>. | |||
| [RFC6438] Carpenter, B. and S. Amante, "Using the IPv6 Flow Label | [RFC6438] Carpenter, B. and S. Amante, "Using the IPv6 Flow Label | |||
| for Equal Cost Multipath Routing and Link Aggregation in | for Equal Cost Multipath Routing and Link Aggregation in | |||
| Tunnels", RFC 6438, DOI 10.17487/RFC6438, November 2011, | Tunnels", RFC 6438, DOI 10.17487/RFC6438, November 2011, | |||
| <https://www.rfc-editor.org/info/rfc6438>. | <https://www.rfc-editor.org/info/rfc6438>. | |||
| skipping to change at page 20, line 26 ¶ | skipping to change at page 21, line 45 ¶ | |||
| [RFC8799] Carpenter, B. and B. Liu, "Limited Domains and Internet | [RFC8799] Carpenter, B. and B. Liu, "Limited Domains and Internet | |||
| Protocols", RFC 8799, DOI 10.17487/RFC8799, July 2020, | Protocols", RFC 8799, DOI 10.17487/RFC8799, July 2020, | |||
| <https://www.rfc-editor.org/info/rfc8799>. | <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>. | |||
| [RFC8915] Franke, D., Sibold, D., Teichel, K., Dansarie, M., and R. | ||||
| Sundblad, "Network Time Security for the Network Time | ||||
| Protocol", RFC 8915, DOI 10.17487/RFC8915, September 2020, | ||||
| <https://www.rfc-editor.org/info/rfc8915>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Giuseppe Fioccola | Giuseppe Fioccola | |||
| Huawei | Huawei | |||
| Riesstrasse, 25 | Riesstrasse, 25 | |||
| Munich 80992 | Munich 80992 | |||
| Germany | Germany | |||
| Email: giuseppe.fioccola@huawei.com | Email: giuseppe.fioccola@huawei.com | |||
| End of changes. 63 change blocks. | ||||
| 220 lines changed or deleted | 285 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/ | ||||