<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="exp" consensus="true" docName="draft-ietf-ippm-multipoint-alt-mark-09" indexInclude="true" ipr="trust200902" number="8889" prepTime="2020-08-26T18:37:10" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-ippm-multipoint-alt-mark-09" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8889" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Multipoint AM">Multipoint Alternate-Marking Method for Passive and Hybrid Performance Monitoring</title>
    <seriesInfo name="RFC" value="8889" stream="IETF"/>
    <author role="editor" fullname="Giuseppe Fioccola" initials="G." surname="Fioccola">
      <organization showOnFrontPage="true">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>
      </address>
    </author>
    <author fullname="Mauro Cociglio" initials="M." surname="Cociglio">
      <organization showOnFrontPage="true">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>
      </address>
    </author>
    <author fullname="Amedeo Sapio" initials="A." surname="Sapio">
      <organization showOnFrontPage="true">Intel Corporation</organization>
      <address>
        <postal>
          <street>4750 Patrick Henry Dr.</street>
          <city>Santa Clara</city>
          <region>CA</region>
          <code>95054</code>
          <country>USA</country>
        </postal>
        <email>amedeo.sapio@intel.com</email>
      </address>
    </author>
    <author fullname="Riccardo Sisto" initials="R." surname="Sisto">
      <organization showOnFrontPage="true">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>
      </address>
    </author>
    <date month="08" year="2020"/>
    <area/>
    <workgroup>IPPM Working Group</workgroup>
    <abstract pn="section-abstract">
      <t pn="section-abstract-1">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".</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t pn="section-boilerplate.1-1">
            This document is not an Internet Standards Track specification; it is
            published for examination, experimental implementation, and
            evaluation.
        </t>
        <t pn="section-boilerplate.1-2">
            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. 
        </t>
        <t pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8889" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t pn="section-boilerplate.2-1">
            Copyright (c) 2020 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) 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.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-correlation-with-rfc-5644">Correlation with RFC 5644</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-flow-classification">Flow Classification</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multipoint-performance-meas">Multipoint Performance Measurement</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-monitoring-network">Monitoring Network</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multipoint-packet-loss">Multipoint Packet Loss</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-network-clustering">Network Clustering</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-algorithm-for-clusters-part">Algorithm for Clusters Partition</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-timing-aspects">Timing Aspects</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multipoint-delay-and-delay-">Multipoint Delay and Delay Variation</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-delay-measurements-on-a-mul">Delay Measurements on a Multipoint-Paths Basis</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2.1.2">
                  <li pn="section-toc.1-1.8.2.1.2.1">
                    <t pn="section-toc.1-1.8.2.1.2.1.1"><xref derivedContent="8.1.1" format="counter" sectionFormat="of" target="section-8.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-single-marking-measurement">Single-Marking Measurement</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-delay-measurements-on-a-sin">Delay Measurements on a Single-Packet Basis</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2.2.2">
                  <li pn="section-toc.1-1.8.2.2.2.1">
                    <t pn="section-toc.1-1.8.2.2.2.1.1"><xref derivedContent="8.2.1" format="counter" sectionFormat="of" target="section-8.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-single-and-double-marking-m">Single- and Double-Marking Measurement</xref></t>
                  </li>
                  <li pn="section-toc.1-1.8.2.2.2.2">
                    <t pn="section-toc.1-1.8.2.2.2.2.1"><xref derivedContent="8.2.2" format="counter" sectionFormat="of" target="section-8.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-hashing-selection-method">Hashing Selection Method</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-a-closed-loop-performance-m">A Closed-Loop Performance-Management Approach</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-examples-of-application">Examples of Application</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t pn="section-toc.1-1.12.1"><xref derivedContent="12" format="counter" sectionFormat="of" target="section-12"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t pn="section-toc.1-1.13.1"><xref derivedContent="13" format="counter" sectionFormat="of" target="section-13"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.13.2">
              <li pn="section-toc.1-1.13.2.1">
                <t pn="section-toc.1-1.13.2.1.1"><xref derivedContent="13.1" format="counter" sectionFormat="of" target="section-13.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.13.2.2">
                <t pn="section-toc.1-1.13.2.2.1"><xref derivedContent="13.2" format="counter" sectionFormat="of" target="section-13.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.14">
            <t pn="section-toc.1-1.14.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.15">
            <t pn="section-toc.1-1.15.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t pn="section-1-1">The Alternate-Marking method, as described in <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">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 pn="section-1-2">The Alternate-Marking methodology described in <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">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 methodology are described in <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">RFC 8321</xref> while implementation details can be found in the 
      paper "AM-PM: Efficient Network Telemetry using Alternate Marking" <xref target="IEEE-Network-PNPM" format="default" sectionFormat="of" derivedContent="IEEE-Network-PNPM"/>.</t>
      <t pn="section-1-3">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.</t>
      <t pn="section-1-4">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.</t>
      <t pn="section-1-5">In short, <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">RFC 8321</xref>
      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.</t>
      <t pn="section-1-6">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.</t>
      <t pn="section-1-7">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 <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">RFC 8321</xref>.</t>
      <t pn="section-1-8">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.</t>
      <t pn="section-1-9">It is important to underline that, as an extension of <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">RFC 8321</xref>, 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" <xref target="I-D.zhou-ippm-enhanced-alternate-marking" format="default" sectionFormat="of" derivedContent="ENHANCED-ALTERNATE-MARKING"/>.</t>
      <t pn="section-1-10">
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 <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">RFC 8321</xref> and Multipoint Alternate Marking, as explained here.
</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t pn="section-2-1">The definitions of the basic terms are identical to those found in
      Alternate Marking <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321"/>.
	It is to be remembered that <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">RFC 8321</xref> is valid for point-to-point unicast flows and BUM traffic.</t>
      <t pn="section-2-2">The important new terms that need to be explained are listed below:</t>
      <dl newline="false" spacing="normal" pn="section-2-3">
        <dt pn="section-2-3.1">Multipoint Alternate Marking:</dt>
        <dd pn="section-2-3.2">Extension to <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">RFC 8321</xref>, valid for multipoint-to-multipoint 
  unicast flows, anycast, and ECMP flows. It can also be referred to as Clustered
  Alternate Marking.</dd>
        <dt pn="section-2-3.3">Flow definition:</dt>
        <dd pn="section-2-3.4">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.</dd>
        <dt pn="section-2-3.5">Monitoring network:</dt>
        <dd pn="section-2-3.6">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.</dd>
        <dt pn="section-2-3.7">Cluster:</dt>
        <dd pn="section-2-3.8">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.</dd>
        <dt pn="section-2-3.9">Multipoint metrics:</dt>
        <dd pn="section-2-3.10">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.</dd>
      </dl>
      <t pn="section-2-4">The next section highlights the correlation with the terms used in
      <xref target="RFC5644" format="default" sectionFormat="of" derivedContent="RFC5644">RFC 5644</xref>.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1">
        <name slugifiedName="name-correlation-with-rfc-5644">Correlation with RFC 5644</name>
        <t pn="section-2.1-1"><xref target="RFC5644" format="default" sectionFormat="of" derivedContent="RFC5644">RFC 5644</xref> 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.</t>
        <t pn="section-2.1-2">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 pn="section-2.1-3"><xref target="RFC5644" format="default" sectionFormat="of" derivedContent="RFC5644">RFC 5644</xref> introduces
	metric names that can be reused here
	 but have to be extended and rephrased to be applied to the Alternate-Marking schema:</t>
        <ol spacing="normal" type="a" start="1" pn="section-2.1-4">
          <li pn="section-2.1-4.1" derivedCounter="a.">the multiparty metrics are not only one-to-group metrics but can be also group-to-group 
	 metrics;</li>
          <li pn="section-2.1-4.2" derivedCounter="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).</li>
        </ol>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-flow-classification">Flow Classification</name>
      <t pn="section-3-1">A unicast flow is identified by all the packets having a set of common characteristics.
		This definition is inspired by <xref target="RFC7011" format="default" sectionFormat="of" derivedContent="RFC7011">RFC 7011</xref>.</t>
      <t pn="section-3-2">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 pn="section-3-3">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.</t>
      <t pn="section-3-4">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 <xref target="Flows" format="default" sectionFormat="of" derivedContent="Figure 1"/>.</t>
      <t pn="section-3-5">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 pn="section-3-6">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.</t>
      <t pn="section-3-7">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.</t>
      <t pn="section-3-8">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 <xref target="Flows" format="default" sectionFormat="of" derivedContent="Figure 1"/>.</t>
      <figure anchor="Flows" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-flow-classification-2">Flow Classification</name>
        <artwork name="" type="" align="left" alt="" pn="section-3-9.1">
       point-to-point single path  
           +------+      +------+      +------+
       ---&lt;&gt;  R1  &lt;&gt;----&lt;&gt;  R2  &lt;&gt;----&lt;&gt;  R3  &lt;&gt;---
           +------+      +------+      +------+


       point-to-point multipath
                        +------+
                       &lt;&gt;  R2  &lt;&gt;
                      / +------+ \
                     /            \
           +------+ /              \ +------+
       ---&lt;&gt;  R1  &lt;&gt;                &lt;&gt;  R4  &lt;&gt;---
           +------+ \              / +------+
                     \            /
                      \ +------+ /
                       &lt;&gt;  R3  &lt;&gt;
                        +------+


       point-to-multipoint
                                   +------+
                                  &lt;&gt;  R4  &lt;&gt;---
                                 / +------+
                       +------+ /
                      &lt;&gt;  R2  &lt;&gt;
                     / +------+ \
           +------+ /            \ +------+
       ---&lt;&gt;  R1  &lt;&gt;              &lt;&gt;  R5  &lt;&gt;---
           +------+ \              +------+
                     \ +------+
                      &lt;&gt;  R3  &lt;&gt;
                       +------+ \
                                 \ +------+
                                  &lt;&gt;  R6  &lt;&gt;---
                                   +------+


       multipoint-to-point
           +------+
       ---&lt;&gt;  R1  &lt;&gt;
           +------+ \
                     \ +------+
                     &lt;&gt;  R4  &lt;&gt;
                     / +------+ \
           +------+ /            \ +------+
       ---&lt;&gt;  R2  &lt;&gt;              &lt;&gt;  R6  &lt;&gt;---
           +------+              / +------+
                       +------+ /
                      &lt;&gt;  R5  &lt;&gt;
                     / +------+
           +------+ /
       ---&lt;&gt;  R3  &lt;&gt;
           +------+


       multipoint-to-multipoint
           +------+                +------+
       ---&lt;&gt;  R1  &lt;&gt;              &lt;&gt;  R6  &lt;&gt;---
           +------+ \            / +------+
                     \ +------+ /
                      &lt;&gt;  R4  &lt;&gt;
                       +------+ \
           +------+              \ +------+
       ---&lt;&gt;  R2  &lt;&gt;             &lt;&gt;  R7  &lt;&gt;---
           +------+ \            / +------+
                     \ +------+ /
                      &lt;&gt;  R5  &lt;&gt;
                     / +------+ \
           +------+ /            \ +------+
       ---&lt;&gt;  R3  &lt;&gt;              &lt;&gt;  R8  &lt;&gt;---
           +------+                +------+
