Difference between revisions of "RFC8889"

From RFC-Wiki
(Created page with " Internet Engineering Task Force (IETF) G. Fioccola, Ed. Request for Comments: 8889 Huawei Technologies Category: Experimental...")
 
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 

 

 
 
  
 
Internet Engineering Task Force (IETF)                  G. Fioccola, Ed.
 
Internet Engineering Task Force (IETF)                  G. Fioccola, Ed.
Line 7: Line 5:
 
Category: Experimental                                      M. Cociglio
 
Category: Experimental                                      M. Cociglio
 
ISSN: 2070-1721                                          Telecom Italia
 
ISSN: 2070-1721                                          Telecom Italia
                                                                A. Sapio
+
                                                            A. Sapio
                                                      Intel Corporation
+
                                                    Intel Corporation
                                                                R. Sisto
+
                                                            R. Sisto
                                                  Politecnico di Torino
+
                                                Politecnico di Torino
                                                            August 2020
+
                                                          August 2020
 
 
  
 
  Multipoint Alternate-Marking Method for Passive and Hybrid Performance
 
  Multipoint Alternate-Marking Method for Passive and Hybrid Performance
                              Monitoring
+
                            Monitoring
 
 
Abstract
 
  
  The Alternate-Marking method, as presented in RFC 8321, can only be
+
'''Abstract'''
  applied to point-to-point flows, because it assumes that all the
 
  packets of the flow measured on one node are measured again by a
 
  single second node.  This document generalizes and expands this
 
  methodology to measure any kind of unicast flow whose packets can
 
  follow several different paths in the network -- in wider terms, a
 
  multipoint-to-multipoint network.  For this reason, the technique
 
  here described is called "Multipoint Alternate Marking".
 
  
Status of This Memo
+
The Alternate-Marking method, as presented in [[RFC8321|RFC 8321]], can only be
 +
applied to point-to-point flows, because it assumes that all the
 +
packets of the flow measured on one node are measured again by a
 +
single second node.  This document generalizes and expands this
 +
methodology to measure any kind of unicast flow whose packets can
 +
follow several different paths in the network -- in wider terms, a
 +
multipoint-to-multipoint network.  For this reason, the technique
 +
here described is called "Multipoint Alternate Marking".
  
  This document is not an Internet Standards Track specification; it is
+
'''Status of This Memo'''
  published for examination, experimental implementation, and
 
  evaluation.
 
  
  This document defines an Experimental Protocol for the Internet
+
This document is not an Internet Standards Track specification; it is
  community.  This document is a product of the Internet Engineering
+
published for examination, experimental implementation, and
  Task Force (IETF).  It represents the consensus of the IETF
+
evaluation.
  community.  It has received public review and has been approved for
 
  publication by the Internet Engineering Steering Group (IESG).  Not
 
  all documents approved by the IESG are candidates for any level of
 
  Internet Standard; see Section 2 of RFC 7841.
 
  
  Information about the current status of this document, any errata,
+
This document defines an Experimental Protocol for the Internet
  and how to provide feedback on it may be obtained at
+
community.  This document is a product of the Internet Engineering
  https://www.rfc-editor.org/info/rfc8889.
+
Task Force (IETF).  It represents the consensus of the IETF
 +
community.  It has received public review and has been approved for
 +
publication by the Internet Engineering Steering Group (IESG). Not
 +
all documents approved by the IESG are candidates for any level of
 +
Internet Standard; see Section 2 of [[RFC7841|RFC 7841]].
  
Copyright Notice
+
Information about the current status of this document, any errata,
 +
and how to provide feedback on it may be obtained at
 +
https://www.rfc-editor.org/info/rfc8889.
  
  Copyright (c) 2020 IETF Trust and the persons identified as the
+
'''Copyright Notice'''
  document authors.  All rights reserved.
 
  
  This document is subject to BCP 78 and the IETF Trust's Legal
+
Copyright (c) 2020 IETF Trust and the persons identified as the
  Provisions Relating to IETF Documents
