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...")
 
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
 
Abstract
  
  The Alternate-Marking method, as presented in RFC 8321, can only be
+
The Alternate-Marking method, as presented in RFC 8321, can only be
  applied to point-to-point flows, because it assumes that all the
+
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
+
packets of the flow measured on one node are measured again by a
  single second node.  This document generalizes and expands this
+
single second node.  This document generalizes and expands this
  methodology to measure any kind of unicast flow whose packets can
+
methodology to measure any kind of unicast flow whose packets can
  follow several different paths in the network -- in wider terms, a
+
follow several different paths in the network -- in wider terms, a
  multipoint-to-multipoint network.  For this reason, the technique
+
multipoint-to-multipoint network.  For this reason, the technique
  here described is called "Multipoint Alternate Marking".
+
here described is called "Multipoint Alternate Marking".
  
 
Status of This Memo
 
Status of This Memo
  
  This document is not an Internet Standards Track specification; it is
+
This document is not an Internet Standards Track specification; it is
  published for examination, experimental implementation, and
+
published for examination, experimental implementation, and
  evaluation.
+
evaluation.
  
  This document defines an Experimental Protocol for the Internet
+
This document defines an Experimental Protocol for the Internet
  community.  This document is a product of the Internet Engineering
+
community.  This document is a product of the Internet Engineering
  Task Force (IETF).  It represents the consensus of the IETF
+
Task Force (IETF).  It represents the consensus of the IETF
  community.  It has received public review and has been approved for
+
community.  It has received public review and has been approved for
  publication by the Internet Engineering Steering Group (IESG).  Not
+
publication by the Internet Engineering Steering Group (IESG).  Not
  all documents approved by the IESG are candidates for any level of
+
all documents approved by the IESG are candidates for any level of
  Internet Standard; see Section 2 of RFC 7841.
+
Internet Standard; see Section 2 of RFC 7841.
  
  Information about the current status of this document, any errata,
+
Information about the current status of this document, any errata,
  and how to provide feedback on it may be obtained at
+
and how to provide feedback on it may be obtained at
  https://www.rfc-editor.org/info/rfc8889.
+
https://www.rfc-editor.org/info/rfc8889.
  
 
Copyright Notice
 
Copyright Notice
  
  Copyright (c) 2020 IETF Trust and the persons identified as the
+
Copyright (c) 2020 IETF Trust and the persons identified as the
  document authors.  All rights reserved.
+
document authors.  All rights reserved.
  
  This document is subject to BCP 78 and the IETF Trust's Legal
+
This document is subject to BCP 78 and the IETF Trust's Legal
  Provisions Relating to IETF Documents
