| < draft-ietf-6man-ipv6-alt-mark-10.txt | draft-ietf-6man-ipv6-alt-mark-11.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: March 18, 2022 M. Cociglio | Expires: April 24, 2022 M. Cociglio | |||
| Telecom Italia | Telecom Italia | |||
| F. Qin | F. Qin | |||
| China Mobile | China Mobile | |||
| R. Pang | R. Pang | |||
| China Unicom | China Unicom | |||
| September 14, 2021 | October 21, 2021 | |||
| IPv6 Application of the Alternate Marking Method | IPv6 Application of the Alternate Marking Method | |||
| draft-ietf-6man-ipv6-alt-mark-10 | draft-ietf-6man-ipv6-alt-mark-11 | |||
| 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 March 18, 2022. | This Internet-Draft will expire on April 24, 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 14, line 12 ¶ | skipping to change at page 14, line 12 ¶ | |||
| a flexible granularity for the flow definition, indeed, it can be | a flexible granularity for the flow definition, indeed, it can be | |||
| used together with other identifiers (e.g. 5-tuple). | used together with other identifiers (e.g. 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 FlowMonID MUST only be used as a monitored flow identifier and | The FlowMonID MUST only be used as a monitored flow identifier in | |||
| two usage modes can be possible: | order to determine a monitored flow within the measurement domain. | |||
| This entails not only an easy identification but improved correlation | ||||
| * using just the FlowMonID for identification purpose. This | as well. | |||
| entails not only an easy identification but improved correlation | ||||
| as well; | ||||
| * using FlowMonID in combination with the tuples to identify a | The value of 20 bits has been selected for the FlowMonID since it is | |||
| flow. This also allows finer granularity and therefore adds | a good compromise and implies a low rate of ambiguous FlowMonIDs that | |||
| flexibility to the flow identification. | can be considered acceptable in most of the applications. Indeed, | |||
| with 20 bits the number of combinations is 1048576. The requirement | ||||
| of the controlled domain also reduces the probability of FlowMonID | ||||
| collisions, since the AltMark Option is not spread over the internet. | ||||
| The FlowMon identifier field is to determine a monitored flow within | A consistent approach MUST be used in the implementation to avoid the | |||
| the measurement domain. It is RECOMMENDED to use a consistent | mixture of different ways of identifying. Therefore, all the nodes | |||
| approach in the implementation to avoid the mixture of different ways | along the path and involved into the measurement SHOULD use the same | |||
| of identifying. Therefore, all the nodes along the path and involved | mode for identification. It is RECOMMENDED to use the FlowMonID for | |||
| into the measurement SHOULD use the same mode for identification | identification purpose in combination with source and destination | |||
| (FlowMonID alone or in combination with other identifiers). | addresses to identify a flow. By considering source and destination | |||
| addresses together with the the FlowMonID it can be possible to | ||||
| monitor 1048576 concurrent flows per host pairs. This allows finer | ||||
| granularity and therefore adds even more flexibility to the flow | ||||
| identification. | ||||
| The FlowMonID field is set at the source node, which is the ingress | The FlowMonID field is set at the source node, which is the ingress | |||
| point of the measurement domain, and can be set in two ways: | point of the measurement domain, and can be set in two ways: | |||
| * It can be assigned by the central controller. Since the | * It can be assigned by the central controller. Since 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. In this regard, the controller can simply verify that | uniqueness. In this regard, the controller can simply verify that | |||
| there is no ambiguity between different pseudo-randomly generated | there is no ambiguity between different pseudo-randomly generated | |||
| FlowMonIDs on the same path. | 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, | |||
| be preferred for local or private networks, where the conflict | considering the recommendation to use FlowMonID with source and | |||
| probability is small due to the large FlowMonID space. | destination addresses the conflict probability is small due to the | |||
| large FlowMonID space available for each endpoint pair. | ||||
| 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 | ||||
| can be considered acceptable in most of the applications. Indeed, | ||||
| 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 SHOULD | |||
| either be combined with other identifying flow information in a | be combined with other identifying flow information in a packet and, | |||
| packet (e.g. it is possible to consider the hashed 3-tuple Flow | as mentioned, it is RECOMMENDED to consider the 3-tuple FlowMonID, | |||
| Label, Source and Destination addresses). | source and destination addresses. | |||
| 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 (i.e. source and destination addresses) | |||
| of a centralized controller, the controller should consider these | to allow disambiguation. While, in case of a centralized controller, | |||
| aspects and instruct the nodes properly in order to guarantee its | the controller should consider these aspects and instruct the nodes | |||
| uniqueness. | properly in order to guarantee its uniqueness. | |||
| It is worth highlighting that in most of the applications a low rate | ||||
| of ambiguous FlowMonIDs can be acceptable, since this only affects | ||||
| the measurement. For large scale measurements, where it is possible | ||||
| to monitor a big number of flows, the disambiguation of the FlowMonID | ||||
| field is something to take into account. | ||||
| 5.4. Multipoint and Clustered Alternate Marking | 5.4. Multipoint and Clustered Alternate Marking | |||
| The Alternate Marking method can also be extended to any kind of | The Alternate Marking method can also be extended to any kind of | |||
| multipoint to multipoint paths, and the network clustering approach | multipoint to multipoint paths, and the network clustering approach | |||
| allows a flexible and optimized performance measurement, as described | allows a flexible and optimized performance measurement, as described | |||
| in [RFC8889]. | in [RFC8889]. | |||
| The Cluster is the smallest identifiable subnetwork of the entire | The Cluster is the smallest identifiable subnetwork of the entire | |||
| Network graph that still satisfies the condition that the number of | Network graph that still satisfies the condition that the number of | |||
| End of changes. 10 change blocks. | ||||
| 41 lines changed or deleted | 36 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/ | ||||