+
document authorsAll rights reserved.
  (https://trustee.ietf.org/license-info) in effect on the date of
 
  publication of this document.  Please review these documents
 
  carefully, as they describe your rights and restrictions with respect
 
  to this document.  Code Components extracted from this document must
 
  include Simplified BSD License text as described in Section 4.e of
 
  the Trust Legal Provisions and are provided without warranty as
 
  described in the Simplified BSD License.
 
  
Table of Contents
+
This document is subject to [[BCP78|BCP 78]] and the IETF Trust's Legal
 
+
Provisions Relating to IETF Documents
  1.  Introduction
+
(https://trustee.ietf.org/license-info) in effect on the date of
  2.  Terminology
+
publication of this documentPlease review these documents
    2.1.  Correlation with RFC 5644
+
carefully, as they describe your rights and restrictions with respect
  3.  Flow Classification
+
to this documentCode Components extracted from this document must
  4.  Multipoint Performance Measurement
+
include Simplified BSD License text as described in Section 4.e of
    4.1.  Monitoring Network
+
the Trust Legal Provisions and are provided without warranty as
  5.  Multipoint Packet Loss
+
described in the Simplified BSD License.
  6.  Network Clustering
 
    6.1.  Algorithm for Clusters Partition
 
  7.  Timing Aspects
 
  8.  Multipoint Delay and Delay Variation
 
    8.1.  Delay Measurements on a Multipoint-Paths Basis
 
      8.1.1.  Single-Marking Measurement
 
    8.2Delay Measurements on a Single-Packet Basis
 
      8.2.1.  Single- and Double-Marking Measurement
 
      8.2.2.  Hashing Selection Method
 
  9A Closed-Loop Performance-Management Approach
 
  10. Examples of Application
 
  11. Security Considerations
 
  12. IANA Considerations
 
  13. References
 
    13.1.  Normative References
 
    13.2.  Informative References
 
  Acknowledgements
 
  Authors' Addresses
 
  
 
1.  Introduction
 
1.  Introduction
 +
2.  Terminology
 +
  2.1.  Correlation with [[RFC5644|RFC 5644]]
 +
3.  Flow Classification
 +
4.  Multipoint Performance Measurement
 +
  4.1.  Monitoring Network
 +
5.  Multipoint Packet Loss
 +
6.  Network Clustering
 +
  6.1.  Algorithm for Clusters Partition
 +
7.  Timing Aspects
 +
8.  Multipoint Delay and Delay Variation
 +
  8.1.  Delay Measurements on a Multipoint-Paths Basis
 +
    8.1.1.  Single-Marking Measurement
 +
  8.2.  Delay Measurements on a Single-Packet Basis
 +
    8.2.1.  Single- and Double-Marking Measurement
 +
    8.2.2.  Hashing Selection Method
 +
9.  A Closed-Loop Performance-Management Approach
 +
10. Examples of Application
 +
11. Security Considerations
 +
12. IANA Considerations
 +
13. References
 +
  13.1.  Normative References
 +
  13.2.  Informative References
 +
Acknowledgements
 +
Authors' Addresses
  
  The Alternate-Marking method, as described in RFC 8321 [RFC8321], is
+
== Introduction ==
  applicable to a point-to-point path.  The extension proposed in this
 
  document applies to the most general case of multipoint-to-multipoint
 
  path and enables flexible and adaptive performance measurements in a
 
  managed network.
 
  
  The Alternate-Marking methodology described in RFC 8321 [RFC8321]
+
The Alternate-Marking method, as described in [[RFC8321|RFC 8321]] [[RFC8321]], is
  allows the synchronization of the measurements in different points by
+
applicable to a point-to-point path.  The extension proposed in this
  dividing the packet flow into batches.  So it is possible to get
+
document applies to the most general case of multipoint-to-multipoint
  coherent counters and show what is happening in every marking period
+
path and enables flexible and adaptive performance measurements in a
  for each monitored flow.  The monitoring parameters are the packet
+
managed network.
  counter and timestamps of a flow for each marking period.  Note that
 
  additional details about the applicability of the Alternate-Marking
 
  methodology are described in RFC 8321 [RFC8321] while implementation
 
  details can be found in the paper "AM-PM: Efficient Network Telemetry
 
  using Alternate Marking" [IEEE-Network-PNPM].
 
  
  There are some applications of the Alternate-Marking method where
+
The Alternate-Marking methodology described in [[RFC8321|RFC 8321]] [[RFC8321]]
  there are a lot of monitored flows and nodes.  Multipoint Alternate
+
allows the synchronization of the measurements in different points by
  Marking aims to reduce these values and makes the performance
+
dividing the packet flow into batches.  So it is possible to get
  monitoring more flexible in case a detailed analysis is not needed.
+
coherent counters and show what is happening in every marking period
  For instance, by considering n measurement points and m monitored
+
for each monitored flow.  The monitoring parameters are the packet
  flows, the order of magnitude of the packet counters for each time
+
counter and timestamps of a flow for each marking periodNote that
  interval is n*m*2 (1 per color).  The number of measurement points
+
additional details about the applicability of the Alternate-Marking
  and monitored flows may vary and depends on the portion of the
+
methodology are described in [[RFC8321|RFC 8321]] [[RFC8321]] while implementation
  network we are monitoring (core network, metro network, access
+
details can be found in the paper "AM-PM: Efficient Network Telemetry
  network) and the granularity (for each service, each customer)So
+
using Alternate Marking" [IEEE-Network-PNPM].
  if both n and m are high values, the packet counters increase a lot,
 
  and Multipoint Alternate Marking offers a tool to control these
 
  parameters.
 
  
  The approach presented in this document is applied only to unicast
+
There are some applications of the Alternate-Marking method where
  flows and not to multicastBroadcast, Unknown Unicast, and
+
there are a lot of monitored flows and nodesMultipoint Alternate
  Multicast (BUM) traffic is not considered here, because traffic
+
Marking aims to reduce these values and makes the performance
  replication is not covered by the Multipoint Alternate-Marking
+
monitoring more flexible in case a detailed analysis is not needed.
  methodFurthermore, it can be applicable to anycast flows, and
+
For instance, by considering n measurement points and m monitored
  Equal-Cost Multipath (ECMP) paths can also be easily monitored with
+
flows, the order of magnitude of the packet counters for each time
  this technique.
+
interval is n*m*2 (1 per color)The number of measurement points
 +
and monitored flows may vary and depends on the portion of the
 +
network we are monitoring (core network, metro network, access
 +
network) and the granularity (for each service, each customer).  So
 +
if both n and m are high values, the packet counters increase a lot,
 +
and Multipoint Alternate Marking offers a tool to control these
 +
parameters.
  
  In short, RFC 8321 [RFC8321] applies to point-to-point unicast flows
+
The approach presented in this document is applied only to unicast
  and BUM traffic, while this document and its Clustered Alternate-
+
flows and not to multicast.  Broadcast, Unknown Unicast, and
  Marking method is valid for multipoint-to-multipoint unicast flows,
+
Multicast (BUM) traffic is not considered here, because traffic
  anycast, and ECMP flows.
+
replication is not covered by the Multipoint Alternate-Marking
 +
method.  Furthermore, it can be applicable to anycast flows, and
 +
Equal-Cost Multipath (ECMP) paths can also be easily monitored with
 +
this technique.
  
  Therefore,the Alternate-Marking method can be extended to any kind of
+
In short, [[RFC8321|RFC 8321]] [[RFC8321]] applies to point-to-point unicast flows
  multipoint-to-multipoint paths, and the network-clustering approach
+
and BUM traffic, while this document and its Clustered Alternate-
  presented in this document is the formalization of how to implement
+
Marking method is valid for multipoint-to-multipoint unicast flows,
  this property and allow a flexible and optimized performance
+
anycast, and ECMP flows.
  measurement support for network management in every situation.
 
  
  Without network clustering, it is possible to apply Alternate Marking
+
Therefore,the Alternate-Marking method can be extended to any kind of
  only for all the network or per single flow.  Instead, with network
+
multipoint-to-multipoint paths, and the network-clustering approach
  clustering, it is possible to use the partition of the network into
+
presented in this document is the formalization of how to implement
  clusters at different levels in order to perform the needed degree of
+
this property and allow a flexible and optimized performance
  detail.  In some circumstances, it is possible to monitor a
+
measurement support for network management in every situation.
  multipoint network by analyzing the network clustering, without
 
  examining in depth.  In case of problems (packet loss is measured or
 
  the delay is too high), the filtering criteria could be specified
 
  more in order to perform a detailed analysis by using a different
 
  combination of clusters up to a per-flow measurement as described in
 
  RFC 8321 [RFC8321].
 
  
  This approach fits very well with the Closed-Loop Network and
+
Without network clustering, it is possible to apply Alternate Marking
  Software-Defined Network (SDN) paradigm, where the SDN orchestrator
+
only for all the network or per single flow.  Instead, with network
  and the SDN controllers are the brains of the network and can manage
+
clustering, it is possible to use the partition of the network into
  flow control to the switches and routers and, in the same way, can
+
clusters at different levels in order to perform the needed degree of
  calibrate the performance measurements depending on the desired
+
detail.  In some circumstances, it is possible to monitor a
  accuracyAn SDN controller application can orchestrate how
+
multipoint network by analyzing the network clustering, without
  accurately the network performance monitoring is set up by applying
+
examining in depthIn case of problems (packet loss is measured or
  the Multipoint Alternate Marking as described in this document.
+
the delay is too high), the filtering criteria could be specified
 +
more in order to perform a detailed analysis by using a different
 +
combination of clusters up to a per-flow measurement as described in
 +
[[RFC8321|RFC 8321]] [[RFC8321]].
  
  It is important to underline that, as an extension of RFC 8321
+
This approach fits very well with the Closed-Loop Network and
  [RFC8321], this is a methodology document, so the mechanism that can
+
Software-Defined Network (SDN) paradigm, where the SDN orchestrator
  be used to transmit the counters and the timestamps is out of scope
+
and the SDN controllers are the brains of the network and can manage
  here, and the implementation is openSeveral options are possible
+
flow control to the switches and routers and, in the same way, can
  -- e.g., see "Enhanced Alternate Marking Method"
+
calibrate the performance measurements depending on the desired
  [ENHANCED-ALTERNATE-MARKING].
+
accuracyAn SDN controller application can orchestrate how
 +
accurately the network performance monitoring is set up by applying
 +
the Multipoint Alternate Marking as described in this document.
  
  Note that the fragmented packets case can be managed with the
+
It is important to underline that, as an extension of [[RFC8321|RFC 8321]]
  Alternate-Marking methodology only if fragmentation happens outside
+
[[RFC8321]], this is a methodology document, so the mechanism that can
  the portion of the network that is monitoredThis is always true
+
be used to transmit the counters and the timestamps is out of scope
  for both RFC 8321 [RFC8321] and Multipoint Alternate Marking, as
+
here, and the implementation is openSeveral options are possible
  explained here.
+
-- e.g., see "Enhanced Alternate Marking Method"
 +
[ENHANCED-ALTERNATE-MARKING].
  
2Terminology
+
Note that the fragmented packets case can be managed with the
 +
Alternate-Marking methodology only if fragmentation happens outside
 +
the portion of the network that is monitoredThis is always true
 +
for both [[RFC8321|RFC 8321]] [[RFC8321]] and Multipoint Alternate Marking, as
 +
explained here.
  
  The definitions of the basic terms are identical to those found in
+
== Terminology ==
  Alternate Marking [RFC8321].  It is to be remembered that RFC 8321
 
  [RFC8321] is valid for point-to-point unicast flows and BUM traffic.
 
  
  The important new terms that need to be explained are listed below:
+
The definitions of the basic terms are identical to those found in
 +
Alternate Marking [[RFC8321]].  It is to be remembered that [[RFC8321|RFC 8321]]
 +
[[RFC8321]] is valid for point-to-point unicast flows and BUM traffic.
  
  Multipoint Alternate Marking:  Extension to RFC 8321 [RFC8321], valid
+
The important new terms that need to be explained are listed below:
      for multipoint-to-multipoint unicast flows, anycast, and ECMP
 
      flows.  It can also be referred to as Clustered Alternate Marking.
 
  
  Flow definitionThe concept of flow is generalized in this
+
Multipoint Alternate MarkingExtension to [[RFC8321|RFC 8321]] [[RFC8321]], valid
      document.  The identification fields are selected without any
+
  for multipoint-to-multipoint unicast flows, anycast, and ECMP
      constraints and, in general, the flow can be a multipoint-to-
+
  flows.  It can also be referred to as Clustered Alternate Marking.
      multipoint flow, as a result of aggregate point-to-point flows.
 
  
  Monitoring networkIdentified with the nodes of the network that
+
Flow definitionThe concept of flow is generalized in this
      are the measurement points (MPs) and the links that are the
+
  document.  The identification fields are selected without any
      connections between MPs.  The monitoring network graph depends on
+
  constraints and, in general, the flow can be a multipoint-to-
      the flow definition, so it can represent a specific flow or the
+
  multipoint flow, as a result of aggregate point-to-point flows.
      entire network topology as aggregate of all the flows.
 
  
  ClusterSmallest identifiable subnetwork of the entire monitoring
+
Monitoring networkIdentified with the nodes of the network that
      network graph that still satisfies the condition that the number
+
  are the measurement points (MPs) and the links that are the
      of packets that go in is the same as the number that go out.
+
  connections between MPs.  The monitoring network graph depends on
 +
  the flow definition, so it can represent a specific flow or the
 +
  entire network topology as aggregate of all the flows.
  
  Multipoint metricsPacket loss, delay, and delay variation are
+
ClusterSmallest identifiable subnetwork of the entire monitoring
      extended to the case of multipoint flows.  It is possible to
+
  network graph that still satisfies the condition that the number
      compute these metrics on the basis of multipoint paths in order to
+
  of packets that go in is the same as the number that go out.
      associate the measurements to a cluster, a combination of
 
      clusters, or the entire monitored network.  For delay and delay
 
      variation, it is also possible to define the metrics on a single-
 
      packet basis, and it means that the multipoint path is used to
 
      easily couple packets between input and output nodes of a
 
      multipoint path.
 
  
   The next section highlights the correlation with the terms used in
+
Multipoint metrics:  Packet loss, delay, and delay variation are
   RFC 5644 [RFC5644].
+
  extended to the case of multipoint flows.  It is possible to
 +
  compute these metrics on the basis of multipoint paths in order to
 +
   associate the measurements to a cluster, a combination of
 +
  clusters, or the entire monitored network.  For delay and delay
 +
  variation, it is also possible to define the metrics on a single-
 +
  packet basis, and it means that the multipoint path is used to
 +
  easily couple packets between input and output nodes of a
 +
   multipoint path.
  
2.1.  Correlation with RFC 5644
+
The next section highlights the correlation with the terms used in
 +
[[RFC5644|RFC 5644]] [[RFC5644]].
  
  RFC 5644 [RFC5644] is limited to active measurements using a single
+
=== Correlation with [[RFC5644|RFC 5644]] ===
  source packet or stream.  Its scope is also limited to observations
 
  of corresponding packets along the path (spatial metric) and at one
 
  or more destinations (one-to-group) along the path.
 
  
  Instead, the scope of this memo is to define multiparty metrics for
+
[[RFC5644|RFC 5644]] [[RFC5644]] is limited to active measurements using a single
  passive and hybrid measurements in a group-to-group topology with
+
source packet or stream.  Its scope is also limited to observations
  multiple sources and destinations.
+
of corresponding packets along the path (spatial metric) and at one
 +
or more destinations (one-to-group) along the path.
  
  RFC 5644 [RFC5644] introduces metric names that can be reused here
+
Instead, the scope of this memo is to define multiparty metrics for
  but have to be extended and rephrased to be applied to the Alternate-
+
passive and hybrid measurements in a group-to-group topology with
  Marking schema:
+
multiple sources and destinations.
  
  a.  the multiparty metrics are not only one-to-group metrics but can
+
[[RFC5644|RFC 5644]] [[RFC5644]] introduces metric names that can be reused here
      be also group-to-group metrics;
+
but have to be extended and rephrased to be applied to the Alternate-
 +
Marking schema:
  
  b.  the spatial metrics, used for measuring the performance of
+
a.  the multiparty metrics are not only one-to-group metrics but can
      segments of a source to destination path, are applied here to
+
    be also group-to-group metrics;
      group-to-group segments (called clusters).
 
  
3Flow Classification
+
bthe spatial metrics, used for measuring the performance of
 +
    segments of a source to destination path, are applied here to
 +
    group-to-group segments (called clusters).
  
  A unicast flow is identified by all the packets having a set of
+
== Flow Classification ==
  common characteristics.  This definition is inspired by RFC 7011
 
  [RFC7011].
 
  
  As an example, by considering a flow as all the packets sharing the
+
A unicast flow is identified by all the packets having a set of
  same source IP address or the same destination IP address, it is easy
+
common characteristics.  This definition is inspired by [[RFC7011|RFC 7011]]
  to understand that the resulting pattern will not be a point-to-point
+
[[RFC7011]].
  connection, but a point-to-multipoint or multipoint-to-point
 
  connection.
 
  
  In general, a flow can be defined by a set of selection rules used to
+
As an example, by considering a flow as all the packets sharing the
  match a subset of the packets processed by the network device.  These
+
same source IP address or the same destination IP address, it is easy
  rules specify a set of Layer 3 and Layer 4 header fields
+
to understand that the resulting pattern will not be a point-to-point
  (identification fields) and the relative values that must be found in
+
connection, but a point-to-multipoint or multipoint-to-point
  matching packets.
+
connection.
  
  The choice of the identification fields directly affects the type of
+
In general, a flow can be defined by a set of selection rules used to
  paths that the flow would follow in the network.  In fact, it is
+
match a subset of the packets processed by the network deviceThese
  possible to relate a set of identification fields with the pattern of
+
rules specify a set of Layer 3 and Layer 4 header fields
  the resulting graphs, as listed in Figure 1.
+
(identification fields) and the relative values that must be found in
 +
matching packets.
  
  A TCP 5-tuple usually identifies flows following either a single path
+
The choice of the identification fields directly affects the type of
  or a point-to-point multipath (in the case of load balancing)On
+
paths that the flow would follow in the networkIn fact, it is
  the contrary, a single source address selects aggregate flows
+
possible to relate a set of identification fields with the pattern of
  following a point-to-multipoint, while a multipoint-to-point can be
+
the resulting graphs, as listed in Figure 1.
  the result of a matching on a single destination address.  In the
 
  case where a selection rule and its reverse are used for
 
  bidirectional measurements, they can correspond to a point-to-
 
  multipoint in one direction and a multipoint-to-point in the opposite
 
  direction.
 
  
  So the flows to be monitored are selected into the monitoring points
+
A TCP 5-tuple usually identifies flows following either a single path
  using packet selection rules, which can also change the pattern of
+
or a point-to-point multipath (in the case of load balancing).  On
  the monitored network.
+
the contrary, a single source address selects aggregate flows
 +
following a point-to-multipoint, while a multipoint-to-point can be
 +
the result of a matching on a single destination address.  In the
 +
case where a selection rule and its reverse are used for
 +
bidirectional measurements, they can correspond to a point-to-
 +
multipoint in one direction and a multipoint-to-point in the opposite
 +
direction.
  
  Note that, more generally, the flow can be defined at different
+
So the flows to be monitored are selected into the monitoring points
  levels based on the potential encapsulation, and additional
+
using packet selection rules, which can also change the pattern of
  conditions that are not in the packet header can also be included as
+
the monitored network.
  part of matching criteria.
 
  
  The Alternate-Marking method is applicable only to a single path (and
+
Note that, more generally, the flow can be defined at different
  partially to a one-to-one multipath), so the extension proposed in
+
levels based on the potential encapsulation, and additional
  this document is suitable also for the most general case of
+
conditions that are not in the packet header can also be included as
  multipoint-to-multipoint, which embraces all the other patterns of
+
part of matching criteria.
  Figure 1.
 
  
          point-to-point single path
+
The Alternate-Marking method is applicable only to a single path (and
              +------+      +------+      +------+
+
partially to a one-to-one multipath), so the extension proposed in
          ---<>  R1  <>----<>  R2  <>----<>  R3  <>---
+
this document is suitable also for the most general case of
              +------+      +------+      +------+
+
multipoint-to-multipoint, which embraces all the other patterns of
 +
Figure 1.
  
 +
      point-to-point single path
 +
          +------+      +------+      +------+
 +
      ---<>  R1  <>----<>  R2  <>----<>  R3  <>---
 +
          +------+      +------+      +------+
  
          point-to-point multipath
+
      point-to-point multipath
                          +------+
+
                        +------+
                          <>  R2  <>
+
                      <>  R2  <>
                        / +------+ \
+
                      / +------+ \
                        /            \
+
                    /            \
              +------+ /              \ +------+
+
          +------+ /              \ +------+
          ---<>  R1  <>                <>  R4  <>---
+
      ---<>  R1  <>                <>  R4  <>---
              +------+ \              / +------+
+
          +------+ \              / +------+
                        \            /
+
                    \            /
                        \ +------+ /
+
                      \ +------+ /
                          <>  R3  <>
+
                      <>  R3  <>
                          +------+
+
                        +------+
  
 +
      point-to-multipoint
 +
                                  +------+
 +
                                  <>  R4  <>---
 +
                                / +------+
 +
                      +------+ /
 +
                      <>  R2  <>
 +
                    / +------+ \
 +
          +------+ /            \ +------+
 +
      ---<>  R1  <>              <>  R5  <>---
 +
          +------+ \              +------+
 +
                    \ +------+
 +
                      <>  R3  <>
 +
                      +------+ \
 +
                                \ +------+
 +
                                  <>  R6  <>---
 +
                                  +------+
  
          point-to-multipoint
+
      multipoint-to-point
                                      +------+
+
          +------+
                                    <>  R4 <>---
+
      ---<>  R1 <>
                                    / +------+
+
          +------+ \
                          +------+ /
+
                    \ +------+
                        <>  R2 <>
+
                    <>  R4 <>
                        / +------+ \
+
                    / +------+ \
              +------+ /            \ +------+
+
          +------+ /            \ +------+
          ---<>  R1 <>              <>  R5 <>---
+
      ---<>  R2 <>              <>  R6 <>---
              +------+ \             +------+
+
          +------+              / +------+
                        \ +------+
+
                      +------+ /
                        <>  R3 <>
+
                      <>  R5 <>
                          +------+ \
+
                    / +------+
                                    \ +------+
+
          +------+ /
                                    <>  R6 <>---
+
      ---<>  R3 <>
                                      +------+
+
          +------+
  
 +
      multipoint-to-multipoint
 +
          +------+                +------+
 +
      ---<>  R1  <>              <>  R6  <>---
 +
          +------+ \            / +------+
 +
                    \ +------+ /
 +
                      <>  R4  <>
 +
                      +------+ \
 +
          +------+              \ +------+
 +
      ---<>  R2  <>            <>  R7  <>---
 +
          +------+ \            / +------+
 +
                    \ +------+ /
 +
                      <>  R5  <>
 +
                    / +------+ \
 +
          +------+ /            \ +------+
 +
      ---<>  R3  <>              <>  R8  <>---
 +
          +------+                +------+
  
          multipoint-to-point
+
                    Figure 1: Flow Classification
              +------+
 
          ---<>  R1  <>
 
              +------+ \
 
                        \ +------+
 
                        <>  R4  <>
 
                        / +------+ \
 
              +------+ /            \ +------+
 
          ---<>  R2  <>              <>  R6  <>---
 
              +------+              / +------+
 
                          +------+ /
 
                        <>  R5  <>
 
                        / +------+
 
              +------+ /
 
          ---<>  R3  <>
 
              +------+
 
  
 +
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
 +
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
 +
scope by definition, since it is a point-to-multipoint unicast flow.
  
          multipoint-to-multipoint
+
== Multipoint Performance Measurement ==
              +------+                +------+
 
          ---<>  R1  <>              <>  R6  <>---
 
              +------+ \            / +------+
 
                        \ +------+ /
 
                        <>  R4  <>
 
                          +------+ \
 
              +------+              \ +------+
 
          ---<>  R2  <>            <>  R7  <>---
 
              +------+ \            / +------+
 
                        \ +------+ /
 
                        <>  R5  <>
 
                        / +------+ \
 
              +------+ /            \ +------+
 
          ---<>  R3  <>              <>  R8  <>---
 
              +------+                +------+
 
  
                      Figure 1: Flow Classification
+
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-
 +
point path, we have to define, with a specific value, 5
 +
identification fields (IP Source, IP Destination, Transport Protocol,
 +
Source Port, Destination Port).
  
  The case of unicast flow is considered in Figure 1.  The anycast flow
+
Multipoint Alternate Marking enables the performance measurement for
  is also in scope, because there is no replication and only a single
+
multipoint flows selected by identification fields without any
  node from the anycast group receives the traffic, so it can be viewed
+
constraints (even the entire network production traffic)It is also
  as a special case of unicast flowFurthermore, an ECMP flow is in
+
possible to use multiple marking points for the same monitored flow.
  scope by definition, since it is a point-to-multipoint unicast flow.
 
  
4.  Multipoint Performance Measurement
+
=== Monitoring Network ===
  
  By using the Alternate-Marking method, only point-to-point paths can
+
The monitoring network is deduced from the production network by
  be monitored.  To have an IP (TCP/UDP) flow that follows a point-to-
+
identifying the nodes of the graph that are the measurement points,
  point path, we have to define, with a specific value, 5
+
and the links that are the connections between measurement points.
  identification fields (IP Source, IP Destination, Transport Protocol,
 
  Source Port, Destination Port).
 
  
  Multipoint Alternate Marking enables the performance measurement for
+
There are some techniques that can help with the building of the
  multipoint flows selected by identification fields without any
+
monitoring network (as an example, see [ROUTE-ASSESSMENT]).  In
  constraints (even the entire network production traffic).  It is also
+
general, there are different options: the monitoring network can be
  possible to use multiple marking points for the same monitored flow.
+
obtained by considering all the possible paths for the traffic or
 +
periodically checking the traffic (e.g. daily, weekly, monthly) and
 +
updating the graph as appropriate, but this is up to the Network
 +
Management System (NMS) configuration.
  
4.1. Monitoring Network
+
So a graph model of the monitoring network can be built according to
 +
the Alternate-Marking method: the monitored interfaces and links are
 +
identified. Only the measurement points and links where the traffic
 +
has flowed have to be represented in the graph.
  
  The monitoring network is deduced from the production network by
+
Figure 2 shows a simple example of a monitoring network graph:
  identifying the nodes of the graph that are the measurement points,
 
  and the links that are the connections between measurement points.
 
  
  There are some techniques that can help with the building of the
+
                                                +------+
  monitoring network (as an example, see [ROUTE-ASSESSMENT]).  In
+
                                                <>  R6  <>---
  general, there are different options: the monitoring network can be
+
                                              / +------+
  obtained by considering all the possible paths for the traffic or
+
                        +------+    +------+ /
  periodically checking the traffic (e.g. daily, weekly, monthly) and
+
                      <>  R2  <>---<>  R4  <>
  updating the graph as appropriate, but this is up to the Network
+
                      / +------+ \  +------+ \
  Management System (NMS) configuration.
+
                    /            \            \ +------+
 
+
          +------+ /  +------+  \ +------+  <>  R7  <>---
  So a graph model of the monitoring network can be built according to
+
      ---<>  R1  <>---<>  R3  <>---<>  R5  <>  +------+
  the Alternate-Marking method: the monitored interfaces and links are
+
          +------+ \  +------+ \  +------+ \
  identified.  Only the measurement points and links where the traffic
+
                    \            \            \ +------+
  has flowed have to be represented in the graph.
+
                      \            \            <>  R8  <>---
 
+
                      \            \            +------+
  Figure 2 shows a simple example of a monitoring network graph:
+
                        \            \
 
+
                        \            \ +------+
                                                    +------+
+
                          \            <>  R9  <>---
                                                  <>  R6  <>---
+
                          \            +------+
                                                  / +------+
+
                            \
                          +------+    +------+ /
+
                            \ +------+
                          <>  R2  <>---<>  R4  <>
+
                              <>  R10 <>---
                        / +------+ \  +------+ \
+
                              +------+
                        /            \            \ +------+
 
              +------+ /  +------+  \ +------+  <>  R7  <>---
 
          ---<>  R1  <>---<>  R3  <>---<>  R5  <>  +------+
 
              +------+ \  +------+ \  +------+ \
 
                        \            \            \ +------+
 
                        \            \            <>  R8  <>---
 
                          \            \            +------+
 
                          \            \
 
                            \            \ +------+
 
                            \            <>  R9  <>---
 
                              \            +------+
 
                              \
 
                                \ +------+
 
                                <>  R10 <>---
 
                                  +------+
 
  
                    Figure 2: Monitoring Network Graph
+
                  Figure 2: Monitoring Network Graph
  
  Each monitoring point is characterized by the packet counter that
+
Each monitoring point is characterized by the packet counter that
  refers only to a marking period of the monitored flow.
+
refers only to a marking period of the monitored flow.
  
  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.
  
5.  Multipoint Packet Loss
+
== Multipoint 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
  measurement points, the sum of the number of packets on all the
+
measurement points, the sum of the number of packets on all the
  ingress interfaces equals the number on egress interfaces for the
+
ingress interfaces equals the number on egress interfaces for the
  monitored flow.  In this circumstance, if no packet loss occurs, the
+
monitored flow.  In this circumstance, if no packet loss occurs, the
  intermediate measurement points only have the task of splitting the
+
intermediate measurement points only have the task of splitting the
  measurement.
+
measurement.
  
  It is possible to define the Network Packet Loss of one monitored
+
It is possible to define the Network Packet Loss of one monitored
  flow for a single period.  In a packet network, the number of lost
+
flow for a single period.  In a packet network, the number of lost
  packets is the number of packets counted by the input nodes minus the
+
packets is the number of packets counted by the input nodes minus the
  number of packets counted by the output nodes.  This is true for
+
number of packets counted by the output nodes.  This is true for
  every packet flow in each marking period.
+
every packet flow in each marking period.
  
  The monitored network packet loss with n input nodes and m output
+
The monitored network packet loss with n input nodes and m output
  nodes is given by:
+
nodes is given by:
  
  PL = (PI1 + PI2 +...+ PIn) - (PO1 + PO2 +...+ POm)
+
PL = (PI1 + PI2 +...+ PIn) - (PO1 + PO2 +...+ POm)
  
  where:
+
where:
  
  PL is the network packet loss (number of lost packets)
+
PL is the network packet loss (number of lost packets)
  
  PIi is the number of packets flowed through the i-th input node in
+
PIi is the number of packets flowed through the i-th input node in
  this period
+
this period
  
  POj is the number of packets flowed through the j-th output node in
+
POj is the number of packets flowed through the j-th output node in
  this period
+
this period
  
  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 RFC 8321 [RFC8321].
+
  in [[RFC8321|RFC 8321]] [[RFC8321]].
  
      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
+
== Network Clustering ==
  
  The previous equation can determine the number of packets lost
+
The previous equation can determine the number of packets lost
  globally in the monitored network, exploiting only the data provided
+
globally in the monitored network, exploiting only the data provided
  by the counters in the input and output nodes.
+
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
  cluster is defined on a per-flow basis.
+
cluster is defined on a per-flow basis.
  
  For this reason, a cluster should contain all the arcs emanating from
+
For this reason, a cluster should contain all the arcs emanating from
  its input nodes and all the arcs terminating at its output nodes.
+
its input nodes and all the arcs terminating at its output nodes.
  This ensures that we can count all the packets (and only those)
+
This ensures that we can count all the packets (and only those)
  exiting an input node again at the output node, whatever path they
+
exiting an input node again at the output node, whatever path they
  follow.
+
follow.
  
  In a completely monitored unidirectional network (a network where
+
In a completely monitored unidirectional network (a network where
  every network interface is monitored), each network device
+
every network interface is monitored), each network device
  corresponds to a cluster, and each physical link corresponds to two
+
corresponds to a cluster, and each physical link corresponds to two
  clusters (one for each device).
+
clusters (one for each device).
  
  Clusters can have different sizes depending on the flow-filtering
+
Clusters can have different sizes depending on the flow-filtering
  criteria adopted.
+
criteria adopted.
  
  Moreover, sometimes clusters can be optionally simplified.  For
+
Moreover, sometimes clusters can be optionally simplified.  For
  example, when two monitored interfaces are divided by a single router
+
example, when two monitored interfaces are divided by a single router
  (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
+
=== 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:
  
  1.  Group the links where there is the same starting node;
+
1.  Group the links where there is the same starting node;
  
  2.  Join the grouped links with at least one ending node in common.
+
2.  Join the grouped links with at least one ending node in common.
  
  Considering that the links are unidirectional, the first step implies
+
Considering that the links are unidirectional, the first step implies
  listing all the links as connections between two nodes and grouping
+
listing all the links as connections between two nodes and grouping
  the different links if they have the same starting node.  Note that
+
the different links if they have the same starting node.  Note that
  it is possible to start from any link, and the procedure will work.
+
it is possible to start from any link, and the procedure will work.
  Following this classification, the second step implies eventually
+
Following this classification, the second step implies eventually
  joining the groups classified in the first step by looking at the
+
joining the groups classified in the first step by looking at the
  ending nodes.  If different groups have at least one common ending
+
ending nodes.  If different groups have at least one common ending
  node, they are put together and belong to the same set.  After the
+
node, they are put together and belong to the same set.  After the
  application of the two steps of the algorithm, each one of the
+
application of the two steps of the algorithm, each one of the
  composed sets of links, together with the endpoint nodes, constitutes
+
composed sets of links, together with the endpoint nodes, constitutes
  a cluster.
+
a cluster.
  
  In our monitoring network graph example, it is possible to identify
+
In our monitoring network graph example, it is possible to identify
  the clusters partition by applying this two-step algorithm.
+
the clusters partition by applying this two-step algorithm.
  
  The first step identifies the following groups:
+
The first step identifies the following groups:
  
  1.  Group 1: (R1-R2), (R1-R3), (R1-R10)
+
1.  Group 1: (R1-R2), (R1-R3), (R1-R10)
  
  2.  Group 2: (R2-R4), (R2-R5)
+
2.  Group 2: (R2-R4), (R2-R5)
  
  3.  Group 3: (R3-R5), (R3-R9)
+
3.  Group 3: (R3-R5), (R3-R9)
  
  4.  Group 4: (R4-R6), (R4-R7)
+
4.  Group 4: (R4-R6), (R4-R7)
  
  5.  Group 5: (R5-R8)
+
5.  Group 5: (R5-R8)
  
  And then, the second step builds the clusters partition (in
+
And then, the second step builds the clusters partition (in
  particular, we can underline that Groups 2 and 3 connect together,
+
particular, we can underline that Groups 2 and 3 connect together,
  since R5 is in common):
+
since R5 is in common):
  
  1.  Cluster 1: (R1-R2), (R1-R3), (R1-R10)
+
1.  Cluster 1: (R1-R2), (R1-R3), (R1-R10)
  
  2.  Cluster 2: (R2-R4), (R2-R5), (R3-R5), (R3-R9)
+
2.  Cluster 2: (R2-R4), (R2-R5), (R3-R5), (R3-R9)
  
  3.  Cluster 3: (R4-R6), (R4-R7)
+
3.  Cluster 3: (R4-R6), (R4-R7)
  
  4.  Cluster 4: (R5-R8)
+
4.  Cluster 4: (R5-R8)
  
  The flow direction here considered is from left to right.  For the
+
The flow direction here considered is from left to right.  For the
  opposite direction, the same reasoning can be applied, and in this
+
opposite direction, the same reasoning can be applied, and in this
  example, you get the same clusters partition.
+
example, you get the same clusters partition.
  
  In the end, the following 4 clusters are obtained:
+
In the end, the following 4 clusters are obtained:
  
          Cluster 1
+
      Cluster 1
                          +------+
+
                        +------+
                          <>  R2  <>---
+
                      <>  R2  <>---
                        / +------+
+
                      / +------+
                        /
+
                    /
              +------+ /  +------+
+
          +------+ /  +------+
          ---<>  R1  <>---<>  R3  <>---
+
      ---<>  R1  <>---<>  R3  <>---
              +------+ \  +------+
+
          +------+ \  +------+
 +
                    \
 +
                      \
 +
                      \
 
                         \
 
                         \
 
                         \
 
                         \
Line 593: Line 587:
 
                           \
 
                           \
 
                             \
 
                             \
                             \
+
                             \ +------+
                              \
+
                              <>  R10 <>---
                              \
+
                              +------+
                                \ +------+
 
                                <>  R10 <>---
 
                                  +------+
 
  
 
+
      Cluster 2
          Cluster 2
+
          +------+    +------+
              +------+    +------+
+
      ---<>  R2  <>---<>  R4  <>---
          ---<>  R2  <>---<>  R4  <>---
+
          +------+ \  +------+
              +------+ \  +------+
+
                    \
 +
          +------+  \ +------+
 +
      ---<>  R3  <>---<>  R5  <>---
 +
          +------+ \  +------+
 +
                    \
 +
                      \
 +
                      \
 
                         \
 
                         \
              +------+  \ +------+
+
                        \ +------+
          ---<>  R3  <>---<>  R5  <>---
+
                           <>  R9  <>---
              +------+ \   +------+
+
                          +------+
                        \
 
                        \
 
                           \
 
                          \
 
                            \ +------+
 
                            <>  R9  <>---
 
                              +------+
 
  
 +
      Cluster 3
 +
                      +------+
 +
                      <>  R6  <>---
 +
                    / +------+
 +
          +------+ /
 +
      ---<>  R4  <>
 +
          +------+ \
 +
                    \ +------+
 +
                      <>  R7  <>---
 +
                      +------+
  
          Cluster 3
+
      Cluster 4
                          +------+
+
          +------+
                        <>  R6  <>---
+
      ---<>  R5 <>
                        / +------+
+
          +------+ \
              +------+ /
+
                    \ +------+
          ---<>  R4 <>
+
                      <>  R8 <>---
              +------+ \
+
                      +------+
                        \ +------+
 
                        <>  R7 <>---
 
                          +------+
 
  
 +
                      Figure 3: Clusters Example
  
          Cluster 4
+
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
          ---<> R5  <>
+
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).
                        \ +------+
 
                        <> R8  <>---
 
                          +------+
 
  
                        Figure 3: Clusters Example
+
In this way, the calculation of packet loss can be made on a cluster
 +
basis.  Note that the packet counters for each marking period permit
 +
calculating the packet rate on a cluster basis, so Committed
 +
Information Rate (CIR) and Excess Information Rate (EIR) could also
 +
be deduced on a cluster basis.
  
  There are clusters with more than two nodes as well as two-node
+
Obviously, by combining some clusters in a new connected subnetwork
  clusters.  In the two-node clusters, the loss is on the link (Cluster
+
(called a "super cluster"), the packet-loss rule is still true.
  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).
 
  
  In this way, the calculation of packet loss can be made on a cluster
+
In this way, in a very large network, there is no need to configure
  basisNote that the packet counters for each marking period permit
+
detailed filter criteria to inspect the trafficYou can check a
  calculating the packet rate on a cluster basis, so Committed
+
multipoint network and, in case of problems, go deep with a step-by-
  Information Rate (CIR) and Excess Information Rate (EIR) could also
+
step cluster analysis, but only for the cluster or combination of
  be deduced on a cluster basis.
+
clusters where the problem happens.
  
  Obviously, by combining some clusters in a new connected subnetwork
+
In summary, once a flow is defined, the algorithm to build the
  (called a "super cluster"), the packet-loss rule is still true.
+
clusters partition is based on topological information; therefore, it
 +
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
 +
traverse all the nodes, the counters have a nonzero value for the
 +
involved nodes and a zero value for the other nodes without traffic;
 +
but in the end, all the formulas are still valid.
  
  In this way, in a very large network, there is no need to configure
+
The algorithm described above is an iterative clustering algorithm,
  detailed filter criteria to inspect the traffic.  You can check a
+
but it is also possible to apply a recursive clustering algorithm by
  multipoint network and, in case of problems, go deep with a step-by-
+
using the node-node adjacency matrix representation
  step cluster analysis, but only for the cluster or combination of
+
[IEEE-ACM-ToN-MPNPM].
  clusters where the problem happens.
 
  
  In summary, once a flow is defined, the algorithm to build the
+
The complete and mathematical analysis of the possible algorithms for
  clusters partition is based on topological information; therefore, it
+
clusters partition, including the considerations in terms of
  considers all the possible links and nodes crossed by the given flow,
+
efficiency and a comparison between the different methods, is in the
  even if there is no traffic.  So, if the flow does not enter or
+
paper [IEEE-ACM-ToN-MPNPM].
  traverse all the nodes, the counters have a nonzero value for the
 
  involved nodes and a zero value for the other nodes without traffic;
 
  but in the end, all the formulas are still valid.
 
  
  The algorithm described above is an iterative clustering algorithm,
+
== Timing Aspects ==
  but it is also possible to apply a recursive clustering algorithm by
 
  using the node-node adjacency matrix representation
 
  [IEEE-ACM-ToN-MPNPM].
 
  
  The complete and mathematical analysis of the possible algorithms for
+
It is important to consider the timing aspects, since out-of-order
  clusters partition, including the considerations in terms of
+
packets happen and have to be handled as well, as described in RFC
  efficiency and a comparison between the different methods, is in the
+
8321 [[RFC8321]].  However, in a multisource situation, an additional
  paper [IEEE-ACM-ToN-MPNPM].
+
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.
  
7Timing Aspects
+
So, if we analyze a multipoint-to-multipoint path with more than one
 +
marking node, it is important to recognize the reference measurement
 +
intervalIn 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.
  
  It is important to consider the timing aspects, since out-of-order
+
Note that the mark switching approach based on a fixed timer is
  packets happen and have to be handled as well, as described in RFC
+
considered in this document.
  8321 [RFC8321].  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
+
        time -> start        stop
  marking node, it is important to recognize the reference measurement
+
        T(R1)  |-------------|
  interval.  In general, the measurement interval for describing the
+
        T(R2)    |-------------|
  results is the interval of the marking node that is more aligned with
+
        T(R3)        |------------|
  the start of the measurement, as reported in Figure 4.
 
  
  Note that the mark switching approach based on a fixed timer is
+
                    Figure 4: Measurement Interval
  considered in this document.
 
  
          time -> start        stop
+
In Figure 4, it is assumed that the node with the earliest clock (R1)
          T(R1)   |-------------|
+
identifies the right starting and ending times of the measurement,
          T(R2)     |-------------|
+
but it is just an assumption, and other possibilities could occur.
          T(R3)        |------------|
+
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.
  
                      Figure 4: Measurement Interval
+
When we expand to multipoint-to-multipoint flows, we have to consider
 +
that all source nodes mark the traffic, and this adds more
 +
complexity.
  
  In Figure 4, it is assumed that the node with the earliest clock (R1)
+
Regarding the timing aspects of the methodology, [[RFC8321|RFC 8321]] [[RFC8321]]
  identifies the right starting and ending times of the measurement,
+
already describes two contributions that are taken into account: the
  but it is just an assumption, and other possibilities could occur.
+
clock error between network devices and the network delay between
  So, in this case, T(R1) is the measurement interval, and its
+
measurement points.
  recognition is essential in order to make comparisons with other
 
  active/passive/hybrid Packet Loss metrics.
 
  
  When we expand to multipoint-to-multipoint flows, we have to consider
+
But we should now consider an additional contribution.  Since all
  that all source nodes mark the traffic, and this adds more
+
source nodes mark the traffic, the source measurement intervals can
  complexity.
+
be of different lengths and with different offsets, and this mismatch
 +
m can be added to d, as shown in Figure 5.
  
  Regarding the timing aspects of the methodology, RFC 8321 [RFC8321]
+
...BBBBBBBBB | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | BBBBBBBBB...
  already describes two contributions that are taken into account: the
+
            |<======================================>|
  clock error between network devices and the network delay between
+
            |                  L                    |
  measurement points.
+
...=========>|<==================><==================>|<==========...
 +
            |        L/2                L/2        |
 +
            |<=><===>|                      |<===><=>|
 +
              m  d  |                      |  d  m
 +
                      |<====================>|
 +
                    available counting interval
  
  But we should now consider an additional contribution.  Since all
+
            Figure 5: Timing Aspects for Multipoint Paths
  source nodes mark the traffic, the source measurement intervals can
 
  be of different lengths and with different offsets, and this mismatch
 
  m can be added to d, as shown in Figure 5.
 
  
  ...BBBBBBBBB | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | BBBBBBBBB...
+
So the misalignment between the marking source routers gives an
                |<======================================>|
+
additional constraint, and the value of m is added to d (which
                |                  L                    |
+
already includes clock error and network delay).
  ...=========>|<==================><==================>|<==========...
 
                |        L/2                L/2        |
 
                |<=><===>|                      |<===><=>|
 
                  m   d |                      |  d  m
 
                        |<====================>|
 
                      available counting interval
 
  
              Figure 5: Timing Aspects for Multipoint Paths
+
Thus, three different possible contributions are considered: clock
 +
error between network devices, network delay between measurement
 +
points, and the misalignment between the marking source routers.
  
  So the misalignment between the marking source routers gives an
+
In the end, the condition that must be satisfied to enable the method
  additional constraint, and the value of m is added to d (which
+
to function properly is that the available counting interval must be
  already includes clock error and network delay).
+
> 0, and that means:
  
  Thus, three different possible contributions are considered: clock
+
L - 2m - 2d > 0.
  error between network devices, network delay between measurement
 
  points, and the misalignment between the marking source routers.
 
  
  In the end, the condition that must be satisfied to enable the method
+
This formula needs to be verified for each measurement point on the
  to function properly is that the available counting interval must be
+
multipoint path, where m is misalignment between the marking source
  > 0, and that means:
+
routers, while d, already introduced in [[RFC8321|RFC 8321]] [[RFC8321]], takes
 +
into account clock error and network delay between network nodes.
 +
Therefore, the mismatch between measurement intervals must satisfy
 +
this condition.
  
  L - 2m - 2d > 0.
+
Note that the timing considerations are valid for both packet loss
 +
and delay measurements.
  
  This formula needs to be verified for each measurement point on the
+
== Multipoint Delay and Delay Variation ==
  multipoint path, where m is misalignment between the marking source
 
  routers, while d, already introduced in RFC 8321 [RFC8321], takes
 
  into account clock error and network delay between network nodes.
 
  Therefore, the mismatch between measurement intervals must satisfy
 
  this condition.
 
  
  Note that the timing considerations are valid for both packet loss
+
The same line of reasoning can be applied to delay and delay
  and delay measurements.
+
variation.  Similarly to the delay measurements defined in [[RFC8321|RFC 8321]]
 +
[[RFC8321]], the marking batches anchor the samples to a particular
 +
period, and this is the time reference that can be used.  It is
 +
important to highlight that both delay and delay-variation
 +
measurements make sense in a multipoint path.  The delay variation is
 +
calculated by considering the same packets selected for measuring the
 +
delay.
  
8.  Multipoint 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:
  
  The same line of reasoning can be applied to delay and delay
+
* Delay measurements on the basis of multipoint paths mean that the
  variation. Similarly to the delay measurements defined in RFC 8321
+
   delay value is representative of an entire multipoint path (e.g.,
  [RFC8321], the marking batches anchor the samples to a particular
+
   the whole multipoint network, a cluster, or a combination of
   period, and this is the time reference that can be used.  It is
+
   clusters).
  important to highlight that both delay and delay-variation
 
  measurements make sense in a multipoint path. The delay variation is
 
   calculated by considering the same packets selected for measuring the
 
   delay.
 
  
  In general, it is possible to perform delay and delay-variation
+
*  Delay measurements on a single-packet basis mean that you can use
  measurements on the basis of multipoint paths or single packets:
+
  a multipoint path just to easily couple packets between input and
 
+
  output nodes of a multipoint path, as described in the following
  *  Delay measurements on the basis of multipoint paths mean that the
+
  sections.
      delay value is representative of an entire multipoint path (e.g.,
 
      the whole multipoint network, a cluster, or a combination of
 
      clusters).
 
  
  *  Delay measurements on a single-packet basis mean that you can use
+
=== Delay Measurements on a Multipoint-Paths Basis ===
      a multipoint path just to easily couple packets between input and
 
      output nodes of a multipoint path, as described in the following
 
      sections.
 
  
8.1.  Delay Measurements on a Multipoint-Paths Basis
+
==== Single-Marking Measurement ====
  
8.1.1Single-Marking Measurement
+
Mean delay and mean delay-variation measurements can also be
 +
generalized to the case of multipoint flowsIt is possible to
 +
compute the average one-way delay of packets in one block, a cluster,
 +
or the entire monitored network.
  
  Mean delay and mean delay-variation measurements can also be
+
The average latency can be measured as the difference between the
  generalized to the case of multipoint flowsIt is possible to
+
weighted averages of the mean timestamps of the sets of output and
  compute the average one-way delay of packets in one block, a cluster,
+
input nodesThis means that, in the calculation, it is possible to
  or the entire monitored network.
+
weigh the timestamps by considering the number of packets for each
 +
endpoints.
  
  The average latency can be measured as the difference between the
+
=== Delay Measurements on a Single-Packet Basis ===
  weighted averages of the mean timestamps of the sets of output and
 
  input nodes.  This means that, in the calculation, it is possible to
 
  weigh the timestamps by considering the number of packets for each
 
  endpoints.
 
  
8.2.  Delay Measurements on a Single-Packet Basis
+
==== Single- and Double-Marking Measurement ====
  
8.2.1.  Single- and Double-Marking Measurement
+
Delay and delay-variation measurements relative to only one picked
 +
packet per period (both single and double marked) can be performed in
 +
the multipoint scenario, with some limitations:
  
   Delay and delay-variation measurements relative to only one picked
+
   Single marking based on the first/last packet of the interval
   packet per period (both single and double marked) can be performed in
+
   would not work, because it would not be possible to agree on the
   the multipoint scenario, with some limitations:
+
   first packet of the interval.
  
      Single marking based on the first/last packet of the interval
+
  Double marking or multiplexed marking would work, but each
      would not work, because it would not be possible to agree on the
+
  measurement would only give information about the delay of a
      first packet of the interval.
+
  single path.  However, by repeating the measurement multiple
 +
  times, it is possible to get information about all the paths in
 +
  the multipoint flow.  This can be done in the case of a point-to-
 +
  multipoint path, but it is more difficult to achieve in the case
 +
  of a multipoint-to-multipoint path because of the multiple source
 +
  routers.
  
      Double marking or multiplexed marking would work, but each
+
If we would perform a delay measurement for more than one picked
      measurement would only give information about the delay of a
+
packet in the same marking period, and especially if we want to get
      single path.  However, by repeating the measurement multiple
+
delay measurements on a multipoint-to-multipoint basis, neither the
      times, it is possible to get information about all the paths in
+
single- nor the double-marking method is useful in the multipoint
      the multipoint flow. This can be done in the case of a point-to-
+
scenario, since they would not be representative of the entire flow.
      multipoint path, but it is more difficult to achieve in the case
+
The packets can follow different paths with various delays, and in
      of a multipoint-to-multipoint path because of the multiple source
+
general it can be very difficult to recognize marked packets in a
      routers.
+
multipoint-to-multipoint path, especially in the case when there is
 +
more than one per period.
  
  If we would perform a delay measurement for more than one picked
+
A desirable option is to monitor simultaneously all the paths of a
  packet in the same marking period, and especially if we want to get
+
multipoint path in the same marking period; for this purpose, hashing
  delay measurements on a multipoint-to-multipoint basis, neither the
+
can be used, as reported in the next section.
  single- nor the double-marking method is useful in the multipoint
 
  scenario, since they would not be representative of the entire flow.
 
  The packets can follow different paths with various delays, and in
 
  general it can be very difficult to recognize marked packets in a
 
  multipoint-to-multipoint path, especially in the case when there is
 
  more than one per period.
 
  
  A desirable option is to monitor simultaneously all the paths of a
+
==== Hashing Selection Method ====
  multipoint path in the same marking period; for this purpose, hashing
 
  can be used, as reported in the next section.
 
  
8.2.2.  Hashing Selection Method
+
RFCs 5474 [[RFC5474]] and 5475 [[RFC5475]] introduce sampling and
 +
filtering techniques for IP packet selection.
  
  RFCs 5474 [RFC5474] and 5475 [RFC5475] introduce sampling and
+
The hash-based selection methodologies for delay measurement can work
  filtering techniques for IP packet selection.
+
in a multipoint-to-multipoint path and can be used either coupled to
 +
mean delay or stand-alone.
  
  The hash-based selection methodologies for delay measurement can work
+
[ALTERNATE-MARKING] introduces how to use the hash method (RFCs 5474
  in a multipoint-to-multipoint path and can be used either coupled to
+
[[RFC5474]] and 5475 [[RFC5475]]) combined with the Alternate-Marking
  mean delay or stand-alone.
+
method for point-to-point flows.  It is also called Mixed Hashed
 +
Marking: the coupling of a marking method and hashing technique is
 +
very useful, because the marking batches anchor the samples selected
 +
with hashing, and this simplifies the correlation of the hashing
 +
packets along the path.
  
  [ALTERNATE-MARKING] introduces how to use the hash method (RFCs 5474
+
It is possible to use a basic-hash or a dynamic-hash method.  One of
  [RFC5474] and 5475 [RFC5475]) combined with the Alternate-Marking
+
the challenges of the basic approach is that the frequency of the
  method for point-to-point flows.  It is also called Mixed Hashed
+
sampled packets may vary considerably.  For this reason, the dynamic
  Marking: the coupling of a marking method and hashing technique is
+
approach has been introduced for point-to-point flows in order to
  very useful, because the marking batches anchor the samples selected
+
have the desired and almost fixed number of samples for each
  with hashing, and this simplifies the correlation of the hashing
+
measurement period.  Using the hash-based sampling, the number of
  packets along the path.
+
samples may vary a lot because it depends on the packet rate that is
 +
variableThe dynamic approach helps to have an almost fixed number
 +
of samples for each marking period, and this is a better option for
 +
making regular measurements over time.  In the hash-based sampling,
 +
Alternate Marking is used to create periods, so that hash-based
 +
samples are divided into batches, which allows anchoring the selected
 +
samples to their period.  Moreover, in the dynamic hash-based
 +
sampling, by dynamically adapting the length of the hash value, the
 +
number of samples is bounded in each marking period.  This can be
 +
realized by choosing the maximum number of samples (NMAX) to be
 +
caught in a marking period.  The algorithm starts with only a few
 +
hash bits, which permits selecting a greater percentage of packets
 +
(e.g., with 0 bits of hash all the packets are sampled, with 1 bit of
 +
hash half of the packets are sampled, and so on).  When the number of
 +
selected packets reaches NMAX, a hashing bit is added.  As a
 +
consequence, the sampling proceeds at half of the original rate, and
 +
also the packets already selected that do not match the new hash are
 +
discarded.  This step can be repeated iteratively.  It is assumed
 +
that each sample includes the timestamp (used for delay measurement)
 +
and the hash value, allowing the management system to match the
 +
samples received from the two measurement points.  The dynamic
 +
process statistically converges at the end of a marking period, and
 +
the final number of selected samples is between NMAX/2 and NMAX.
 +
Therefore, the dynamic approach paces the sampling rate, allowing to
 +
bound the number of sampled packets per sampling period.
  
  It is possible to use a basic-hash or a dynamic-hash method.  One of
+
In a multipoint environment, the behavior is similar to a point-to-
  the challenges of the basic approach is that the frequency of the
+
point flowIn particular, in the context of a multipoint-to-
  sampled packets may vary considerably.  For this reason, the dynamic
+
multipoint flow, the dynamic hash could be the solution for
  approach has been introduced for point-to-point flows in order to
+
performing delay measurements on specific packets and overcoming the
  have the desired and almost fixed number of samples for each
+
single- and double-marking limitations.
  measurement periodUsing the hash-based sampling, the number of
 
  samples may vary a lot because it depends on the packet rate that is
 
  variable.  The dynamic approach helps to have an almost fixed number
 
  of samples for each marking period, and this is a better option for
 
  making regular measurements over time.  In the hash-based sampling,
 
  Alternate Marking is used to create periods, so that hash-based
 
  samples are divided into batches, which allows anchoring the selected
 
  samples to their period.  Moreover, in the dynamic hash-based
 
  sampling, by dynamically adapting the length of the hash value, the
 
  number of samples is bounded in each marking period.  This can be
 
  realized by choosing the maximum number of samples (NMAX) to be
 
  caught in a marking period.  The algorithm starts with only a few
 
  hash bits, which permits selecting a greater percentage of packets
 
  (e.g., with 0 bits of hash all the packets are sampled, with 1 bit of
 
  hash half of the packets are sampled, and so on).  When the number of
 
  selected packets reaches NMAX, a hashing bit is added.  As a
 
  consequence, the sampling proceeds at half of the original rate, and
 
  also the packets already selected that do not match the new hash are
 
  discarded.  This step can be repeated iteratively.  It is assumed
 
  that each sample includes the timestamp (used for delay measurement)
 
  and the hash value, allowing the management system to match the
 
  samples received from the two measurement points.  The dynamic
 
  process statistically converges at the end of a marking period, and
 
  the final number of selected samples is between NMAX/2 and NMAX.
 
  Therefore, the dynamic approach paces the sampling rate, allowing to
 
  bound the number of sampled packets per sampling period.
 
  
  In a multipoint environment, the behavior is similar to a point-to-
+
The management system receives the samples, including the timestamps
  point flowIn particular, in the context of a multipoint-to-
+
and the hash value, from all the MPs, and this happens for both
  multipoint flow, the dynamic hash could be the solution for
+
point-to-point and multipoint-to-multipoint flows.  Then, the longest
  performing delay measurements on specific packets and overcoming the
+
hash used by the MPs is deduced and applied to couple timestamps from
  single- and double-marking limitations.
+
either the same packets of 2 MPs of a point-to-point path, or the
 +
input and output MPs of a cluster (or a super cluster or the entire
 +
network)But some considerations are needed: if there isn't packet
 +
loss, the set of input samples is always equal to the set of output
 +
samples.  In the case of packet loss, the set of output samples can
 +
be a subset of input samples, but the method still works because, at
 +
the end, it is easy to couple the input and output timestamps of each
 +
caught packet using the hash (in particular, the "unused part of the
 +
hash" that should be different for each packet).
  
  The management system receives the samples, including the timestamps
+
Therefore, the basic hash is logically similar to the double-marking
  and the hash value, from all the MPs, and this happens for both
+
method, and in the case of a point-to-point path, double-marking and
  point-to-point and multipoint-to-multipoint flowsThen, the longest
+
basic-hash selection are equivalentThe dynamic approach scales the
  hash used by the MPs is deduced and applied to couple timestamps from
+
number of measurements per interval.  It would seem that double
  either the same packets of 2 MPs of a point-to-point path, or the
+
marking would also work well if we reduced the interval length, but
  input and output MPs of a cluster (or a super cluster or the entire
+
this can be done only for a point-to-point path and not for a
  network)But some considerations are needed: if there isn't packet
+
multipoint path, where we cannot couple the picked packets in a
  loss, the set of input samples is always equal to the set of output
+
multipoint pathSo, in general, if we want to get delay
  samples.  In the case of packet loss, the set of output samples can
+
measurements on the basis of a multipoint-to-multipoint path, and
  be a subset of input samples, but the method still works because, at
+
want to select more than one packet per period, double marking cannot
  the end, it is easy to couple the input and output timestamps of each
+
be used because we could not be able to couple the picked packets
  caught packet using the hash (in particular, the "unused part of the
+
between input and output nodes.  On the other hand, we can do that by
  hash" that should be different for each packet).
+
using hashing selection.
  
  Therefore, the basic hash is logically similar to the double-marking
+
== A Closed-Loop Performance-Management Approach ==
  method, and in the case of a point-to-point path, double-marking and
 
  basic-hash selection are equivalent.  The dynamic approach scales the
 
  number of measurements per interval.  It would seem that double
 
  marking would also work well if we reduced the interval length, but
 
  this can be done only for a point-to-point path and not for a
 
  multipoint path, where we cannot couple the picked packets in a
 
  multipoint path.  So, in general, if we want to get delay
 
  measurements on the basis of a multipoint-to-multipoint path, and
 
  want to select more than one packet per period, double marking cannot
 
  be used because we could not be able to couple the picked packets
 
  between input and output nodes.  On the other hand, we can do that by
 
  using hashing selection.
 
  
9.  A Closed-Loop Performance-Management Approach
+
The Multipoint Alternate-Marking framework that is introduced in this
 +
document adds flexibility to Performance Management (PM), because it
 +
can reduce the order of magnitude of the packet counters.  This
 +
allows an SDN orchestrator to supervise, control, and manage PM in
 +
large networks.
  
  The Multipoint Alternate-Marking framework that is introduced in this
+
The monitoring network can be considered as a whole or split into
  document adds flexibility to Performance Management (PM), because it
+
clusters that are the smallest subnetworks (group-to-group segments),
  can reduce the order of magnitude of the packet countersThis
+
maintaining the packet-loss property for each subnetworkThe
  allows an SDN orchestrator to supervise, control, and manage PM in
+
clusters can also be combined in new, connected subnetworks at
  large networks.
+
different levels, depending on the detail we want to achieve.
  
  The monitoring network can be considered as a whole or split into
+
An SDN controller or a Network Management System (NMS) can calibrate
  clusters that are the smallest subnetworks (group-to-group segments),
+
performance measurements, since they are aware of the network
  maintaining the packet-loss property for each subnetworkThe
+
topology.  They can start without examining in depth.  In case of
  clusters can also be combined in new, connected subnetworks at
+
necessity (packet loss is measured or the delay is too high), the
  different levels, depending on the detail we want to achieve.
+
filtering criteria could be immediately reconfigured in order to
 +
perform a partition of the network by using clusters and/or different
 +
combinations of clustersIn this way, the problem can be localized
 +
in a specific cluster or a single combination of clusters, and a more
 +
detailed analysis can be performed step by step by successive
 +
approximation up to a point-to-point flow detailed analysis.  This is
 +
the so-called "closed loop".
  
  An SDN controller or a Network Management System (NMS) can calibrate
+
This approach can be called "network zooming" and can be performed in
  performance measurements, since they are aware of the network
+
two different ways:
  topology.  They can start without examining in depth.  In case of
 
  necessity (packet loss is measured or the delay is too high), the
 
  filtering criteria could be immediately reconfigured in order to
 
  perform a partition of the network by using clusters and/or different
 
  combinations of clusters.  In this way, the problem can be localized
 
  in a specific cluster or a single combination of clusters, and a more
 
  detailed analysis can be performed step by step by successive
 
  approximation up to a point-to-point flow detailed analysis.  This is
 
  the so-called "closed loop".
 
  
  This approach can be called "network zooming" and can be performed in
+
1) change the traffic filter and select more detailed flows;
  two different ways:
 
  
  1) change the traffic filter and select more detailed flows;
+
2) activate new measurement points by defining more specified
 +
clusters.
  
  2) activate new measurement points by defining more specified