+
Provisions Relating to IETF Documents
  (https://trustee.ietf.org/license-info) in effect on the date of
+
(https://trustee.ietf.org/license-info) in effect on the date of
  publication of this document.  Please review these documents
+
publication of this document.  Please review these documents
  carefully, as they describe your rights and restrictions with respect
+
carefully, as they describe your rights and restrictions with respect
  to this document.  Code Components extracted from this document must
+
to this document.  Code Components extracted from this document must
  include Simplified BSD License text as described in Section 4.e of
+
include Simplified BSD License text as described in Section 4.e of
  the Trust Legal Provisions and are provided without warranty as
+
the Trust Legal Provisions and are provided without warranty as
  described in the Simplified BSD License.
+
described in the Simplified BSD License.
  
 
Table of Contents
 
Table of Contents
 
  1.  Introduction
 
  2.  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
 
  
 
1.  Introduction
 
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
  
  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 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 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 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, 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
 +
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 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].
2. Terminology
 
  
  The definitions of the basic terms are identical to those found in
+
Note that the fragmented packets case can be managed with the
  Alternate Marking [RFC8321]It is to be remembered that RFC 8321
+
Alternate-Marking methodology only if fragmentation happens outside
  [RFC8321] is valid for point-to-point unicast flows and BUM traffic.
+
the portion of the network that is monitoredThis is always true
 +
for both RFC 8321 [RFC8321] and Multipoint Alternate Marking, as
 +
explained here.
  
  The important new terms that need to be explained are listed below:
+
== Terminology ==
  
  Multipoint Alternate Marking: Extension to RFC 8321 [RFC8321], valid
+
The definitions of the basic terms are identical to those found in
      for multipoint-to-multipoint unicast flows, anycast, and ECMP
+
Alternate Marking [RFC8321]. It is to be remembered that RFC 8321
      flows.  It can also be referred to as Clustered Alternate Marking.
+
[RFC8321] is valid for point-to-point unicast flows and BUM traffic.
  
  Flow definition:  The concept of flow is generalized in this
+
The important new terms that need to be explained are listed below:
      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 networkIdentified with the nodes of the network that
+
Multipoint Alternate MarkingExtension to RFC 8321 [RFC8321], valid
      are the measurement points (MPs) and the links that are the
+
  for multipoint-to-multipoint unicast flows, anycast, and ECMP
      connections between MPsThe monitoring network graph depends on
+
  flowsIt can also be referred to as Clustered Alternate Marking.
      the flow definition, so it can represent a specific flow or the
 
      entire network topology as aggregate of all the flows.
 
  
  ClusterSmallest identifiable subnetwork of the entire monitoring
+
Flow definitionThe concept of flow is generalized in this
      network graph that still satisfies the condition that the number
+
  document.  The identification fields are selected without any
      of packets that go in is the same as the number that go out.
+
  constraints and, in general, the flow can be a multipoint-to-
 +
  multipoint flow, as a result of aggregate point-to-point flows.
  
  Multipoint metricsPacket loss, delay, and delay variation are
+
Monitoring networkIdentified with the nodes of the network that
      extended to the case of multipoint flowsIt is possible to
+
  are the measurement points (MPs) and the links that are the
      compute these metrics on the basis of multipoint paths in order to
+
  connections between MPsThe monitoring network graph depends on
      associate the measurements to a cluster, a combination of
+
  the flow definition, so it can represent a specific flow or the
      clusters, or the entire monitored network.  For delay and delay
+
  entire network topology as aggregate of all the flows.
      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
+
Cluster:  Smallest identifiable subnetwork of the entire monitoring
   RFC 5644 [RFC5644].
+
   network graph that still satisfies the condition that the number
 +
   of packets that go in is the same as the number that go out.
  
2.1Correlation with RFC 5644
+
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 networkFor 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.
  
  RFC 5644 [RFC5644] is limited to active measurements using a single
+
The next section highlights the correlation with the terms used in
  source packet or stream.  Its scope is also limited to observations
+
RFC 5644 [RFC5644].
  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
+
=== Correlation with RFC 5644 ===
  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
+
RFC 5644 [RFC5644] is limited to active measurements using a single
  but have to be extended and rephrased to be applied to the Alternate-
+
source packet or stream.  Its scope is also limited to observations
  Marking schema:
+
of corresponding packets along the path (spatial metric) and at one
 +
or more destinations (one-to-group) along the path.
  
  a.  the multiparty metrics are not only one-to-group metrics but can
+
Instead, the scope of this memo is to define multiparty metrics for
      be also group-to-group metrics;
+
passive and hybrid measurements in a group-to-group topology with
 +
multiple sources and destinations.
  
  b.  the spatial metrics, used for measuring the performance of
+
RFC 5644 [RFC5644] introduces metric names that can be reused here
      segments of a source to destination path, are applied here to
+
but have to be extended and rephrased to be applied to the Alternate-
      group-to-group segments (called clusters).
+
Marking schema:
  
3Flow Classification
+
athe multiparty metrics are not only one-to-group metrics but can
 +
    be also group-to-group metrics;
  
  A unicast flow is identified by all the packets having a set of
+
b.  the spatial metrics, used for measuring the performance of
  common characteristics.  This definition is inspired by RFC 7011
+
    segments of a source to destination path, are applied here to
  [RFC7011].
+
    group-to-group segments (called clusters).
  
  As an example, by considering a flow as all the packets sharing the
+
== Flow Classification ==
  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
+
A unicast flow is identified by all the packets having a set of
  match a subset of the packets processed by the network deviceThese
+
common characteristicsThis definition is inspired by RFC 7011
  rules specify a set of Layer 3 and Layer 4 header fields
+
[RFC7011].
  (identification fields) and the relative values that must be found in
 
  matching packets.
 
  
  The choice of the identification fields directly affects the type of
+
As an example, by considering a flow as all the packets sharing the
  paths that the flow would follow in the network.  In fact, it is
+
same source IP address or the same destination IP address, it is easy
  possible to relate a set of identification fields with the pattern of
+
to understand that the resulting pattern will not be a point-to-point
  the resulting graphs, as listed in Figure 1.
+
connection, but a point-to-multipoint or multipoint-to-point
 +
connection.
  
  A TCP 5-tuple usually identifies flows following either a single path
+
In general, a flow can be defined by a set of selection rules used to
  or a point-to-point multipath (in the case of load balancing).  On
+
match a subset of the packets processed by the network deviceThese
  the contrary, a single source address selects aggregate flows
+
rules specify a set of Layer 3 and Layer 4 header fields
  following a point-to-multipoint, while a multipoint-to-point can be
+
(identification fields) and the relative values that must be found in
  the result of a matching on a single destination addressIn the
+
matching packets.
  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
+
The choice of the identification fields directly affects the type of
  using packet selection rules, which can also change the pattern of
+
paths that the flow would follow in the network.  In fact, it is
  the monitored network.
+
possible to relate a set of identification fields with the pattern of
 +
the resulting graphs, as listed in Figure 1.
  
  Note that, more generally, the flow can be defined at different
+
A TCP 5-tuple usually identifies flows following either a single path
  levels based on the potential encapsulation, and additional
+
or a point-to-point multipath (in the case of load balancing).  On
  conditions that are not in the packet header can also be included as
+
the contrary, a single source address selects aggregate flows
  part of matching criteria.
+
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.
  
  The Alternate-Marking method is applicable only to a single path (and
+
So the flows to be monitored are selected into the monitoring points
  partially to a one-to-one multipath), so the extension proposed in
+
using packet selection rules, which can also change the pattern of
  this document is suitable also for the most general case of
+
the monitored network.
  multipoint-to-multipoint, which embraces all the other patterns of
 
  Figure 1.
 
  
          point-to-point single path
+
Note that, more generally, the flow can be defined at different
              +------+      +------+      +------+
+
levels based on the potential encapsulation, and additional
          ---<>  R1  <>----<>  R2  <>----<>  R3  <>---
+
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 multipath
+
      point-to-point single path
                          +------+
+
          +------+     +------+     +------+
                          <>  R2  <>
+
      ---<>  R1  <>----<>  R2 <>----<>  R3  <>---
                        / +------+ \
+
          +------+     +------+     +------+
                        /            \
 
              +------+ /              \ +------+
 
          ---<>  R1  <>               <>  R4 <>---
 
              +------+ \              / +------+
 
                        \            /
 
                        \ +------+ /
 
                          <>  R3  <>
 
                          +------+
 
  
 +
      point-to-point multipath
 +
                        +------+
 +
                      <>  R2  <>
 +
                      / +------+ \
 +
                    /            \
 +
          +------+ /              \ +------+
 +
      ---<>  R1  <>                <>  R4  <>---
 +
          +------+ \              / +------+
 +
                    \            /
 +
                      \ +------+ /
 +
                      <>  R3  <>
 +
                        +------+
  
          point-to-multipoint
+
      point-to-multipoint
                                      +------+
+
                                  +------+
                                    <>  R4  <>---
+
                                  <>  R4  <>---
                                    / +------+
+
                                / +------+
                          +------+ /
+
                      +------+ /
                        <>  R2  <>
+
                      <>  R2  <>
                        / +------+ \
+
                    / +------+ \
              +------+ /            \ +------+
+
          +------+ /            \ +------+
          ---<>  R1  <>              <>  R5  <>---
+
      ---<>  R1  <>              <>  R5  <>---
              +------+ \              +------+
+
          +------+ \              +------+
                        \ +------+
+
                    \ +------+
                        <>  R3  <>
+
                      <>  R3  <>
                          +------+ \
+
                      +------+ \
                                    \ +------+
+
                                \ +------+
                                    <>  R6  <>---
+
                                  <>  R6  <>---
                                      +------+
+
                                  +------+
  
 +
      multipoint-to-point
 +
          +------+
 +
      ---<>  R1  <>
 +
          +------+ \
 +
                    \ +------+
 +
                    <>  R4  <>
 +
                    / +------+ \
 +
          +------+ /            \ +------+
 +
      ---<>  R2  <>              <>  R6  <>---
 +
          +------+              / +------+
 +
                      +------+ /
 +
                      <>  R5  <>
 +
                    / +------+
 +
          +------+ /
 +
      ---<>  R3  <>
 +
          +------+
  
          multipoint-to-point
+
      multipoint-to-multipoint
              +------+
+
          +------+                +------+
          ---<>  R1  <>
+
      ---<>  R1  <>             <>  R6  <>---
              +------+ \
+
          +------+ \           / +------+
                        \ +------+
+
                    \ +------+ /
                        <>  R4  <>
+
                      <>  R4  <>
                        / +------+ \
+
                      +------+ \
              +------+ /            \ +------+
+
          +------+             \ +------+
          ---<>  R2  <>             <>  R6 <>---
+
      ---<>  R2  <>             <>  R7 <>---
              +------+             / +------+
+
          +------+ \            / +------+
                          +------+ /
+
                    \ +------+ /
                        <>  R5  <>
+
                      <>  R5  <>
                        / +------+
+
                    / +------+ \
              +------+ /
+
          +------+ /           \ +------+
          ---<>  R3  <>
+
      ---<>  R3  <>             <>  R8  <>---
              +------+
+
          +------+                +------+
  
 +
                    Figure 1: Flow Classification
  
          multipoint-to-multipoint
+
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
          ---<> R1  <>              <>  R6  <>---
+
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.
                        <> R4  <>
 
                          +------+ \
 
              +------+              \ +------+
 
          ---<>  R2  <>            <>  R7  <>---
 
              +------+ \            / +------+
 
                        \ +------+ /
 
                        <>  R5  <>
 
                        / +------+ \
 
              +------+ /            \ +------+
 
          ---<>  R3  <>              <>  R8  <>---
 
              +------+                +------+
 
  
                      Figure 1: Flow Classification
+
== Multipoint Performance Measurement ==
  
  The case of unicast flow is considered in Figure 1.  The anycast flow
+
By using the Alternate-Marking method, only point-to-point paths can
  is also in scope, because there is no replication and only a single
+
be monitoredTo have an IP (TCP/UDP) flow that follows a point-to-
  node from the anycast group receives the traffic, so it can be viewed
+
point path, we have to define, with a specific value, 5
  as a special case of unicast flowFurthermore, an ECMP flow is in
+
identification fields (IP Source, IP Destination, Transport Protocol,
  scope by definition, since it is a point-to-multipoint unicast flow.
+
Source Port, Destination Port).
  
4Multipoint Performance Measurement
+
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.
  
  By using the Alternate-Marking method, only point-to-point paths can
+
=== Monitoring Network ===
  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
+
The monitoring network is deduced from the production network by
  multipoint flows selected by identification fields without any
+
identifying the nodes of the graph that are the measurement points,
  constraints (even the entire network production traffic).  It is also
+
and the links that are the connections between measurement points.
  possible to use multiple marking points for the same monitored flow.
 
  
4.1. Monitoring Network
+
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.
  
  The monitoring network is deduced from the production network by
+
So a graph model of the monitoring network can be built according to
  identifying the nodes of the graph that are the measurement points,
+
the Alternate-Marking method: the monitored interfaces and links are
  and the links that are the connections between measurement points.
+
identified.  Only the measurement points and links where the traffic
 +
has flowed have to be represented in the graph.
  
  There are some techniques that can help with the building of the
+
Figure 2 shows a simple example of a monitoring network graph:
  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
+
                                                <>  R6  <>---
  identified. Only the measurement points and links where the traffic
+
                                              / +------+
  has flowed have to be represented in the graph.
+
                        +------+    +------+ /
 
+
                      <>  R2  <>---<> R4  <>
  Figure 2 shows a simple example of a monitoring network graph:
+
                      / +------+ \  +------+ \
 +
                    /            \            \ +------+
 +
          +------+ /  +------+  \ +------+  <>  R7  <>---
 +
      ---<>  R1  <>---<>  R3  <>---<>  R5  <>  +------+
 +
          +------+ \  +------+ \  +------+ \
 +
                    \            \            \ +------+
 +
                      \            \            <>  R8  <>---
 +
                      \            \            +------+
 +
                        \            \
 +
                        \            \ +------+
 +
                          \            <>  R9  <>---
 +
                          \            +------+
 +
                            \
 +
                            \ +------+
 +
                              <>  R10 <>---
 +
                              +------+
  
                                                    +------+
+
                  Figure 2: 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.
  
  Each monitoring point is characterized by the packet counter that
+
The same is also applicable for the delay, but it will be described
  refers only to a marking period of the monitored flow.
+
in the following sections.
  
  The same is also applicable for the delay, but it will be described
+
== Multipoint Packet Loss ==
  in the following sections.
 
 
 
5.  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 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 589:
 
                           \
 
                           \
 
                             \
 
                             \
                             \
+
                             \ +------+
                              \
+
                              <>  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, 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 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 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
 
      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
+
=== Delay Measurements on a Multipoint-Paths Basis ===
  
8.1.1.  Single-Marking Measurement
+
==== Single-Marking Measurement ====
  
  Mean delay and mean delay-variation measurements can also be
+
Mean delay and mean delay-variation measurements can also be
  generalized to the case of multipoint flows.  It is possible to
+
generalized to the case of multipoint flows.  It is possible to
  compute the average one-way delay of packets in one block, a cluster,
+
compute the average one-way delay of packets in one block, a cluster,
  or the entire monitored network.
+
or the entire monitored network.
  
  The average latency can be measured as the difference between the
+
The average latency can be measured as the difference between the
  weighted averages of the mean timestamps of the sets of output and
+
weighted averages of the mean timestamps of the sets of output and
  input nodes.  This means that, in the calculation, it is possible to
+
input nodes.  This means that, in the calculation, it is possible to
  weigh the timestamps by considering the number of packets for each
+
weigh the timestamps by considering the number of packets for each
  endpoints.
+
endpoints.
  
8.2.  Delay Measurements on a Single-Packet Basis
+
=== Delay Measurements on a Single-Packet Basis ===
  
8.2.1.  Single- and Double-Marking Measurement
+
==== Single- and Double-Marking Measurement ====
  
  Delay and delay-variation measurements relative to only one picked
+
Delay and delay-variation measurements relative to only one picked
  packet per period (both single and double marked) can be performed in
+
packet per period (both single and double marked) can be performed in
  the multipoint scenario, with some limitations:
+
the multipoint scenario, with some limitations:
  
      Single marking based on the first/last packet of the interval
+
  Single marking based on the first/last packet of the interval
      would not work, because it would not be possible to agree on the
+
  would not work, because it would not be possible to agree on the
      first packet of the interval.
+
  first packet of the interval.
  
      Double marking or multiplexed marking would work, but each
+
  Double marking or multiplexed marking would work, but each
      measurement would only give information about the delay of a
+
  measurement would only give information about the delay of a
      single path.  However, by repeating the measurement multiple
+
  single path.  However, by repeating the measurement multiple
      times, it is possible to get information about all the paths in
+
  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-
+
  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
+
  multipoint path, but it is more difficult to achieve in the case
      of a multipoint-to-multipoint path because of the multiple source
+
  of a multipoint-to-multipoint path because of the multiple source
      routers.
+
  routers.
  
  If we would perform a delay measurement for more than one picked
+
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
+
packet in the same marking period, and especially if we want to get
  delay measurements on a multipoint-to-multipoint basis, neither the
+
delay measurements on a multipoint-to-multipoint basis, neither the
  single- nor the double-marking method is useful in the multipoint
+
single- nor the double-marking method is useful in the multipoint
  scenario, since they would not be representative of the entire flow.
+
scenario, since they would not be representative of the entire flow.
  The packets can follow different paths with various delays, and in
+
The packets can follow different paths with various delays, and in
  general it can be very difficult to recognize marked packets in a
+
general it can be very difficult to recognize marked packets in a
  multipoint-to-multipoint path, especially in the case when there is
+
multipoint-to-multipoint path, especially in the case when there is
  more than one per period.
+
more than one per period.
  
  A desirable option is to monitor simultaneously all the paths of a
+
A desirable option is to monitor simultaneously all the paths of a
  multipoint path in the same marking period; for this purpose, hashing
+
multipoint path in the same marking period; for this purpose, hashing
  can be used, as reported in the next section.
+
can be used, as reported in the next section.
  
8.2.2.  Hashing Selection Method
+
==== Hashing Selection Method ====
  
  RFCs 5474 [RFC5474] and 5475 [RFC5475] introduce sampling and
+
RFCs 5474 [RFC5474] and 5475 [RFC5475] introduce sampling and
  filtering techniques for IP packet selection.
+
filtering techniques for IP packet selection.
  
  The hash-based selection methodologies for delay measurement can work
+
The hash-based selection methodologies for delay measurement can work
  in a multipoint-to-multipoint path and can be used either coupled to
+
in a multipoint-to-multipoint path and can be used either coupled to
  mean delay or stand-alone.
+
mean delay or stand-alone.
  
  [ALTERNATE-MARKING] introduces how to use the hash method (RFCs 5474
+
[ALTERNATE-MARKING] introduces how to use the hash method (RFCs 5474
  [RFC5474] and 5475 [RFC5475]) combined with the Alternate-Marking
+
[RFC5474] and 5475 [RFC5475]) combined with the Alternate-Marking
  method for point-to-point flows.  It is also called Mixed Hashed
+
method for point-to-point flows.  It is also called Mixed Hashed
  Marking: the coupling of a marking method and hashing technique is
+
Marking: the coupling of a marking method and hashing technique is
  very useful, because the marking batches anchor the samples selected
+
very useful, because the marking batches anchor the samples selected
  with hashing, and this simplifies the correlation of the hashing
+
with hashing, and this simplifies the correlation of the hashing
  packets along the path.
+
packets along the path.
  
  It is possible to use a basic-hash or a dynamic-hash method.  One of
+
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
+
the challenges of the basic approach is that the frequency of the
  sampled packets may vary considerably.  For this reason, the dynamic
+
sampled packets may vary considerably.  For this reason, the dynamic
  approach has been introduced for point-to-point flows in order to
+
approach has been introduced for point-to-point flows in order to
  have the desired and almost fixed number of samples for each
+
have the desired and almost fixed number of samples for each
  measurement period.  Using the hash-based sampling, the number of
+
measurement period.  Using the hash-based sampling, the number of
  samples may vary a lot because it depends on the packet rate that is
+
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
+
variable.  The dynamic approach helps to have an almost fixed number
  of samples for each marking period, and this is a better option for
+
of samples for each marking period, and this is a better option for
  making regular measurements over time.  In the hash-based sampling,
+
making regular measurements over time.  In the hash-based sampling,
  Alternate Marking is used to create periods, so that hash-based
+
Alternate Marking is used to create periods, so that hash-based
  samples are divided into batches, which allows anchoring the selected
+
samples are divided into batches, which allows anchoring the selected
  samples to their period.  Moreover, in the dynamic hash-based
+
samples to their period.  Moreover, in the dynamic hash-based
  sampling, by dynamically adapting the length of the hash value, the
+
sampling, by dynamically adapting the length of the hash value, the
  number of samples is bounded in each marking period.  This can be
+
number of samples is bounded in each marking period.  This can be
  realized by choosing the maximum number of samples (NMAX) to be
+
realized by choosing the maximum number of samples (NMAX) to be
  caught in a marking period.  The algorithm starts with only a few
+
caught in a marking period.  The algorithm starts with only a few
  hash bits, which permits selecting a greater percentage of packets
+
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
+
(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
+
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
+
selected packets reaches NMAX, a hashing bit is added.  As a
  consequence, the sampling proceeds at half of the original rate, and
+
consequence, the sampling proceeds at half of the original rate, and
  also the packets already selected that do not match the new hash are
+
also the packets already selected that do not match the new hash are
  discarded.  This step can be repeated iteratively.  It is assumed
+
discarded.  This step can be repeated iteratively.  It is assumed
  that each sample includes the timestamp (used for delay measurement)
+
that each sample includes the timestamp (used for delay measurement)
  and the hash value, allowing the management system to match the
+
and the hash value, allowing the management system to match the
  samples received from the two measurement points.  The dynamic
+
samples received from the two measurement points.  The dynamic
  process statistically converges at the end of a marking period, and
+
process statistically converges at the end of a marking period, and
  the final number of selected samples is between NMAX/2 and NMAX.
+
the final number of selected samples is between NMAX/2 and NMAX.
  Therefore, the dynamic approach paces the sampling rate, allowing to
+
Therefore, the dynamic approach paces the sampling rate, allowing to
  bound the number of sampled packets per sampling period.
+
bound the number of sampled packets per sampling period.
  
  In a multipoint environment, the behavior is similar to a point-to-
+
In a multipoint environment, the behavior is similar to a point-to-
  point flow.  In particular, in the context of a multipoint-to-
+
point flow.  In particular, in the context of a multipoint-to-
  multipoint flow, the dynamic hash could be the solution for
+
multipoint flow, the dynamic hash could be the solution for
  performing delay measurements on specific packets and overcoming the
+
performing delay measurements on specific packets and overcoming the
  single- and double-marking limitations.
+
single- and double-marking limitations.
  
  The management system receives the samples, including the timestamps
+
The management system receives the samples, including the timestamps
  and the hash value, from all the MPs, and this happens for both
+
and the hash value, from all the MPs, and this happens for both
  point-to-point and multipoint-to-multipoint flows.  Then, the longest
+
point-to-point and multipoint-to-multipoint flows.  Then, the longest
  hash used by the MPs is deduced and applied to couple timestamps from
+
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
+
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
+
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
+
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
+
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
+
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
+
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
+
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
+
caught packet using the hash (in particular, the "unused part of the
  hash" that should be different for each packet).
+
hash" that should be different for each packet).
  
  Therefore, the basic hash is logically similar to the double-marking
+
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
+
method, and in the case of a point-to-point path, double-marking and
  basic-hash selection are equivalent.  The dynamic approach scales the
+
basic-hash selection are equivalent.  The dynamic approach scales the
  number of measurements per interval.  It would seem that double
+
number of measurements per interval.  It would seem that double
  marking would also work well if we reduced the interval length, but
+
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
+
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, where we cannot couple the picked packets in a
  multipoint path.  So, in general, if we want to get delay
+
multipoint path.  So, in general, if we want to get delay
  measurements on the basis of a multipoint-to-multipoint path, and
+
measurements on the basis of a multipoint-to-multipoint path, and
  want to select more than one packet per period, double marking cannot
+
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
+
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
+
between input and output nodes.  On the other hand, we can do that by
  using hashing selection.
+
using hashing selection.
  
9.  A Closed-Loop Performance-Management Approach
+
== A Closed-Loop Performance-Management Approach ==
  
  The Multipoint Alternate-Marking framework that is introduced in this
+
The Multipoint Alternate-Marking framework that is introduced in this
  document adds flexibility to Performance Management (PM), because it
+
document adds flexibility to Performance Management (PM), because it
  can reduce the order of magnitude of the packet counters.  This
+
can reduce the order of magnitude of the packet counters.  This
  allows an SDN orchestrator to supervise, control, and manage PM in
+
allows an SDN orchestrator to supervise, control, and manage PM in
  large networks.
+
large networks.
  
  The monitoring network can be considered as a whole or split into
+
The monitoring network can be considered as a whole or split into
  clusters that are the smallest subnetworks (group-to-group segments),
+
clusters that are the smallest subnetworks (group-to-group segments),
  maintaining the packet-loss property for each subnetwork.  The
+
maintaining the packet-loss property for each subnetwork.  The
  clusters can also be combined in new, connected subnetworks at
+
clusters can also be combined in new, connected subnetworks at
  different levels, depending on the detail we want to achieve.
+
different levels, depending on the detail we want to achieve.
  
  An SDN controller or a Network Management System (NMS) can calibrate
+
An SDN controller or a Network Management System (NMS) can calibrate
  performance measurements, since they are aware of the network
+
performance measurements, since they are aware of the network
  topology.  They can start without examining in depth.  In case of
+
topology.  They can start without examining in depth.  In case of
  necessity (packet loss is measured or the delay is too high), the
+
necessity (packet loss is measured or the delay is too high), the
  filtering criteria could be immediately reconfigured in order to
+
filtering criteria could be immediately reconfigured in order to
  perform a partition of the network by using clusters and/or different
+
perform a partition of the network by using clusters and/or different
  combinations of clusters.  In this way, the problem can be localized
+
combinations of clusters.  In this way, the problem can be localized
  in a specific cluster or a single combination of clusters, and a more
+
in a specific cluster or a single combination of clusters, and a more
  detailed analysis can be performed step by step by successive
+
detailed analysis can be performed step by step by successive
  approximation up to a point-to-point flow detailed analysis.  This is
+
approximation up to a point-to-point flow detailed analysis.  This is
  the so-called "closed loop".
+
the so-called "closed loop".
  
  This approach can be called "network zooming" and can be performed in
+
This approach can be called "network zooming" and can be performed in
  two different ways:
+
two different ways:
  
  1) change the traffic filter and select more detailed flows;
+
1) change the traffic filter and select more detailed flows;
  
  2) activate new measurement points by defining more specified
