<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- A set of on-line citation libraries are maintained on the xml2rfc web site.
     The next line defines an entity named RFC2629, which contains the necessary XML
     for the reference element, and is used much later in the file.  This XML contains an
     anchor (also RFC2629) which can be used to cross-reference this item in the text.
     You can also use local file names instead of a URI.  The environment variable
     XML_LIBRARY provides a search path of directories to look at to locate a
     relative path name for the file. There has to be one entity for each item to be
     referenced. -->
<!ENTITY RFC2234 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2234.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC4234 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4234.xml">
<!ENTITY RFC5575 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5575.xml">
<!-- There is also a library of current Internet Draft citations.  It isn't a good idea to
     actually use one for the template because it might have disappeared when you come to test
     this template.  This is the form of the entity definition
     &lt;!ENTITY I-D.mrose-writing-rfcs SYSTEM
     "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.mrose-writing-rfcs.xml">
     corresponding to a draft filename draft-mrose-writing-rfcs-nn.txt. The citation will be
     to the most recent draft in the sequence, and is updated roughly hourly on the web site.
     For working group drafts, the same principle applies: file name starts draft-ietf-wgname-..
     and entity file is reference.I-D.ietf-wgname-...  The corresponding entity name is
     I-D.ietf-wgname-... (I-D.mrose-writing-rfcs for the other example).  Of course this doesn't
     change when the draft version changes.
     -->
<!-- Fudge for XMLmind which doesn't have this built in -->
<!ENTITY nbsp    "&#160;">
]>

<!-- Extra statement used by XSLT processors to control the output style. -->
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<!-- Processing Instructions can be placed here but if you are editing
     with XMLmind (and maybe other XML editors) they are better placed
     after the rfc element start tag as shown below. -->

<!-- Information about the document.
     category values: std, bcp, info, exp, and historic
     For Internet-Drafts, specify attribute "ipr".
     (ipr values are: full3667, noModification3667, noDerivatives3667),
     Also for Internet-Drafts, can specify values for
     attributes "docName" and, if relevant, "iprExtract".  Note
     that the value for iprExtract is the anchor attribute
     value of a section (such as a MIB specification) that can be
     extracted for separate publication, and is only
     useful whenhe value of "ipr" is not "full3667". -->
    <!-- TODO: verify which attributes are specified only
               by the RFC editor.  It appears that attributes
               "number", "obsoletes", "updates", and "seriesNo"
               are specified by the RFC editor (and not by
               the document author). --> "rfc2629-xhtml.ent">