</artwork>
      </figure>
      <t pn="section-3-10">The case of unicast flow is considered in <xref target="Flows" format="default" sectionFormat="of" derivedContent="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.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-multipoint-performance-meas">Multipoint Performance Measurement</name>
      <t pn="section-4-1">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).</t>
      <t pn="section-4-2">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 numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-monitoring-network">Monitoring Network</name>
        <t pn="section-4.1-1">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.</t>
        <t pn="section-4.1-2">There are some techniques that can help with the building of the monitoring network (as an example,
	see <xref target="I-D.ietf-ippm-route" format="default" sectionFormat="of" derivedContent="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.</t>
        <t pn="section-4.1-3">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.</t>
        <t pn="section-4.1-4"><xref target="monitored-graph" format="default" sectionFormat="of" derivedContent="Figure 2"/> shows a simple example of a
	monitoring network graph:</t>
        <figure anchor="monitored-graph" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-monitoring-network-graph">Monitoring Network Graph</name>
          <artwork name="" type="" align="left" alt="" pn="section-4.1-5.1">
                                                 +------+
                                                &lt;&gt;  R6  &lt;&gt;---
                                               / +------+
                        +------+     +------+ / 
                       &lt;&gt;  R2  &lt;&gt;---&lt;&gt;  R4  &lt;&gt;             
                      / +------+ \   +------+ \             
                     /            \            \ +------+
           +------+ /   +------+   \ +------+   &lt;&gt;  R7  &lt;&gt;---
       ---&lt;&gt;  R1  &lt;&gt;---&lt;&gt;  R3  &lt;&gt;---&lt;&gt;  R5  &lt;&gt;   +------+    
           +------+ \   +------+ \   +------+ \     
                     \            \            \ +------+
                      \            \            &lt;&gt;  R8  &lt;&gt;---
                       \            \            +------+
                        \            \
                         \            \ +------+   
                          \            &lt;&gt;  R9  &lt;&gt;---
                           \            +------+
                            \
                             \ +------+
                              &lt;&gt;  R10 &lt;&gt;---
                               +------+
</artwork>
        </figure>
        <t pn="section-4.1-6">Each monitoring point is characterized by the packet counter 
	that refers only to a marking period of the monitored flow.</t>
        <t pn="section-4.1-7">The same is also applicable for the delay, but it will be described 
	in the following sections.</t>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-multipoint-packet-loss">Multipoint Packet Loss</name>
      <t pn="section-5-1">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.</t>
      <t pn="section-5-2">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.</t>
      <t pn="section-5-3">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.</t>
      <t pn="section-5-4">The monitored network packet loss with n input nodes and m output nodes 
	is given by:</t>
      <t pn="section-5-5">PL = (PI1 + PI2 +...+ PIn) - (PO1 + PO2 +...+ POm)</t>
      <t pn="section-5-6">where:</t>
      <t pn="section-5-7">PL is the network packet loss (number of lost packets)</t>
      <t pn="section-5-8">PIi is the number of packets flowed through the i-th input node in this period</t>
      <t pn="section-5-9">POj is the number of packets flowed through the j-th output node in
      this period</t>
      <t pn="section-5-10">The equation is applied on a per-time-interval basis and a per-flow basis:</t>
      <ul empty="true" spacing="normal" bare="false" pn="section-5-11">
        <li pn="section-5-11.1">The reference interval is the Alternate-Marking period, as defined
	in <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">RFC 8321</xref>.</li>
        <li pn="section-5-11.2">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.</li>
      </ul>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-network-clustering">Network Clustering</name>
      <t pn="section-6-1">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.</t>
      <t pn="section-6-2">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".</t>
      <t pn="section-6-3">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.</t>
      <t pn="section-6-4">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.</t>
      <t pn="section-6-5">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).</t>
      <t pn="section-6-6">Clusters can have different sizes depending on the flow-filtering criteria adopted.</t>
      <t pn="section-6-7">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.</t>
      <t pn="section-6-8">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.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-6.1">
        <name slugifiedName="name-algorithm-for-clusters-part">Algorithm for Clusters Partition</name>
        <t pn="section-6.1-1">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.</t>
        <t pn="section-6.1-2">It is a two-step algorithm:</t>
        <ol spacing="normal" start="1" type="1" pn="section-6.1-3">
          <li pn="section-6.1-3.1" derivedCounter="1.">Group the links where there is the same starting node;</li>
          <li pn="section-6.1-3.2" derivedCounter="2.">Join the grouped links with at least one ending node in common.</li>
        </ol>
        <t pn="section-6.1-4">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.</t>
        <t pn="section-6.1-5">In our monitoring network graph example, it is possible to identify the clusters partition 
	by applying this two-step algorithm.</t>
        <t pn="section-6.1-6">The first step identifies the following groups:</t>
        <ol spacing="normal" type="1" start="1" pn="section-6.1-7">
          <li pn="section-6.1-7.1" derivedCounter="1.">Group 1: (R1-R2), (R1-R3), (R1-R10)</li>
          <li pn="section-6.1-7.2" derivedCounter="2.">Group 2: (R2-R4), (R2-R5)</li>
          <li pn="section-6.1-7.3" derivedCounter="3.">Group 3: (R3-R5), (R3-R9)</li>
          <li pn="section-6.1-7.4" derivedCounter="4.">Group 4: (R4-R6), (R4-R7)</li>
          <li pn="section-6.1-7.5" derivedCounter="5.">Group 5: (R5-R8)</li>
        </ol>
        <t pn="section-6.1-8">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):</t>
        <ol spacing="normal" type="1" start="1" pn="section-6.1-9">
          <li pn="section-6.1-9.1" derivedCounter="1.">Cluster 1: (R1-R2), (R1-R3), (R1-R10)</li>
          <li pn="section-6.1-9.2" derivedCounter="2.">Cluster 2: (R2-R4), (R2-R5), (R3-R5), (R3-R9)</li>
          <li pn="section-6.1-9.3" derivedCounter="3.">Cluster 3: (R4-R6), (R4-R7)</li>
          <li pn="section-6.1-9.4" derivedCounter="4.">Cluster 4: (R5-R8)</li>
        </ol>
        <t pn="section-6.1-10">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.</t>
        <t pn="section-6.1-11">In the end, the following 4 clusters are obtained:</t>
        <figure anchor="clusters" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-clusters-example">Clusters Example</name>
          <artwork name="" type="" align="left" alt="" pn="section-6.1-12.1">
       Cluster 1
                        +------+
                       &lt;&gt;  R2  &lt;&gt;---
                      / +------+
                     /
           +------+ /   +------+
       ---&lt;&gt;  R1  &lt;&gt;---&lt;&gt;  R3  &lt;&gt;---
           +------+ \   +------+
                     \
                      \
                       \
                        \
                         \
                          \
                           \
                            \
                             \ +------+
                              &lt;&gt;  R10 &lt;&gt;---
                               +------+


       Cluster 2
           +------+     +------+
       ---&lt;&gt;  R2  &lt;&gt;---&lt;&gt;  R4  &lt;&gt;---
           +------+ \   +------+
                     \
           +------+   \ +------+
       ---&lt;&gt;  R3  &lt;&gt;---&lt;&gt;  R5  &lt;&gt;---
           +------+ \   +------+
                     \
                      \
                       \
                        \
                         \ +------+
                          &lt;&gt;  R9  &lt;&gt;---
                           +------+


       Cluster 3
                       +------+
                      &lt;&gt;  R6  &lt;&gt;---
                     / +------+
           +------+ /
       ---&lt;&gt;  R4  &lt;&gt;
           +------+ \
                     \ +------+
                      &lt;&gt;  R7  &lt;&gt;---
                       +------+


       Cluster 4
           +------+
       ---&lt;&gt;  R5  &lt;&gt;
           +------+ \
                     \ +------+
                      &lt;&gt;  R8  &lt;&gt;---
                       +------+