+
2) activate new measurement points by defining more specified
  clusters.
+
clusters.
  
  The network-zooming approach implies that some filters or rules are
+
The network-zooming approach implies that some filters or rules are
  changed and that therefore there is a transient time to wait once the
+
changed and that therefore there is a transient time to wait once the
  new network configuration takes effect.  This time can be determined
+
new network configuration takes effect.  This time can be determined
  by the Network Orchestrator/Controller, based on the network
+
by the Network Orchestrator/Controller, based on the network
  conditions.
+
conditions.
  
  For example, if the network zooming identifies the performance
+
For example, if the network zooming identifies the performance
  problem for the traffic coming from a specific source, we need to
+
problem for the traffic coming from a specific source, we need to
  recognize the marked signal from this specific source node and its
+
recognize the marked signal from this specific source node and its
  relative path.  For this purpose, we can activate all the available
+
relative path.  For this purpose, we can activate all the available
  measurement points and better specify the flow filter criteria (i.e.,
+
measurement points and better specify the flow filter criteria (i.e.,
  5-tuple).  As an alternative, it can be enough to select packets from
+
5-tuple).  As an alternative, it can be enough to select packets from
  the specific source for delay measurements; in this case, it is
+
the specific source for delay measurements; in this case, it is
  possible to apply the hashing technique, as mentioned in the previous