<rfc
    category="exp" xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902"
     docName="draft-ietf-ippm-multipoint-alt-mark-09" >
    <!-- Processing Instructions- PIs (for a complete list and description,
          see file http://xml.resource.org/authoring/README.html and below... -->

    <!-- Some of the more generally applicable PIs that most I-Ds might want to use -->

    <!-- Try to enforce the ID-nits conventions and DTD validity -->
    <?rfc strict="yes" ?>

    <!-- Items used when reviewing the document -->
    <?rfc comments="no" ?>  <!-- Controls display of <cref> elements -->
    <?rfc inline="no" ?>    <!-- When no, put comments at end in comments section,
                                 otherwise, put inline -->
    <?rfc editing="no" ?>   <!-- When yes, insert editing marks: editing marks consist of a
                                 string such as <29> printed in the blank line at the
                                 beginning of each paragraph of text. -->

    <!-- Create Table of Contents (ToC) and set some options for it.
         Note the ToC may be omitted for very short documents,but idnits insists on a ToC
         if the document has more than 15 pages. -->
   <?rfc toc="yes"?>
   <?rfc tocompact="yes"?> <!-- If "yes" eliminates blank lines before main section entries. -->
   <?rfc tocdepth="3"?>    <!-- Sets the number of levels of sections/subsections... in ToC -->

    <!-- Choose the options for the references.
         Some like symbolic tags in the references (and citations) and others prefer
         numbers. The RFC Editor always uses symbolic tags.
         The tags used are the anchor attributes of the references. -->
    <?rfc symrefs="yes"?>
    <?rfc sortrefs="yes" ?> <!-- If "yes", causes the references to be sorted in order of tags.
                                 This doesn't have any effect unless symrefs is "yes" also. -->

    <!-- These two save paper: Just setting compact to "yes" makes savings by not starting each
         main section on a new page but does not omit the blank lines between list items.
         If subcompact is also "yes" the blank lines between list items are also omitted. -->
    <?rfc compact="yes" ?>
    <?rfc subcompact="no" ?>
    <!-- end of list of popular I-D processing instructions -->

    <!-- ***** FRONT MATTER ***** --> number="8889"
     obsoletes="" updates="" submissionType="IETF" category="exp"
     consensus="true" xml:lang="en" tocInclude="true" tocDepth="3"
     symRefs="true" sortRefs="true" version="3">
<front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the
         full title is longer than 42 characters -->
    <title abbrev="Multipoint AM">Multipoint Alternate Marking method Alternate-Marking Method for passive
    Passive and hybrid performance monitoring</title>

    <!-- add 'role="editor"' below for the editors if appropriate --> Hybrid Performance Monitoring</title>
    <seriesInfo name="RFC" value="8889"/>
	<author role="editor" fullname="Giuseppe Fioccola" initials="G." surname="Fioccola">
        <!-- abbrev not needed but can be used for the header
             if the full organization name is too long -->
        <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>Riesstrasse, 25</street>
          <city>Munich</city>
          <code>80992</code>
          <country>Germany</country>
        </postal>
        <email>giuseppe.fioccola@huawei.com</email>
        <!--
            If I had a phone, fax machine, and a URI, I could add the following:
                <phone>+1-408-555-1234</phone>
                <facsimile>+1-555-911-9111</facsimile>
                <uri>http://www.example.com/</uri>
            -->
        </address>
    </author>
    <author fullname="Mauro Cociglio" initials="M." surname="Cociglio">
        <!-- abbrev not needed but can be used for the header
             if the full organization name is too long -->
        <organization>Telecom Italia</organization>
      <address>
        <postal>
          <street>Via Reiss Romoli, 274</street>
          <city>Torino</city>
          <code>10148</code>
          <country>Italy</country>
        </postal>
        <email>mauro.cociglio@telecomitalia.it</email>
        <!--
            If I had a phone, fax machine, and a URI, I could add the following:
                <phone>+1-408-555-1234</phone>
                <facsimile>+1-555-911-9111</facsimile>
                <uri>http://www.example.com/</uri>
            -->
        </address>
    </author>
    <author fullname="Amedeo Sapio" initials="A." surname="Sapio">
        <!-- abbrev not needed but can be used for the header
             if the full organization name is too long -->
        <organization>Politecnico di Torino</organization>
        <organization>Intel Corporation</organization>
      <address>
        <postal>
				<street>Corso Duca degli Abruzzi, 24</street>
				<city>Torino</city>
				<code>10129</code>
				<country>Italy</country>
          <street>4750 Patrick Henry Dr.</street>
          <city>Santa Clara</city>
          <region>CA</region>
          <code>95054</code>
          <country>USA</country>
        </postal>
        <email>amedeo.sapio@polito.it</email>
        <!--
            If I had a phone, fax machine, and a URI, I could add the following:
                <phone>+1-408-555-1234</phone>
                <facsimile>+1-555-911-9111</facsimile>
                <uri>http://www.example.com/</uri>
            -->
        <email>amedeo.sapio@intel.com</email>
        </address>
    </author>
    <author fullname="Riccardo Sisto" initials="R." surname="Sisto">
        <!-- abbrev not needed but can be used for the header
             if the full organization name is too long -->
        <organization>Politecnico di Torino</organization>
      <address>
        <postal>
          <street>Corso Duca degli Abruzzi, 24</street>
          <city>Torino</city>
          <code>10129</code>
          <country>Italy</country>
        </postal>
        <email>riccardo.sisto@polito.it</email>
        <!--
            If I had a phone, fax machine, and a URI, I could add the following:
                <phone>+1-408-555-1234</phone>
                <facsimile>+1-555-911-9111</facsimile>
                <uri>http://www.example.com/</uri>
            -->
        </address>
    </author>
    <date year="2020"/> <!-- month="March" is no longer necessary
                                           note also, day="30" is optional -->
    <!-- WARNING: If the month and year are the current ones, xml2rfc will fill in the day for
         you. If only the year is specified, xml2rfc will fill in the current day and month
         irrespective of the day.  This silliness should be fixed in v1.31. -->

    <!-- Meta-data Declarations -->

    <!-- Notice the use of &amp; as an escape for & which would otherwise
         start an entity declaration, whereas we want a literal &. -->

    <area></area>

    <!-- WG name at the upperleft corner of the doc,
         IETF fine for individual submissions.  You can also
         omit this element in which case in defaults to "Network Working Group" -
         a hangover from the ancient history of the IETF! --> year="2020" month="August" />
    <area/>

    <workgroup>IPPM Working Group</workgroup>

    <!-- The DTD allows multiple area and workgroup elements but only the first one has any
         effect on output.  -->
    <!-- You can add <keyword/> elements here.  They will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff output. -->

    <abstract>
      <t>The Alternate Marking Alternate-Marking method, as presented in RFC 8321,
		can only be applied only to point-to-point flows 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 flows, flow whose packets can follow several different paths in the
		network,
		network -- in wider terms terms, a multipoint-to-multipoint network.  For this reason reason,
		the technique here described is called Multipoint "Multipoint Alternate Marking.</t> Marking".</t>
    </abstract>
  </front>
  <middle>
    <section title="Introduction"> numbered="true" toc="default">
      <name>Introduction</name>
      <t>The Alternate Marking Alternate-Marking method, as described in <xref target="RFC8321">RFC target="RFC8321" format="default">RFC 8321</xref>, 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.</t>
      <t>The Alternate Marking Alternate-Marking methodology described in <xref target="RFC8321">RFC target="RFC8321" format="default">RFC 8321</xref>
      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
      Alternate-Marking methodology are described both in <xref target="RFC8321">RFC
      target="RFC8321" format="default">RFC 8321</xref> and while implementation details can be found in the
      paper "AM-PM: Efficient Network Telemetry using Alternate Marking" <xref target="IEEE-Network-PNPM"/>.</t>
      target="IEEE-Network-PNPM" format="default"/>.</t>
      <t>There are some applications of the Alternate Marking 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 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 on the granularity
      (for each service, each customer). So if both n and m are high values values, the packet counters
      increase a lot lot, and Multipoint Alternate Marking offers a tool to control these parameters.</t>
      <t>The approach presented in this document is applied only to unicast flows and not to multicast.
      Broadcast, Unknown-unicast, Unknown Unicast, and Multicast (BUM) traffic is not
      considered here, because traffic replication
      is not covered by the Multipoint Alternate Marking Alternate-Marking method. Furthermore Furthermore,
      it can be applicable to anycast
		flows flows, and Equal-Cost MultiPath Multipath (ECMP)
      paths can also be easily monitored with this technique.</t>
      <t>In short, <xref target="RFC8321">RFC target="RFC8321" format="default">RFC 8321</xref>
      applies to point-to-point unicast flows and BUM
		traffic traffic, while this
      document and its Clustered Alternate Marking Alternate-Marking method is valid for
      multipoint-to-multipoint
      unicast flows, anycast anycast, and ECMP flows.</t>

		<t>The Alternate Marking
      <t>Therefore,the Alternate-Marking method can therefore be extended to any kind of multipoint to multipoint
      multipoint-to-multipoint paths,
      and the network clustering 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.</t>
      <t>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 circumstances, it is possible to monitor a Multipoint Network multipoint network by analysing analyzing the Network Clustering, network clustering,
      without examining in depth. In case of problems (packet loss is measured or the delay is too high) 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 <xref target="RFC8321">RFC target="RFC8321" format="default">RFC 8321</xref>.</t>
      <t>This approach fits very well with the Closed Loop Closed-Loop Network and Software Defined Software-Defined Network (SDN) paradigm paradigm,
      where the SDN Orchestrator orchestrator and the SDN Controllers 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 controller application can orchestrate how accurate accurately the network
      performance monitoring is setup set up by applying the Multipoint Alternate Marking as described in this document.</t>
      <t>It is important to underline that, as an extension of <xref target="RFC8321">RFC target="RFC8321" format="default">RFC 8321</xref>, this is a methodology draft, document,
      so the mechanism that can be used to transmit the counters and the timestamps is out of scope here here, and the implementation
      is open. Several options are possible, e.g. <xref target="I-D.zhou-ippm-enhanced-alternate-marking"/>.</t>

		<t>Note that, as for possible -- e.g., see "Enhanced Alternate Marking Method" <xref target="RFC8321">RFC 8321</xref>, target="I-D.zhou-ippm-enhanced-alternate-marking" format="default"/>.</t>

<t>
Note that the fragmented packets case can be managed with this the
Alternate-Marking methodology only if fragmentation happens outside
the portion of the monitored network.</t> network that is monitored. This is always true for both <xref target="RFC8321" format="default">RFC 8321</xref> and Multipoint Alternate Marking, as explained here.
</t>
    </section>
    <section title="Terminology"> numbered="true" toc="default">
      <name>Terminology</name>
      <t>The definitions of the basic terms are identical to those found in
      Alternate Marking (<xref target="RFC8321">RFC 8321</xref>). <xref target="RFC8321" format="default"/>.
	It is to be remembered that <xref target="RFC8321">RFC target="RFC8321" format="default">RFC 8321</xref> is valid for point-to-point unicast flows and BUM traffic.</t>
      <t>The important new terms that need to be explained are listed below:<list>

	<t>Multipoint below:</t>

<dl>
  <dt>Multipoint Alternate Marking: Extension Marking:</dt><dd>Extension to <xref target="RFC8321">RFC target="RFC8321"
  format="default">RFC 8321</xref>, valid for multipoint-to-multipoint
  unicast flows, anycast anycast, and ECMP flows. It can also be referred to as Clustered
  Alternate Marking;</t>

	<t>Flow definition: The Marking.</dd>
  <dt>Flow definition:</dt><dd>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;</t>

	<t>Monitoring Network: it is identified aggregate point-to-point flows.</dd>
  <dt>Monitoring network:</dt><dd>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 monitoring network graph
  depends on the flow definition, so it can  represent a specific flow or the the
  entire network topology as aggregate of all the flows;</t>

	<t>Cluster: smallest flows.</dd>
  <dt>Cluster:</dt><dd>Smallest identifiable subnetwork of the entire Monitoring Network
  monitoring network graph that still satisfies the condition that the number
  of packets that goes go in is the same as the number that goes out;</t>

	<t>Multipoint metrics: packet go out.</dd>
  <dt>Multipoint metrics:</dt><dd>Packet loss, delay 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 basis in order
  to associate the measurements to a cluster, to a combination of clusters clusters, or to
  the entire monitored network. For delay and delay variation,
  it is also possible to define the metrics on a single packet basis 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.</t>

	</list></t> path.</dd>
</dl>

      <t>The next section highlights the correlation with the terms used in
      <xref target="RFC5644">RFC target="RFC5644" format="default">RFC 5644</xref>.</t>
      <section title="Correlation numbered="true" toc="default">
        <name>Correlation with RFC5644"> RFC 5644</name>
        <t><xref target="RFC5644">RFC target="RFC5644" format="default">RFC 5644</xref> is limited to active measurements
     using a single source packet or stream, and stream. Its scope is also limited to observations of corresponding packets along the
     path (spatial), (spatial metric) and at one or more destinations (one-to-group), or both.</t> (one-to-group) along the path.</t>
        <t>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.</t>
        <t><xref target="RFC5644">RFC target="RFC5644" format="default">RFC 5644</xref> introduces
	metric names that can be reused also here
	 but have to be extended and rephrased to be applied to the Alternate Marking Alternate-Marking schema:</t>
	 <t><list style="letters">
     <t>the
        <ol spacing="normal" type="a">
          <li>the multiparty metrics are not only one-to-group metrics but can be also group-to-group
	 metrics;</t>
     <t>the
	 metrics;</li>
          <li>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).</t>
     </list></t> clusters).</li>
        </ol>
      </section>
    </section>
    <section title="Flow classification">
		<t>An numbered="true" toc="default">
      <name>Flow Classification</name>
      <t>A unicast flow is identified by all the packets having a set of common characteristics.
		This definition is inspired by <xref target="RFC7011">RFC target="RFC7011" format="default">RFC 7011</xref>.</t>
      <t>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.</t>
      <t>In general 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 Layer 3 and layer-4 headers Layer 4 header fields (Identification Fields) (identification fields)
		and the relative values that must be found in matching packets.</t>
      <t>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.</t> <xref target="Flows" />.</t>
      <t>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.</t>
      <t>So the flows to be monitored are selected into the monitoring points
		using packet selection rules, that which can also change the pattern of the monitored
		network.</t>

      <t>Note that, more in general, generally, the flow can be defined at different levels based
		on the encapsulation considered potential encapsulation, and additional conditions that are not in the packet header
		can also be included as part of matching criteria.</t>
      <t>The Alternate Marking 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.</t> <xref target="Flows" />.</t>
      <figure anchor="Flows" title="Flow classification">
        <artwork><![CDATA[ anchor="Flows">
        <name>Flow Classification</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[

       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  <>---
           +------+                +------+
]]></artwork>
      </figure>
      <t>The case of unicast flow is considered in the previous figure. Anyway the <xref target="Flows"/>. The anycast flow
      is also in scope 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.</t>
    </section>
    <section title="Multipoint numbered="true" toc="default">
      <name>Multipoint Performance Measurement"> Measurement</name>
      <t>By Using using the Alternate Marking method 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 path, we have to define,
	with a specific value, 5 identification fields (IP Source, IP Destination,
	Transport Protocol, Source Port, Destination Port).</t>
      <t>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.</t>
      <section title="Monitoring Network"> numbered="true" toc="default">
        <name>Monitoring Network</name>
        <t>The Monitoring Network monitoring network is deduced from the Production Network, production network by identifying
	the nodes of the graph that are the measurement points, and the links that are the
	connections between measurement points.</t>
        <t>There are some techniques that can help with the building of the monitoring network (as an example
	it is possible to mention example,
	see <xref target="I-D.ietf-ippm-route"/>). target="I-D.ietf-ippm-route" format="default"/>). In general general, there are different options:
    the monitoring network can be obtained by considering all the possible
    paths for the traffic or also
    by periodically checking the traffic (e.g. daily,
    weekly, monthly) and update updating the graph as appropriate,
	but this is up to the Network Management System (NMS) configuration.</t>
        <t>So a graph model of the monitoring network can be built according to the Alternate Marking 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.</t>

	<t>The following figure
        <t><xref target="monitored-graph"/> shows a simple example of a Monitoring Network
	monitoring network graph:</t>
        <figure anchor="monitored-graph" title="Monitoring anchor="monitored-graph">
          <name>Monitoring Network Graph">
        <artwork><![CDATA[ Graph</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
                                                 +------+
                                                <>  R6  <>---
                                               / +------+
                        +------+     +------+ /
                       <>  R2  <>---<>  R4  <>
                      / +------+ \   +------+ \
                     /            \            \ +------+
           +------+ /   +------+   \ +------+   <>  R7  <>---
       ---<>  R1  <>---<>  R3  <>---<>  R5  <>   +------+
           +------+ \   +------+ \   +------+ \
                     \            \            \ +------+
                      \            \            <>  R8  <>---
                       \            \            +------+
                        \            \
                         \            \ +------+
                          \            <>  R9  <>---
                           \            +------+
                            \
                             \ +------+
                              <>  R10 <>---
                               +------+
]]></artwork>
        </figure>
        <t>Each monitoring point is characterized by the packet counter
	that refers only to a marking period of the monitored flow.</t>
        <t>The same is applicable also applicable for the delay delay, but it will be described
	in the following sections.</t>
      </section>
    </section>
    <section title="Multipoint numbered="true" toc="default">
      <name>Multipoint Packet Loss"> Loss</name>
      <t>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 than to, the number of packets counted by all the
	output nodes. Non-initial Noninitial fragments are not considered here.</t>
      <t>The assumption is the use of the Alternate Marking Alternate-Marking method. And
	in 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 have only have the task to split of splitting
	the measurement.</t>
      <t>It is possible to define the Network Packet Loss of one monitored flow
	for a single period: «In 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». nodes. This is true for every packet flow
	in each marking period.</t>
      <t>The Monitored Network Packet Loss monitored network packet loss with n input nodes and m output nodes
	is given by:</t>
      <t>PL = (PI1 + PI2 +...+ PIn) - (PO1 + PO2 +...+ POm)</t>
      <t>where:</t>
      <t>PL is the Network Packet Loss network packet loss (number of lost packets)</t>
      <t>PIi is the Number number of packets flowed through the i-th Input input node in this period</t>
      <t>POj is the Number number of packets flowed through the j-th Output output node in
      this period</t>
      <t>The equation is applied on a per-time-interval basis and on an a per-flow basis:<list>

	<t>The basis:</t>
      <ul empty="true" spacing="normal">
        <li>The reference interval is the Alternate Marking period Alternate-Marking period, as defined
	in <xref target="RFC8321">RFC 8321</xref>.</t>

	<t>The target="RFC8321" format="default">RFC 8321</xref>.</li>
        <li>The flow definition is generalized here, indeed, here. Indeed, as described before, a multipoint packet flow
	is considered considered, and the identification fields can be selected without any constraints.</t>
	</list></t> constraints.</li>
      </ul>
    </section>
    <section title="Network Clustering"> numbered="true" toc="default">
      <name>Network Clustering</name>
      <t>The previous Equation 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.</t>
      <t>In addition 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.</t> "clusters".</t>
      <t>A Cluster cluster graph is a subnetwork of the entire Monitoring Network monitoring network graph that still
	satisfies the packet loss equation (introduced in the previous section) section), where PL in this case
	is the number of packets lost in the Cluster. cluster. As for the entire Monitoring Network monitoring network graph, the Cluster cluster
	is defined on a per-flow basis.</t>
      <t>For this reason reason, a Cluster 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.</t>
      <t>In a completely monitored unidirectional network (a network where every
	network interface is monitored), each network device corresponds
	to a Cluster cluster, and each physical link corresponds to two
	Clusters
	clusters (one for each device).</t>
      <t>Clusters can have different sizes depending on flow filtering the flow-filtering criteria adopted.</t>
      <t>Moreover, sometimes Clusters clusters can be optionally simplified. For example example, when two monitored interfaces
	are divided by a single router (one is the input interface and interface, the other is the output interface 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 point. In this case case,
	we do not care of about the internal packet loss of the router).</t> router.</t>

      <t>It is worth highlighting that it might also be convenient to define Clusters clusters based on the topological
	information and so that they are applicable to all the possible flows in the monitored network.</t>
      <section title="Algorithm numbered="true" toc="default">
        <name>Algorithm for Cluster partition"> Clusters Partition</name>
        <t>A simple algorithm can be applied in order to split our monitoring network into Clusters. clusters.
	This can be done for each direction separately. The Cluster clusters partition
	is based on the Monitoring Network Graph
	that monitoring network graph, which can be valid for a
	specific flow or can also be general and valid for the entire network
	topology.</t>
        <t>It is a two-step algorithm:<list style="symbols">
     <t>Group algorithm:</t>
        <ol spacing="normal">
          <li>Group the links where there is the same starting node;</t>
     <t>Join node;</li>
          <li>Join the grouped links with at least one ending node in common.</t>
     </list></t> common.</li>
        </ol>
        <t>Considering that the links are unidirectional, the first step
	implies to list listing all the links as connection connections between two nodes and to group
	grouping the different links if they have the same starting node.
	 Note that it is possible to start from any link link, and the procedure works anyway.
	 will work. Following this classification,
	 the second step implies to eventually join 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 links,
	 together with the endpoint nodes nodes, constitutes a Cluster.</t> cluster.</t>
        <t>In our monitoring network graph example example, it is possible to identify the Clusters clusters partition
	by applying this two-step algorithm.</t>
        <t>The first step identifies the following groups:<list style="numbers">
	<t>Group groups:</t>
        <ol spacing="normal" type="1">
          <li>Group 1: (R1-R2), (R1-R3), (R1-R10)</t>
	<t>Group (R1-R10)</li>
          <li>Group 2: (R2-R4), (R2-R5)</t>
	<t>Group (R2-R5)</li>
          <li>Group 3: (R3-R5), (R3-R9)</t>
	<t>Group (R3-R9)</li>
          <li>Group 4: (R4-R6), (R4-R7)</t>
	<t>Group (R4-R7)</li>
          <li>Group 5: (R5-R8)</t>
	</list></t> (R5-R8)</li>
        </ol>
        <t>And then, the second step builds the Clusters clusters partition (in particular particular,
	we can underline that Group Groups 2 and Group 3 connect together, since R5 is in
	common):<list style="numbers">
	<t>Cluster
	common):</t>
        <ol spacing="normal" type="1">
          <li>Cluster 1: (R1-R2), (R1-R3), (R1-R10)</t>
	<t>Cluster (R1-R10)</li>
          <li>Cluster 2: (R2-R4), (R2-R5), (R3-R5), (R3-R9)</t>
	<t>Cluster (R3-R9)</li>
          <li>Cluster 3: (R4-R6), (R4-R7)</t>
	<t>Cluster (R4-R7)</li>
          <li>Cluster 4: (R5-R8)</t>
	</list></t> (R5-R8)</li>
        </ol>
        <t>The flow direction here considered is from left to right. For the opposite direction direction,
	the same way of reasoning can be applied and, applied, and in this example, you get the
	same Clusters clusters partition.</t>
        <t>In the end end, the following 4 Clusters clusters are obtained:</t>
        <figure anchor="clusters" title="Clusters example">
        <artwork><![CDATA[ anchor="clusters">
          <name>Clusters Example</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
       Cluster 1
                        +------+
                       <>  R2  <>---
                      / +------+
                     /
           +------+ /   +------+
       ---<>  R1  <>---<>  R3  <>---
           +------+ \   +------+
                     \
                      \
                       \
                        \
                         \
                          \
                           \
                            \
                             \ +------+
                              <>  R10 <>---
                               +------+

       Cluster 2
           +------+     +------+
       ---<>  R2  <>---<>  R4  <>---
           +------+ \   +------+
                     \
           +------+   \ +------+
       ---<>  R3  <>---<>  R5  <>---
           +------+ \   +------+
                     \
                      \
                       \
                        \
                         \ +------+
                          <>  R9  <>---
                           +------+

       Cluster 3
                       +------+
                      <>  R6  <>---
                     / +------+
           +------+ /
       ---<>  R4  <>
           +------+ \
                     \ +------+
                      <>  R7  <>---
                       +------+

       Cluster 4
           +------+
       ---<>  R5  <>
           +------+ \
                     \ +------+
                      <>  R8  <>---
                       +------+
]]></artwork>
        </figure>
        <t>There are Clusters clusters with more than 2 two nodes and two-nodes Clusters. as well as two-node clusters.
		In the two-nodes Clusters two-node clusters, the loss is on the link (Cluster 4).
		In more-than-2-nodes Clusters more-than-two-node clusters, the loss is on the Cluster cluster, but
		we cannot know in which link (Cluster 1, 2, or 3).</t>
        <t>In this way way, the calculation of packet loss can be made on Cluster a cluster basis.
		Note that the packet counters for each marking period permit to calculate calculating the packet rate
		on Cluster a cluster basis, so Committed Information Rate (CIR) and Excess Information Rate (EIR)
		could also be deduced on Cluster a cluster basis.</t>
        <t>Obviously, by combining some Clusters clusters in a new connected subnetwork
		(called Super Cluster) a "super cluster"), the Packet Loss Rule packet-loss rule is still true.</t>
        <t>In this way, in a very large network 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, you can go deep with a step-by-step cluster analysis,
		but only for the cluster or combination of clusters where the problem happens.</t>

        <t>In summary, once defined a flow, flow is defined, the algorithm to build the Cluster Partition 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. It is based on topological information. So, if the flow does not
		enter or traverse all the nodes, the counters have a non-zero nonzero
		value for the involved nodes,
		while nodes and a zero value for the other
		nodes without traffic, but, traffic; but in the end end, all the formulas
		are still valid.</t>
        <t>The algorithm described above is an Iterative iterative clustering algorithm, but it is also
		possible to apply a Recursive recursive clustering algorithm by using the node-node adjacency
		matrix representation (<xref target="IEEE-ACM-ToN-MPNPM"/>).</t> <xref target="IEEE-ACM-ToN-MPNPM" format="default"/>.</t>

        <t>The complete and mathematical analysis of the possible Algorithms algorithms for Cluster clusters
		partition, including the considerations in terms of efficiency and a comparison
		between the different methods, is in the paper <xref target="IEEE-ACM-ToN-MPNPM"/>.</t>
		target="IEEE-ACM-ToN-MPNPM" format="default"/>.</t>
      </section>
    </section>
    <section title="Timing Aspects"> numbered="true" toc="default">
      <name>Timing Aspects</name>
      <t>It is important to consider the timing aspects, since out of order out-of-order packets happen and have
	 to be handled as well well, as described in <xref target="RFC8321">RFC target="RFC8321"
	 format="default">RFC 8321</xref>. But, However, in a
	 multi-source situation
	 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.</t>
      <t>So, if we analyse analyze a multipoint-to-multipoint path with more than one marking node,
     it is important to recognize the reference measurement interval. In general 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 the following figure.</t> <xref target="measint" />.</t>
      <t>Note that the mark switching approach based on a fixed timer is considered in this document.</t>
      <figure anchor="measint" title="Measurement Interval">
          <artwork><![CDATA[ anchor="measint">
        <name>Measurement Interval</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
        time -> start         stop
        T(R1)   |-------------|
        T(R2)     |-------------|
        T(R3)        |------------|
]]></artwork>
      </figure>

      <t>In the figure <xref target="measint"/>, it is assumed that the node with the
      earliest clock (R1) identifies the right
	starting and ending time times of the measurement, but it is just an assumption assumption, and other possibilities
	could occur. So, in this case, T(R1) is the measurement interval interval, and its recognition is essential
	in order to be compatible and make comparison comparisons with other active/passive/hybrid Packet Loss metrics.</t>
      <t>When we expand to multipoint-to-multipoint flows, we have to consider that
	all source nodes mark the traffic traffic, and this adds more complexity.</t>
      <t>Regarding the timing aspects of the methodology, <xref target="RFC8321">RFC target="RFC8321" format="default">RFC 8321</xref> already
	describes two contributions that are taken into account: the clock error between network devices and
	the network delay between measurement points.</t>
      <t>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 offsets, and this
	mismatch m can be added to d, as shown in figure.</t> <xref target="mtiming"/>.</t>
      <figure anchor="mtiming" title="Timing anchor="mtiming">
        <name>Timing Aspects for Multipoint paths">
          <artwork><![CDATA[ Paths</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
...BBBBBBBBB | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | BBBBBBBBB...
             |<======================================>|
             |                   L                    |
...=========>|<==================><==================>|<==========...
             |         L/2                L/2         |
             |<=><===>|                      |<===><=>|
               m   d  |                      |  d   m
                      |<====================>|
                    available counting interval
]]></artwork>
      </figure>
      <t>So the misalignment between the marking source routers gives an additional constraint constraint,
	and the value of m is added to d (that (which already includes clock error and network delay).</t>
      <t>Thus, three different possible contributions are considered: clock error between network devices,
	network delay between measurement points points, and the misalignment between the marking source routers.</t>
      <t>In the end, the condition that must be satisfied to enable the method to function properly is that the
	available counting interval must be > &gt; 0, and that means:</t>
      <t>L - 2m - 2d > &gt; 0.</t>
      <t>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 <xref target="RFC8321">RFC target="RFC8321" format="default">RFC 8321</xref>,
	takes into account clock error and network delay between network nodes. Therefore, the mismatch between
	measurement intervals must satisfy this condition.</t>
      <t>Note that the timing considerations are valid for both packet loss and delay measurements.</t>
    </section>
    <section title="Multipoint numbered="true" toc="default">
      <name>Multipoint Delay and Delay Variation"> Variation</name>
      <t>The same line of reasoning can be applied to Delay delay and Delay Variation. delay variation.
      Similarly to the delay measurements defined in <xref target="RFC8321">RFC target="RFC8321" format="default">RFC 8321</xref>,
      the marking batches anchor the samples to a particular period period, and this is the
      time reference that can be used.
      It is important to highlight that both delay and delay variation delay-variation measurements
      make sense in a multipoint path. The Delay Variation delay variation is calculated by considering
      the same packets selected for measuring the Delay.</t> delay.</t>
      <t>In general, it is possible to perform delay and delay variation delay-variation measurements
      on the basis of multipoint paths basis or on single packets basis:<list style="symbols">

		<t>Delay packets:</t>
      <ul spacing="normal">
        <li>Delay measurements on the basis of multipoint paths basis means mean that the delay value is representative
	of an entire multipoint path (e.g. (e.g., the whole multipoint network, a cluster cluster, or a combination
	of clusters).</t>

		<t>Delay clusters).</li>
        <li>Delay measurements on a single packet single-packet basis means mean that you can use
	a multipoint path just
	to easily couple packets between input and output nodes of a multipoint path, as it is
	described in the following sections.</t>
		</list></t> sections.</li>
      </ul>
      <section title="Delay measurements numbered="true" toc="default">
        <name>Delay Measurements on multipoint paths basis"> a Multipoint-Paths Basis</name>
        <section title="Single Marking measurement"> numbered="true" toc="default">
          <name>Single-Marking Measurement</name>
          <t>Mean delay and mean delay variation 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, packets in one block, in a cluster cluster, or in the entire
		monitored network.</t>
          <t>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.</t>
        </section>
      </section>
      <section title="Delay measurements numbered="true" toc="default">
        <name>Delay Measurements on single packets basis"> a Single-Packet Basis</name>
        <section title="Single numbered="true" toc="default">
          <name>Single- and Double Marking measurement"> Double-Marking Measurement</name>
          <t>Delay and delay variation delay-variation measurements relative to only one picked packet per period (both single
		and double marked) can be performed in the Multipoint scenario multipoint scenario, with some limitations:<list style="hanging">
		<t>Single limitations:</t>

      <ul empty="true" spacing="normal">
            <li>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.</t>

		<t>Double interval.</li>
            <li>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 path, but
		it is more difficult to achieve in the case of a
		multipoint-to-multipoint path because of the multiple source routers.</t>
		</list></t> routers.</li>
      </ul>
          <t>If we would perform a delay measurement for more than one
          picked packet in the same marking period
		and, especially, period, and especially if
          we want to get delay measurements on a
          multipoint-to-multipoint basis,
		both single and double marking neither the single- nor the
          double-marking method are not is useful in the Multipoint 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 path,
          especially in the case when there is more than one per
          period.</t>
          <t>A desirable option is to monitor simultaneously all the paths of a multipoint path
		in the same marking period and, period; for this purpose, hashing can be used used, as reported in the next Section.</t> section.</t>
        </section>
        <section title="Hashing selection method">
		<t><xref target="RFC5474">RFC 5474</xref> numbered="true" toc="default">
          <name>Hashing Selection Method</name>
          <t>RFCs <xref target="RFC5474" sectionFormat="bare">5474</xref> and
	  <xref target="RFC5475">RFC 5475</xref> target="RFC5475" sectionFormat="bare">5475</xref>
		introduce sampling and filtering techniques for IP Packet Selection.</t> packet selection.</t>
          <t>The hash-based selection methodologies for delay measurement can work in a
		multipoint-to-multipoint path and can be used both either coupled
	  to mean delay or stand alone.</t> stand-alone.</t>
          <t><xref target="I-D.mizrahi-ippm-compact-alternate-marking"/> target="I-D.mizrahi-ippm-compact-alternate-marking" format="default"/> introduces how
		to use the Hash hash method (<xref target="RFC5474">RFC 5474</xref> (RFCs <xref target="RFC5474"
		sectionFormat="bare">5474</xref> and <xref target="RFC5475">RFC 5475</xref>) target="RFC5475"
		sectionFormat="bare">5475</xref>)
		combined with Alternate Marking 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 useful, because the marking batches anchor the samples selected
		with hashing hashing, and this simplifies the correlation of the hashing packets along the path.</t>
          <t>It is possible to use a basic hash basic-hash or a dynamic hash 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
		reason, the dynamic approach has been introduced for
		point-to-point flow 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,
		allowing to anchor which
		allows anchoring the selected samples to their period.  Moreover
                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, that permit to select which permits selecting a greater percentage
		of packets (e.g. (e.g., with 0 bit 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 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
		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.</t>
          <t>In a multipoint environment environment, the behaviour behavior is similar to a point-to point point-to-point
		flow. In particular, in the context of a multipoint-to-multipoint flow, the
		dynamic hash could be the solution to perform for performing delay
		measurements on specific packets
		and to overcome overcoming the single single- and double marking double-marking limitations.</t>
          <t>The management system receives the samples samples, including the timestamps and
		the hash value value, from all the MPs, and this happens both for both point-to-point
		and for multipoint-to-multipoint flows. Then Then, the longest hash used
		by the MPs is deduced and it is applied to couple timestamps of from either the same packets of
		2 MPs of a point-to-point path path, or of the input and output MPs of a Cluster
		cluster (or a Super Cluster super cluster or the entire network).
		But some considerations are needed: if there isn't packet loss loss, the set of input samples
		is always equal to the set of output samples.  In the case of packet loss loss, the set of
		output samples can be a subset of input samples 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 particular, the “unused "unused part of the hash” hash" that should be different for each packet).</t>
          <t>Therefore, the basic hash is logically similar to the double marking double-marking method, and
		in the case of a point-to-point path double marking path, double-marking and basic hash basic-hash selection are equivalent.
		The dynamic approach scales the number of measurements per interval, and it
		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 paths. path.
		So, in general, if we want to get delay measurements on multipoint-to-multipoint path 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 hand, we can do that by using hashing selection.</t>
        </section>
      </section>
    </section>
    <section title="A Closed Loop Performance Management approach"> numbered="true" toc="default">
      <name>A Closed-Loop Performance-Management Approach</name>
      <t>The Multipoint Alternate Marking Alternate-Marking framework that is introduced in this document adds flexibility
	to Performance Management (PM) (PM), because it can reduce the order of magnitude of the packet counters.
	This allows an SDN Orchestrator orchestrator to supervise, control control, and manage PM in large networks.</t>

      <t>The monitoring network can be considered as a whole or can be split in Clusters, into clusters that are the
	smallest subnetworks (group-to-group segments), maintaining the packet loss
	packet-loss property for each subnetwork.
	They The clusters can also be
	combined in new new, connected subnetworks at different levels levels, depending on
	the detail we want to achieve.</t>
      <t>An SDN Controller controller or a Network Management System (NMS) can calibrate Performance Measurements 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 clusters and/or different combinations of Clusters. clusters.
	In this way way, the problem can be localized in a specific Cluster cluster or in a single combination of Clusters clusters,
	and a more detailed analysis can be performed step-by-step step by step by successive approximation up to
	a point-to-point flow detailed analysis. This is the so called Closed Loop.</t> so-called "closed loop".</t>
      <t>This approach can be called Network Zooming "network zooming" and can be performed in two different ways:</t>
      <t>1) change the traffic filter and select more detailed flows;</t>
      <t>2) activate new measurement points by defining more specified clusters.</t>
      <t>The Network Zooming network-zooming approach implies that the some filters or rules are changed and that therefore there is a
	transient time to wait once the new network configuration takes effect and it effect. This time can be determined
	by the Network Orchestrator/Controller, based on the network conditions.</t>

      <t>For example, if the Network Zooming 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 purpose, we can activate all the available measurement points
	and specify better specify the flow filter criteria
	(i.e.
	(i.e., 5-tuple). As an alternative, it can be enough to select packets
	from the specific source for delay measurements,
	and measurements;
	in this case case, it is possible to apply the hashing technique technique, as mentioned in the previous sections.</t>
      <t><xref target="I-D.song-opsawg-ifit-framework"/> target="I-D.song-opsawg-ifit-framework" format="default"/> defines an architecture where the centralized
	Data Collector and Network Management can apply the intelligent and flexible Alternate Marking Alternate-Marking algorithm
	as previously described.</t>
      <t>As for <xref target="RFC8321">RFC target="RFC8321" format="default">RFC 8321</xref>, it is possible to classify the traffic and mark a portion of
	the total traffic. For each period period, the packet rate and bandwidth are calculated from the number of packets.
	In this way way, the Network Orchestrator network orchestrator becomes aware if the traffic rate overcomes surpasses limits.
	In addition addition, more precision can be obtained by reducing the marking period, indeed period; indeed, some implementations use
	a marking period of 1 sec and or less.</t>
      <t>In addition addition, an SDN Controller controller could also collect the measurement history.</t>
      <t>It is important to mention that the Multipoint Alternate Marking framework also helps Traffic Visualization.
	Indeed
	Indeed, this methodology is very useful to identify for identifying which path or which cluster is crossed by the flow.</t>
    </section>
    <section title="Examples numbered="true" toc="default">
      <name>Examples of application"> Application</name>
      <t>There are application fields where it may be useful to take into
    consideration the Multipoint Alternate Marking:</t>

	<t><list style="symbols">
    <t>VPN: The
     <dl>
        <dt>VPN:</dt><dd>The IP traffic is selected on IP source an IP-source basis in both
      directions.  At the endpoint WAN interface interface, all the output traffic
      is counted in a single flow.  The input traffic is composed by of all
      the other flows aggregated for source address.  So, by considering
      n end-points, 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);</t>
    <t>Mobile Backhaul: LTE point).</dd>
        <dt>Mobile Backhaul:</dt><dd>LTE traffic is selected, in the Up direction, by
      the EnodeB source address and, in the Down direction, by the EnodeB
      destination address 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;</t>
	<t>Over directions.</dd>
        <dt>Over The Top (OTT) services: The services:</dt><dd>The traffic is selected, in the Down direction direction,
      by the source addresses of the packets sent by OTT Servers. servers.  In
      the opposite direction (Up) (Up), it is selected by the destination IP addresses of the
      same Servers. servers.  So the monitoring is based on a single flow per OTT
      Servers
      server in both directions.</t>
	<t>Enterprise SD-WAN: SD-WAN directions.</dd>
        <dt>Enterprise SD-WAN:</dt><dd>SD-WAN allows to connect connecting remote branch offices to
	  Data Centers
	  data centers and build 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 Service Level Agreements (SLAs).
	  This methodology can also help the path selection for the WAN connection based on
	  per Cluster
	  per-cluster and per flow per-flow performance.
	  </t>
    </list></t>
	  </dd>
      </dl>
      <t>Note that the preceding list is just an example and it is not exhaustive. More applications
	are possible.</t>
    </section>
    <section title="Security Considerations"> numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>This document specifies a method to perform of performing measurements that does not
      directly affect Internet security nor or applications that run on the Internet.
      However, implementation of this method must be mindful of security
      and privacy concerns, as explained in <xref target="RFC8321">RFC target="RFC8321" format="default">RFC 8321</xref>.</t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
        <t>The authors would like to thank Al Morton, Tal Mizrahi, Rachel Huang for the precious
		contribution.</t>
    </section>