</artwork>
        </figure>
        <t pn="section-6.1-13">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).</t>
        <t pn="section-6.1-14">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.</t>
        <t pn="section-6.1-15">Obviously, by combining some clusters in a new connected subnetwork 
		(called a "super cluster"), the packet-loss rule is still true.</t>
        <t pn="section-6.1-16">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.</t>
        <t pn="section-6.1-17">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.</t>
        <t pn="section-6.1-18">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 <xref target="IEEE-ACM-ToN-MPNPM" format="default" sectionFormat="of" derivedContent="IEEE-ACM-ToN-MPNPM"/>.</t>
        <t pn="section-6.1-19">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 <xref target="IEEE-ACM-ToN-MPNPM" format="default" sectionFormat="of" derivedContent="IEEE-ACM-ToN-MPNPM"/>.</t>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-timing-aspects">Timing Aspects</name>
      <t pn="section-7-1">It is important to consider the timing aspects, since out-of-order packets happen and have 
	 to be handled as well, as described in <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">RFC 8321</xref>. 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.</t>
      <t pn="section-7-2">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 <xref target="measint" format="default" sectionFormat="of" derivedContent="Figure 4"/>.</t>
      <t pn="section-7-3">Note that the mark switching approach based on a fixed timer is considered in this document.</t>
      <figure anchor="measint" align="left" suppress-title="false" pn="figure-4">
        <name slugifiedName="name-measurement-interval">Measurement Interval</name>
        <artwork name="" type="" align="left" alt="" pn="section-7-4.1">
        time -&gt; start         stop
        T(R1)   |-------------|
        T(R2)     |-------------|
        T(R3)        |------------|