+
The network-zooming approach implies that some filters or rules are
  clusters.
+
changed and that therefore there is a transient time to wait once the
 +
new network configuration takes effect.  This time can be determined
 +
by the Network Orchestrator/Controller, based on the network
 +
conditions.
  
  The network-zooming approach implies that some filters or rules are
+
For example, if the network zooming identifies the performance
  changed and that therefore there is a transient time to wait once the
+
problem for the traffic coming from a specific source, we need to
  new network configuration takes effectThis time can be determined
+
recognize the marked signal from this specific source node and its
  by the Network Orchestrator/Controller, based on the network
+
relative path.  For this purpose, we can activate all the available
  conditions.
+
measurement points and better specify the flow filter criteria (i.e.,
 +
5-tuple)As an alternative, it can be enough to select packets from
 +
the specific source for delay measurements; in this case, it is
 +
possible to apply the hashing technique, as mentioned in the previous
 +
sections.
  
  For example, if the network zooming identifies the performance
+
[IFIT-FRAMEWORK] defines an architecture where the centralized Data
  problem for the traffic coming from a specific source, we need to
+
Collector and Network Management can apply the intelligent and
  recognize the marked signal from this specific source node and its
+
flexible Alternate-Marking algorithm as previously described.
  relative path.  For this purpose, we can activate all the available
 
  measurement points and better specify the flow filter criteria (i.e.,
 
  5-tuple).  As an alternative, it can be enough to select packets from
 
  the specific source for delay measurements; in this case, it is
 
  possible to apply the hashing technique, as mentioned in the previous
 
  sections.
 
  
  [IFIT-FRAMEWORK] defines an architecture where the centralized Data