+
possible to apply the hashing technique, as mentioned in the previous
  sections.
+
sections.
  
  [IFIT-FRAMEWORK] defines an architecture where the centralized Data
+
[IFIT-FRAMEWORK] defines an architecture where the centralized Data
  Collector and Network Management can apply the intelligent and
+
Collector and Network Management can apply the intelligent and
  flexible Alternate-Marking algorithm as previously described.
+
flexible Alternate-Marking algorithm as previously described.
  
  As for RFC 8321 [RFC8321], it is possible to classify the traffic and
+
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
+
mark a portion of the total traffic.  For each period, the packet
  rate and bandwidth are calculated from the number of packets.  In
+
rate and bandwidth are calculated from the number of packets.  In
  this way, the network orchestrator becomes aware if the traffic rate
+
this way, the network orchestrator becomes aware if the traffic rate
  surpasses limits.  In addition, more precision can be obtained by
+
surpasses limits.  In addition, more precision can be obtained by
  reducing the marking period; indeed, some implementations use a
+
reducing the marking period; indeed, some implementations use a
  marking period of 1 sec or less.
+
marking period of 1 sec or less.
  
  In addition, an SDN controller could also collect the measurement
+
In addition, an SDN controller could also collect the measurement
  history.
+
history.
  
  It is important to mention that the Multipoint Alternate Marking
