| < draft-fioccola-rfc8889bis-02.txt | draft-fioccola-rfc8889bis-03.txt > | |||
|---|---|---|---|---|
| Network Working Group G. Fioccola, Ed. | Network Working Group G. Fioccola, Ed. | |||
| Internet-Draft Huawei Technologies | Internet-Draft Huawei Technologies | |||
| Obsoletes: 8889 (if approved) M. Cociglio | Obsoletes: 8889 (if approved) M. Cociglio | |||
| Intended status: Standards Track Telecom Italia | Intended status: Standards Track Telecom Italia | |||
| Expires: August 21, 2022 A. Sapio | Expires: August 27, 2022 A. Sapio | |||
| Intel Corporation | Intel Corporation | |||
| R. Sisto | R. Sisto | |||
| Politecnico di Torino | Politecnico di Torino | |||
| T. Zhou | T. Zhou | |||
| Huawei Technologies | Huawei Technologies | |||
| February 17, 2022 | February 23, 2022 | |||
| Multipoint Alternate-Marking Method | Multipoint Alternate-Marking Method | |||
| draft-fioccola-rfc8889bis-02 | draft-fioccola-rfc8889bis-03 | |||
| Abstract | Abstract | |||
| This document generalizes and expands Alternate-Marking methodology | This document generalizes and expands Alternate-Marking methodology | |||
| to measure any kind of unicast flow whose packets can follow several | to measure any kind of unicast flow whose packets can follow several | |||
| different paths in the network -- in wider terms, a multipoint-to- | different paths in the network -- in wider terms, a multipoint-to- | |||
| multipoint network. For this reason, the technique here described is | multipoint network. For this reason, the technique here described is | |||
| called "Multipoint Alternate Marking". This document obsoletes | called "Multipoint Alternate Marking". This document obsoletes | |||
| [RFC8889]. | [RFC8889]. | |||
| skipping to change at page 1, line 42 ¶ | skipping to change at page 1, line 42 ¶ | |||
| 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 August 21, 2022. | This Internet-Draft will expire on August 27, 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 5 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 2.1. Correlation with RFC 5644 . . . . . . . . . . . . . . . . 5 | 2.1. Correlation with RFC 5644 . . . . . . . . . . . . . . . . 6 | |||
| 3. Flow Classification . . . . . . . . . . . . . . . . . . . . . 6 | 3. Flow Classification . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. Multipoint Performance Measurement . . . . . . . . . . . . . 9 | 4. Extension of the Method to Multipoint Flows . . . . . . . . . 9 | |||
| 4.1. Monitoring Network . . . . . . . . . . . . . . . . . . . 9 | 4.1. Monitoring Network . . . . . . . . . . . . . . . . . . . 9 | |||
| 5. Multipoint Packet Loss . . . . . . . . . . . . . . . . . . . 10 | 4.2. Network Packet Loss . . . . . . . . . . . . . . . . . . . 10 | |||
| 6. Network Clustering . . . . . . . . . . . . . . . . . . . . . 11 | 5. Network Clustering . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 6.1. Algorithm for Clusters Partition . . . . . . . . . . . . 12 | 5.1. Algorithm for Clusters Partition . . . . . . . . . . . . 12 | |||
| 7. Timing Aspects . . . . . . . . . . . . . . . . . . . . . . . 16 | 6. Multipoint Packet Loss Measurement . . . . . . . . . . . . . 16 | |||
| 8. Multipoint Delay and Delay Variation . . . . . . . . . . . . 17 | 7. Multipoint Delay and Delay Variation . . . . . . . . . . . . 16 | |||
| 8.1. Delay Measurements on a Multipoint-Paths Basis . . . . . 18 | 7.1. Delay Measurements on a Multipoint-Paths Basis . . . . . 17 | |||
| 8.1.1. Single-Marking Measurement . . . . . . . . . . . . . 18 | 7.1.1. Single-Marking Measurement . . . . . . . . . . . . . 17 | |||
| 8.2. Delay Measurements on a Single-Packet Basis . . . . . . . 18 | 7.2. Delay Measurements on a Single-Packet Basis . . . . . . . 17 | |||
| 8.2.1. Single- and Double-Marking Measurement . . . . . . . 18 | 7.2.1. Single- and Double-Marking Measurement . . . . . . . 17 | |||
| 8.2.2. Hashing Selection Method . . . . . . . . . . . . . . 19 | 7.2.2. Hashing Selection Method . . . . . . . . . . . . . . 18 | |||
| 9. Results of the Multipoint Alternate Marking Experiment . . . 20 | 8. Synchronization and Timing . . . . . . . . . . . . . . . . . 19 | |||
| 9. Results of the Multipoint Alternate Marking Experiment . . . 21 | ||||
| 10. A Closed-Loop Performance-Management Approach . . . . . . . . 21 | 10. A Closed-Loop Performance-Management Approach . . . . . . . . 21 | |||
| 11. Security Considerations . . . . . . . . . . . . . . . . . . . 22 | 11. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | |||
| 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 | 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 23 | 13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 14. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 23 | 14. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 23 | 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 15.1. Normative References . . . . . . . . . . . . . . . . . . 23 | 15.1. Normative References . . . . . . . . . . . . . . . . . . 24 | |||
| 15.2. Informative References . . . . . . . . . . . . . . . . . 24 | 15.2. Informative References . . . . . . . . . . . . . . . . . 24 | |||
| Appendix A. Changes Log . . . . . . . . . . . . . . . . . . . . 25 | Appendix A. Changes Log . . . . . . . . . . . . . . . . . . . . 25 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 1. Introduction | 1. Introduction | |||
| The Alternate-Marking method, as described in | The Alternate-Marking method, as described in | |||
| [I-D.fioccola-rfc8321bis], is applicable to a point-to-point path. | [I-D.fioccola-rfc8321bis], is applicable to a point-to-point path. | |||
| The extension proposed in this document applies to the most general | The extension proposed in this document applies to the most general | |||
| case of multipoint-to-multipoint path and enables flexible and | case of multipoint-to-multipoint path and enables flexible and | |||
| adaptive performance measurements in a managed network. | adaptive performance measurements in a managed network. | |||
| The Alternate-Marking methodology described in | The Alternate-Marking methodology described in | |||
| skipping to change at page 8, line 40 ¶ | skipping to change at page 9, line 4 ¶ | |||
| \ +------+ / | \ +------+ / | |||
| <> R4 <> | <> R4 <> | |||
| +------+ \ | +------+ \ | |||
| +------+ \ +------+ | +------+ \ +------+ | |||
| ---<> R2 <> <> R7 <>--- | ---<> R2 <> <> R7 <>--- | |||
| +------+ \ / +------+ | +------+ \ / +------+ | |||
| \ +------+ / | \ +------+ / | |||
| <> R5 <> | <> R5 <> | |||
| / +------+ \ | / +------+ \ | |||
| +------+ / \ +------+ | +------+ / \ +------+ | |||
| ---<> R3 <> <> R8 <>--- | ---<> R3 <> <> R8 <>--- | |||
| +------+ +------+ | +------+ +------+ | |||
| Figure 1: Flow Classification | Figure 1: Flow Classification | |||
| The case of unicast flow is considered in Figure 1. The anycast flow | The case of unicast flow is considered in Figure 1. The anycast flow | |||
| is also in scope, because there is no replication and only a single | is also in scope, because there is no replication and only a single | |||
| node from the anycast group receives the traffic, so it can be viewed | node from the anycast group receives the traffic, so it can be viewed | |||
| as a special case of unicast flow. Furthermore, an ECMP flow is in | as a special case of unicast flow. Furthermore, an ECMP flow is in | |||
| scope by definition, since it is a point-to-multipoint unicast flow. | scope by definition, since it is a point-to-multipoint unicast flow. | |||
| 4. Multipoint Performance Measurement | 4. Extension of the Method to Multipoint Flows | |||
| By using the Alternate-Marking method, only point-to-point paths can | By using the Alternate-Marking method, only point-to-point paths can | |||
| be monitored. To have an IP (TCP/UDP) flow that follows a point-to- | be monitored. To have an IP (TCP/UDP) flow that follows a point-to- | |||
| point path, we have to define, with a specific value, 5 | point path, we have to define, with a specific value, 5 | |||
| identification fields (IP Source, IP Destination, Transport Protocol, | identification fields (IP Source, IP Destination, Transport Protocol, | |||
| Source Port, Destination Port). | Source Port, Destination Port). | |||
| Multipoint Alternate Marking enables the performance measurement for | Multipoint Alternate Marking enables the performance measurement for | |||
| multipoint flows selected by identification fields without any | multipoint flows selected by identification fields without any | |||
| constraints (even the entire network production traffic). It is also | constraints (even the entire network production traffic). It is also | |||
| skipping to change at page 10, line 41 ¶ | skipping to change at page 10, line 41 ¶ | |||
| assumed that there be a monitoring point at all possible egress | assumed that there be a monitoring point at all possible egress | |||
| points of the multipoint monitored network. | points of the multipoint monitored network. | |||
| The same is also applicable for the delay, but it will be described | The same is also applicable for the delay, but it will be described | |||
| in the following sections. | in the following sections. | |||
| The rest of the document assumes that the traffic is going from left | The rest of the document assumes that the traffic is going from left | |||
| to right in order to simplify the explanation. But the analysis done | to right in order to simplify the explanation. But the analysis done | |||
| for one direction applies equally to all directions. | for one direction applies equally to all directions. | |||
| 5. Multipoint Packet Loss | 4.2. Network Packet Loss | |||
| Since all the packets of the considered flow leaving the network have | Since all the packets of the considered flow leaving the network have | |||
| previously entered the network, the number of packets counted by all | previously entered the network, the number of packets counted by all | |||
| the input nodes is always greater than, or equal to, the number of | the input nodes is always greater than, or equal to, the number of | |||
| packets counted by all the output nodes. Noninitial fragments are | packets counted by all the output nodes. Noninitial fragments are | |||
| not considered here. | not considered here. | |||
| The assumption is the use of the Alternate-Marking method. In the | The assumption is the use of the Alternate-Marking method. In the | |||
| case of no packet loss occurring in the marking period, if all the | case of no packet loss occurring in the marking period, if all the | |||
| input and output points of the network domain to be monitored are | input and output points of the network domain to be monitored are | |||
| skipping to change at page 11, line 41 ¶ | skipping to change at page 11, line 41 ¶ | |||
| The equation is applied on a per-time-interval basis and a per-flow | The equation is applied on a per-time-interval basis and a per-flow | |||
| basis: | basis: | |||
| The reference interval is the Alternate-Marking period, as defined | The reference interval is the Alternate-Marking period, as defined | |||
| in [I-D.fioccola-rfc8321bis]. | in [I-D.fioccola-rfc8321bis]. | |||
| The flow definition is generalized here. Indeed, as described | The flow definition is generalized here. Indeed, as described | |||
| before, a multipoint packet flow is considered, and the | before, a multipoint packet flow is considered, and the | |||
| identification fields can be selected without any constraints. | identification fields can be selected without any constraints. | |||
| 6. Network Clustering | 5. Network Clustering | |||
| The previous equation can determine the number of packets lost | The previous equation of Section 4.2 can determine the number of | |||
| globally in the monitored network, exploiting only the data provided | packets lost globally in the monitored network, exploiting only the | |||
| by the counters in the input and output nodes. | data provided by the counters in the input and output nodes. | |||
| In addition, it is also possible to leverage the data provided by the | In addition, it is also possible to leverage the data provided by the | |||
| other counters in the network to converge on the smallest | other counters in the network to converge on the smallest | |||
| identifiable subnetworks where the losses occur. These subnetworks | identifiable subnetworks where the losses occur. These subnetworks | |||
| are named "clusters". | are named "clusters". | |||
| A cluster graph is a subnetwork of the entire monitoring network | A cluster graph is a subnetwork of the entire monitoring network | |||
| graph that still satisfies the packet loss equation (introduced in | graph that still satisfies the packet loss equation (introduced in | |||
| the previous section), where PL in this case is the number of packets | the previous section), where PL in this case is the number of packets | |||
| lost in the cluster. As for the entire monitoring network graph, the | lost in the cluster. As for the entire monitoring network graph, the | |||
| skipping to change at page 12, line 37 ¶ | skipping to change at page 12, line 37 ¶ | |||
| (one is the input interface, the other is the output interface, and | (one is the input interface, the other is the output interface, and | |||
| the router has only these two interfaces), instead of counting | the router has only these two interfaces), instead of counting | |||
| exactly twice, upon entering and leaving, it is possible to consider | exactly twice, upon entering and leaving, it is possible to consider | |||
| a single measurement point. In this case, we do not care about the | a single measurement point. In this case, we do not care about the | |||
| internal packet loss of the router. | internal packet loss of the router. | |||
| It is worth highlighting that it might also be convenient to define | It is worth highlighting that it might also be convenient to define | |||
| clusters based on the topological information so that they are | clusters based on the topological information so that they are | |||
| applicable to all the possible flows in the monitored network. | applicable to all the possible flows in the monitored network. | |||
| 6.1. Algorithm for Clusters Partition | 5.1. Algorithm for Clusters Partition | |||
| A simple algorithm can be applied in order to split our monitoring | A simple algorithm can be applied in order to split our monitoring | |||
| network into clusters. This can be done for each direction | network into clusters. This can be done for each direction | |||
| separately. The clusters partition is based on the monitoring | separately. The clusters partition is based on the monitoring | |||
| network graph, which can be valid for a specific flow or can also be | network graph, which can be valid for a specific flow or can also be | |||
| general and valid for the entire network topology. | general and valid for the entire network topology. | |||
| It is a two-step algorithm: | It is a two-step algorithm: | |||
| o Group the links where there is the same starting node; | o Group the links where there is the same starting node; | |||
| skipping to change at page 15, line 18 ¶ | skipping to change at page 15, line 18 ¶ | |||
| <> R8 <>--- | <> R8 <>--- | |||
| +------+ | +------+ | |||
| Figure 3: Clusters Example | Figure 3: Clusters Example | |||
| There are clusters with more than two nodes as well as two-node | There are clusters with more than two nodes as well as two-node | |||
| clusters. In the two-node clusters, the loss is on the link (Cluster | clusters. In the two-node clusters, the loss is on the link (Cluster | |||
| 4). In more-than-two-node clusters, the loss is on the cluster, but | 4). In more-than-two-node clusters, the loss is on the cluster, but | |||
| we cannot know in which link (Cluster 1, 2, or 3). | we cannot know in which link (Cluster 1, 2, or 3). | |||
| In this way, the calculation of packet loss can be made on a cluster | In this way, the calculation of packet loss, delay and delay | |||
| basis. Note that the packet counters for each marking period permit | variation can be made on a cluster basis. Note that the packet | |||
| calculating the packet rate on a cluster basis, so Committed | counters for each marking period permit calculating the packet rate | |||
| Information Rate (CIR) and Excess Information Rate (EIR) could also | on a cluster basis, so Committed Information Rate (CIR) and Excess | |||
| be deduced on a cluster basis. | Information Rate (EIR) could also be deduced on a cluster basis. | |||
| Obviously, by combining some clusters in a new connected subnetwork | Obviously, by combining some clusters in a new connected subnetwork | |||
| (called a "super cluster"), the packet-loss rule is still true. | (called a "super cluster"), the packet-loss rule is still true. | |||
| In this way, in a very large network, there is no need to configure | In this way, in a very large network, there is no need to configure | |||
| detailed filter criteria to inspect the traffic. You can check a | detailed filter criteria to inspect the traffic. It is possible to | |||
| multipoint network and, in case of problems, go deep with a step-by- | check a multipoint network and, in case of problems, go deep with a | |||
| step cluster analysis, but only for the cluster or combination of | step-by-step cluster analysis, but only for the cluster or | |||
| clusters where the problem happens. | combination of clusters where the problem happens. | |||
| In summary, once a flow is defined, the algorithm to build the | In summary, once a flow is defined, the algorithm to build the | |||
| clusters partition is based on topological information; therefore, it | clusters partition is based on topological information; therefore, it | |||
| considers all the possible links and nodes crossed by the given flow, | considers all the possible links and nodes crossed by the given flow, | |||
| even if there is no traffic. So, if the flow does not enter or | even if there is no traffic. So, if the flow does not enter or | |||
| traverse all the nodes, the counters have a nonzero value for the | traverse all the nodes, the counters have a nonzero value for the | |||
| involved nodes and a zero value for the other nodes without traffic; | involved nodes and a zero value for the other nodes without traffic; | |||
| but in the end, all the formulas are still valid. | but in the end, all the formulas are still valid. | |||
| The algorithm described above is an iterative clustering algorithm, | The algorithm described above is an iterative clustering algorithm, | |||
| but it is also possible to apply a recursive clustering algorithm by | but it is also possible to apply a recursive clustering algorithm by | |||
| using the node-node adjacency matrix representation | using the node-node adjacency matrix representation | |||
| [IEEE-ACM-ToN-MPNPM]. | [IEEE-ACM-ToN-MPNPM]. | |||
| The complete and mathematical analysis of the possible algorithms for | The complete and mathematical analysis of the possible algorithms for | |||
| clusters partition, including the considerations in terms of | clusters partition, including the considerations in terms of | |||
| efficiency and a comparison between the different methods, is in the | efficiency and a comparison between the different methods, is in the | |||
| paper [IEEE-ACM-ToN-MPNPM]. | paper [IEEE-ACM-ToN-MPNPM]. | |||
| 7. Timing Aspects | 6. Multipoint Packet Loss Measurement | |||
| It is important to consider the timing aspects, since out-of-order | ||||
| packets happen and have to be handled as well, as described in | ||||
| [I-D.fioccola-rfc8321bis]. | ||||
| However, in a multisource situation, an additional issue has to be | ||||
| considered. With multipoint path, the egress nodes will receive | ||||
| alternate marked packets in random order from different ingress | ||||
| nodes, and this must not affect the measurement. | ||||
| So, if we analyze a multipoint-to-multipoint path with more than one | ||||
| marking node, it is important to recognize the reference measurement | ||||
| interval. In general, the measurement interval for describing the | ||||
| results is the interval of the marking node that is more aligned with | ||||
| the start of the measurement, as reported in Figure 4. | ||||
| Note that the mark switching approach based on a fixed timer is | ||||
| considered in this document. | ||||
| time -> start stop | ||||
| T(R1) |-------------| | ||||
| T(R2) |-------------| | ||||
| T(R3) |------------| | ||||
| Figure 4: Measurement Interval | ||||
| In Figure 4, it is assumed that the node with the earliest clock (R1) | ||||
| identifies the right starting and ending times of the measurement, | ||||
| but it is just an assumption, and other possibilities could occur. | ||||
| So, in this case, T(R1) is the measurement interval, and its | ||||
| recognition is essential in order to make comparisons with other | ||||
| active/passive/hybrid Packet Loss metrics. | ||||
| Regarding the timing constraints of the methodology, | ||||
| [I-D.fioccola-rfc8321bis] already describes two contributions that | ||||
| are taken into account: the clock error between network devices and | ||||
| the network delay between the measurement points. | ||||
| When we expand to a multipoint environment, we have to consider that | ||||
| there are more marking nodes that mark the traffic based on | ||||
| synchronized clock time. But, due to different synchronization | ||||
| issues that may happen, the marking batches can be of different | ||||
| lengths and with different offsets when they get mixed in a | ||||
| multipoint flow. The additional gap that results between the sources | ||||
| can be incorporated into A, which is the maximum clock skew between | ||||
| the network devices, as already defined in [I-D.fioccola-rfc8321bis]. | ||||
| ...BBBBBBBBB | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | BBBBBBBBB... | ||||
| |<======================================>| | ||||
| | L | | ||||
| ...=========>|<==================><==================>|<==========... | ||||
| | L/2 L/2 | | ||||
| |<====>| |<====>| | ||||
| d | | d | ||||
| |<========================>| | ||||
| available counting interval | ||||
| Figure 5: Timing Aspects | ||||
| Moreover, it is assumed that each path of the multipoint flow can | ||||
| still be represented with a distinct normal distribution. So, for | ||||
| the aggregate multipoint path, the combination of normal | ||||
| distributions result in a new normal distribution. Under this | ||||
| assumption, the definition of the guard band d is still applicable as | ||||
| defined in [I-D.fioccola-rfc8321bis] and is given by: | ||||
| d = A + D_avg + 3*D_stddev, | ||||
| where A is the clock accuracy, D_avg is the average value of the | ||||
| network delay, and D_stddev is the standard deviation of the delay. | ||||
| As shown in Figure 5 and according to [I-D.fioccola-rfc8321bis], the | ||||
| condition that must be satisfied to enable the method to function | ||||
| properly is that the available counting interval must be > 0, and | ||||
| that means: | ||||
| L - 2d > 0. | The Network Packet Loss, defined in Section 4.2, valid for the an | |||
| entire monitored flow, can easily be extended to each multipoint path | ||||
| (e.g., the whole multipoint network, a cluster, or a combination of | ||||
| clusters). In this way it is possible to calculate Multipoint Packet | ||||
| Loss that is representative of a multipoint path. | ||||
| This formula needs to be verified for each measurement point on the | The same equation of Section 4.2 can be applied to a generic | |||
| multipoint path. | multipoint path like a cluster or a combination of clusters, where | |||
| the number of packets are those entering and leaving the multipoint | ||||
| path. | ||||
| Note that the timing considerations are valid for both packet loss | By applying the algorithm described in Section 5.1, it is possible to | |||
| and delay measurements. | split the monitoring network into clusters. Then, packet loss can be | |||
| measured on a cluster basis for each single period by considering the | ||||
| counters of the input and output nodes that belong to the specific | ||||
| cluster. This can be done for every packet flow in each marking | ||||
| period. | ||||
| 8. Multipoint Delay and Delay Variation | 7. Multipoint Delay and Delay Variation | |||
| The same line of reasoning can be applied to delay and delay | The same line of reasoning can be applied to delay and delay | |||
| variation. Similarly to the delay measurements defined in | variation. Similarly to the delay measurements defined in | |||
| [I-D.fioccola-rfc8321bis], the marking batches anchor the samples to | [I-D.fioccola-rfc8321bis], the marking batches anchor the samples to | |||
| a particular period, and this is the time reference that can be used. | a particular period, and this is the time reference that can be used. | |||
| It is important to highlight that both delay and delay-variation | It is important to highlight that both delay and delay-variation | |||
| measurements make sense in a multipoint path. The delay variation is | measurements make sense in a multipoint path. The delay variation is | |||
| calculated by considering the same packets selected for measuring the | calculated by considering the same packets selected for measuring the | |||
| delay. | delay. | |||
| In general, it is possible to perform delay and delay-variation | In general, it is possible to perform delay and delay-variation | |||
| measurements on the basis of multipoint paths or single packets: | measurements on the basis of multipoint paths or single packets: | |||
| o Delay measurements on the basis of multipoint paths mean that the | o Delay measurements on the basis of multipoint paths mean that the | |||
| delay value is representative of an entire multipoint path (e.g., | delay value is representative of an entire multipoint path (e.g., | |||
| the whole multipoint network, a cluster, or a combination of | the whole multipoint network, a cluster, or a combination of | |||
| clusters). | clusters). | |||
| o Delay measurements on a single-packet basis mean that you can use | o Delay measurements on a single-packet basis mean that you can use | |||
| a multipoint path just to easily couple packets between input and | a multipoint path just to easily couple packets between input and | |||
| output nodes of a multipoint path, as described in the following | output nodes of a multipoint path, as described in the following | |||
| sections. | sections. | |||
| 8.1. Delay Measurements on a Multipoint-Paths Basis | 7.1. Delay Measurements on a Multipoint-Paths Basis | |||
| 8.1.1. Single-Marking Measurement | 7.1.1. Single-Marking Measurement | |||
| Mean delay and mean delay-variation measurements can also be | Mean delay and mean delay-variation measurements can also be | |||
| generalized to the case of multipoint flows. It is possible to | generalized to the case of multipoint flows. It is possible to | |||
| compute the average one-way delay of packets in one block, a cluster, | compute the average one-way delay of packets in one block, a cluster, | |||
| or the entire monitored network. | or the entire monitored network. | |||
| The average latency can be measured as the difference between the | The average latency can be measured as the difference between the | |||
| weighted averages of the mean timestamps of the sets of output and | weighted averages of the mean timestamps of the sets of output and | |||
| input nodes. This means that, in the calculation, it is possible to | input nodes. This means that, in the calculation, it is possible to | |||
| weigh the timestamps by considering the number of packets for each | weigh the timestamps by considering the number of packets for each | |||
| endpoints. | endpoints. | |||
| Note that, since the one-way delay value is representative of a | Note that, since the one-way delay value is representative of a | |||
| multipoint path, it is possible to calculate the two-way delay of a | multipoint path, it is possible to calculate the two-way delay of a | |||
| multipoint path by summing the one-way delays of the two directions, | multipoint path by summing the one-way delays of the two directions, | |||
| similarly to [I-D.fioccola-rfc8321bis]. | similarly to [I-D.fioccola-rfc8321bis]. | |||
| 8.2. Delay Measurements on a Single-Packet Basis | 7.2. Delay Measurements on a Single-Packet Basis | |||
| 8.2.1. Single- and Double-Marking Measurement | 7.2.1. Single- and Double-Marking Measurement | |||
| Delay and delay-variation measurements relative to only one picked | Delay and delay-variation measurements relative to only one picked | |||
| packet per period (both single and double marked) can be performed in | packet per period (both single and double marked) can be performed in | |||
| the multipoint scenario, with some limitations: | the multipoint scenario, with some limitations: | |||
| Single marking based on the first/last packet of the interval | Single marking based on the first/last packet of the interval | |||
| would not work, because it would not be possible to agree on the | would not work, because it would not be possible to agree on the | |||
| first packet of the interval. | first packet of the interval. | |||
| Double marking or multiplexed marking would work, but each | Double marking or multiplexed marking would work, but each | |||
| skipping to change at page 19, line 38 ¶ | skipping to change at page 18, line 17 ¶ | |||
| A desirable option is to monitor simultaneously all the paths of a | A desirable option is to monitor simultaneously all the paths of a | |||
| multipoint path in the same marking period; for this purpose, hashing | multipoint path in the same marking period; for this purpose, hashing | |||
| can be used, as reported in the next section. | can be used, as reported in the next section. | |||
| Note that, since the one-way delay measurement is done on a single- | Note that, since the one-way delay measurement is done on a single- | |||
| packet basis, it is always possible to calculate the two-way delay | packet basis, it is always possible to calculate the two-way delay | |||
| but it is not immediate since it is necessary to couple the | but it is not immediate since it is necessary to couple the | |||
| measurement on each single path with the opposite direction. In this | measurement on each single path with the opposite direction. In this | |||
| case the NMS can do the calculation. | case the NMS can do the calculation. | |||
| 8.2.2. Hashing Selection Method | 7.2.2. Hashing Selection Method | |||
| RFCs 5474 [RFC5474] and 5475 [RFC5475] introduce sampling and | RFCs 5474 [RFC5474] and 5475 [RFC5475] introduce sampling and | |||
| filtering techniques for IP packet selection. | filtering techniques for IP packet selection. | |||
| The hash-based selection methodologies for delay measurement can work | The hash-based selection methodologies for delay measurement can work | |||
| in a multipoint-to-multipoint path and MAY be used either coupled to | in a multipoint-to-multipoint path and MAY be used either coupled to | |||
| mean delay or stand-alone. | mean delay or stand-alone. | |||
| [I-D.mizrahi-ippm-marking] introduces how to use the hash method (RFC | [I-D.mizrahi-ippm-marking] introduces how to use the hash method (RFC | |||
| 5474 [RFC5474] and RFC 5475 [RFC5475]) combined with the Alternate- | 5474 [RFC5474] and RFC 5475 [RFC5475]) combined with the Alternate- | |||
| skipping to change at page 20, line 27 ¶ | skipping to change at page 19, line 9 ¶ | |||
| Alternate Marking is used to create periods, so that hash-based | Alternate Marking is used to create periods, so that hash-based | |||
| samples are divided into batches, which allows anchoring the selected | samples are divided into batches, which allows anchoring the selected | |||
| samples to their period. Moreover, in the dynamic hash-based | samples to their period. Moreover, in the dynamic hash-based | |||
| sampling, by dynamically adapting the length of the hash value, the | sampling, by dynamically adapting the length of the hash value, the | |||
| number of samples is bounded in each marking period. | number of samples is bounded in each marking period. | |||
| In a multipoint environment, the hashing selection MAY be the | In a multipoint environment, the hashing selection MAY be the | |||
| solution for performing delay measurements on specific packets and | solution for performing delay measurements on specific packets and | |||
| overcoming the single- and double-marking limitations. | overcoming the single- and double-marking limitations. | |||
| 8. Synchronization and Timing | ||||
| It is important to consider the timing aspects, since out-of-order | ||||
| packets happen and have to be handled as well, as described in | ||||
| [I-D.fioccola-rfc8321bis]. | ||||
| However, in a multisource situation, an additional issue has to be | ||||
| considered. With multipoint path, the egress nodes will receive | ||||
| alternate marked packets in random order from different ingress | ||||
| nodes, and this must not affect the measurement. | ||||
| So, if we analyze a multipoint-to-multipoint path with more than one | ||||
| marking node, it is important to recognize the reference measurement | ||||
| interval. In general, the measurement interval for describing the | ||||
| results is the interval of the marking node that is more aligned with | ||||
| the start of the measurement, as reported in Figure 4. | ||||
| Note that the mark switching approach based on a fixed timer is | ||||
| considered in this document. | ||||
| time -> start stop | ||||
| T(R1) |-------------| | ||||
| T(R2) |-------------| | ||||
| T(R3) |------------| | ||||
| Figure 4: Measurement Interval | ||||
| In Figure 4, it is assumed that the node with the earliest clock (R1) | ||||
| identifies the right starting and ending times of the measurement, | ||||
| but it is just an assumption, and other possibilities could occur. | ||||
| So, in this case, T(R1) is the measurement interval, and its | ||||
| recognition is essential in order to make comparisons with other | ||||
| active/passive/hybrid Packet Loss metrics. | ||||
| Regarding the timing constraints of the methodology, | ||||
| [I-D.fioccola-rfc8321bis] already describes two contributions that | ||||
| are taken into account: the clock error between network devices and | ||||
| the network delay between the measurement points. | ||||
| When we expand to a multipoint environment, we have to consider that | ||||
| there are more marking nodes that mark the traffic based on | ||||
| synchronized clock time. But, due to different synchronization | ||||
| issues that may happen, the marking batches can be of different | ||||
| lengths and with different offsets when they get mixed in a | ||||
| multipoint flow. The additional gap that results between the sources | ||||
| can be incorporated into A, which is the maximum clock skew between | ||||
| the network devices, as already defined in [I-D.fioccola-rfc8321bis]. | ||||
| ...BBBBBBBBB | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | BBBBBBBBB... | ||||
| |<======================================>| | ||||
| | L | | ||||
| ...=========>|<==================><==================>|<==========... | ||||
| | L/2 L/2 | | ||||
| |<====>| |<====>| | ||||
| d | | d | ||||
| |<========================>| | ||||
| available counting interval | ||||
| Figure 5: Timing Aspects | ||||
| Moreover, it is assumed that each path of the multipoint flow can | ||||
| still be represented with a distinct normal distribution. So, for | ||||
| the aggregate multipoint path, the combination of normal | ||||
| distributions result in a new normal distribution. Under this | ||||
| assumption, the definition of the guard band d is still applicable as | ||||
| defined in [I-D.fioccola-rfc8321bis] and is given by: | ||||
| d = A + D_avg + 3*D_stddev, | ||||
| where A is the clock accuracy, D_avg is the average value of the | ||||
| network delay, and D_stddev is the standard deviation of the delay. | ||||
| As shown in Figure 5 and according to [I-D.fioccola-rfc8321bis], the | ||||
| condition that must be satisfied to enable the method to function | ||||
| properly is that the available counting interval must be > 0, and | ||||
| that means: | ||||
| L - 2d > 0. | ||||
| This formula needs to be verified for each measurement point on the | ||||
| multipoint path. | ||||
| Note that the timing considerations are valid for both packet loss | ||||
| and delay measurements. | ||||
| 9. Results of the Multipoint Alternate Marking Experiment | 9. Results of the Multipoint Alternate Marking Experiment | |||
| The methodology described in the previous sections can be applied to | The methodology described in the previous sections can be applied to | |||
| various performance measurement problems, as also explained in | various performance measurement problems, as also explained in | |||
| [I-D.fioccola-rfc8321bis]. | [I-D.fioccola-rfc8321bis]. | |||
| Either one or two flag bits might be available for marking in | Either one or two flag bits might be available for marking in | |||
| different deployments: | different deployments: | |||
| One flag: packet loss measurement SHOULD be done as described in | One flag: packet loss measurement SHOULD be done as described in | |||
| Section 5 by applying the network clustering partition described | Section 6 by applying the network clustering partition described | |||
| in Section 6. While delay measurement MAY be done according to | in Section 5. While delay measurement MAY be done according to | |||
| the Mean delay calculation representative of the multipoint path, | the Mean delay calculation representative of the multipoint path, | |||
| as described in Section 8.1.1. Single-marking method based on the | as described in Section 7.1.1. Single-marking method based on the | |||
| first/last packet of the interval cannot be applied, as mentioned | first/last packet of the interval cannot be applied, as mentioned | |||
| in Section 8.2.1. | in Section 7.2.1. | |||
| Two flags: packet loss measurement SHOULD be done as described in | Two flags: packet loss measurement SHOULD be done as described in | |||
| Section 5 by applying the network clustering partition described | Section 6 by applying the network clustering partition described | |||
| in Section 6. While delay measurement SHOULD be done on a single | in Section 5. While delay measurement SHOULD be done on a single | |||
| packet basis according to double-marking method Section 8.2.1. In | packet basis according to double-marking method Section 7.2.1. In | |||
| this case the Mean delay calculation (Section 8.1.1) MAY also be | this case the Mean delay calculation (Section 7.1.1) MAY also be | |||
| used as a representative value of a multipoint path. | used as a representative value of a multipoint path. | |||
| One flag and hash-based selection: packet loss measurement SHOULD | One flag and hash-based selection: packet loss measurement SHOULD | |||
| be done as described in Section 5 by applying the network | be done as described in Section 6 by applying the network | |||
| clustering partition described in Section 6. Hash-based selection | clustering partition described in Section 5. Hash-based selection | |||
| methodologies, introduced in Section 8.2.2, MAY be used for delay | methodologies, introduced in Section 7.2.2, MAY be used for delay | |||
| measurement. | measurement. | |||
| The experiment with Multipoint Alternate Marking methodologies | The experiment with Multipoint Alternate Marking methodologies | |||
| confirmed the benefits of the Alternate Marking methodology described | confirmed the benefits of the Alternate Marking methodology described | |||
| in [I-D.fioccola-rfc8321bis], as its extension to the general case of | in [I-D.fioccola-rfc8321bis], as its extension to the general case of | |||
| multipoint-to-multipoint scenarios. | multipoint-to-multipoint scenarios. | |||
| The Multipoint Alternate Marking Method is RECOMMENDED only for | The Multipoint Alternate Marking Method is RECOMMENDED only for | |||
| controlled domains, as per [I-D.fioccola-rfc8321bis]. | controlled domains, as per [I-D.fioccola-rfc8321bis]. | |||
| skipping to change at page 23, line 35 ¶ | skipping to change at page 24, line 12 ¶ | |||
| The authors would like to thank Martin Duke and Tommy Pauly for their | The authors would like to thank Martin Duke and Tommy Pauly for their | |||
| assistance and their detailed and precious reviews. | assistance and their detailed and precious reviews. | |||
| 15. References | 15. References | |||
| 15.1. Normative References | 15.1. Normative References | |||
| [I-D.fioccola-rfc8321bis] | [I-D.fioccola-rfc8321bis] | |||
| Fioccola, G., Cociglio, M., Mirsky, G., Mizrahi, T., Zhou, | Fioccola, G., Cociglio, M., Mirsky, G., Mizrahi, T., Zhou, | |||
| T., and X. Min, "Alternate-Marking Method", draft- | T., and X. Min, "Alternate-Marking Method", draft- | |||
| fioccola-rfc8321bis-02 (work in progress), February 2022. | fioccola-rfc8321bis-03 (work in progress), February 2022. | |||
| [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>. | |||
| [RFC5474] Duffield, N., Ed., Chiou, D., Claise, B., Greenberg, A., | [RFC5474] Duffield, N., Ed., Chiou, D., Claise, B., Greenberg, A., | |||
| Grossglauser, M., and J. Rexford, "A Framework for Packet | Grossglauser, M., and J. Rexford, "A Framework for Packet | |||
| Selection and Reporting", RFC 5474, DOI 10.17487/RFC5474, | Selection and Reporting", RFC 5474, DOI 10.17487/RFC5474, | |||
| March 2009, <https://www.rfc-editor.org/info/rfc5474>. | March 2009, <https://www.rfc-editor.org/info/rfc5474>. | |||
| skipping to change at page 25, line 26 ¶ | skipping to change at page 26, line 4 ¶ | |||
| o Removed section on "Examples of application" | o Removed section on "Examples of application" | |||
| Changes in v-(01) include: | Changes in v-(01) include: | |||
| o Considerations on BUM traffic | o Considerations on BUM traffic | |||
| o Reference to RFC8321bis for the fragmentation part | o Reference to RFC8321bis for the fragmentation part | |||
| o Revised section on "Delay Measurements on a Single-Packet Basis" | o Revised section on "Delay Measurements on a Single-Packet Basis" | |||
| o Revised section on "Timing Aspects" | o Revised section on "Timing Aspects" | |||
| Changes in v-(02) include: | Changes in v-(02) include: | |||
| o Clarified the formula in the section on "Timing Aspects" to be | o Clarified the formula in the section on "Timing Aspects" to be | |||
| aligned with RFC 8321 | aligned with RFC 8321 | |||
| o Considerations on two-way delay measurements in both sections 8.1 | o Considerations on two-way delay measurements in both sections 8.1 | |||
| and 8.2 on delay measurements | and 8.2 on delay measurements | |||
| o Clarified in section 4.1 on "Monitoring Network" that the | o Clarified in section 4.1 on "Monitoring Network" that the | |||
| description is done for one direction but it can easily be | description is done for one direction but it can easily be | |||
| extended to all direction | extended to all direction | |||
| o New section on "Results of the Multipoint Alternate Marking | o New section on "Results of the Multipoint Alternate Marking | |||
| Experiment" | Experiment" | |||
| Changes in v-(03) include: | ||||
| o Moved and renamed section on "Timing Aspects" as "Synchronization | ||||
| and Timing" | ||||
| o Renamed old section on "Multipoint Packet Loss" as "Network Packet | ||||
| Loss" | ||||
| o New section on "Multipoint Packet Loss Measurement" | ||||
| o Renamed section on "Multipoint Performance Measurement" as | ||||
| "Extension of the Method to Multipoint Flows" | ||||
| Authors' Addresses | Authors' Addresses | |||
| Giuseppe Fioccola (editor) | Giuseppe Fioccola (editor) | |||
| Huawei Technologies | Huawei Technologies | |||
| Riesstrasse, 25 | Riesstrasse, 25 | |||
| Munich 80992 | Munich 80992 | |||
| Germany | Germany | |||
| Email: giuseppe.fioccola@huawei.com | Email: giuseppe.fioccola@huawei.com | |||
| Mauro Cociglio | Mauro Cociglio | |||
| Telecom Italia | Telecom Italia | |||
| Via Reiss Romoli, 274 | Via Reiss Romoli, 274 | |||
| Torino 10148 | Torino 10148 | |||
| Italy | Italy | |||
| Email: mauro.cociglio@telecomitalia.it | Email: mauro.cociglio@telecomitalia.it | |||
| Amedeo Sapio | Amedeo Sapio | |||
| Intel Corporation | Intel Corporation | |||
| 4750 Patrick Henry Dr. | 4750 Patrick Henry Dr. | |||
| Santa Clara, CA 95054 | Santa Clara, CA 95054 | |||
| USA | USA | |||
| Email: amedeo.sapio@intel.com | Email: amedeo.sapio@intel.com | |||
| Riccardo Sisto | Riccardo Sisto | |||
| Politecnico di Torino | Politecnico di Torino | |||
| End of changes. 41 change blocks. | ||||
| 140 lines changed or deleted | 173 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/ | ||||