+
As for [[RFC8321|RFC 8321]] [[RFC8321]], it is possible to classify the traffic and
  Collector and Network Management can apply the intelligent and
+
mark a portion of the total traffic.  For each period, the packet
  flexible Alternate-Marking algorithm as previously described.
+
rate and bandwidth are calculated from the number of packets.  In
 +
this way, the network orchestrator becomes aware if the traffic rate
 +
surpasses limits.  In addition, more precision can be obtained by
 +
reducing the marking period; indeed, some implementations use a
 +
marking period of 1 sec or less.
  
  As for RFC 8321 [RFC8321], it is possible to classify the traffic and
+
In addition, an SDN controller could also collect the measurement
  mark a portion of the total traffic.  For each period, the packet
+
history.
  rate and bandwidth are calculated from the number of packets.  In
 
  this way, the network orchestrator becomes aware if the traffic rate
 
  surpasses limits.  In addition, more precision can be obtained by
 
  reducing the marking period; indeed, some implementations use a
 
  marking period of 1 sec or less.
 
  
  In addition, an SDN controller could also collect the measurement
+
It is important to mention that the Multipoint Alternate Marking
  history.
+
framework also helps Traffic Visualization.  Indeed, this methodology
 
+
is very useful for identifying which path or cluster is crossed by
  It is important to mention that the Multipoint Alternate Marking