</artwork>
      </figure>
      <t pn="section-7-5">In <xref target="measint" format="default" sectionFormat="of" derivedContent="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.</t>
      <t pn="section-7-6">When we expand to multipoint-to-multipoint flows, we have to consider that 
	all source nodes mark the traffic, and this adds more complexity.</t>
      <t pn="section-7-7">Regarding the timing aspects of the methodology, <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">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 pn="section-7-8">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 <xref target="mtiming" format="default" sectionFormat="of" derivedContent="Figure 5"/>.</t>
      <figure anchor="mtiming" align="left" suppress-title="false" pn="figure-5">
        <name slugifiedName="name-timing-aspects-for-multipoi">Timing Aspects for Multipoint Paths</name>
        <artwork name="" type="" align="left" alt="" pn="section-7-9.1">
...BBBBBBBBB | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | BBBBBBBBB...
             |&lt;======================================&gt;|
             |                   L                    |
...=========&gt;|&lt;==================&gt;&lt;==================&gt;|&lt;==========...
             |         L/2                L/2         |
             |&lt;=&gt;&lt;===&gt;|                      |&lt;===&gt;&lt;=&gt;|
               m   d  |                      |  d   m
                      |&lt;====================&gt;|
                    available counting interval
</artwork>
      </figure>
      <t pn="section-7-10">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).</t>
      <t pn="section-7-11">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.</t>
      <t pn="section-7-12">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 pn="section-7-13">L - 2m - 2d &gt; 0.</t>
      <t pn="section-7-14">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" format="default" sectionFormat="of" derivedContent="RFC8321">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 pn="section-7-15">Note that the timing considerations are valid for both packet loss and delay measurements.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-multipoint-delay-and-delay-">Multipoint Delay and Delay Variation</name>
      <t pn="section-8-1">The same line of reasoning can be applied to delay and delay variation.
      Similarly to the delay measurements defined in <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">RFC 8321</xref>,
      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.</t>
      <t pn="section-8-2">In general, it is possible to perform delay and delay-variation measurements 
      on the basis of multipoint paths or single packets:</t>
      <ul spacing="normal" bare="false" empty="false" pn="section-8-3">
        <li pn="section-8-3.1">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).</li>
        <li pn="section-8-3.2">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.</li>
      </ul>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-8.1">
        <name slugifiedName="name-delay-measurements-on-a-mul">Delay Measurements on a Multipoint-Paths Basis</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-8.1.1">
          <name slugifiedName="name-single-marking-measurement">Single-Marking Measurement</name>
          <t pn="section-8.1.1-1">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.</t>
          <t pn="section-8.1.1-2">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 numbered="true" toc="include" removeInRFC="false" pn="section-8.2">
        <name slugifiedName="name-delay-measurements-on-a-sin">Delay Measurements on a Single-Packet Basis</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-8.2.1">
          <name slugifiedName="name-single-and-double-marking-m">Single- and Double-Marking Measurement</name>
          <t pn="section-8.2.1-1">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:</t>
          <ul empty="true" spacing="normal" bare="false" pn="section-8.2.1-2">
            <li pn="section-8.2.1-2.1">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.</li>
            <li pn="section-8.2.1-2.2">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.</li>
          </ul>
          <t pn="section-8.2.1-3">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.</t>
          <t pn="section-8.2.1-4">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.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-8.2.2">
          <name slugifiedName="name-hashing-selection-method">Hashing Selection Method</name>
          <t pn="section-8.2.2-1">RFCs <xref target="RFC5474" sectionFormat="bare" format="default" derivedContent="RFC5474">5474</xref> and
	  <xref target="RFC5475" sectionFormat="bare" format="default" derivedContent="RFC5475">5475</xref> 
		introduce sampling and filtering techniques for IP packet selection.</t>
          <t pn="section-8.2.2-2">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.</t>
          <t pn="section-8.2.2-3"><xref target="I-D.mizrahi-ippm-compact-alternate-marking" format="default" sectionFormat="of" derivedContent="ALTERNATE-MARKING"/> introduces how 
		to use the hash method (RFCs <xref target="RFC5474" sectionFormat="bare" format="default" derivedContent="RFC5474">5474</xref> and <xref target="RFC5475" sectionFormat="bare" format="default" derivedContent="RFC5475">5475</xref>)
		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.</t>
          <t pn="section-8.2.2-4">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.</t>
          <t pn="section-8.2.2-5">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.</t>
          <t pn="section-8.2.2-6">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).</t>
          <t pn="section-8.2.2-7">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.</t>
        </section>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-a-closed-loop-performance-m">A Closed-Loop Performance-Management Approach</name>
      <t pn="section-9-1">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.</t>
      <t pn="section-9-2">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.</t>
      <t pn="section-9-3">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".</t>
      <t pn="section-9-4">This approach can be called "network zooming" and can be performed in two different ways:</t>
      <t pn="section-9-5">1) change the traffic filter and select more detailed flows;</t>
      <t pn="section-9-6">2) activate new measurement points by defining more specified clusters.</t>
      <t pn="section-9-7">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.</t>
      <t pn="section-9-8">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.</t>
      <t pn="section-9-9"><xref target="I-D.song-opsawg-ifit-framework" format="default" sectionFormat="of" derivedContent="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.</t>
      <t pn="section-9-10">As for <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">RFC 8321</xref>, 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.</t>
      <t pn="section-9-11">In addition, an SDN controller could also collect the measurement history.</t>
      <t pn="section-9-12">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.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-10">
      <name slugifiedName="name-examples-of-application">Examples of Application</name>
      <t pn="section-10-1">There are application fields where it may be useful to take into
    consideration the Multipoint Alternate Marking:</t>
      <dl newline="false" spacing="normal" pn="section-10-2">
        <dt pn="section-10-2.1">VPN:</dt>
        <dd pn="section-10-2.2">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).</dd>
        <dt pn="section-10-2.3">Mobile Backhaul:</dt>
        <dd pn="section-10-2.4">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.</dd>
        <dt pn="section-10-2.5">Over The Top (OTT) services:</dt>
        <dd pn="section-10-2.6">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.</dd>
        <dt pn="section-10-2.7">Enterprise SD-WAN:</dt>
        <dd pn="section-10-2.8">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. 
	  </dd>
      </dl>
      <t pn="section-10-3">Note that the preceding list is just an example and is not exhaustive. More applications
	are possible.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-11">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t pn="section-11-1">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 <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">RFC 8321</xref>.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-12">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t pn="section-12-1">This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <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 pn="section-13">
      <name slugifiedName="name-references">References</name>
      <references pn="section-13.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC5474" target="https://www.rfc-editor.org/info/rfc5474" quoteTitle="true" derivedAnchor="RFC5474">
          <front>
            <title>A Framework for Packet Selection and Reporting</title>
            <author initials="N." surname="Duffield" fullname="N. Duffield" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Chiou" fullname="D. Chiou">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Claise" fullname="B. Claise">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Greenberg" fullname="A. Greenberg">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Grossglauser" fullname="M. Grossglauser">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Rexford" fullname="J. Rexford">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="March"/>
            <abstract>
              <t>This document specifies a framework for the PSAMP (Packet SAMPling) protocol.  The functions of this protocol are to select packets from a stream according to a set of standardized Selectors, to form a stream of reports on the selected packets, and to export the reports to a Collector.  This framework details the components of this architecture, then describes some generic requirements, motivated by the dual aims of ubiquitous deployment and utility of the reports for applications.  Detailed requirements for selection, reporting, and exporting are described, along with configuration requirements of the PSAMP functions.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5474"/>
          <seriesInfo name="DOI" value="10.17487/RFC5474"/>
        </reference>
        <reference anchor="RFC5475" target="https://www.rfc-editor.org/info/rfc5475" quoteTitle="true" derivedAnchor="RFC5475">
          <front>
            <title>Sampling and Filtering Techniques for IP Packet Selection</title>
            <author initials="T." surname="Zseby" fullname="T. Zseby">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Molina" fullname="M. Molina">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Duffield" fullname="N. Duffield">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Niccolini" fullname="S. Niccolini">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F." surname="Raspall" fullname="F. Raspall">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="March"/>
            <abstract>
              <t>This document describes Sampling and Filtering techniques for IP packet selection.  It provides a categorization of schemes and defines what parameters are needed to describe the most common selection schemes.  Furthermore, it shows how techniques can be combined to build more elaborate packet Selectors.  The document provides the basis for the definition of information models for configuring selection techniques in Metering Processes and for reporting the technique in use to a Collector.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5475"/>
          <seriesInfo name="DOI" value="10.17487/RFC5475"/>
        </reference>
        <reference anchor="RFC5644" target="https://www.rfc-editor.org/info/rfc5644" quoteTitle="true" derivedAnchor="RFC5644">
          <front>
            <title>IP Performance Metrics (IPPM): Spatial and Multicast</title>
            <author initials="E." surname="Stephan" fullname="E. Stephan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Liang" fullname="L. Liang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Morton" fullname="A. Morton">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="October"/>
            <abstract>
              <t>The IETF has standardized IP Performance Metrics (IPPM) for measuring end-to-end performance between two points.  This memo defines two new categories of metrics that extend the coverage to multiple measurement points.  It defines spatial metrics for measuring the performance of segments of a source to destination path, and metrics for measuring the performance between a source and many destinations in multiparty communications (e.g., a multicast tree).  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5644"/>
          <seriesInfo name="DOI" value="10.17487/RFC5644"/>
        </reference>
        <reference anchor="RFC8321" target="https://www.rfc-editor.org/info/rfc8321" quoteTitle="true" derivedAnchor="RFC8321">
          <front>
            <title>Alternate-Marking Method for Passive and Hybrid Performance Monitoring</title>
            <author initials="G." surname="Fioccola" fullname="G. Fioccola" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Capello" fullname="A. Capello">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Cociglio" fullname="M. Cociglio">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Castaldelli" fullname="L. Castaldelli">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Chen" fullname="M. Chen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Zheng" fullname="L. Zheng">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Mirsky" fullname="G. Mirsky">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Mizrahi" fullname="T. Mizrahi">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="January"/>
            <abstract>
              <t>This document describes a method to perform packet loss, delay, and jitter measurements on live traffic.  This method is based on an Alternate-Marking (coloring) technique.  A report is provided in order to explain an example and show the method applicability.  This technology can be applied in various situations, as detailed in this document, and could be considered Passive or Hybrid depending on the application.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8321"/>
          <seriesInfo name="DOI" value="10.17487/RFC8321"/>
        </reference>
      </references>
      <references pn="section-13.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.mizrahi-ippm-compact-alternate-marking" quoteTitle="true" target="https://tools.ietf.org/html/draft-mizrahi-ippm-compact-alternate-marking-05" derivedAnchor="ALTERNATE-MARKING">
          <front>
            <title>Compact Alternate Marking Methods for Passive and Hybrid Performance Monitoring</title>
            <author initials="T" surname="Mizrahi" fullname="Tal Mizrahi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C" surname="Arad" fullname="Carmi Arad">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G" surname="Fioccola" fullname="Giuseppe Fioccola">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M" surname="Cociglio" fullname="Mauro Cociglio">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M" surname="Chen" fullname="Mach Chen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L" surname="Zheng" fullname="Lianshu Zheng">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G" surname="Mirsky" fullname="Gregory Mirsky">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="July" day="6" year="2019"/>
            <abstract>
              <t>This memo introduces new alternate marking methods that require a compact overhead of either a single bit per packet, or zero bits per packet.  This memo also presents a summary of alternate marking methods, and discusses the tradeoffs among them.  The target audience of this document is network protocol designers; this document is intended to help protocol designers choose the best alternate marking method(s) based on the protocol's constraints and requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mizrahi-ippm-compact-alternate-marking-05"/>
          <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-mizrahi-ippm-compact-alternate-marking-05.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.zhou-ippm-enhanced-alternate-marking" quoteTitle="true" target="https://tools.ietf.org/html/draft-zhou-ippm-enhanced-alternate-marking-05" derivedAnchor="ENHANCED-ALTERNATE-MARKING">
          <front>
            <title>Enhanced Alternate Marking Method</title>
            <author initials="T" surname="Zhou" fullname="Tianran Zhou">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G" surname="Fioccola" fullname="Giuseppe Fioccola">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S" surname="Lee" fullname="Shinyoung Lee">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M" surname="Cociglio" fullname="Mauro Cociglio">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W" surname="Li" fullname="Weidong Li">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="July" day="13" year="2020"/>
            <abstract>
              <t>This document extends the IPv6 alternate marking option to provide the enhanced capabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-zhou-ippm-enhanced-alternate-marking-05"/>
          <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-zhou-ippm-enhanced-alternate-marking-05.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="IEEE-ACM-ToN-MPNPM" quoteTitle="true" target="https://doi.org/10.1109/TNET.2019.2950157" derivedAnchor="IEEE-ACM-ToN-MPNPM">
          <front>
            <title>Multipoint Passive Monitoring in Packet Networks</title>
            <author surname="Cociglio" initials="M">
              <organization showOnFrontPage="true"/>
            </author>
            <author surname="Fioccola" initials="G">
              <organization showOnFrontPage="true"/>
            </author>
            <author surname="Marchetto" initials="G">
              <organization showOnFrontPage="true"/>
            </author>
            <author surname="Sapio" initials="A">
              <organization showOnFrontPage="true"/>
            </author>
            <author surname="Sisto" initials="R">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="December"/>
          </front>
          <seriesInfo 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" quoteTitle="true" target="https://doi.org/10.1109/MNET.2019.1800152" derivedAnchor="IEEE-Network-PNPM">
          <front>
            <title>AM-PM: Efficient Network Telemetry using Alternate Marking</title>
            <author surname="Mizrahi" initials="T">
              <organization showOnFrontPage="true"/>
            </author>
            <author surname="Navon" initials="G">
              <organization showOnFrontPage="true"/>
            </author>
            <author surname="Fioccola" initials="G">
              <organization showOnFrontPage="true"/>
            </author>
            <author surname="Cociglio" initials="M">
              <organization showOnFrontPage="true"/>
            </author>
            <author surname="Chen" initials="M">
              <organization showOnFrontPage="true"/>
            </author>
            <author surname="Mirsky" initials="G">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="July"/>
          </front>
          <seriesInfo name="IEEE Network" value="vol. 33, no. 4"/>
          <seriesInfo name="pp." value="155-161"/>
          <seriesInfo name="DOI" value="10.1109/MNET.2019.1800152"/>
        </reference>
        <reference anchor="I-D.song-opsawg-ifit-framework" quoteTitle="true" target="https://tools.ietf.org/html/draft-song-opsawg-ifit-framework-12" derivedAnchor="IFIT-FRAMEWORK">
          <front>
            <title>In-situ Flow Information Telemetry</title>
            <author initials="H" surname="Song" fullname="Haoyu Song">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F" surname="Qin" fullname="Fengwei Qin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H" surname="Chen" fullname="Huanan Chen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Jin" fullname="Jaewhan Jin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Shin" fullname="Jongyoon Shin">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="April" day="14" year="2020"/>
            <abstract>
              <t>As networks increase in scale and network operations become more sophisticated, traditional Operation, Administration and Maintenance (OAM) methods, which include proactive and reactive techniques, running in active and passive modes, are no longer sufficient to meet the monitoring and measurement requirements.  Emerging on-path telemetry techniques which provide high-precision flow insight and real-time issue notification are required to ensure suitable quality of experience for users and applications, and identify faults or network deficiencies before they become critical.  This document outlines a high-level framework to provide an operational environment that utilizes existing and emerging on-path telemetry techniques to enable the collection and correlation of performance information from the network.  The framework identifies the components that are needed to coordinate the existing protocol tools and telemetry mechanisms, and addresses key deployment challenges for flow-oriented on-path telemetry techniques, especially in carrier networks.  The framework is informational and intended to guide system designers attempting to use the referenced techniques as well as to motivate further work to enhance the ecosystem .</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-song-opsawg-ifit-framework-12"/>
          <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-song-opsawg-ifit-framework-12.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC7011" target="https://www.rfc-editor.org/info/rfc7011" quoteTitle="true" derivedAnchor="RFC7011">
          <front>
            <title>Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information</title>
            <author initials="B." surname="Claise" fullname="B. Claise" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Trammell" fullname="B. Trammell" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Aitken" fullname="P. Aitken">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2013" month="September"/>
            <abstract>
              <t>This document specifies the IP Flow Information Export (IPFIX) protocol, which serves as a means for transmitting Traffic Flow information over the network.  In order to transmit Traffic Flow information from an Exporting Process to a Collecting Process, a common representation of flow data and a standard means of communicating them are required.  This document describes how the IPFIX Data and Template Records are carried over a number of transport protocols from an IPFIX Exporting Process to an IPFIX Collecting Process.  This document obsoletes RFC 5101.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="77"/>
          <seriesInfo name="RFC" value="7011"/>
          <seriesInfo name="DOI" value="10.17487/RFC7011"/>
        </reference>
        <reference anchor="I-D.ietf-ippm-route" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-ippm-route-10" derivedAnchor="ROUTE-ASSESSMENT">
          <front>
            <title>Advanced Unidirectional Route Assessment (AURA)</title>
            <author initials="J" surname="Alvarez-Hamelin" fullname="Jose Alvarez-Hamelin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A" surname="Morton" fullname="Alfred Morton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Fabini" fullname="Joachim Fabini">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C" surname="Pignataro" fullname="Carlos Pignataro">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R" surname="Geib" fullname="Ruediger Geib">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="August" day="13" year="2020"/>
            <abstract>
              <t>This memo introduces an advanced unidirectional route assessment (AURA) metric and associated measurement methodology, based on the IP Performance Metrics (IPPM) Framework RFC 2330.  This memo updates RFC 2330 in the areas of path-related terminology and path description, primarily to include the possibility of parallel subpaths between a given Source and Destination pair, owing to the presence of multi- path technologies.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ippm-route-10"/>
          <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-ippm-route-10.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgements" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t pn="section-appendix.a-1">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>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author role="editor" fullname="Giuseppe Fioccola" initials="G." surname="Fioccola">
        <organization showOnFrontPage="true">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>
        </address>
      </author>
      <author fullname="Mauro Cociglio" initials="M." surname="Cociglio">
        <organization showOnFrontPage="true">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>
        </address>
      </author>
      <author fullname="Amedeo Sapio" initials="A." surname="Sapio">
        <organization showOnFrontPage="true">Intel Corporation</organization>
        <address>
          <postal>
            <street>4750 Patrick Henry Dr.</street>
            <city>Santa Clara</city>
            <region>CA</region>
            <code>95054</code>
            <country>USA</country>
          </postal>
          <email>amedeo.sapio@intel.com</email>
        </address>
      </author>
      <author fullname="Riccardo Sisto" initials="R." surname="Sisto">
        <organization showOnFrontPage="true">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>
        </address>
      </author>
    </section>
  </back>
</rfc>