+
It is important to mention that the Multipoint Alternate Marking
  framework also helps Traffic Visualization.  Indeed, this methodology
+
framework also helps Traffic Visualization.  Indeed, this methodology
  is very useful for identifying which path or cluster is crossed by
+
is very useful for identifying which path or cluster is crossed by
  the flow.
+
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 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,029:
 
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", 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", 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", 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", 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", STD 77,
              RFC 7011, DOI 10.17487/RFC7011, September 2013,
+
          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
 
  
  Email: mauro.cociglio@telecomitalia.it
+
Email: giuseppe.fioccola@huawei.com
  
 +
Mauro Cociglio
 +
Telecom Italia
 +
Via Reiss Romoli, 274
 +
10148 Torino
 +
Italy
  
  Amedeo Sapio
+
Email: mauro.[email protected]
  Intel Corporation
 
  4750 Patrick Henry Dr.
 
  Santa Clara, CA 95054
 
  United States of America
 
  
  Email: amedeo.[email protected]
+
Amedeo Sapio
 +
Intel Corporation
 +
4750 Patrick Henry Dr.
 +
Santa Clara, CA 95054
 +
United States of America
  
 +
  
  Riccardo Sisto
+
Riccardo Sisto
  Politecnico di Torino
+
Politecnico di Torino
  Corso Duca degli Abruzzi, 24
+
Corso Duca degli Abruzzi, 24
  10129 Torino
+
10129 Torino
  Italy
+
Italy
  
+

Revision as of 13:13, 27 September 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.

Table of Contents

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]