+
the flow.
  framework also helps Traffic Visualization.  Indeed, this methodology
 
  is very useful for identifying which path or cluster is crossed by
 
  the flow.
 
  
 
10.  Examples of Application
 
10.  Examples of Application
  
  There are application fields where it may be useful to take into
+
There are application fields where it may be useful to take into
  consideration the Multipoint Alternate Marking:
+
consideration the Multipoint Alternate Marking:
  
  VPN:  The IP traffic is selected on an IP-source basis in both
+
VPN:  The IP traffic is selected on an IP-source basis in both
      directions.  At the endpoint WAN interface, all the output traffic
+
  directions.  At the endpoint WAN interface, all the output traffic
      is counted in a single flow.  The input traffic is composed of all
+
  is counted in a single flow.  The input traffic is composed of all
      the other flows aggregated for source address.  So, by considering
+
  the other flows aggregated for source address.  So, by considering
      n endpoints, the monitored flows are n (each flow with 1 ingress
+
  n endpoints, the monitored flows are n (each flow with 1 ingress
      point and (n-1) egress points) instead of n*(n-1) flows (each
+
  point and (n-1) egress points) instead of n*(n-1) flows (each
      flow, with 1 ingress point and 1 egress point).
+
  flow, with 1 ingress point and 1 egress point).
  
  Mobile Backhaul:  LTE traffic is selected, in the Up direction, by
+
Mobile Backhaul:  LTE traffic is selected, in the Up direction, by
      the EnodeB source address and, in the Down direction, by the
+
  the EnodeB source address and, in the Down direction, by the
      EnodeB destination address, because the packets are sent from the
+
  EnodeB destination address, because the packets are sent from the
      Mobile Packet Core to the EnodeB.  So the monitored flow is only
+
  Mobile Packet Core to the EnodeB.  So the monitored flow is only
      one per EnodeB in both directions.
+
  one per EnodeB in both directions.
  
  Over The Top (OTT) services:  The traffic is selected, in the Down
+
Over The Top (OTT) services:  The traffic is selected, in the Down
      direction, by the source addresses of the packets sent by OTT
+
  direction, by the source addresses of the packets sent by OTT
      servers.  In the opposite direction (Up), it is selected by the
+
  servers.  In the opposite direction (Up), it is selected by the
      destination IP addresses of the same servers.  So the monitoring
+
  destination IP addresses of the same servers.  So the monitoring
      is based on a single flow per OTT server in both directions.
+
  is based on a single flow per OTT server in both directions.
  
  Enterprise SD-WAN:  SD-WAN allows connecting remote branch offices to
+
Enterprise SD-WAN:  SD-WAN allows connecting remote branch offices to
      data centers and building higher-performance WANs.  A centralized
+
  data centers and building higher-performance WANs.  A centralized
      controller is used to set policies and prioritize traffic.  The
+
  controller is used to set policies and prioritize traffic.  The
      SD-WAN takes into account these policies and the availability of
+
  SD-WAN takes into account these policies and the availability of
      network bandwidth to route traffic.  This helps ensure that
+
  network bandwidth to route traffic.  This helps ensure that
      application performance meets Service Level Agreements (SLAs).
+
  application performance meets Service Level Agreements (SLAs).
      This methodology can also help the path selection for the WAN
+
  This methodology can also help the path selection for the WAN
      connection based on per-cluster and per-flow performance.
+
  connection based on per-cluster and per-flow performance.
  
  Note that the preceding list is just an example and is not
+
Note that the preceding list is just an example and is not
  exhaustive.  More applications are possible.
+
exhaustive.  More applications are possible.
  
 
11.  Security Considerations
 
11.  Security Considerations
  
  This document specifies a method of performing measurements that does
+
This document specifies a method of performing measurements that does
  not directly affect Internet security or applications that run on the
+
not directly affect Internet security or applications that run on the
  Internet.  However, implementation of this method must be mindful of
+
Internet.  However, implementation of this method must be mindful of
  security and privacy concerns, as explained in RFC 8321 [RFC8321].
+
security and privacy concerns, as explained in [[RFC8321|RFC 8321]] [[RFC8321]].
  
 
12.  IANA Considerations
 
12.  IANA Considerations
  
  This document has no IANA actions.
+
This document has no IANA actions.
  
 
13.  References
 
13.  References
Line 1,039: Line 1,027:
 
13.1.  Normative References
 