<!-- Possibly a 'Contributors' section ... -->

    <section anchor="IANA" title="IANA Considerations"> numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This memo makes document has no requests of IANA.</t> IANA actions.</t>
    </section>
  </middle>

<!--  *****BACK MATTER ***** -->

<back>
    <!-- References split to informative and normative -->
    <references title="Normative References">

	   <?rfc include='reference.RFC.5644'?>

	   <?rfc include='reference.RFC.8321'?>

	   <?rfc include='reference.RFC.5474'?>

	   <?rfc include='reference.RFC.5475'?>

<displayreference target="I-D.mizrahi-ippm-compact-alternate-marking" to="ALTERNATE-MARKING"/>
<displayreference target="I-D.zhou-ippm-enhanced-alternate-marking" to="ENHANCED-ALTERNATE-MARKING"/>
<displayreference target="I-D.song-opsawg-ifit-framework" to="IFIT-FRAMEWORK"/>
<displayreference target="I-D.ietf-ippm-route" to="ROUTE-ASSESSMENT"/>

    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5644.xml"/>
        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8321.xml"/>
        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5474.xml"/>
        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5475.xml"/>
      </references>

    <references title="Informative References">
        <!-- A reference written by by an organization not a persoN. -->
      <references>
        <name>Informative References</name>

     <reference anchor='IEEE-ACM-ToN-MPNPM'> anchor="IEEE-ACM-ToN-MPNPM">
          <front>
            <title>Multipoint Passive Monitoring in Packet Networks</title>
      <author>
       <organization>IEEE/ACM TRANSACTION ON NETWORKING</organization>
            <author surname="Cociglio" initials="M">
              <organization />
            </author>
      <date year='2019'
            <author surname="Fioccola" initials="G">
              <organization />
            </author>
            <author surname="Marchetto" initials="G">
              <organization />
            </author>
            <author surname="Sapio" initials="A">
              <organization />
            </author>
            <author surname="Sisto" initials="R">
              <organization />
            </author>
            <date year="2019" month="December"/>
          </front>
            <seriesInfo name='DOI' value='10.1109/TNET.2019.2950157'/> name="IEEE/ACM Transactions on Networking"
			value="vol. 27, no. 6"/>
            <seriesInfo name="pp." value="2377-2390"/>
            <seriesInfo name="DOI" value="10.1109/TNET.2019.2950157"/>
        </reference>

        <reference anchor='IEEE-Network-PNPM'> anchor="IEEE-Network-PNPM">
          <front>
            <title>AM-PM: Efficient Network Telemetry using Alternate Marking</title>
      <author>
       <organization>IEEE Network</organization>
            <author surname="Mizrahi" initials="T">
              <organization/>
            </author>
            <author surname="Navon" initials="G">
              <organization/>
            </author>
            <author surname="Fioccola" initials="G">
              <organization/>
            </author>
            <author surname="Cociglio" initials="M">
              <organization/>
            </author>
            <author surname="Chen" initials="M">
              <organization/>
            </author>
            <author surname="Mirsky" initials="G">
              <organization/>
            </author>
            <date year='2019' /> year="2019" month="July"/>
          </front>
            <seriesInfo name='DOI' value='10.1109/MNET.2019.1800152'/> name="IEEE Network" value="vol. 33, no. 4"/>
            <seriesInfo name="pp." value="155-161"/>
            <seriesInfo name="DOI" value="10.1109/MNET.2019.1800152"/>
        </reference>

	  <?rfc include='reference.I-D.mizrahi-ippm-compact-alternate-marking'?>

	  <?rfc include='reference.I-D.zhou-ippm-enhanced-alternate-marking'?>

	  <?rfc include='reference.I-D.song-opsawg-ifit-framework'?>

	  <?rfc include='reference.I-D.ietf-ippm-route'?>

	  <?rfc include='reference.RFC.7011'?>