13.1.  Normative References
  
  [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", [[RFC5474|RFC 5474]], DOI 10.17487/RFC5474,
              March 2009, <https://www.rfc-editor.org/info/rfc5474>.
+
          March 2009, <https://www.rfc-editor.org/info/rfc5474>.
  
  [RFC5475]  Zseby, T., Molina, M., Duffield, N., Niccolini, S., and F.
+
[[RFC5475]]  Zseby, T., Molina, M., Duffield, N., Niccolini, S., and F.
              Raspall, "Sampling and Filtering Techniques for IP Packet
+
          Raspall, "Sampling and Filtering Techniques for IP Packet
              Selection", RFC 5475, DOI 10.17487/RFC5475, March 2009,
+
          Selection", [[RFC5475|RFC 5475]], DOI 10.17487/RFC5475, March 2009,
              <https://www.rfc-editor.org/info/rfc5475>.
+
          <https://www.rfc-editor.org/info/rfc5475>.
  
  [RFC5644]  Stephan, E., Liang, L., and A. Morton, "IP Performance
+
[[RFC5644]]  Stephan, E., Liang, L., and A. Morton, "IP Performance
              Metrics (IPPM): Spatial and Multicast", RFC 5644,
+
          Metrics (IPPM): Spatial and Multicast", [[RFC5644|RFC 5644]],
              DOI 10.17487/RFC5644, October 2009,
+
          DOI 10.17487/RFC5644, October 2009,
              <https://www.rfc-editor.org/info/rfc5644>.
+
          <https://www.rfc-editor.org/info/rfc5644>.
  
  [RFC8321]  Fioccola, G., Ed., Capello, A., Cociglio, M., Castaldelli,
+
[[RFC8321]]  Fioccola, G., Ed., Capello, A., Cociglio, M., Castaldelli,
              L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi,
+
          L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi,
              "Alternate-Marking Method for Passive and Hybrid
+
          "Alternate-Marking Method for Passive and Hybrid
              Performance Monitoring", RFC 8321, DOI 10.17487/RFC8321,
+
          Performance Monitoring", [[RFC8321|RFC 8321]], DOI 10.17487/RFC8321,
              January 2018, <https://www.rfc-editor.org/info/rfc8321>.
+
          January 2018, <https://www.rfc-editor.org/info/rfc8321>.
  
 
13.2.  Informative References
 
13.2.  Informative References
  
  [ALTERNATE-MARKING]
+
[ALTERNATE-MARKING]
              Mizrahi, T., Arad, C., Fioccola, G., Cociglio, M., Chen,
+
          Mizrahi, T., Arad, C., Fioccola, G., Cociglio, M., Chen,
              M., Zheng, L., and G. Mirsky, "Compact Alternate Marking
+
          M., Zheng, L., and G. Mirsky, "Compact Alternate Marking
              Methods for Passive and Hybrid Performance Monitoring",
+
          Methods for Passive and Hybrid Performance Monitoring",
              Work in Progress, Internet-Draft, draft-mizrahi-ippm-
+
          Work in Progress, Internet-Draft, draft-mizrahi-ippm-
              compact-alternate-marking-05, 6 July 2019,
+
          compact-alternate-marking-05, 6 July 2019,
              <https://tools.ietf.org/html/draft-mizrahi-ippm-compact-
+
          <https://tools.ietf.org/html/draft-mizrahi-ippm-compact-
              alternate-marking-05>.
+
          alternate-marking-05>.
  
  [ENHANCED-ALTERNATE-MARKING]
+
[ENHANCED-ALTERNATE-MARKING]
              Zhou, T., Fioccola, G., Lee, S., Cociglio, M., and W. Li,
+
          Zhou, T., Fioccola, G., Lee, S., Cociglio, M., and W. Li,
              "Enhanced Alternate Marking Method", Work in Progress,
+
          "Enhanced Alternate Marking Method", Work in Progress,
              Internet-Draft, draft-zhou-ippm-enhanced-alternate-
+
          Internet-Draft, draft-zhou-ippm-enhanced-alternate-
              marking-05, 13 July 2020, <https://tools.ietf.org/html/
+
          marking-05, 13 July 2020, <https://tools.ietf.org/html/
              draft-zhou-ippm-enhanced-alternate-marking-05>.
+
          draft-zhou-ippm-enhanced-alternate-marking-05>.
  
  [IEEE-ACM-ToN-MPNPM]
+
[IEEE-ACM-ToN-MPNPM]
              Cociglio, M., Fioccola, G., Marchetto, G., Sapio, A., and
+
          Cociglio, M., Fioccola, G., Marchetto, G., Sapio, A., and
              R. Sisto, "Multipoint Passive Monitoring in Packet
+
          R. Sisto, "Multipoint Passive Monitoring in Packet
              Networks", IEEE/ACM Transactions on Networking vol. 27,
+
          Networks", IEEE/ACM Transactions on Networking vol. 27,
              no. 6, pp. 2377-2390, DOI 10.1109/TNET.2019.2950157,
+
          no. 6, pp. 2377-2390, DOI 10.1109/TNET.2019.2950157,
              December 2019,
+
          December 2019,
              <https://doi.org/10.1109/TNET.2019.2950157>.
+
          <https://doi.org/10.1109/TNET.2019.2950157>.
  
  [IEEE-Network-PNPM]
+
[IEEE-Network-PNPM]
              Mizrahi, T., Navon, G., Fioccola, G., Cociglio, M., Chen,
+
          Mizrahi, T., Navon, G., Fioccola, G., Cociglio, M., Chen,
              M., and G. Mirsky, "AM-PM: Efficient Network Telemetry
+
          M., and G. Mirsky, "AM-PM: Efficient Network Telemetry
              using Alternate Marking", IEEE Network vol. 33, no. 4,
+
          using Alternate Marking", IEEE Network vol. 33, no. 4,
              pp. 155-161, DOI 10.1109/MNET.2019.1800152, July 2019,
+
          pp. 155-161, DOI 10.1109/MNET.2019.1800152, July 2019,
              <https://doi.org/10.1109/MNET.2019.1800152>.
+
          <https://doi.org/10.1109/MNET.2019.1800152>.
  
  [IFIT-FRAMEWORK]
+
[IFIT-FRAMEWORK]
              Song, H., Qin, F., Chen, H., Jin, J., and J. Shin, "In-
+
          Song, H., Qin, F., Chen, H., Jin, J., and J. Shin, "In-
              situ Flow Information Telemetry", Work in Progress,
+
          situ Flow Information Telemetry", Work in Progress,
              Internet-Draft, draft-song-opsawg-ifit-framework-12, 14
+
          Internet-Draft, draft-song-opsawg-ifit-framework-12, 14
              April 2020, <https://tools.ietf.org/html/draft-song-
+
          April 2020, <https://tools.ietf.org/html/draft-song-
              opsawg-ifit-framework-12>.
+
          opsawg-ifit-framework-12>.
  
  [RFC7011]  Claise, B., Ed., Trammell, B., Ed., and P. Aitken,
+
[[RFC7011]]  Claise, B., Ed., Trammell, B., Ed., and P. Aitken,
              "Specification of the IP Flow Information Export (IPFIX)
+
          "Specification of the IP Flow Information Export (IPFIX)
              Protocol for the Exchange of Flow Information", STD 77,
+
          Protocol for the Exchange of Flow Information", [[STD77|STD 77]],
              RFC 7011, DOI 10.17487/RFC7011, September 2013,
+
          [[RFC7011|RFC 7011]], DOI 10.17487/RFC7011, September 2013,
              <https://www.rfc-editor.org/info/rfc7011>.
+
          <https://www.rfc-editor.org/info/rfc7011>.
  
  [ROUTE-ASSESSMENT]
+
[ROUTE-ASSESSMENT]
              Alvarez-Hamelin, J., Morton, A., Fabini, J., Pignataro,
+
          Alvarez-Hamelin, J., Morton, A., Fabini, J., Pignataro,
              C., and R. Geib, "Advanced Unidirectional Route Assessment
+
          C., and R. Geib, "Advanced Unidirectional Route Assessment
              (AURA)", Work in Progress, Internet-Draft, draft-ietf-
+
          (AURA)", Work in Progress, Internet-Draft, draft-ietf-
              ippm-route-10, 13 August 2020,
+
          ippm-route-10, 13 August 2020,
              <https://tools.ietf.org/html/draft-ietf-ippm-route-10>.
+
          <https://tools.ietf.org/html/draft-ietf-ippm-route-10>.
  
 
Acknowledgements
 
Acknowledgements
  
  The authors would like to thank Al Morton, Tal Mizrahi, and Rachel
+
The authors would like to thank Al Morton, Tal Mizrahi, and Rachel
  Huang for the precious contributions.
+
Huang for the precious contributions.
  
 
Authors' Addresses
 
Authors' Addresses
  
  Giuseppe Fioccola (editor)
+
Giuseppe Fioccola (editor)
  Huawei Technologies
+
Huawei Technologies
  Riesstrasse, 25
+
Riesstrasse, 25
  80992 Munich
+
80992 Munich
  Germany
+
Germany
 
 
 
 
 
  
  Mauro Cociglio
+
  Telecom Italia
 
  Via Reiss Romoli, 274
 
  10148 Torino
 
  Italy
 
  
+
Mauro Cociglio
 +
Telecom Italia
 +
Via Reiss Romoli, 274
 +
10148 Torino
 +
Italy
  
 +
  
  Amedeo Sapio
+
Amedeo Sapio
  Intel Corporation
+
Intel Corporation
  4750 Patrick Henry Dr.
+
4750 Patrick Henry Dr.
  Santa Clara, CA 95054
+
Santa Clara, CA 95054
  United States of America
+
United States of America
  
+
  
 +
Riccardo Sisto
 +
Politecnico di Torino
 +
Corso Duca degli Abruzzi, 24
 +
10129 Torino
 +
Italy
  
  Riccardo Sisto
+
  Politecnico di Torino
 
  Corso Duca degli Abruzzi, 24
 
  10129 Torino
 
  Italy
 
  
+
[[Category:Experimental]]

Latest revision as of 11:33, 30 October 2020



Internet Engineering Task Force (IETF) G. Fioccola, Ed. Request for Comments: 8889 Huawei Technologies Category: Experimental M. Cociglio ISSN: 2070-1721 Telecom Italia

                                                            A. Sapio
                                                   Intel Corporation
                                                            R. Sisto
                                               Politecnico di Torino
                                                         August 2020
Multipoint Alternate-Marking Method for Passive and Hybrid Performance
                           Monitoring

Abstract

The Alternate-Marking method, as presented in RFC 8321, can only be applied to point-to-point flows, because it assumes that all the packets of the flow measured on one node are measured again by a single second node. This document generalizes and expands this methodology to measure any kind of unicast flow whose packets can follow several different paths in the network -- in wider terms, a multipoint-to-multipoint network. For this reason, the technique here described is called "Multipoint Alternate Marking".

Status of This Memo

This document is not an Internet Standards Track specification; it is published for examination, experimental implementation, and evaluation.

This document defines an Experimental Protocol for the Internet community. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are candidates for any level of Internet Standard; see Section 2 of RFC 7841.

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc8889.

Copyright Notice

Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

1. Introduction 2. Terminology

 2.1.  Correlation with RFC 5644

3. Flow Classification 4. Multipoint Performance Measurement

 4.1.  Monitoring Network

5. Multipoint Packet Loss 6. Network Clustering

 6.1.  Algorithm for Clusters Partition

7. Timing Aspects 8. Multipoint Delay and Delay Variation

 8.1.  Delay Measurements on a Multipoint-Paths Basis
   8.1.1.  Single-Marking Measurement
 8.2.  Delay Measurements on a Single-Packet Basis
   8.2.1.  Single- and Double-Marking Measurement
   8.2.2.  Hashing Selection Method

9. A Closed-Loop Performance-Management Approach 10. Examples of Application 11. Security Considerations 12. IANA Considerations 13. References

 13.1.  Normative References
 13.2.  Informative References

Acknowledgements Authors' Addresses

Introduction

The Alternate-Marking method, as described in RFC 8321 RFC8321, is applicable to a point-to-point path. The extension proposed in this document applies to the most general case of multipoint-to-multipoint path and enables flexible and adaptive performance measurements in a managed network.

The Alternate-Marking methodology described in RFC 8321 RFC8321 allows the synchronization of the measurements in different points by dividing the packet flow into batches. So it is possible to get coherent counters and show what is happening in every marking period for each monitored flow. The monitoring parameters are the packet counter and timestamps of a flow for each marking period. Note that additional details about the applicability of the Alternate-Marking methodology are described in RFC 8321 RFC8321 while implementation details can be found in the paper "AM-PM: Efficient Network Telemetry using Alternate Marking" [IEEE-Network-PNPM].

There are some applications of the Alternate-Marking method where there are a lot of monitored flows and nodes. Multipoint Alternate Marking aims to reduce these values and makes the performance monitoring more flexible in case a detailed analysis is not needed. For instance, by considering n measurement points and m monitored flows, the order of magnitude of the packet counters for each time interval is n*m*2 (1 per color). The number of measurement points and monitored flows may vary and depends on the portion of the network we are monitoring (core network, metro network, access network) and the granularity (for each service, each customer). So if both n and m are high values, the packet counters increase a lot, and Multipoint Alternate Marking offers a tool to control these parameters.

The approach presented in this document is applied only to unicast flows and not to multicast. Broadcast, Unknown Unicast, and Multicast (BUM) traffic is not considered here, because traffic replication is not covered by the Multipoint Alternate-Marking method. Furthermore, it can be applicable to anycast flows, and Equal-Cost Multipath (ECMP) paths can also be easily monitored with this technique.

In short, RFC 8321 RFC8321 applies to point-to-point unicast flows and BUM traffic, while this document and its Clustered Alternate- Marking method is valid for multipoint-to-multipoint unicast flows, anycast, and ECMP flows.

Therefore,the Alternate-Marking method can be extended to any kind of multipoint-to-multipoint paths, and the network-clustering approach presented in this document is the formalization of how to implement this property and allow a flexible and optimized performance measurement support for network management in every situation.

Without network clustering, it is possible to apply Alternate Marking only for all the network or per single flow. Instead, with network clustering, it is possible to use the partition of the network into clusters at different levels in order to perform the needed degree of detail. In some circumstances, it is possible to monitor a multipoint network by analyzing the network clustering, without examining in depth. In case of problems (packet loss is measured or the delay is too high), the filtering criteria could be specified more in order to perform a detailed analysis by using a different combination of clusters up to a per-flow measurement as described in RFC 8321 RFC8321.

This approach fits very well with the Closed-Loop Network and Software-Defined Network (SDN) paradigm, where the SDN orchestrator and the SDN controllers are the brains of the network and can manage flow control to the switches and routers and, in the same way, can calibrate the performance measurements depending on the desired accuracy. An SDN controller application can orchestrate how accurately the network performance monitoring is set up by applying the Multipoint Alternate Marking as described in this document.

It is important to underline that, as an extension of RFC 8321 RFC8321, this is a methodology document, so the mechanism that can be used to transmit the counters and the timestamps is out of scope here, and the implementation is open. Several options are possible -- e.g., see "Enhanced Alternate Marking Method" [ENHANCED-ALTERNATE-MARKING].

Note that the fragmented packets case can be managed with the Alternate-Marking methodology only if fragmentation happens outside the portion of the network that is monitored. This is always true for both RFC 8321 RFC8321 and Multipoint Alternate Marking, as explained here.

Terminology

The definitions of the basic terms are identical to those found in Alternate Marking RFC8321. It is to be remembered that RFC 8321 RFC8321 is valid for point-to-point unicast flows and BUM traffic.

The important new terms that need to be explained are listed below:

Multipoint Alternate Marking: Extension to RFC 8321 RFC8321, valid

  for multipoint-to-multipoint unicast flows, anycast, and ECMP
  flows.  It can also be referred to as Clustered Alternate Marking.

Flow definition: The concept of flow is generalized in this

  document.  The identification fields are selected without any
  constraints and, in general, the flow can be a multipoint-to-
  multipoint flow, as a result of aggregate point-to-point flows.

Monitoring network: Identified with the nodes of the network that

  are the measurement points (MPs) and the links that are the
  connections between MPs.  The monitoring network graph depends on
  the flow definition, so it can represent a specific flow or the
  entire network topology as aggregate of all the flows.

Cluster: Smallest identifiable subnetwork of the entire monitoring

  network graph that still satisfies the condition that the number
  of packets that go in is the same as the number that go out.

Multipoint metrics: Packet loss, delay, and delay variation are

  extended to the case of multipoint flows.  It is possible to
  compute these metrics on the basis of multipoint paths in order to
  associate the measurements to a cluster, a combination of
  clusters, or the entire monitored network.  For delay and delay
  variation, it is also possible to define the metrics on a single-
  packet basis, and it means that the multipoint path is used to
  easily couple packets between input and output nodes of a
  multipoint path.

The next section highlights the correlation with the terms used in RFC 5644 RFC5644.

Correlation with RFC 5644

RFC 5644 RFC5644 is limited to active measurements using a single source packet or stream. Its scope is also limited to observations of corresponding packets along the path (spatial metric) and at one or more destinations (one-to-group) along the path.

Instead, the scope of this memo is to define multiparty metrics for passive and hybrid measurements in a group-to-group topology with multiple sources and destinations.

RFC 5644 RFC5644 introduces metric names that can be reused here but have to be extended and rephrased to be applied to the Alternate- Marking schema:

a. the multiparty metrics are not only one-to-group metrics but can

   be also group-to-group metrics;

b. the spatial metrics, used for measuring the performance of

   segments of a source to destination path, are applied here to
   group-to-group segments (called clusters).

Flow Classification

A unicast flow is identified by all the packets having a set of common characteristics. This definition is inspired by RFC 7011 RFC7011.

As an example, by considering a flow as all the packets sharing the same source IP address or the same destination IP address, it is easy to understand that the resulting pattern will not be a point-to-point connection, but a point-to-multipoint or multipoint-to-point connection.

In general, a flow can be defined by a set of selection rules used to match a subset of the packets processed by the network device. These rules specify a set of Layer 3 and Layer 4 header fields (identification fields) and the relative values that must be found in matching packets.

The choice of the identification fields directly affects the type of paths that the flow would follow in the network. In fact, it is possible to relate a set of identification fields with the pattern of the resulting graphs, as listed in Figure 1.

A TCP 5-tuple usually identifies flows following either a single path or a point-to-point multipath (in the case of load balancing). On the contrary, a single source address selects aggregate flows following a point-to-multipoint, while a multipoint-to-point can be the result of a matching on a single destination address. In the case where a selection rule and its reverse are used for bidirectional measurements, they can correspond to a point-to- multipoint in one direction and a multipoint-to-point in the opposite direction.

So the flows to be monitored are selected into the monitoring points using packet selection rules, which can also change the pattern of the monitored network.

Note that, more generally, the flow can be defined at different levels based on the potential encapsulation, and additional conditions that are not in the packet header can also be included as part of matching criteria.

The Alternate-Marking method is applicable only to a single path (and partially to a one-to-one multipath), so the extension proposed in this document is suitable also for the most general case of multipoint-to-multipoint, which embraces all the other patterns of Figure 1.

      point-to-point single path
          +------+      +------+      +------+
      ---<>  R1  <>----<>  R2  <>----<>  R3  <>---
          +------+      +------+      +------+
      point-to-point multipath
                       +------+
                      <>  R2  <>
                     / +------+ \
                    /            \
          +------+ /              \ +------+
      ---<>  R1  <>                <>  R4  <>---
          +------+ \              / +------+
                    \            /
                     \ +------+ /
                      <>  R3  <>
                       +------+
      point-to-multipoint
                                  +------+
                                 <>  R4  <>---
                                / +------+
                      +------+ /
                     <>  R2  <>
                    / +------+ \
          +------+ /            \ +------+
      ---<>  R1  <>              <>  R5  <>---
          +------+ \              +------+
                    \ +------+
                     <>  R3  <>
                      +------+ \
                                \ +------+
                                 <>  R6  <>---
                                  +------+
      multipoint-to-point
          +------+
      ---<>  R1  <>
          +------+ \
                    \ +------+
                    <>  R4  <>
                    / +------+ \
          +------+ /            \ +------+
      ---<>  R2  <>              <>  R6  <>---
          +------+              / +------+
                      +------+ /
                     <>  R5  <>
                    / +------+
          +------+ /
      ---<>  R3  <>
          +------+
      multipoint-to-multipoint
          +------+                +------+
      ---<>  R1  <>              <>  R6  <>---
          +------+ \            / +------+
                    \ +------+ /
                     <>  R4  <>
                      +------+ \
          +------+              \ +------+
      ---<>  R2  <>             <>  R7  <>---
          +------+ \            / +------+
                    \ +------+ /
                     <>  R5  <>
                    / +------+ \
          +------+ /            \ +------+
      ---<>  R3  <>              <>  R8  <>---
          +------+                +------+
                   Figure 1: Flow Classification

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 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 scope by definition, since it is a point-to-multipoint unicast flow.

Multipoint Performance Measurement

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- point path, we have to define, with a specific value, 5 identification fields (IP Source, IP Destination, Transport Protocol, Source Port, Destination Port).

Multipoint Alternate Marking enables the performance measurement for multipoint flows selected by identification fields without any constraints (even the entire network production traffic). It is also possible to use multiple marking points for the same monitored flow.

Monitoring Network

The monitoring network is deduced from the production network by identifying the nodes of the graph that are the measurement points, and the links that are the connections between measurement points.

There are some techniques that can help with the building of the monitoring network (as an example, see [ROUTE-ASSESSMENT]). In general, there are different options: the monitoring network can be obtained by considering all the possible paths for the traffic or periodically checking the traffic (e.g. daily, weekly, monthly) and updating the graph as appropriate, but this is up to the Network Management System (NMS) configuration.

So a graph model of the monitoring network can be built according to the Alternate-Marking method: the monitored interfaces and links are identified. Only the measurement points and links where the traffic has flowed have to be represented in the graph.

Figure 2 shows a simple example of a monitoring network graph:

                                                +------+
                                               <>  R6  <>---
                                              / +------+
                       +------+     +------+ /
                      <>  R2  <>---<>  R4  <>
                     / +------+ \   +------+ \
                    /            \            \ +------+
          +------+ /   +------+   \ +------+   <>  R7  <>---
      ---<>  R1  <>---<>  R3  <>---<>  R5  <>   +------+
          +------+ \   +------+ \   +------+ \
                    \            \            \ +------+
                     \            \            <>  R8  <>---
                      \            \            +------+
                       \            \
                        \            \ +------+
                         \            <>  R9  <>---
                          \            +------+
                           \
                            \ +------+
                             <>  R10 <>---
                              +------+
                 Figure 2: Monitoring Network Graph

Each monitoring point is characterized by the packet counter that refers only to a marking period of the monitored flow.

The same is also applicable for the delay, but it will be described in the following sections.

Multipoint Packet Loss

Since all the packets of the considered flow leaving the network have previously entered the network, the number of packets counted by all the input nodes is always greater than, or equal to, the number of packets counted by all the output nodes. Noninitial fragments are not considered here.

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 input and output points of the network domain to be monitored are measurement points, the sum of the number of packets on all the ingress interfaces equals the number on egress interfaces for the monitored flow. In this circumstance, if no packet loss occurs, the intermediate measurement points only have the task of splitting the measurement.

It is possible to define the Network Packet Loss of one monitored flow for a single period. In a packet network, the number of lost packets is the number of packets counted by the input nodes minus the number of packets counted by the output nodes. This is true for every packet flow in each marking period.

The monitored network packet loss with n input nodes and m output nodes is given by:

PL = (PI1 + PI2 +...+ PIn) - (PO1 + PO2 +...+ POm)

where:

PL is the network packet loss (number of lost packets)

PIi is the number of packets flowed through the i-th input node in this period

POj is the number of packets flowed through the j-th output node in this period

The equation is applied on a per-time-interval basis and a per-flow basis:

  The reference interval is the Alternate-Marking period, as defined
  in RFC 8321 RFC8321.
  The flow definition is generalized here.  Indeed, as described
  before, a multipoint packet flow is considered, and the
  identification fields can be selected without any constraints.

Network Clustering

The previous equation can determine the number of packets lost globally in the monitored network, exploiting only the data provided by the counters in the input and output nodes.

In addition, it is also possible to leverage the data provided by the other counters in the network to converge on the smallest identifiable subnetworks where the losses occur. These subnetworks are named "clusters".

A cluster graph is a subnetwork of the entire monitoring network graph that still satisfies the packet loss equation (introduced in 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 cluster is defined on a per-flow basis.

For this reason, a cluster should contain all the arcs emanating from its input nodes and all the arcs terminating at its output nodes. This ensures that we can count all the packets (and only those) exiting an input node again at the output node, whatever path they follow.

In a completely monitored unidirectional network (a network where every network interface is monitored), each network device corresponds to a cluster, and each physical link corresponds to two clusters (one for each device).

Clusters can have different sizes depending on the flow-filtering criteria adopted.

Moreover, sometimes clusters can be optionally simplified. For example, when two monitored interfaces are divided by a single router (one is the input interface, the other is the output interface, and the router has only these two interfaces), instead of counting exactly twice, upon entering and leaving, it is possible to consider a single measurement point. In this case, we do not care about the internal packet loss of the router.

It is worth highlighting that it might also be convenient to define clusters based on the topological information so that they are applicable to all the possible flows in the monitored network.

Algorithm for Clusters Partition

A simple algorithm can be applied in order to split our monitoring network into clusters. This can be done for each direction separately. The clusters partition is based on the monitoring network graph, which can be valid for a specific flow or can also be general and valid for the entire network topology.

It is a two-step algorithm:

1. Group the links where there is the same starting node;

2. Join the grouped links with at least one ending node in common.

Considering that the links are unidirectional, the first step implies listing all the links as connections between two nodes and grouping the different links if they have the same starting node. Note that it is possible to start from any link, and the procedure will work. Following this classification, the second step implies eventually joining the groups classified in the first step by looking at the ending nodes. If different groups have at least one common ending node, they are put together and belong to the same set. After the application of the two steps of the algorithm, each one of the composed sets of links, together with the endpoint nodes, constitutes a cluster.

In our monitoring network graph example, it is possible to identify the clusters partition by applying this two-step algorithm.

The first step identifies the following groups:

1. Group 1: (R1-R2), (R1-R3), (R1-R10)

2. Group 2: (R2-R4), (R2-R5)

3. Group 3: (R3-R5), (R3-R9)

4. Group 4: (R4-R6), (R4-R7)

5. Group 5: (R5-R8)

And then, the second step builds the clusters partition (in particular, we can underline that Groups 2 and 3 connect together, since R5 is in common):

1. Cluster 1: (R1-R2), (R1-R3), (R1-R10)

2. Cluster 2: (R2-R4), (R2-R5), (R3-R5), (R3-R9)

3. Cluster 3: (R4-R6), (R4-R7)

4. Cluster 4: (R5-R8)

The flow direction here considered is from left to right. For the opposite direction, the same reasoning can be applied, and in this example, you get the same clusters partition.

In the end, the following 4 clusters are obtained:

      Cluster 1
                       +------+
                      <>  R2  <>---
                     / +------+
                    /
          +------+ /   +------+
      ---<>  R1  <>---<>  R3  <>---
          +------+ \   +------+
                    \
                     \
                      \
                       \
                        \
                         \
                          \
                           \
                            \ +------+
                             <>  R10 <>---
                              +------+
      Cluster 2
          +------+     +------+
      ---<>  R2  <>---<>  R4  <>---
          +------+ \   +------+
                    \
          +------+   \ +------+
      ---<>  R3  <>---<>  R5  <>---
          +------+ \   +------+
                    \
                     \
                      \
                       \
                        \ +------+
                         <>  R9  <>---
                          +------+
      Cluster 3
                      +------+
                     <>  R6  <>---
                    / +------+
          +------+ /
      ---<>  R4  <>
          +------+ \
                    \ +------+
                     <>  R7  <>---
                      +------+
      Cluster 4
          +------+
      ---<>  R5  <>
          +------+ \
                    \ +------+
                     <>  R8  <>---
                      +------+
                     Figure 3: Clusters Example

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 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).

In this way, the calculation of packet loss can be made on a cluster basis. Note that the packet counters for each marking period permit calculating the packet rate on a cluster basis, so Committed Information Rate (CIR) and Excess Information Rate (EIR) could also be deduced on a cluster basis.

Obviously, by combining some clusters in a new connected subnetwork (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 detailed filter criteria to inspect the traffic. You can check a multipoint network and, in case of problems, go deep with a step-by- step cluster analysis, but only for the cluster or combination of clusters where the problem happens.

In summary, once a flow is defined, the algorithm to build the clusters partition is based on topological information; therefore, it 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 traverse all the nodes, the counters have a nonzero value for the involved nodes and a zero value for the other nodes without traffic; but in the end, all the formulas are still valid.

The algorithm described above is an iterative clustering algorithm, but it is also possible to apply a recursive clustering algorithm by using the node-node adjacency matrix representation [IEEE-ACM-ToN-MPNPM].

The complete and mathematical analysis of the possible algorithms for clusters partition, including the considerations in terms of efficiency and a comparison between the different methods, is in the paper [IEEE-ACM-ToN-MPNPM].

Timing Aspects

It is important to consider the timing aspects, since out-of-order packets happen and have to be handled as well, as described in RFC 8321 RFC8321. 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.

When we expand to multipoint-to-multipoint flows, we have to consider that all source nodes mark the traffic, and this adds more complexity.

Regarding the timing aspects of the methodology, RFC 8321 RFC8321 already describes two contributions that are taken into account: the clock error between network devices and the network delay between measurement points.

But we should now consider an additional contribution. Since all source nodes mark the traffic, the source measurement intervals can be of different lengths and with different offsets, and this mismatch m can be added to d, as shown in Figure 5.

...BBBBBBBBB | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | BBBBBBBBB...

            |<======================================>|
            |                   L                    |

...=========>|<==================><==================>|<==========...

            |         L/2                L/2         |
            |<=><===>|                      |<===><=>|
              m   d  |                      |  d   m
                     |<====================>|
                   available counting interval
           Figure 5: Timing Aspects for Multipoint Paths

So the misalignment between the marking source routers gives an additional constraint, and the value of m is added to d (which already includes clock error and network delay).

Thus, three different possible contributions are considered: clock error between network devices, network delay between measurement points, and the misalignment between the marking source routers.

In the end, 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 - 2m - 2d > 0.

This formula needs to be verified for each measurement point on the multipoint path, where m is misalignment between the marking source routers, while d, already introduced in RFC 8321 RFC8321, takes into account clock error and network delay between network nodes. Therefore, the mismatch between measurement intervals must satisfy this condition.

Note that the timing considerations are valid for both packet loss and delay measurements.

Multipoint Delay and Delay Variation

The same line of reasoning can be applied to delay and delay variation. Similarly to the delay measurements defined in RFC 8321 RFC8321, the marking batches anchor the samples to a particular period, and this is the time reference that can be used. It is important to highlight that both delay and delay-variation measurements make sense in a multipoint path. The delay variation is calculated by considering the same packets selected for measuring the delay.

In general, it is possible to perform delay and delay-variation measurements on the basis of multipoint paths or single packets:

  • Delay measurements on the basis of multipoint paths mean that the
  delay value is representative of an entire multipoint path (e.g.,
  the whole multipoint network, a cluster, or a combination of
  clusters).
  • Delay measurements on a single-packet basis mean that you can use
  a multipoint path just to easily couple packets between input and
  output nodes of a multipoint path, as described in the following
  sections.

Delay Measurements on a Multipoint-Paths Basis

Single-Marking Measurement

Mean delay and mean delay-variation measurements can also be generalized to the case of multipoint flows. It is possible to compute the average one-way delay of packets in one block, a cluster, or the entire monitored network.

The average latency can be measured as the difference between the weighted averages of the mean timestamps of the sets of output and input nodes. This means that, in the calculation, it is possible to weigh the timestamps by considering the number of packets for each endpoints.

Delay Measurements on a Single-Packet Basis

Single- and Double-Marking Measurement

Delay and delay-variation measurements relative to only one picked packet per period (both single and double marked) can be performed in the multipoint scenario, with some limitations:

  Single marking based on the first/last packet of the interval
  would not work, because it would not be possible to agree on the
  first packet of the interval.
  Double marking or multiplexed marking would work, but each
  measurement would only give information about the delay of a
  single path.  However, by repeating the measurement multiple
  times, it is possible to get information about all the paths in
  the multipoint flow.  This can be done in the case of a point-to-
  multipoint path, but it is more difficult to achieve in the case
  of a multipoint-to-multipoint path because of the multiple source
  routers.

If we would perform a delay measurement for more than one picked packet in the same marking period, and especially if we want to get delay measurements on a multipoint-to-multipoint basis, neither the single- nor the double-marking method is useful in the multipoint scenario, since they would not be representative of the entire flow. The packets can follow different paths with various delays, and in general it can be very difficult to recognize marked packets in a multipoint-to-multipoint path, especially in the case when there is more than one per period.

A desirable option is to monitor simultaneously all the paths of a multipoint path in the same marking period; for this purpose, hashing can be used, as reported in the next section.

Hashing Selection Method

RFCs 5474 RFC5474 and 5475 RFC5475 introduce sampling and filtering techniques for IP packet selection.

The hash-based selection methodologies for delay measurement can work in a multipoint-to-multipoint path and can be used either coupled to mean delay or stand-alone.

[ALTERNATE-MARKING] introduces how to use the hash method (RFCs 5474 RFC5474 and 5475 RFC5475) combined with the Alternate-Marking method for point-to-point flows. It is also called Mixed Hashed Marking: the coupling of a marking method and hashing technique is very useful, because the marking batches anchor the samples selected with hashing, and this simplifies the correlation of the hashing packets along the path.

It is possible to use a basic-hash or a dynamic-hash method. One of the challenges of the basic approach is that the frequency of the sampled packets may vary considerably. For this reason, the dynamic approach has been introduced for point-to-point flows in order to have the desired and almost fixed number of samples for each measurement period. Using the hash-based sampling, the number of samples may vary a lot because it depends on the packet rate that is variable. The dynamic approach helps to have an almost fixed number of samples for each marking period, and this is a better option for making regular measurements over time. In the hash-based sampling, Alternate Marking is used to create periods, so that hash-based samples are divided into batches, which allows anchoring the selected samples to their period. Moreover, in the dynamic hash-based sampling, by dynamically adapting the length of the hash value, the number of samples is bounded in each marking period. This can be realized by choosing the maximum number of samples (NMAX) to be caught in a marking period. The algorithm starts with only a few hash bits, which permits selecting a greater percentage of packets (e.g., with 0 bits of hash all the packets are sampled, with 1 bit of hash half of the packets are sampled, and so on). When the number of selected packets reaches NMAX, a hashing bit is added. As a consequence, the sampling proceeds at half of the original rate, and also the packets already selected that do not match the new hash are discarded. This step can be repeated iteratively. It is assumed that each sample includes the timestamp (used for delay measurement) and the hash value, allowing the management system to match the samples received from the two measurement points. The dynamic process statistically converges at the end of a marking period, and the final number of selected samples is between NMAX/2 and NMAX. Therefore, the dynamic approach paces the sampling rate, allowing to bound the number of sampled packets per sampling period.

In a multipoint environment, the behavior is similar to a point-to- point flow. In particular, in the context of a multipoint-to- multipoint flow, the dynamic hash could be the solution for performing delay measurements on specific packets and overcoming the single- and double-marking limitations.

The management system receives the samples, including the timestamps and the hash value, from all the MPs, and this happens for both point-to-point and multipoint-to-multipoint flows. Then, the longest hash used by the MPs is deduced and applied to couple timestamps from either the same packets of 2 MPs of a point-to-point path, or the input and output MPs of a cluster (or a super cluster or the entire network). But some considerations are needed: if there isn't packet loss, the set of input samples is always equal to the set of output samples. In the case of packet loss, the set of output samples can be a subset of input samples, but the method still works because, at the end, it is easy to couple the input and output timestamps of each caught packet using the hash (in particular, the "unused part of the hash" that should be different for each packet).

Therefore, the basic hash is logically similar to the double-marking method, and in the case of a point-to-point path, double-marking and basic-hash selection are equivalent. The dynamic approach scales the number of measurements per interval. It would seem that double marking would also work well if we reduced the interval length, but this can be done only for a point-to-point path and not for a multipoint path, where we cannot couple the picked packets in a multipoint path. So, in general, if we want to get delay measurements on the basis of a multipoint-to-multipoint path, and want to select more than one packet per period, double marking cannot be used because we could not be able to couple the picked packets between input and output nodes. On the other hand, we can do that by using hashing selection.

A Closed-Loop Performance-Management Approach

The Multipoint Alternate-Marking framework that is introduced in this document adds flexibility to Performance Management (PM), because it can reduce the order of magnitude of the packet counters. This allows an SDN orchestrator to supervise, control, and manage PM in large networks.

The monitoring network can be considered as a whole or split into clusters that are the smallest subnetworks (group-to-group segments), maintaining the packet-loss property for each subnetwork. The clusters can also be combined in new, connected subnetworks at different levels, depending on the detail we want to achieve.

An SDN controller or a Network Management System (NMS) can calibrate performance measurements, since they are aware of the network topology. They can start without examining in depth. In case of necessity (packet loss is measured or the delay is too high), the filtering criteria could be immediately reconfigured in order to perform a partition of the network by using clusters and/or different combinations of clusters. In this way, the problem can be localized in a specific cluster or a single combination of clusters, and a more detailed analysis can be performed step by step by successive approximation up to a point-to-point flow detailed analysis. This is the so-called "closed loop".

This approach can be called "network zooming" and can be performed in two different ways:

1) change the traffic filter and select more detailed flows;

2) activate new measurement points by defining more specified clusters.

The network-zooming approach implies that some filters or rules are changed and that therefore there is a transient time to wait once the new network configuration takes effect. This time can be determined by the Network Orchestrator/Controller, based on the network conditions.

For example, if the network zooming identifies the performance problem for the traffic coming from a specific source, we need to recognize the marked signal from this specific source node and its relative path. For this purpose, we can activate all the available measurement points and better specify the flow filter criteria (i.e., 5-tuple). As an alternative, it can be enough to select packets from the specific source for delay measurements; in this case, it is possible to apply the hashing technique, as mentioned in the previous sections.

[IFIT-FRAMEWORK] defines an architecture where the centralized Data Collector and Network Management can apply the intelligent and flexible Alternate-Marking algorithm as previously described.

As for RFC 8321 RFC8321, it is possible to classify the traffic and mark a portion of the total traffic. For each period, the packet rate and bandwidth are calculated from the number of packets. In this way, the network orchestrator becomes aware if the traffic rate surpasses limits. In addition, more precision can be obtained by reducing the marking period; indeed, some implementations use a marking period of 1 sec or less.

In addition, an SDN controller could also collect the measurement history.

It is important to mention that the Multipoint Alternate Marking framework also helps Traffic Visualization. Indeed, this methodology is very useful for identifying which path or cluster is crossed by the flow.