<!-- [rfced] [I-D.mizrahi-ippm-compact-alternate-marking] IESG state Expired   -->

        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="https://www.rfc-editor.org/refs/bibxml3/reference.I-D.mizrahi-ippm-compact-alternate-marking.xml"/>

<!-- [rfced] [I-D.zhou-ippm-enhanced-alternate-marking] IESG state I-D Exists -->

        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="https://www.rfc-editor.org/refs/bibxml3/reference.I-D.zhou-ippm-enhanced-alternate-marking.xml" />

<!-- [rfced] [I-D.song-opsawg-ifit-framework] IESG state I-D Exists   -->

        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="https://www.rfc-editor.org/refs/bibxml3/reference.I-D.song-opsawg-ifit-framework.xml"/>

<!-- [rfced] [I-D.ietf-ippm-route] IESG state Approved-announcement to be sent -->

        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="https://www.rfc-editor.org/refs/bibxml3/reference.I-D.ietf-ippm-route.xml"/>

        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7011.xml"/>
      </references>
    </references>
    <section anchor="Acknowledgements" numbered="false" toc="default">
      <name>Acknowledgements</name>
      <t>The authors would like to thank <contact fullname="Al Morton" />,
      <contact fullname="Tal Mizrahi"/>, and <contact fullname="Rachel Huang"/>
      for the precious contributions.</t>
    </section>
  </back>
</rfc>