10. Examples of Application

There are application fields where it may be useful to take into consideration the Multipoint Alternate Marking:

VPN: The IP traffic is selected on an IP-source basis in both

  directions.  At the endpoint WAN interface, all the output traffic
  is counted in a single flow.  The input traffic is composed of all
  the other flows aggregated for source address.  So, by considering
  n endpoints, the monitored flows are n (each flow with 1 ingress
  point and (n-1) egress points) instead of n*(n-1) flows (each
  flow, with 1 ingress point and 1 egress point).

Mobile Backhaul: LTE traffic is selected, in the Up direction, by

  the EnodeB source address and, in the Down direction, by the
  EnodeB destination address, because the packets are sent from the
  Mobile Packet Core to the EnodeB.  So the monitored flow is only
  one per EnodeB in both directions.

Over The Top (OTT) services: The traffic is selected, in the Down

  direction, by the source addresses of the packets sent by OTT
  servers.  In the opposite direction (Up), it is selected by the
  destination IP addresses of the same servers.  So the monitoring
  is based on a single flow per OTT server in both directions.

Enterprise SD-WAN: SD-WAN allows connecting remote branch offices to

  data centers and building higher-performance WANs.  A centralized
  controller is used to set policies and prioritize traffic.  The
  SD-WAN takes into account these policies and the availability of
  network bandwidth to route traffic.  This helps ensure that
  application performance meets Service Level Agreements (SLAs).
  This methodology can also help the path selection for the WAN
  connection based on per-cluster and per-flow performance.

Note that the preceding list is just an example and is not exhaustive. More applications are possible.

11. Security Considerations

This document specifies a method of performing measurements that does not directly affect Internet security or applications that run on the Internet. However, implementation of this method must be mindful of security and privacy concerns, as explained in RFC 8321 RFC8321.

12. IANA Considerations

This document has no IANA actions.

13. References

13.1. Normative References

RFC5474 Duffield, N., Ed., Chiou, D., Claise, B., Greenberg, A.,

          Grossglauser, M., and J. Rexford, "A Framework for Packet
          Selection and Reporting", RFC 5474, DOI 10.17487/RFC5474,
          March 2009, <https://www.rfc-editor.org/info/rfc5474>.

RFC5475 Zseby, T., Molina, M., Duffield, N., Niccolini, S., and F.

          Raspall, "Sampling and Filtering Techniques for IP Packet
          Selection", RFC 5475, DOI 10.17487/RFC5475, March 2009,
          <https://www.rfc-editor.org/info/rfc5475>.

RFC5644 Stephan, E., Liang, L., and A. Morton, "IP Performance

          Metrics (IPPM): Spatial and Multicast", RFC 5644,
          DOI 10.17487/RFC5644, October 2009,
          <https://www.rfc-editor.org/info/rfc5644>.

RFC8321 Fioccola, G., Ed., Capello, A., Cociglio, M., Castaldelli,

          L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi,
          "Alternate-Marking Method for Passive and Hybrid
          Performance Monitoring", RFC 8321, DOI 10.17487/RFC8321,
          January 2018, <https://www.rfc-editor.org/info/rfc8321>.

13.2. Informative References

[ALTERNATE-MARKING]

          Mizrahi, T., Arad, C., Fioccola, G., Cociglio, M., Chen,
          M., Zheng, L., and G. Mirsky, "Compact Alternate Marking
          Methods for Passive and Hybrid Performance Monitoring",
          Work in Progress, Internet-Draft, draft-mizrahi-ippm-
          compact-alternate-marking-05, 6 July 2019,
          <https://tools.ietf.org/html/draft-mizrahi-ippm-compact-
          alternate-marking-05>.

[ENHANCED-ALTERNATE-MARKING]

          Zhou, T., Fioccola, G., Lee, S., Cociglio, M., and W. Li,
          "Enhanced Alternate Marking Method", Work in Progress,
          Internet-Draft, draft-zhou-ippm-enhanced-alternate-
          marking-05, 13 July 2020, <https://tools.ietf.org/html/
          draft-zhou-ippm-enhanced-alternate-marking-05>.

[IEEE-ACM-ToN-MPNPM]

          Cociglio, M., Fioccola, G., Marchetto, G., Sapio, A., and
          R. Sisto, "Multipoint Passive Monitoring in Packet
          Networks", IEEE/ACM Transactions on Networking vol. 27,
          no. 6, pp. 2377-2390, DOI 10.1109/TNET.2019.2950157,
          December 2019,
          <https://doi.org/10.1109/TNET.2019.2950157>.

[IEEE-Network-PNPM]

          Mizrahi, T., Navon, G., Fioccola, G., Cociglio, M., Chen,
          M., and G. Mirsky, "AM-PM: Efficient Network Telemetry
          using Alternate Marking", IEEE Network vol. 33, no. 4,
          pp. 155-161, DOI 10.1109/MNET.2019.1800152, July 2019,
          <https://doi.org/10.1109/MNET.2019.1800152>.

[IFIT-FRAMEWORK]

          Song, H., Qin, F., Chen, H., Jin, J., and J. Shin, "In-
          situ Flow Information Telemetry", Work in Progress,
          Internet-Draft, draft-song-opsawg-ifit-framework-12, 14
          April 2020, <https://tools.ietf.org/html/draft-song-
          opsawg-ifit-framework-12>.

RFC7011 Claise, B., Ed., Trammell, B., Ed., and P. Aitken,

          "Specification of the IP Flow Information Export (IPFIX)
          Protocol for the Exchange of Flow Information", STD 77,
          RFC 7011, DOI 10.17487/RFC7011, September 2013,
          <https://www.rfc-editor.org/info/rfc7011>.

[ROUTE-ASSESSMENT]

          Alvarez-Hamelin, J., Morton, A., Fabini, J., Pignataro,
          C., and R. Geib, "Advanced Unidirectional Route Assessment
          (AURA)", Work in Progress, Internet-Draft, draft-ietf-
          ippm-route-10, 13 August 2020,
          <https://tools.ietf.org/html/draft-ietf-ippm-route-10>.

Acknowledgements

The authors would like to thank Al Morton, Tal Mizrahi, and Rachel Huang for the precious contributions.

Authors' Addresses

Giuseppe Fioccola (editor) Huawei Technologies Riesstrasse, 25 80992 Munich Germany

Email: [email protected]

Mauro Cociglio Telecom Italia Via Reiss Romoli, 274 10148 Torino Italy

Email: [email protected]

Amedeo Sapio Intel Corporation 4750 Patrick Henry Dr. Santa Clara, CA 95054 United States of America

Email: [email protected]

Riccardo Sisto Politecnico di Torino Corso Duca degli Abruzzi, 24 10129 Torino Italy

Email: [email protected]