<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-ippm-route-10" indexInclude="true" ipr="trust200902" number="9198" prepTime="2022-05-23T12:09:52" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" updates="2330" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-ippm-route-10" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9198" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="AURA Metrics &amp; Methods">Advanced Unidirectional Route Assessment (AURA)</title>
    <seriesInfo name="RFC" value="9198" stream="IETF"/>
    <author fullname="J. Ignacio Alvarez-Hamelin" initials="J" surname="Alvarez-Hamelin">
      <organization showOnFrontPage="true">Universidad de Buenos Aires</organization>
      <address>
        <postal>
          <street>Av. Paseo Colón 850</street>
          <city>Buenos Aires</city>
          <code>C1063ACV</code>
          <country>Argentina</country>
        </postal>
        <phone>+54 11 5285-0716</phone>
        <email>ihameli@cnet.fi.uba.ar</email>
        <uri>http://cnet.fi.uba.ar/ignacio.alvarez-hamelin/</uri>
      </address>
    </author>
    <author fullname="Al Morton" initials="A." surname="Morton">
      <organization showOnFrontPage="true">AT&amp;T Labs</organization>
      <address>
        <postal>
          <street>200 Laurel Avenue South</street>
          <city>Middletown</city>
          <region>NJ</region>
          <code>07748</code>
          <country>United States of America</country>
        </postal>
        <phone>+1 732 420 1571</phone>
        <email>acm@research.att.com</email>
        <uri/>
      </address>
    </author>
    <author fullname="Joachim Fabini" initials="J." surname="Fabini">
      <organization showOnFrontPage="true">TU Wien</organization>
      <address>
        <postal>
          <street>Gusshausstrasse 25/E389</street>
          <city>Vienna</city>
          <region/>
          <code>1040</code>
          <country>Austria</country>
        </postal>
        <phone>+43 1 58801 38813</phone>
        <email>Joachim.Fabini@tuwien.ac.at</email>
        <uri>http://www.tc.tuwien.ac.at/about-us/staff/joachim-fabini/</uri>
      </address>
    </author>
    <author fullname="Carlos Pignataro" initials="C." surname="Pignataro">
      <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street>7200-11 Kit Creek Road</street>
          <city>Research Triangle Park</city>
          <region>NC</region>
          <code>27709</code>
          <country>United States of America</country>
        </postal>
        <phone/>
        <email>cpignata@cisco.com</email>
        <uri/>
      </address>
    </author>
    <author fullname="Ruediger Geib" initials="R." surname="Geib">
      <organization showOnFrontPage="true">Deutsche Telekom</organization>
      <address>
        <postal>
          <street>Heinrich Hertz Str. 3-7</street>
          <city>Darmstadt</city>
          <region/>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <phone>+49 6151 5812747</phone>
        <email>Ruediger.Geib@telekom.de</email>
        <uri/>
      </address>
    </author>
    <date month="05" year="2022"/>
    <keyword>Performance</keyword>
    <keyword>Metrics</keyword>
    <keyword>IPPM</keyword>
    <keyword>path</keyword>
    <keyword>parallel paths</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">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 multipath
      technologies.</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 indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            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).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" 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/rfc9198" 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 indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2022 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" 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 Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised 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 indent="0" 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>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-issues-with-earlier-work-to">Issues with Earlier Work to Define a Route Metric</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.2.1"><xref derivedContent="1.2" format="counter" sectionFormat="of" target="section-1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" 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-scope">Scope</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" 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-route-metric-specifications">Route Metric Specifications</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terms-and-definitions">Terms and Definitions</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-formal-name">Formal Name</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-parameters">Parameters</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.4">
                <t indent="0" pn="section-toc.1-1.3.2.4.1"><xref derivedContent="3.4" format="counter" sectionFormat="of" target="section-3.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-metric-definitions">Metric Definitions</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.5">
                <t indent="0" pn="section-toc.1-1.3.2.5.1"><xref derivedContent="3.5" format="counter" sectionFormat="of" target="section-3.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-related-round-trip-delay-an">Related Round-Trip Delay and Loss Definitions</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.6">
                <t indent="0" pn="section-toc.1-1.3.2.6.1"><xref derivedContent="3.6" format="counter" sectionFormat="of" target="section-3.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-discussion">Discussion</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.7">
                <t indent="0" pn="section-toc.1-1.3.2.7.1"><xref derivedContent="3.7" format="counter" sectionFormat="of" target="section-3.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-reporting-the-metric">Reporting the Metric</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" 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-route-assessment-methodolog">Route Assessment Methodologies</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 indent="0" 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-active-methodologies">Active Methodologies</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.1.2">
                  <li pn="section-toc.1-1.4.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.1.2.1.1"><xref derivedContent="4.1.1" format="counter" sectionFormat="of" target="section-4.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-temporal-composition-for-ro">Temporal Composition for Route Metrics</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.4.2.1.2.2.1"><xref derivedContent="4.1.2" format="counter" sectionFormat="of" target="section-4.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-routing-class-identificatio">Routing Class Identification</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.1.2.3">
                    <t indent="0" pn="section-toc.1-1.4.2.1.2.3.1"><xref derivedContent="4.1.3" format="counter" sectionFormat="of" target="section-4.1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-intermediate-observation-po">Intermediate Observation Point Route Measurement</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-hybrid-methodologies">Hybrid Methodologies</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-combining-different-methods">Combining Different Methods</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" 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-background-on-round-trip-de">Background on Round-Trip Delay Measurement Goals</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" 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-rtd-measurements-statistics">RTD Measurements Statistics</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" 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-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" 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-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" 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-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mpls-methods-for-route-asse">MPLS Methods for Route Assessment</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><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 indent="0" pn="section-1-1">The IETF IP Performance Metrics (IPPM) Working Group first created a
      framework for metric development in <xref target="RFC2330" format="default" sectionFormat="of" derivedContent="RFC2330"/>. This
      framework has stood the test of time and enabled development of many
      fundamental metrics. It has been updated in the area of metric
      composition <xref target="RFC5835" format="default" sectionFormat="of" derivedContent="RFC5835"/> and in several areas related to
      active stream measurement of modern networks with reactive properties
      <xref target="RFC7312" format="default" sectionFormat="of" derivedContent="RFC7312"/>.</t>
      <t indent="0" pn="section-1-2">The framework in <xref target="RFC2330" format="default" sectionFormat="of" derivedContent="RFC2330"/> motivated the development of
      "performance and reliability metrics for paths through the Internet";
      <xref target="RFC2330" section="5" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc2330#section-5" derivedContent="RFC2330"/> defines terms that support
      description of a path under test. However, metrics for assessment of
      paths and related performance aspects had not been attempted in IPPM
      when the framework in <xref target="RFC2330" format="default" sectionFormat="of" derivedContent="RFC2330"/> was written.</t>
      <t indent="0" pn="section-1-3">This memo takes up the Route measurement challenge and specifies a
      new Route metric, two practical frameworks for methods of measurement
      (using either active or hybrid active-passive methods <xref target="RFC7799" format="default" sectionFormat="of" derivedContent="RFC7799"/>), and Round-Trip Delay and link
      information discovery 
      using the results of measurements. All Route measurements are limited by
      the willingness of Hosts along the path to be discovered, to cooperate
      with the methods used, or to recognize that the measurement operation is
      taking place (such as when tunnels are present).</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-1.1">
        <name slugifiedName="name-issues-with-earlier-work-to">Issues with Earlier Work to Define a Route Metric</name>
        <t indent="0" pn="section-1.1-1"><xref target="RFC2330" section="7" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc2330#section-7" derivedContent="RFC2330"/> presents a simple example of
        a "Route" metric along with several other examples. The example is
        reproduced below (where the reference is to <xref target="RFC2330" section="5" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc2330#section-5" derivedContent="RFC2330"/>):</t>
        <blockquote pn="section-1.1-2">
          <dl newline="false" spacing="normal" indent="3" pn="section-1.1-2.1">
            <dt pn="section-1.1-2.1.1">route:</dt>
            <dd pn="section-1.1-2.1.2">The path, as defined in Section <xref target="RFC2330" section="5" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc2330#section-5" derivedContent="RFC2330"/>, from A to B at a given time.</dd>
          </dl>
        </blockquote>
        <t indent="0" pn="section-1.1-3">This example provides a starting point to develop a more complete
        definition of Route. Areas needing clarification include:</t>
        <dl newline="false" spacing="normal" indent="3" pn="section-1.1-4">
          <dt pn="section-1.1-4.1">Time:</dt>
          <dd pn="section-1.1-4.2">In practice, the Route will be assessed over a
            time interval because active path detection methods like Paris-traceroute <xref target="PT" format="default" sectionFormat="of" derivedContent="PT"/> rely on Hop Limits for their
            operation and cannot accomplish discovery of all Hosts using a
            single packet.</dd>
          <dt pn="section-1.1-4.3">Type-P:</dt>
          <dd pn="section-1.1-4.4">The legacy Route definition lacks the option
            to cater for packet-dependent routing. In this memo, we assess the
            Route for a specific packet of Type-P and reflect this in the
            metric definition. The methods of measurement determine the
            specific Type-P used.</dd>
          <dt pn="section-1.1-4.5">Parallel Paths:</dt>
          <dd pn="section-1.1-4.6">Parallel paths are a reality of the
            Internet and a strength of advanced Route assessment methods, so
            the metric must acknowledge this possibility. Use of Equal-Cost
            Multipath (ECMP) and Unequal-Cost Multipath (UCMP) technologies
            are common sources of parallel subpaths.</dd>
          <dt pn="section-1.1-4.7">Cloud Subpath:</dt>
          <dd pn="section-1.1-4.8">Cloud subpaths may contain Hosts that do not
            decrement the Hop Limit but may have two or more exchange links
            connecting "discoverable" Hosts or routers. Parallel subpaths
            contained within clouds cannot be discovered. The assessment
            methods only discover Hosts or routers on the path that decrement
            Hop Limit or cooperate with interrogation protocols. The presence
            of tunnels and nested tunnels further complicate assessment by
            hiding Hops.</dd>
          <dt pn="section-1.1-4.9">Hop:</dt>
          <dd pn="section-1.1-4.10">The definition of Hop in <xref target="RFC2330" format="default" sectionFormat="of" derivedContent="RFC2330"/> was a link-Host pair. However, only Hosts
	  that were discoverable and cooperated with
            interrogation protocols (where link information may be exposed) provided both link and Host information.</dd>
        </dl>
        <t indent="0" pn="section-1.1-5">Note that the actual definitions appear in <xref target="terms" format="default" sectionFormat="of" derivedContent="Section 3.1"/>.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-1.2">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-1.2-1">The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
	"<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", 
        "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
	"<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
	"<bcp14>MAY</bcp14>", and 
        "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described in BCP
        14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only 
        when, they appear in all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="Scope" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-scope">Scope</name>
      <t indent="0" pn="section-2-1">The purpose of this memo is to add new Route metrics and methods of
      measurement to the existing set of IPPM metrics.</t>
      <t indent="0" pn="section-2-2">The scope is to define Route metrics that can identify the path taken
      by a packet or a flow traversing the Internet between two Hosts.
      Although primarily intended for Hosts communicating on the Internet, the
      definitions and metrics are constructed to be applicable to other
      network domains, if desired. The methods of measurement to assess the
      path may not be able to discover all Hosts comprising the path, but such
      omissions are often deterministic and explainable sources of error.</t>
      <t indent="0" pn="section-2-3">This memo also specifies a framework for active methods of
      measurement that uses the techniques described in <xref target="PT" format="default" sectionFormat="of" derivedContent="PT"/>
      as well as a framework for hybrid active-passive methods of measurement,
      such as the Hybrid Type I method <xref target="RFC7799" format="default" sectionFormat="of" derivedContent="RFC7799"/> described in
      <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/>. Methods using <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/> are intended only for single
      administrative domains that provide a protocol for explicit
      interrogation of Nodes on a path. Combinations of active methods and
      hybrid active-passive methods are also in scope.</t>
      <t indent="0" pn="section-2-4">Further, this memo provides additional analysis of the Round-Trip
      Delay measurements made possible by the methods in an effort to
      discover more details about the path, such as the link technology in
      use.</t>
      <t indent="0" pn="section-2-5">This memo updates <xref target="RFC2330" section="5" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc2330#section-5" derivedContent="RFC2330"/> in the areas
      of path-related terminology and path description, primarily to include
      the possibility of parallel subpaths between a given Source and
      Destination address pair (possibly resulting from ECMP and UCMP technologies).</t>
      <t indent="0" pn="section-2-6">There are several simple non-goals of this memo. There is no attempt
      to assess the reverse path from any Host on the path to the Host
      attempting the path measurement. The reverse path contribution to delay
      will be that experienced by ICMP packets (in active methods) and may be
      different from delays experienced by UDP or TCP packets. Also, the
      Round-Trip Delay will include an unknown contribution of processing time
      at 
      the Host that generates the ICMP response. Therefore, the ICMP-based
      active methods are not supposed to yield accurate, reproducible
      estimations of the Round-Trip Delay that UDP or TCP packets will
      experience.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-route-metric-specifications">Route Metric Specifications</name>
      <t indent="0" pn="section-3-1">This section sets requirements for the components of the route
      metric.</t>
      <section numbered="true" toc="include" anchor="terms" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-terms-and-definitions">Terms and Definitions</name>
        <t indent="0" pn="section-3.1-1"/>
        <dl newline="true" spacing="normal" indent="3" pn="section-3.1-2">
          <dt pn="section-3.1-2.1">Host</dt>
          <dd pn="section-3.1-2.2">A Host (as defined in <xref target="RFC2330" format="default" sectionFormat="of" derivedContent="RFC2330"/>) is
            a computer capable of IP communication, including routers (aka an
            RFC 2330 Host).</dd>
          <dt pn="section-3.1-2.3">Node </dt>
          <dd pn="section-3.1-2.4">A Node is any network function on the path
            capable of IP-layer Communication, including RFC 2330 Hosts.</dd>
          <dt pn="section-3.1-2.5">Node Identity</dt>
          <dd pn="section-3.1-2.6">The Node identity is the unique address for Nodes
            communicating within the network domain. For Nodes communicating
            on the Internet with IP, it is the globally routable IP address
            that the Node uses when communicating with other Nodes under
            normal or error conditions. The Node identity revealed (and its
            connection to a Node name through reverse DNS) determines whether
            interfaces to parallel links can be associated with a single Node
            or appear to identify unique Nodes.</dd>
          <dt pn="section-3.1-2.7">Discoverable Node</dt>
          <dd pn="section-3.1-2.8">Discoverable Nodes are Nodes that convey their Node
            identity according to the requirements of their network domain,
            such as when error conditions are detected by that Node. For Nodes
            communicating with IP packets, compliance with
            <xref target="RFC1122" section="3.2.2.4" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc1122#section-3.2.2.4" derivedContent="RFC1122"/>, when
	    discarding a packet due to TTL or 
            Hop Limit Exceeded condition, <bcp14>MUST</bcp14> result in sending the
            corresponding Time Exceeded message (containing a form of Node
            identity) to the source. This requirement is also consistent with
            <xref target="RFC1812" sectionFormat="of" section="5.3.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc1812#section-5.3.1" derivedContent="RFC1812"/> for routers.</dd>
          <dt pn="section-3.1-2.9">Cooperating Node</dt>
          <dd pn="section-3.1-2.10">Cooperating Nodes are Nodes that respond to direct
            queries for their Node identity as part of a previously established and
            agreed upon interrogation protocol. Nodes <bcp14>SHOULD</bcp14> also provide
            information such as arrival/departure interface identification,
            arrival timestamp, and any relevant information about the Node or
            specific link that delivered the query to the Node.</dd>
          <dt pn="section-3.1-2.11">Hop specification</dt>
          <dd pn="section-3.1-2.12">A Hop specification <bcp14>MUST</bcp14> contain a
            Node identity and <bcp14>MAY</bcp14> contain arrival and/or departure interface
            identification, Round-Trip Delay, and an arrival timestamp.</dd>
          <dt pn="section-3.1-2.13">Routing Class</dt>
          <dd pn="section-3.1-2.14">Routing Class is a Route that treats a class of
            different types of packets, designated "C" (unrelated to address
            classes of the past) equally (<xref target="RFC2330" format="default" sectionFormat="of" derivedContent="RFC2330"/> <xref target="RFC8468" format="default" sectionFormat="of" derivedContent="RFC8468"/>). Knowledge of such a class allows any one of
            the types of packets within that class to be used for subsequent
            measurement of the Route. The designator "class C" is used for
            historical reasons; see <xref target="RFC2330" format="default" sectionFormat="of" derivedContent="RFC2330"/>.</dd>
        </dl>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-formal-name">Formal Name</name>
        <t indent="0" pn="section-3.2-1">The formal name of the metric is:</t>
        <t indent="0" pn="section-3.2-2"> Type-P-Route-Ensemble-Method-Variant </t>
        <t indent="0" pn="section-3.2-3">abbreviated as Route Ensemble.</t>
        <t indent="0" pn="section-3.2-4">Note that Type-P depends heavily on the chosen method and
        variant.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.3">
        <name slugifiedName="name-parameters">Parameters</name>
        <t indent="0" pn="section-3.3-1">This section lists the <bcp14>REQUIRED</bcp14> input factors to define and measure
        a Route metric, as specified in this memo.</t>
        <dl spacing="normal" indent="3" newline="false" pn="section-3.3-2">
          <dt pn="section-3.3-2.1">Src:</dt>
          <dd pn="section-3.3-2.2"> the address of a Node (such as the globally routable IP
            address).</dd>
          <dt pn="section-3.3-2.3">Dst:</dt>
          <dd pn="section-3.3-2.4"> the address of a Node (such as the globally routable IP
            address).</dd>
          <dt pn="section-3.3-2.5">i:</dt>
          <dd pn="section-3.3-2.6"> the limit on the number of Hops a specific packet may visit
            as it traverses from the Node at Src to the Node at Dst (such as
            the TTL or Hop Limit).</dd>
          <dt pn="section-3.3-2.7">MaxHops:</dt>
          <dd pn="section-3.3-2.8"> the maximum value of i used (i=1,2,3,...MaxHops).</dd>
          <dt pn="section-3.3-2.9">T0:</dt>
          <dd pn="section-3.3-2.10">a time (start of measurement interval).</dd>
          <dt pn="section-3.3-2.11">Tf:</dt>
          <dd pn="section-3.3-2.12">a time (end of measurement interval).</dd>
          <dt pn="section-3.3-2.13">MP(address):</dt>
          <dd pn="section-3.3-2.14">the Measurement Point at address, such as Src or Dst,
            usually at the same Node stack layer as "address".</dd>
          <dt pn="section-3.3-2.15">T:</dt>
          <dd pn="section-3.3-2.16"> the Node time of a packet as measured at MP(Src), meaning
            Measurement Point at the Source.</dd>
          <dt pn="section-3.3-2.17">Ta:</dt>
          <dd pn="section-3.3-2.18"> the Node time of a reply packet's <strong>arrival</strong> as measured at
            MP(Src), assigned to packets that arrive within a "reasonable"
            time (see parameter below).</dd>
          <dt pn="section-3.3-2.19">Tmax:</dt>
          <dd pn="section-3.3-2.20"> a maximum waiting time for reply packets to return to the
            source, set sufficiently long to disambiguate packets with long
            delays from packets that are discarded (lost), such that the
            distribution of Round-Trip Delay is not truncated.</dd>
          <dt pn="section-3.3-2.21">F:</dt>
          <dd pn="section-3.3-2.22"> the number of different flows simulated by the method and
            variant.</dd>
          <dt pn="section-3.3-2.23">flow:</dt>
          <dd pn="section-3.3-2.24"> the stream of packets with the same n-tuple of designated
            header fields that (when held constant) result in identical
            treatment in a multipath decision (such as the decision taken in
            load balancing). Note: The IPv6 flow label <bcp14>MAY</bcp14> be included in the
            flow definition if the MP(Src) is a Tunnel Endpoint (TEP)
            complying with the guidelines in <xref target="RFC6438" format="default" sectionFormat="of" derivedContent="RFC6438"/>.</dd>
          <dt pn="section-3.3-2.25">Type-P:</dt>
          <dd pn="section-3.3-2.26"> the complete description of the packets for which this
            assessment applies (including the flow-defining fields).</dd>
        </dl>
      </section>
      <section numbered="true" toc="include" anchor="Metric" removeInRFC="false" pn="section-3.4">
        <name slugifiedName="name-metric-definitions">Metric Definitions</name>
        <t indent="0" pn="section-3.4-1">This section defines the <bcp14>REQUIRED</bcp14> measurement components of the
        Route metrics (unless otherwise indicated):</t>
        <dl spacing="normal" indent="3" newline="false" pn="section-3.4-2">
          <dt pn="section-3.4-2.1">M:</dt>
          <dd pn="section-3.4-2.2"> the total number of packets sent between T0 and Tf.</dd>
          <dt pn="section-3.4-2.3">N:</dt>
          <dd pn="section-3.4-2.4"> the smallest value of i needed for a packet to be received at
        Dst (sent between T0 and Tf).</dd>
          <dt pn="section-3.4-2.5">Nmax:</dt>
          <dd pn="section-3.4-2.6"> the largest value of i needed for a packet to be received at
        Dst (sent between T0 and Tf). Nmax may be equal to N.</dd>
        </dl>
        <t indent="0" pn="section-3.4-3">Next, define a <strong>singleton</strong> for a Node on the path with
        sufficient indexes to identify all Nodes identified in a measurement
        interval (where <strong>singleton</strong> is part of the IPPM Framework <xref target="RFC2330" format="default" sectionFormat="of" derivedContent="RFC2330"/>).</t>
        <dl spacing="normal" indent="3" newline="false" pn="section-3.4-4">
          <dt pn="section-3.4-4.1">singleton:</dt>
          <dd pn="section-3.4-4.2">A Hop specification, designated h(i,j), the IP address and/or
        identity of Discoverable Nodes (or Cooperating Nodes) that are i Hops
        away from the Node with address = Src and part of Route j during the
        measurement interval T0 to Tf. As defined here, a Hop singleton
        measurement <bcp14>MUST</bcp14> contain a Node identity, hid(i,j), and <bcp14>MAY</bcp14> contain
        one or more of the following attributes:</dd>
        </dl>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.4-5">
          <li pn="section-3.4-5.1">a(i,j) Arrival Interface ID (e.g., when <xref target="RFC5837" format="default" sectionFormat="of" derivedContent="RFC5837"/> is supported)</li>
          <li pn="section-3.4-5.2">d(i,j) Departure Interface ID (e.g., when <xref target="RFC5837" format="default" sectionFormat="of" derivedContent="RFC5837"/> is supported)</li>
          <li pn="section-3.4-5.3">t(i,j) arrival timestamp, where t(i,j) is ideally supplied by
            the Hop (note that t(i,j) might be approximated from the sending
            time of the packet that revealed the Hop, e.g., when the
	  round-trip response time is available and divided by 2)</li>
          <li pn="section-3.4-5.4">Measurements of Round-Trip Delay (for each packet that reveals
            the same Node identity and flow attributes, then this attribute is
            computed; see next section)</li>
        </ul>
        <t indent="0" pn="section-3.4-6">Node identities and related information can be ordered by their
        distance from the Node with address Src in Hops h(i,j). Based on this,
        two forms of Routes are distinguished:</t>
        <t indent="0" pn="section-3.4-7">A Route Ensemble is defined as the combination of all Routes
        traversed by different flows from the Node at Src address to the Node
        at Dst address. A single Route traversed by a single flow (determined
        by an unambiguous tuple of addresses Src and Dst and other identical
        flow criteria) is a member of the Route Ensemble and called a Member
        Route.</t>
        <t indent="0" pn="section-3.4-8">Using h(i,j) and components and parameters further define:</t>
        <t indent="0" pn="section-3.4-9">When considering the set of Hops in the context of a single flow, a
        Member Route j is an ordered list {h(1,j), ... h(Nj, j)} where h(i-1,
        j) and h(i, j) are one Hop away from each other and Nj satisfying
        h(Nj,j)=Dst is the minimum count of Hops needed by the packet on
        member Route j to reach Dst. Member Routes must be unique. The
        uniqueness property requires that any two Member Routes, j and k, that
        are part of the same Route Ensemble differ either in terms of minimum
        Hop count Nj and Nk to reach the destination Dst or, in the case of
        identical Hop count Nj=Nk, they have at least one distinct Hop: h(i,j)
        != h(i,k) for at least one i (i=1..Nj).</t>
        <t indent="0" pn="section-3.4-10">All the optional information collected to describe a Member Route,
        such as the arrival interface, departure interface, and Round-Trip
        Delay at each Hop, turns each list item into a rich structure. There
        may be information on the links between Hops, possible information on
        the routing (arrival interface and departure interface), an estimate
        of distance between Hops based on Round-Trip Delay measurements and
        calculations, and a timestamp indicating when all these additional
        details were measured.</t>
        <t indent="0" pn="section-3.4-11">The Route Ensemble from Src to Dst, during the measurement interval
        T0 to Tf, is the aggregate of all m distinct Member Routes discovered
        between the two Nodes with Src and Dst addresses. More formally, with
        the Node having address Src omitted:</t>
        <sourcecode name="" markers="false" pn="section-3.4-12">
Route Ensemble = {
{h(1,1), h(2,1), h(3,1), ... h(N1,1)=Dst},
{h(1,2), h(2,2), h(3,2),..., h(N2,2)=Dst},
...
{h(1,m), h(2,m), h(3,m), ....h(Nm,m)=Dst}
}
</sourcecode>
        <t indent="0" pn="section-3.4-13">where the following conditions apply: i &lt;= Nj &lt;= Nmax
        (j=1..m)</t>
        <t indent="0" pn="section-3.4-14">Note that some h(i,j) may be empty (null) in the case that systems
        do not reply (not discoverable or not cooperating).</t>
        <t indent="0" pn="section-3.4-15">h(i-1,j) and h(i,j) are the Hops on the same Member Route one Hop
        away from each other.</t>
        <t indent="0" pn="section-3.4-16">Hop h(i,j) may be identical with h(k,l) for i!=k and j!=l, which
        means there may be portions shared among different Member Routes
        (parts of Member Routes may overlap).</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.5">
        <name slugifiedName="name-related-round-trip-delay-an">Related Round-Trip Delay and Loss Definitions</name>
        <t indent="0" pn="section-3.5-1">RTD(i,j,T) is defined as a singleton of the <xref target="RFC2681" format="default" sectionFormat="of" derivedContent="RFC2681"/> Round-Trip Delay between the Node with address = 
        Src and the Node at Hop h(i,j) at time T.</t>
        <t indent="0" pn="section-3.5-2">RTL(i,j,T) is defined as a singleton of the <xref target="RFC6673" format="default" sectionFormat="of" derivedContent="RFC6673"/> Round-Trip Loss between the Node with address = Src 
        and the Node at Hop h(i,j) at time T.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.6">
        <name slugifiedName="name-discussion">Discussion</name>
        <t indent="0" pn="section-3.6-1">Depending on the way that the Node identity is revealed, it may be
        difficult to determine parallel subpaths between the same pair of
        Nodes (i.e., multiple parallel links). It is easier to detect parallel
        subpaths involving different Nodes.</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.6-2">
          <li pn="section-3.6-2.1">If a pair of discovered Nodes identify two different addresses
            (IP or not), then they will appear to be different Nodes. See item
            below.</li>
          <li pn="section-3.6-2.2">If a pair of discovered Nodes identify two different IP
            addresses and the IP addresses resolve to the same Node name (in
            the DNS), then they will appear to be the same Node.</li>
          <li pn="section-3.6-2.3">If a discovered Node always replies using the same network
            address, regardless of the interface a packet arrives on, then
            multiple parallel links cannot be detected in that network domain.
            This condition may apply to traceroute-style methods but may not
            apply to other hybrid methods based on In situ Operations,
            Administration, and Maintenance (IOAM). For example, if the ICMP extension mechanism described in <xref target="RFC5837" format="default" sectionFormat="of" derivedContent="RFC5837"/> is
	    implemented, then 
            parallel links can be detected with the discovery traceroute-style
            methods. </li>
          <li pn="section-3.6-2.4">If parallel links between routers are aggregated below the IP
            layer, then, from the Node's point of view, all these links share the
            same pair of IP addresses. The existence of these parallel links
            can't be detected at the IP layer. This applies to other network
            domains with layers below them as well. This condition may apply
            to traceroute-style methods but may not apply to other hybrid
            methods based on IOAM.</li>
        </ul>
        <t indent="0" pn="section-3.6-3">When a Route assessment employs IP packets (for example), the
        reality of flow assignment to parallel subpaths involves layers above
        IP. Thus, the measured Route Ensemble is applicable to IP and higher
        layers (as described in the methodology's packet of Type-P and flow
        parameters).</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.7">
        <name slugifiedName="name-reporting-the-metric">Reporting the Metric</name>
        <t indent="0" pn="section-3.7-1">An Information Model and an XML Data Model for Storing Traceroute
        Measurements is available in <xref target="RFC5388" format="default" sectionFormat="of" derivedContent="RFC5388"/>. The measured
        information at each Hop includes four pieces of information: a
        one-dimensional Hop index, Node symbolic address, Node IP address, and
        RTD for each response.</t>
        <t indent="0" pn="section-3.7-2">The description of Hop information that may be collected according
        to this memo covers more dimensions, as defined in <xref target="Metric" format="default" sectionFormat="of" derivedContent="Section 3.4"/>.
        For example, the Hop index is two-dimensional to capture the
        complexity of a Route Ensemble, and it contains corresponding Node
        identities at a minimum. The models need to be expanded to include
        these features as well as Arrival Interface ID, Departure Interface
        ID, and arrival timestamp, when available. The original sending
        Timestamp from the Src Node anchors a particular measurement in
        time.</t>
      </section>
    </section>
    <section anchor="Methodologies" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-route-assessment-methodolog">Route Assessment Methodologies</name>
      <t indent="0" pn="section-4-1">There are two classes of methods described in this section, active
      methods relying on the reaction to TTL or Hop Limit Exceeded condition
      to discover Nodes on a path and hybrid active-passive methods that
      involve direct interrogation of Cooperating Nodes (usually within a
      single domain). Description of these methods follow.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-active-methodologies">Active Methodologies</name>
        <t indent="0" pn="section-4.1-1">This section describes the method employed by current open-source
        tools, thereby providing a practical framework for further advanced
        techniques to be included as method variants. This method is
        applicable for use across multiple administrative domains.</t>
        <t indent="0" pn="section-4.1-2">Internet routing is complex because it depends on the policies of
        thousands of Autonomous Systems (ASes). Most routers perform load
        balancing on flows using a form of ECMP.
        <xref target="RFC2991" format="default" sectionFormat="of" derivedContent="RFC2991"/> describes a number of flow-based or hashed
        approaches (e.g., Modulo-N Hash, Hash-Threshold, and Highest Random Weight
        (HRW)) and makes some good suggestions. Flow-based ECMP avoids
        increased packet Delay Variation and possibly overwhelming levels of
        packet reordering in flows.</t>
        <t indent="0" pn="section-4.1-3">A few routers still divide the workload through packet-based
        techniques, such as a round-robin scheme to distribute every new
        outgoing packet to multiple links, as explained in <xref target="RFC2991" format="default" sectionFormat="of" derivedContent="RFC2991"/>. The methods described in this
	section assume flow-based ECMP.</t>
        <t indent="0" pn="section-4.1-4">Taking into account that Internet protocol was designed under the
        "end-to-end" principle, the IP payload and its header do
        not provide any information about the Routes or path necessary to
        reach some destination. For this reason, the popular tool, traceroute,
        was developed to gather the IP addresses of each Hop along a path
        using ICMP <xref target="RFC0792" format="default" sectionFormat="of" derivedContent="RFC0792"/>. Traceroute also
        measures RTD from each Hop. However, the growing complexity of the
        Internet makes it more challenging to develop an accurate traceroute
        implementation. For instance, the early traceroute tools would be
        inaccurate in the current network, mainly because they were not
        designed to retain a flow state. However, evolved traceroute tools,
        such as Paris-traceroute (<xref target="PT" format="default" sectionFormat="of" derivedContent="PT"/> <xref target="MLB" format="default" sectionFormat="of" derivedContent="MLB"/>) and 
        Scamper (<xref target="SCAMPER" format="default" sectionFormat="of" derivedContent="SCAMPER"/>), expect to encounter ECMP and achieve
        more accurate results when they do, where Scamper ensures traceroute
        packets will follow the same path in 98% of cases (<xref target="SCAMPER" format="default" sectionFormat="of" derivedContent="SCAMPER"/>).</t>
        <t indent="0" pn="section-4.1-5">Today's traceroute tools send Type-P of packets, which are either ICMP, UDP,
        or TCP. UDP and TCP are used when a particular characteristic needs to
        be verified, such as filtering or traffic shaping on specific ports
        (i.e., services). UDP and TCP traceroute are also used when ICMP
        responses are not received. <xref target="SCAMPER" format="default" sectionFormat="of" derivedContent="SCAMPER"/> supports IPv6
        traceroute measurements, keeping the Flow Label constant in all
        packets.</t>
        <t indent="0" pn="section-4.1-6">Paris-traceroute allows its users to measure the RTD to every Node
        of the path for a particular flow. Furthermore, either
        Paris-traceroute or Scamper is capable of unveiling the many available
        paths between a source and destination (which are visible to active
        methods). This task is accomplished by repeating complete traceroute
        measurements with different flow parameters for each measurement;
        Paris-traceroute provides an "exhaustive" mode, while Scamper
        provides "tracelb" (which stands for "traceroute load balance").
        <xref target="RFC2330" format="default" sectionFormat="of" derivedContent="RFC2330">"Framework for IP Performance Metrics"</xref>, updated by <xref target="RFC7312" format="default" sectionFormat="of" derivedContent="RFC7312"> </xref>, has the 
        flexibility to require that the Round-Trip Delay measurement <xref target="RFC2681" format="default" sectionFormat="of" derivedContent="RFC2681"/> uses packets with the constraints
	to assure that 
        all packets in a single measurement appear as the same flow. This
        flexibility covers ICMP, UDP, and TCP. The accompanying methodology of
        <xref target="RFC2681" format="default" sectionFormat="of" derivedContent="RFC2681"/> needs to be expanded to report the sequential
        Hop identifiers along with RTD measurements, but no new metric
        definition is needed.</t>
        <t indent="0" pn="section-4.1-7">The advanced Route assessment methods used in Paris-traceroute
        <xref target="PT" format="default" sectionFormat="of" derivedContent="PT"/> keep the critical fields constant for every packet
        to maintain the appearance of the same flow. When considering IPv6
        headers, it is necessary to ensure that the IP Source and Destination
        addresses and Flow Label are constant (but note that many routers
        ignore the Flow Label field at this time); see <xref target="RFC6437" format="default" sectionFormat="of" derivedContent="RFC6437"/>. Use of IPv6 Extension Headers may add critical 
        fields and <bcp14>SHOULD</bcp14> be avoided. In IPv4, certain fields of the IP
        header and the first 4 bytes of the IP payload should remain
        constant in a flow. In the IPv4 header, the IP Source and Destination
        addresses, protocol number, and Diffserv fields identify flows. The
        first 4 payload bytes include the UDP and TCP ports and the ICMP
        type, code, and checksum fields.</t>
        <t indent="0" pn="section-4.1-8">Maintaining a constant ICMP checksum in IPv4 is most challenging,
        as the ICMP sequence number or identifier fields will usually change
        for different probes of the same path. Probes should use arbitrary
        bytes in the ICMP data field to offset changes to the sequence number and
        identifier, thus keeping the checksum constant.</t>
        <t indent="0" pn="section-4.1-9">Finally, it is also essential to Route the resulting ICMP Time
        Exceeded messages along a consistent path. In IPv6, the fields above
        are sufficient.
	In IPv4, the ICMP Time Exceeded message will contain
        the IP header and the first 8 bytes of the IP payload, both of which
        affect its ICMP checksum calculation. The TCP sequence number, UDP length, and
        UDP checksum will affect this value and should remain constant.</t>
        <t indent="0" pn="section-4.1-10">Formally, to maintain the same flow in the measurements to a
        particular Hop, the Type-P-Route-Ensemble-Method-Variant packets
        should have the following attributes (see <xref target="PT" format="default" sectionFormat="of" derivedContent="PT"/>):</t>
        <dl spacing="normal" indent="3" newline="false" pn="section-4.1-11">
          <dt pn="section-4.1-11.1">TCP case:</dt>
          <dd pn="section-4.1-11.2"> For IPv4, the fields Src, Dst, port-Src, port_Dst,
            sequence number, and Diffserv <bcp14>SHOULD</bcp14> be the same. For IPv6,
            the fields Flow Label, Src, and Dst <bcp14>SHOULD</bcp14> be the same.</dd>
          <dt pn="section-4.1-11.3">UDP case:</dt>
          <dd pn="section-4.1-11.4"> For IPv4, the fields Src, Dst, port-Src, port-Dst, and
            Diffserv should be the same, and the UDP checksum <bcp14>SHOULD</bcp14> change to
            keep the IP checksum of the ICMP Time Exceeded reply constant.
            Then, the data length should be fixed, and the data field is used
            to make it so (consider that ICMP checksum uses its data field,
            which contains the original IP header plus 8 bytes of UDP, where
            TTL, IP identification, IP checksum, and UDP checksum changes).
            For IPv6, the field Flow Label and Source and Destination
            addresses <bcp14>SHOULD</bcp14> be the same.</dd>
          <dt pn="section-4.1-11.5">ICMP case:</dt>
          <dd pn="section-4.1-11.6"> For IPv4, the data field <bcp14>SHOULD</bcp14> compensate
            variations on TTL or Hop Limit, IP identification, and IP checksum
            for every packet. There is no need to consider ICMPv6 because only
            Flow Label of IPv6 and Source and Destination addresses are used,
            and all of them <bcp14>SHOULD</bcp14> be constant.</dd>
        </dl>
        <t indent="0" pn="section-4.1-12">Then, the way to identify different Hops and attempts of the same
        IPv4 flow is:</t>
        <dl spacing="normal" indent="3" newline="false" pn="section-4.1-13">
          <dt pn="section-4.1-13.1">TCP case:</dt>
          <dd pn="section-4.1-13.2"> The IP identification field.</dd>
          <dt pn="section-4.1-13.3">UDP case:</dt>
          <dd pn="section-4.1-13.4"> The IP identification field.</dd>
          <dt pn="section-4.1-13.5">ICMP case:</dt>
          <dd pn="section-4.1-13.6"> The IP identification field and ICMP sequence
            number.</dd>
        </dl>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.1.1">
          <name slugifiedName="name-temporal-composition-for-ro">Temporal Composition for Route Metrics</name>
          <t indent="0" pn="section-4.1.1-1">The active Route assessment methods described above have the
          ability to discover portions of a path where ECMP load balancing is
          present, observed as two or more unique Member Routes having one or
          more distinct Hops that are part of the Route Ensemble. Likewise,
          attempts to deliberately vary the flow characteristics to discover
          all Member Routes will reveal portions of the path that are
          flow invariant.</t>
          <t indent="0" pn="section-4.1.1-2"><xref target="RFC2330" section="9.2" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc2330#section-9.2" derivedContent="RFC2330"/> describes the Temporal
          Composition of metrics and introduces the possibility of a
          relationship between earlier measurement results and the results for
          measurement at the current time (for a given metric). There is value
          in establishing a Temporal Composition relationship for Route
          metrics; however, this relationship does not represent a forecast of
          future Route conditions in any way.</t>
          <t indent="0" pn="section-4.1.1-3">For Route-metric measurements, the value of Temporal Composition
          is to reduce the measurement iterations required with repeated
          measurements. Reduced iterations are possible by inferring that
          current measurements using fixed and previously measured flow
          characteristics:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1.1-4">
            <li pn="section-4.1.1-4.1">will have many common Hops with previous measurements.</li>
            <li pn="section-4.1.1-4.2">will have relatively time-stable results at the ingress and
              egress portions of the path when measured from user locations,
              as opposed to measurements of backbone networks and across
              inter-domain gateways.</li>
            <li pn="section-4.1.1-4.3">may have greater potential for time variation in path
              portions where ECMP load balancing is observed (because
              increasing or decreasing the pool of links changes the hash
              calculations).</li>
          </ul>
          <t indent="0" pn="section-4.1.1-5">Optionally, measurement systems may take advantage of the
          inferences above when seeking to reduce measurement iterations
          after exhaustive measurements indicate that the time-stable
          properties are present. Repetitive active Route measurement
          systems:</t>
          <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4.1.1-6">
	    <li pn="section-4.1.1-6.1" derivedCounter="1.">
              <bcp14>SHOULD</bcp14> occasionally check path portions that have exhibited
              stable results over time, particularly ingress and egress
              portions of the path (e.g., daily checks if measuring many times
              during a day).</li>
            <li pn="section-4.1.1-6.2" derivedCounter="2.">
              <bcp14>SHOULD</bcp14> continue testing portions of the path that have
              previously exhibited ECMP load balancing.</li>
            <li pn="section-4.1.1-6.3" derivedCounter="3.">
              <bcp14>SHALL</bcp14> trigger reassessment of the complete path and Route
              Ensemble if any change in Hops is observed for a specific (and
              previously tested) flow.</li>
          </ol>
          <t indent="0" pn="section-4.1.1-7"/>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.1.2">
          <name slugifiedName="name-routing-class-identificatio">Routing Class Identification</name>
          <t indent="0" pn="section-4.1.2-1">There is an opportunity to apply the notion from <xref target="RFC2330" format="default" sectionFormat="of" derivedContent="RFC2330"/>
          of equal treatment for a class of packets, "...very useful to
          know if a given Internet component treats equally a class C of
          different types of packets", as it applies to Route measurements.
          The notion of class C was examined further in <xref target="RFC8468" format="default" sectionFormat="of" derivedContent="RFC8468"/> as it applied to load-balancing flows over 
          parallel paths, which is the case we develop here. Knowledge of
          class C parameters (unrelated to address classes of the past) on a
          path potentially reduces the number of flows required for a given
          method to assess a Route Ensemble over time.</t>
          <t indent="0" pn="section-4.1.2-2">First, recognize that each Member Route of a Route Ensemble will
          have a corresponding class C. Class C can be discovered by testing
          with multiple flows, all of which traverse the unique set of Hops
          that comprise a specific Member Route.</t>
          <t indent="0" pn="section-4.1.2-3">Second, recognize that the different classes depend primarily on
          the hash functions used at each instance of ECMP load balancing on
          the path.</t>
          <t indent="0" pn="section-4.1.2-4">Third, recognize the synergy with Temporal Composition methods
          (described above), where evaluation intends to discover time-stable
          portions of each Member Route so that more emphasis can be placed
          on ECMP portions that also determine class C.</t>
          <t indent="0" pn="section-4.1.2-5">The methods to assess the various class C characteristics benefit
          from the following measurement capabilities:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1.2-6">
            <li pn="section-4.1.2-6.1">flows designed to determine which n-tuple header fields are
              considered by a given hash function and ECMP Hop on the path
              and which are not. This operation immediately narrows the search
              space, where possible, and partially defines a class C.</li>
            <li pn="section-4.1.2-6.2">a priori knowledge of the possible types of hash functions in
              use also helps to design the flows for testing (major router
              vendors publish information about these hash functions; examples
              are in <xref target="LOAD_BALANCE" format="default" sectionFormat="of" derivedContent="LOAD_BALANCE"/>).</li>
            <li pn="section-4.1.2-6.3">ability to direct the emphasis of current measurements on
              ECMP portions of the path, based on recent past measurement
              results (the Routing Class of some portions of the path is
              essentially "all packets").</li>
          </ul>
          <t indent="0" pn="section-4.1.2-7"/>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.1.3">
          <name slugifiedName="name-intermediate-observation-po">Intermediate Observation Point Route Measurement</name>
          <t indent="0" pn="section-4.1.3-1">There are many examples where passive monitoring of a flow at an
          Observation Point within the network can detect unexpected
	  Round-Trip Delay or Delay Variation. But how can the cause of the 
          anomalous delay be investigated further <strong>from the Observation Point</strong>
          possibly located at an intermediate point on the path?</t>
          <t indent="0" pn="section-4.1.3-2">In this case, knowledge that the flow of interest belongs to a
          specific Routing Class C will enable measurement of the Route where
          anomalous delay has been observed. Specifically, Round-Trip Delay
          assessment to each Hop on the path between the Observation Point and
          the Destination for the flow of interest may discover high or
          variable delay on a specific link and Hop combination.</t>
          <t indent="0" pn="section-4.1.3-3">The determination of a Routing Class C that includes the flow of
          interest is as described in the section above, aided by computation
          of the relevant hash function output as the target.</t>
          <t indent="0" pn="section-4.1.3-4"/>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-hybrid-methodologies">Hybrid Methodologies</name>
        <t indent="0" pn="section-4.2-1">The Hybrid Type I methods provide an alternative for Route
        assessment.
	The "Scope, Applicability, and Assumptions" section of <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/> provides one possible set of data 
        fields that would support Route identification.</t>
        <t indent="0" pn="section-4.2-2">In general, Nodes in the measured domain would be equipped with
        specific abilities:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.2-3">
          <li pn="section-4.2-3.1">Store the identity of Nodes that a packet has visited in header
            data fields in the order the packet visited the Nodes.</li>
          <li pn="section-4.2-3.2">Support of a "Loopback" capability where a copy of the packet
            is returned to the encapsulating Node and the packet is processed
            like any other IOAM packet on the return transfer.</li>
        </ul>
        <t indent="0" pn="section-4.2-4">In addition to Node identity, Nodes may also identify the ingress
        and egress interfaces utilized by the tracing packet, the absolute
        time when the packet was processed, and other generic data (as
        described in <xref target="RFC9197" sectionFormat="of" section="3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9197#section-3" derivedContent="RFC9197"/>).
        Interface identification isn't necessarily limited to IP, i.e.,
        different links in a bundle (Link Aggregation Control Protocol (LACP))
	could be identified. Equally well, 
        links without explicit IP addresses can be identified (like with
        unnumbered interfaces in an IGP deployment).</t>
        <t indent="0" pn="section-4.2-5">Note that the Type-P packet specification for this method will
        likely be a partial specification because most of the packet fields
        are determined by the user traffic. The packet encapsulation
        header or headers added by the hybrid method can certainly be specified in
        Type-P, in unpopulated form.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-4.3">
        <name slugifiedName="name-combining-different-methods">Combining Different Methods</name>
        <t indent="0" pn="section-4.3-1">In principle, there are advantages if the entity conducting Route
        measurements can utilize both forms of advanced methods (active and
        hybrid) and combine the results. For example, if there are Nodes
        involved in the path that qualify as Cooperating Nodes but not as
        Discoverable Nodes, then a more complete view of Hops on the path is
        possible when a hybrid method (or interrogation protocol) is applied
        and the results are combined with the active method results collected
        across all other domains.</t>
        <t indent="0" pn="section-4.3-2">In order to combine the results of active and hybrid/interrogation
        methods, the network Nodes that are part of a domain supporting an
        interrogation protocol have the following attributes: </t>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4.3-3">
	  <li pn="section-4.3-3.1" derivedCounter="1.">Nodes at the ingress to the domain <bcp14>SHOULD</bcp14> be both Discoverable
            and Cooperating.</li>
          <li pn="section-4.3-3.2" derivedCounter="2.">Any Nodes within the domain that are both Discoverable and
            Cooperating <bcp14>SHOULD</bcp14> reveal the same Node identity in response to
            both active and hybrid methods.</li>
          <li pn="section-4.3-3.3" derivedCounter="3.">Nodes at the egress to the domain <bcp14>SHOULD</bcp14> be both Discoverable
            and Cooperating and <bcp14>SHOULD</bcp14> reveal the same Node identity in
            response to both active and hybrid methods.</li>
        </ol>
        <t indent="0" pn="section-4.3-4">When Nodes follow these requirements, it becomes a simple matter to
        match single-domain measurements with the overlapping results from a
        multidomain measurement.</t>
        <t indent="0" pn="section-4.3-5">In practice, Internet users do not typically have the ability to
        utilize the Operations, Administrations, and Maintenance (OAM)
	capabilities of networks that their packets traverse,
        so the results from a remote domain supporting an interrogation
        protocol would not normally be accessible. However, a network operator
        could combine interrogation results from their access domain with
        other measurements revealing the path outside their domain.</t>
      </section>
    </section>
    <section anchor="Cases" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-background-on-round-trip-de">Background on Round-Trip Delay Measurement Goals</name>
      <t indent="0" pn="section-5-1">The aim of this method is to use packet probes to unveil the paths
      between any two End-Nodes of the network. Moreover, information derived
      from RTD measurements might be meaningful to identify:</t>
      <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-5-2">
	<li pn="section-5-2.1" derivedCounter="1.">Intercontinental submarine links</li>
        <li pn="section-5-2.2" derivedCounter="2.">Satellite communications</li>
        <li pn="section-5-2.3" derivedCounter="3.">Congestion</li>
        <li pn="section-5-2.4" derivedCounter="4.">Inter-domain paths</li>
      </ol>
      <t indent="0" pn="section-5-3">This categorization is widely accepted in the literature and among
      operators alike, and it can be trusted with empirical data and several
      sources as ground of truth (e.g., <xref target="RTTSub" format="default" sectionFormat="of" derivedContent="RTTSub"/>), but it is an
      inference measurement nonetheless <xref target="bdrmap" format="default" sectionFormat="of" derivedContent="bdrmap"/> <xref target="IDCong" format="default" sectionFormat="of" derivedContent="IDCong"/>.</t>
      <t indent="0" pn="section-5-4">The first two categories correspond to the physical distance
      dependency on RTD, the next one binds RTD with
      queuing delay on routers, and the last one helps to identify different
      ASes using traceroutes. Due to the significant contribution of
      propagation delay in long-distance Hops, RTD will be on the order of
      100 ms on transatlantic Hops, depending on the geolocation of the vantage
      points. Moreover, RTD is typically higher than 480 ms when two Hops are
      connected using geostationary satellite technology (i.e., their orbit is
      at 36000 km). Detecting congestion with latency implies deeper
      mathematical understanding, since network traffic load is not stationary.
      Nonetheless, as the first approach, a link seems to be congested if
      observing different/varying statistical results after sending several
      traceroute probes (e.g., see <xref target="IDCong" format="default" sectionFormat="of" derivedContent="IDCong"/>). Finally, to
      recognize distinctive ASes in the same traceroute path is challenging
      because more data is needed, like AS relationships and Regional Internet
      Registry (RIR) delegations
      among others (for more details, please consult <xref target="bdrmap" format="default" sectionFormat="of" derivedContent="bdrmap"/>).</t>
    </section>
    <section anchor="Statistics" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-rtd-measurements-statistics">RTD Measurements Statistics</name>
      <t indent="0" pn="section-6-1">Several articles have shown that network traffic presents a
      self-similar nature <xref target="SSNT" format="default" sectionFormat="of" derivedContent="SSNT"/> <xref target="MLRM" format="default" sectionFormat="of" derivedContent="MLRM"/> that is 
      accountable for filling the queues of the routers. Moreover, router
      queues are designed to handle traffic bursts, which is one of the most
      remarkable features of self-similarity. Naturally, while queue length
      increases, the delay to traverse the queue increases as well and leads
      to an increase on RTD. Due to traffic bursts generating short-term
      overflow on buffers (spiky patterns), every RTD only depicts the
      queueing status on the instant when that packet probe was in transit.
      For this reason, several RTD measurements during a time window could
      begin to describe the random behavior of latency. Loss must also be
      accounted for in the methodology.</t>
      <t indent="0" pn="section-6-2">To understand the ongoing process, examining the quartiles provides a
      nonparametric way of analysis. Quartiles are defined by five values:
      minimum RTD (m), RTD value of the 25% of the Empirical Cumulative
      Distribution Function (ECDF) (Q1), the median value (Q2), the RTD value
      of the 75% of the ECDF (Q3), and the maximum RTD (M). Congestion can be
      inferred when RTD measurements are spread apart; consequently, the
      Interquartile Range (IQR), i.e., the distance between Q3 and Q1, increases
      its value.</t>
      <t indent="0" pn="section-6-3">This procedure requires the algorithm presented in <xref target="P2" format="default" sectionFormat="of" derivedContent="P2"/> to compute quartile values "on the fly".</t>
      <t indent="0" pn="section-6-4">This procedure allows us to update the quartile values whenever a new
      measurement arrives, which is radically different from classic methods
      of computing quartiles, because they need to use the whole dataset to
      compute the values. This way of calculus provides savings in memory and
      computing time.</t>
      <t indent="0" pn="section-6-5">To sum up, the proposed measurement procedure consists of performing
      traceroutes several times to obtain samples of the RTD in every Hop from
      a path during a time window (W) and compute the quartiles for every
      Hop. This procedure could be done for a single Member Route flow, for a
      non-exhaustive search with parameter E (defined below) set to False, or
      for every detected Route Ensemble flow (E=True).</t>
      <t indent="0" pn="section-6-6">The identification of a specific Hop in a traceroute is based on the IP
      origin address of the returned ICMP Time Exceeded packet and on the
      distance identified by the value set in the TTL (or Hop Limit) field
      inserted by traceroute. As this specific Hop can be reached by different
      paths, the IP Source and Destination addresses of the traceroute
      packet also need to be recorded. Finally, different return paths are
      distinguished by evaluating the ICMP Time Exceeded TTL (or Hop Limit) of
      the reply message; if this TTL (or Hop Limit) is constant for different
      paths containing the same Hop, the return paths have the same distance.
      Moreover, this distance can be estimated considering that the TTL (or
      Hop Limit) value is normally initialized with values 64, 128, or 255.
      The 5-tuple (origin IP, destination IP, reply IP, distance, and response TTL
      or Hop Limit) unequivocally identifies every measurement.</t>
      <t indent="0" pn="section-6-7">This algorithm below runs in the origin of the traceroute. It returns
      the Qs quartiles for every Hop and Alt (alternative paths because of
      balancing). Notice that the "Alt" parameter condenses the parameters of
      the 5-tuple (origin IP, destination IP, reply IP, distance, and response
      TTL), i.e., one for each possible combination.</t>
      <sourcecode name="" type="pseudocode" markers="false" pn="section-6-8">
================================================================
0  input:   W (window time of the measurement)
1           i_t (time between two measurements, set the i_t time
2                long enough to avoid incomplete results)
3           E (True: exhaustive, False: a single path)
4           Dst (destination IP address)
5  output:  Qs (quartiles for every Hop and Alt)
----------------------------------------------------------------
6  T := start_timer(W)
7  while T is not finished do:
8  |       start_timer(i_t)
9  |       RTD(Hop,Alt) = advanced-traceroute(Dst,E)
10 |       for each Hop and Alt in RTD do:
11 |       |     Qs[Dst,Hop,Alt] := ComputeQs(RTD(Hop,Alt))
12 |       done
13 |       wait until i_t timer is expired
14 done
15  return (Qs)
================================================================

</sourcecode>
      <t indent="0" pn="section-6-9">During the time W, lines 6 and 7 assure that the measurement loop is
      made.
      Lines 8 and 13 set a timer for each cycle of measurements. A cycle
      comprises the traceroutes packets, considering every possible Hop and
      the alternatives paths in the Alt variable (ensured in lines 9-12). In
      line 9, the advanced-traceroute could be either Paris-traceroute or
      Scamper, which will use the "exhaustive" mode or
      "tracelb" option if E is set to True, respectively. The
      procedure returns a list of tuples (m, Q1, Q2, Q3, and M) for each intermediate
      Hop, or "Alt" in as a function of the 5-tuple, in the path towards the
      Dst. Finally, lines 10 through 12 store each measurement into the
      real-time quartiles computation.</t>
      <t indent="0" pn="section-6-10">Notice there are cases where even having a unique Hop at distance
      h from the Src to Dst, the returning path could have several
      possibilities, yielding different total paths. In this situation, the
      algorithm will return another "Alt" for this particular Hop.</t>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-7-1">The security considerations that apply to any active measurement of
      live paths are relevant here as well. See <xref target="RFC4656" format="default" sectionFormat="of" derivedContent="RFC4656"/> and
      <xref target="RFC5357" format="default" sectionFormat="of" derivedContent="RFC5357"/>.</t>
      <t indent="0" pn="section-7-2">The active measurement process of changing several fields to keep
      the checksum of different packets identical does not require special
      security considerations because it is part of synthetic traffic
      generation and is designed to have minimal to zero impact on network
      processing (to process the packets for ECMP).</t>
      <t indent="0" pn="section-7-3">Some of the protocols used (e.g., ICMP) do not provide cryptographic
      protection for the requested/returned data, and there are risks of
      processing untrusted data in general, but these are limitations of the
      existing protocols where we are applying new methods.</t>
      <t indent="0" pn="section-7-4">For applicable hybrid methods, the security considerations in <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/> apply.</t>
      <t indent="0" pn="section-7-5">When considering the privacy of those involved in measurement or those
      whose traffic is measured, the sensitive information available to
      potential observers is greatly reduced when using active techniques
      that are within this scope of work. Passive observations of user
      traffic for measurement purposes raise many privacy issues. We refer the
      reader to the privacy considerations described in the Large-scale
      Measurement of Broadband Performance (LMAP) Framework <xref target="RFC7594" format="default" sectionFormat="of" derivedContent="RFC7594"/>, which covers active and passive
      techniques.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-8-1">This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references pn="section-9">
      <name slugifiedName="name-references">References</name>
      <references pn="section-9.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC0792" target="https://www.rfc-editor.org/info/rfc792" quoteTitle="true" derivedAnchor="RFC0792">
          <front>
            <title>Internet Control Message Protocol</title>
            <author initials="J." surname="Postel" fullname="J. Postel">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1981" month="September"/>
          </front>
          <seriesInfo name="STD" value="5"/>
          <seriesInfo name="RFC" value="792"/>
          <seriesInfo name="DOI" value="10.17487/RFC0792"/>
        </reference>
        <reference anchor="RFC1122" target="https://www.rfc-editor.org/info/rfc1122" quoteTitle="true" derivedAnchor="RFC1122">
          <front>
            <title>Requirements for Internet Hosts - Communication Layers</title>
            <author initials="R." surname="Braden" fullname="R. Braden" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1989" month="October"/>
            <abstract>
              <t indent="0">This RFC is an official specification for the Internet community.  It incorporates by reference, amends, corrects, and supplements the primary protocol standards documents relating to hosts.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="3"/>
          <seriesInfo name="RFC" value="1122"/>
          <seriesInfo name="DOI" value="10.17487/RFC1122"/>
        </reference>
        <reference anchor="RFC1812" target="https://www.rfc-editor.org/info/rfc1812" quoteTitle="true" derivedAnchor="RFC1812">
          <front>
            <title>Requirements for IP Version 4 Routers</title>
            <author initials="F." surname="Baker" fullname="F. Baker" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1995" month="June"/>
            <abstract>
              <t indent="0">This memo defines and discusses requirements for devices that perform the network layer forwarding function of the Internet protocol suite. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1812"/>
          <seriesInfo name="DOI" value="10.17487/RFC1812"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC2330" target="https://www.rfc-editor.org/info/rfc2330" quoteTitle="true" derivedAnchor="RFC2330">
          <front>
            <title>Framework for IP Performance Metrics</title>
            <author initials="V." surname="Paxson" fullname="V. Paxson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Almes" fullname="G. Almes">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Mahdavi" fullname="J. Mahdavi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Mathis" fullname="M. Mathis">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1998" month="May"/>
            <abstract>
              <t indent="0">The purpose of this memo is to define a general framework for particular metrics to be developed by the IETF's IP Performance Metrics effort. This memo provides information for the Internet community.  It does not specify an Internet standard of any kind.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2330"/>
          <seriesInfo name="DOI" value="10.17487/RFC2330"/>
        </reference>
        <reference anchor="RFC2681" target="https://www.rfc-editor.org/info/rfc2681" quoteTitle="true" derivedAnchor="RFC2681">
          <front>
            <title>A Round-trip Delay Metric for IPPM</title>
            <author initials="G." surname="Almes" fullname="G. Almes">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Kalidindi" fullname="S. Kalidindi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Zekauskas" fullname="M. Zekauskas">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1999" month="September"/>
            <abstract>
              <t indent="0">This memo defines a metric for round-trip delay of packets across Internet paths.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2681"/>
          <seriesInfo name="DOI" value="10.17487/RFC2681"/>
        </reference>
        <reference anchor="RFC4656" target="https://www.rfc-editor.org/info/rfc4656" quoteTitle="true" derivedAnchor="RFC4656">
          <front>
            <title>A One-way Active Measurement Protocol (OWAMP)</title>
            <author initials="S." surname="Shalunov" fullname="S. Shalunov">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Teitelbaum" fullname="B. Teitelbaum">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Karp" fullname="A. Karp">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Boote" fullname="J. Boote">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Zekauskas" fullname="M. Zekauskas">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="September"/>
            <abstract>
              <t indent="0">The One-Way Active Measurement Protocol (OWAMP) measures unidirectional characteristics such as one-way delay and one-way loss.  High-precision measurement of these one-way IP performance metrics became possible with wider availability of good time sources (such as GPS and CDMA).  OWAMP enables the interoperability of these measurements.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4656"/>
          <seriesInfo name="DOI" value="10.17487/RFC4656"/>
        </reference>
        <reference anchor="RFC5388" target="https://www.rfc-editor.org/info/rfc5388" quoteTitle="true" derivedAnchor="RFC5388">
          <front>
            <title>Information Model and XML Data Model for Traceroute Measurements</title>
            <author initials="S." surname="Niccolini" fullname="S. Niccolini">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Tartarelli" fullname="S. Tartarelli">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Quittek" fullname="J. Quittek">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Dietz" fullname="T. Dietz">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Swany" fullname="M. Swany">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2008" month="December"/>
            <abstract>
              <t indent="0">This document describes a standard way to store the configuration and the results of traceroute measurements.  This document first describes the terminology used in this document and the traceroute tool itself; afterwards, the common information model is defined, dividing the information elements into two semantically separated groups (configuration elements and results elements).  Moreover, an additional element is defined to relate configuration elements and results elements by means of a common unique identifier.  On the basis of the information model, a data model based on XML is defined to store the results of traceroute measurements.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5388"/>
          <seriesInfo name="DOI" value="10.17487/RFC5388"/>
        </reference>
        <reference anchor="RFC6438" target="https://www.rfc-editor.org/info/rfc6438" quoteTitle="true" derivedAnchor="RFC6438">
          <front>
            <title>Using the IPv6 Flow Label for Equal Cost Multipath Routing and Link Aggregation in Tunnels</title>
            <author initials="B." surname="Carpenter" fullname="B. Carpenter">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Amante" fullname="S. Amante">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="November"/>
            <abstract>
              <t indent="0">The IPv6 flow label has certain restrictions on its use.  This document describes how those restrictions apply when using the flow label for load balancing by equal cost multipath routing and for link aggregation, particularly for IP-in-IPv6 tunneled traffic.   [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6438"/>
          <seriesInfo name="DOI" value="10.17487/RFC6438"/>
        </reference>
        <reference anchor="RFC6673" target="https://www.rfc-editor.org/info/rfc6673" quoteTitle="true" derivedAnchor="RFC6673">
          <front>
            <title>Round-Trip Packet Loss Metrics</title>
            <author initials="A." surname="Morton" fullname="A. Morton">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2012" month="August"/>
            <abstract>
              <t indent="0">Many user applications (and the transport protocols that make them possible) require two-way communications.  To assess this capability, and to achieve test system simplicity, round-trip loss measurements are frequently conducted in practice.  The Two-Way Active Measurement Protocol specified in RFC 5357 establishes a round-trip loss measurement capability for the Internet.  However, there is currently no round-trip packet loss metric specified according to the RFC 2330 framework.</t>
              <t indent="0">This memo adds round-trip loss to the set of IP Performance Metrics (IPPM).  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6673"/>
          <seriesInfo name="DOI" value="10.17487/RFC6673"/>
        </reference>
        <reference anchor="RFC7799" target="https://www.rfc-editor.org/info/rfc7799" quoteTitle="true" derivedAnchor="RFC7799">
          <front>
            <title>Active and Passive Metrics and Methods (with Hybrid Types In-Between)</title>
            <author initials="A." surname="Morton" fullname="A. Morton">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2016" month="May"/>
            <abstract>
              <t indent="0">This memo provides clear definitions for Active and Passive performance assessment.  The construction of Metrics and Methods can be described as either "Active" or "Passive".  Some methods may use a subset of both Active and Passive attributes, and we refer to these as "Hybrid Methods".  This memo also describes multiple dimensions to help evaluate new methods as they emerge.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7799"/>
          <seriesInfo name="DOI" value="10.17487/RFC7799"/>
        </reference>
        <reference anchor="RFC8029" target="https://www.rfc-editor.org/info/rfc8029" quoteTitle="true" derivedAnchor="RFC8029">
          <front>
            <title>Detecting Multiprotocol Label Switched (MPLS) Data-Plane Failures</title>
            <author initials="K." surname="Kompella" fullname="K. Kompella">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Swallow" fullname="G. Swallow">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Pignataro" fullname="C. Pignataro" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Kumar" fullname="N. Kumar">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Aldrin" fullname="S. Aldrin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Chen" fullname="M. Chen">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="March"/>
            <abstract>
              <t indent="0">This document describes a simple and efficient mechanism to detect data-plane failures in Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs).  It defines a probe message called an "MPLS                        echo request" and a response message called an "MPLS echo reply" for returning the result of the probe.  The MPLS echo request is intended to contain sufficient information to check correct operation of the data plane and to verify the data plane against the control plane, thereby localizing faults.</t>
              <t indent="0">This document obsoletes RFCs 4379, 6424, 6829, and 7537, and updates RFC 1122.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8029"/>
          <seriesInfo name="DOI" value="10.17487/RFC8029"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8468" target="https://www.rfc-editor.org/info/rfc8468" quoteTitle="true" derivedAnchor="RFC8468">
          <front>
            <title>IPv4, IPv6, and IPv4-IPv6 Coexistence: Updates for the IP Performance Metrics (IPPM) Framework</title>
            <author initials="A." surname="Morton" fullname="A. Morton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Fabini" fullname="J. Fabini">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Elkins" fullname="N. Elkins">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Ackermann" fullname="M. Ackermann">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V." surname="Hegde" fullname="V. Hegde">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="November"/>
            <abstract>
              <t indent="0">This memo updates the IP Performance Metrics (IPPM) framework defined by RFC 2330 with new considerations for measurement methodology and testing.  It updates the definition of standard-formed packets to include IPv6 packets, deprecates the definition of minimal IP packet, and augments distinguishing aspects, referred to as Type-P, for test packets in RFC 2330.  This memo identifies that IPv4-IPv6 coexistence can challenge measurements within the scope of the IPPM framework. Example use cases include, but are not limited to, IPv4-IPv6 translation, NAT, and protocol encapsulation.  IPv6 header compression and use of IPv6 over Low-Power Wireless Area Networks (6LoWPAN) are considered and excluded from the standard-formed packet evaluation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8468"/>
          <seriesInfo name="DOI" value="10.17487/RFC8468"/>
        </reference>
        <reference anchor="RFC9197" target="https://www.rfc-editor.org/info/rfc9197" quoteTitle="true" derivedAnchor="RFC9197">
          <front>
            <title>Data Fields for In Situ Operations, Administration, and Maintenance (IOAM)</title>
            <author initials="F" surname="Brockners" fullname="Frank Brockners" role="editor">
</author>
            <author initials="S" surname="Bhandari" fullname="Shwetha Bhandari" role="editor">
</author>
            <author initials="T" surname="Mizrahi" fullname="Tal Mizrahi" role="editor">
</author>
            <date month="May" year="2022"/>
          </front>
          <seriesInfo name="RFC" value="9197"/>
          <seriesInfo name="DOI" value="10.17487/RFC9197"/>
        </reference>
      </references>
      <references pn="section-9.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="bdrmap" quoteTitle="true" target="https://doi.org/10.1145/2987443.2987467" derivedAnchor="bdrmap">
          <front>
            <title>bdrmap: Inference of Borders Between IP Networks</title>
            <author fullname="Matthew Luckie" initials="M." surname="Luckie">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Amogh Dhamdhere" initials="A." surname="Dhamdhere">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Bradley Huffaker" initials="B." surname="Huffaker">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="David Clark" initials="D." surname="Clark">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="KC" initials="KC." surname="Claffy">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="November" year="2016"/>
          </front>
          <seriesInfo name="DOI" value="10.1145/2987443.2987467"/>
          <refcontent>Proceedings of the 2016 ACM on Internet Measurement Conference, pp. 381-396</refcontent>
        </reference>
        <reference anchor="IDCong" quoteTitle="true" target="https://doi.org/10.1145/2663716.2663741" derivedAnchor="IDCong">
          <front>
            <title>Challenges in Inferring Internet Interdomain Congestion</title>
            <author fullname="Matthew Luckie" initials="M." surname="Luckie">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Amogh Dhamdhere" initials="A." surname="Dhamdhere">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="David Clark" initials="D." surname="Clark">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Bradley Huffaker" initials="B." surname="Huffaker">
              <organization showOnFrontPage="true">bdrmap: Inference of Borders Between IP Networks</organization>
            </author>
            <date month="November" year="2014"/>
          </front>
          <seriesInfo name="DOI" value="10.1145/2663716.2663741"/>
          <refcontent>Proceedings of the 2014 Conference on Internet
	  Measurement Conference, pp. 15-22</refcontent>
        </reference>
        <reference anchor="LOAD_BALANCE" quoteTitle="true" target="https://doi.org/10.7903/ijecs.1346" derivedAnchor="LOAD_BALANCE">
          <front>
            <title>COMPARISON OF HASH STRATEGIES FOR FLOW-BASED LOAD BALANCING</title>
            <author fullname="Surasak Sanguanpong" initials="S." surname="Sanguanpong">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Witsarut Pittayapitak" initials="W." surname="Pittayapitak">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Kasom Koht-Arsa" initials="K." surname="Kasom Koht-Arsa">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="December" year="2015"/>
          </front>
          <seriesInfo name="DOI" value="10.7903/ijecs.1346"/>
          <refcontent>International Journal of Electronic
	    Commerce Studies, Vol.6, No.2, pp.259-268</refcontent>
        </reference>
        <reference anchor="MLB" quoteTitle="true" target="https://doi.org/10.1145/1298306.1298329" derivedAnchor="MLB">
          <front>
            <title>Measuring load-balanced paths in the internet</title>
            <author fullname="Brice Augustin" initials="B" surname="Augustin">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Timur Friedman" initials="T" surname="Friedman">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Renata Teixeira" initials="R" surname="Teixeira">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="October" year="2007"/>
          </front>
          <seriesInfo name="DOI" value="10.1145/1298306.1298329"/>
          <refcontent>Proceedings of the 7th ACM SIGCOMM conference on
	  Internet measurement, pp. 149-160</refcontent>
        </reference>
        <reference anchor="MLRM" quoteTitle="true" target="https://doi.org/10.1109/INFOCOM.2015.7218636" derivedAnchor="MLRM">
          <front>
            <title>An empirical mixture model for large-scale RTT measurements</title>
            <author fullname="Romain Fontugne" initials="R" surname="Fontugne">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Johan Mazel" initials="J" surname="Mazel">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Kensuke Fukuda" initials="K" surname="Fukuda">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="April" year="2015"/>
          </front>
          <seriesInfo name="DOI" value="10.1109/INFOCOM.2015.7218636"/>
          <refcontent>2015 IEEE Conference on Computer Communications
	  (INFOCOM), pp. 2470-2478</refcontent>
        </reference>
        <reference anchor="P2" quoteTitle="true" target="https://doi.org/10.1145/4372.4378" derivedAnchor="P2">
          <front>
            <title>The P 2 algorithm for dynamic calculation of quartiles and histograms without storing observations</title>
            <author fullname="Raj Jain" initials="R" surname="Jain">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Imrich Chlamtac" initials="I" surname="Chlamtac">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="October" year="1985"/>
          </front>
          <seriesInfo name="DOI" value="10.1145/4372.4378"/>
          <refcontent>Communications of the ACM 28.10 (1985): 1076-1085</refcontent>
        </reference>
        <reference anchor="PT" quoteTitle="true" target="https://doi.org/10.1145/1177080.1177100" derivedAnchor="PT">
          <front>
            <title>Avoiding traceroute anomalies with Paris traceroute</title>
            <author fullname="Brice Augustin" initials="B" surname="Augustin">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Xavier Cuvellier" initials="X" surname="Cuvellier">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Benjamin Orgogozo" initials="B" surname="Orgogozo">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Fabien Viger" initials="F" surname="Viger">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Timur Friedman" initials="T" surname="Friedman">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Matthieu Latapy" initials="M" surname="Latapy">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Clmence Magnien" initials="C" surname="Magnien">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Renata Teixeira" initials="R" surname="Teixeira">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="October" year="2006"/>
          </front>
          <seriesInfo name="DOI" value="10.1145/1177080.1177100"/>
          <refcontent>Proceedings of the 6th ACM SIGCOMM conference on
	  Internet measurement, pp. 153-158</refcontent>
        </reference>
        <reference anchor="RFC2991" target="https://www.rfc-editor.org/info/rfc2991" quoteTitle="true" derivedAnchor="RFC2991">
          <front>
            <title>Multipath Issues in Unicast and Multicast Next-Hop Selection</title>
            <author initials="D." surname="Thaler" fullname="D. Thaler">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Hopps" fullname="C. Hopps">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2000" month="November"/>
            <abstract>
              <t indent="0">The effect of multipath routing on a forwarder is that the forwarder potentially has several next-hops for any given destination and must use some method to choose which next-hop should be used for a given data packet.  This memo summarizes current practices, problems, and solutions.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2991"/>
          <seriesInfo name="DOI" value="10.17487/RFC2991"/>
        </reference>
        <reference anchor="RFC5357" target="https://www.rfc-editor.org/info/rfc5357" quoteTitle="true" derivedAnchor="RFC5357">
          <front>
            <title>A Two-Way Active Measurement Protocol (TWAMP)</title>
            <author initials="K." surname="Hedayat" fullname="K. Hedayat">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Krzanowski" fullname="R. Krzanowski">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Morton" fullname="A. Morton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Yum" fullname="K. Yum">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Babiarz" fullname="J. Babiarz">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2008" month="October"/>
            <abstract>
              <t indent="0">The One-way Active Measurement Protocol (OWAMP), specified in RFC 4656, provides a common protocol for measuring one-way metrics between network devices.  OWAMP can be used bi-directionally to measure one-way metrics in both directions between two network elements.  However, it does not accommodate round-trip or two-way measurements.  This memo specifies a Two-Way Active Measurement Protocol (TWAMP), based on the OWAMP, that adds two-way or round-trip measurement capabilities.  The TWAMP measurement architecture is usually comprised of two hosts with specific roles, and this allows for some protocol simplifications, making it an attractive alternative in some circumstances.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5357"/>
          <seriesInfo name="DOI" value="10.17487/RFC5357"/>
        </reference>
        <reference anchor="RFC5835" target="https://www.rfc-editor.org/info/rfc5835" quoteTitle="true" derivedAnchor="RFC5835">
          <front>
            <title>Framework for Metric Composition</title>
            <author initials="A." surname="Morton" fullname="A. Morton" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Van den Berghe" fullname="S. Van den Berghe" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2010" month="April"/>
            <abstract>
              <t indent="0">This memo describes a detailed framework for composing and aggregating metrics (both in time and in space) originally defined by the IP Performance Metrics (IPPM), RFC 2330, and developed by the IETF. This new framework memo describes the generic composition and aggregation mechanisms.  The memo provides a basis for additional documents that implement the framework to define detailed compositions and aggregations of metrics that are useful in practice.  This document is not an Internet Standards Track  specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5835"/>
          <seriesInfo name="DOI" value="10.17487/RFC5835"/>
        </reference>
        <reference anchor="RFC5837" target="https://www.rfc-editor.org/info/rfc5837" quoteTitle="true" derivedAnchor="RFC5837">
          <front>
            <title>Extending ICMP for Interface and Next-Hop Identification</title>
            <author initials="A." surname="Atlas" fullname="A. Atlas" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Bonica" fullname="R. Bonica" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Pignataro" fullname="C. Pignataro" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Shen" fullname="N. Shen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="JR." surname="Rivers" fullname="JR. Rivers">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2010" month="April"/>
            <abstract>
              <t indent="0">This memo defines a data structure that can be appended to selected ICMP messages.  The ICMP extension defined herein can be used to identify any combination of the following: the IP interface upon which a datagram arrived, the sub-IP component of an IP interface upon which a datagram arrived, the IP interface through which the datagram would have been forwarded had it been forwardable, and the IP next hop to which the datagram would have been forwarded.</t>
              <t indent="0">Devices can use this ICMP extension to identify interfaces and their components by any combination of the following: ifIndex, IPv4 address, IPv6 address, name, and MTU.  ICMP-aware devices can use these extensions to identify both numbered and unnumbered interfaces.   [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5837"/>
          <seriesInfo name="DOI" value="10.17487/RFC5837"/>
        </reference>
        <reference anchor="RFC6437" target="https://www.rfc-editor.org/info/rfc6437" quoteTitle="true" derivedAnchor="RFC6437">
          <front>
            <title>IPv6 Flow Label Specification</title>
            <author initials="S." surname="Amante" fullname="S. Amante">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Carpenter" fullname="B. Carpenter">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Jiang" fullname="S. Jiang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Rajahalme" fullname="J. Rajahalme">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="November"/>
            <abstract>
              <t indent="0">This document specifies the IPv6 Flow Label field and the minimum requirements for IPv6 nodes labeling flows, IPv6 nodes forwarding labeled packets, and flow state establishment methods.  Even when mentioned as examples of possible uses of the flow labeling, more detailed requirements for specific use cases are out of the scope for this document.</t>
              <t indent="0">The usage of the Flow Label field enables efficient IPv6 flow classification based only on IPv6 main header fields in fixed positions.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6437"/>
          <seriesInfo name="DOI" value="10.17487/RFC6437"/>
        </reference>
        <reference anchor="RFC7312" target="https://www.rfc-editor.org/info/rfc7312" quoteTitle="true" derivedAnchor="RFC7312">
          <front>
            <title>Advanced Stream and Sampling Framework for IP Performance Metrics (IPPM)</title>
            <author initials="J." surname="Fabini" fullname="J. Fabini">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Morton" fullname="A. Morton">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="August"/>
            <abstract>
              <t indent="0">To obtain repeatable results in modern networks, test descriptions need an expanded stream parameter framework that also augments aspects specified as Type-P for test packets.  This memo updates the IP Performance Metrics (IPPM) Framework, RFC 2330, with advanced considerations for measurement methodology and testing.  The existing framework mostly assumes deterministic connectivity, and that a single test stream will represent the characteristics of the path when it is aggregated with other flows.  Networks have evolved and test stream descriptions must evolve with them; otherwise, unexpected network features may dominate the measured performance.  This memo describes new stream parameters for both network characterization and support of application design using IPPM metrics.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7312"/>
          <seriesInfo name="DOI" value="10.17487/RFC7312"/>
        </reference>
        <reference anchor="RFC7325" target="https://www.rfc-editor.org/info/rfc7325" quoteTitle="true" derivedAnchor="RFC7325">
          <front>
            <title>MPLS Forwarding Compliance and Performance Requirements</title>
            <author initials="C." surname="Villamizar" fullname="C. Villamizar" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Kompella" fullname="K. Kompella">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Amante" fullname="S. Amante">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Malis" fullname="A. Malis">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Pignataro" fullname="C. Pignataro">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="August"/>
            <abstract>
              <t indent="0">This document provides guidelines for implementers regarding MPLS    forwarding and a basis for evaluations of forwarding implementations.    Guidelines cover many aspects of MPLS forwarding.  Topics are    highlighted where implementers might otherwise overlook practical    requirements which are unstated or under emphasized or are optional    for conformance to RFCs but are often considered mandatory by    providers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7325"/>
          <seriesInfo name="DOI" value="10.17487/RFC7325"/>
        </reference>
        <reference anchor="RFC7594" target="https://www.rfc-editor.org/info/rfc7594" quoteTitle="true" derivedAnchor="RFC7594">
          <front>
            <title>A Framework for Large-Scale Measurement of Broadband Performance (LMAP)</title>
            <author initials="P." surname="Eardley" fullname="P. Eardley">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Morton" fullname="A. Morton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Bagnulo" fullname="M. Bagnulo">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Burbridge" fullname="T. Burbridge">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Aitken" fullname="P. Aitken">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Akhter" fullname="A. Akhter">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="September"/>
            <abstract>
              <t indent="0">Measuring broadband service on a large scale requires a description of the logical architecture and standardisation of the key protocols that coordinate interactions between the components.  This document presents an overall framework for large-scale measurements.  It also defines terminology for LMAP (Large-Scale Measurement of Broadband Performance).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7594"/>
          <seriesInfo name="DOI" value="10.17487/RFC7594"/>
        </reference>
        <reference anchor="RFC8403" target="https://www.rfc-editor.org/info/rfc8403" quoteTitle="true" derivedAnchor="RFC8403">
          <front>
            <title>A Scalable and Topology-Aware MPLS Data-Plane Monitoring System</title>
            <author initials="R." surname="Geib" fullname="R. Geib" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Pignataro" fullname="C. Pignataro" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Kumar" fullname="N. Kumar">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="July"/>
            <abstract>
              <t indent="0">This document describes features of an MPLS path monitoring system and related use cases.  Segment-based routing enables a scalable and simple method to monitor data-plane liveliness of the complete set of paths belonging to a single domain.  The MPLS monitoring system adds features to the traditional MPLS ping and Label Switched Path (LSP) trace, in a very complementary way.  MPLS topology awareness reduces management and control-plane involvement of Operations, Administration, and Maintenance (OAM) measurements while enabling new OAM features.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8403"/>
          <seriesInfo name="DOI" value="10.17487/RFC8403"/>
        </reference>
        <reference anchor="RTTSub" quoteTitle="true" target="https://doi.org/10.1145/2815675.2815718" derivedAnchor="RTTSub">
          <front>
            <title>In and out of Cuba: Characterizing Cuba's Connectivity</title>
            <author fullname="Zachary S. Bischof" initials="Z" surname="Bischof">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="John P. Rula" initials="J" surname="Rula">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Fabian E. Bustamante" initials="F" surname="Bustamante">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="October" year="2015"/>
          </front>
          <seriesInfo name="DOI" value="10.1145/2815675.2815718"/>
          <refcontent>Proceedings of the 2015 ACM Conference on Internet
	  Measurement Conference, pp. 487-493</refcontent>
        </reference>
        <reference anchor="SCAMPER" quoteTitle="true" target="https://doi.org/10.1145/1879141.1879171" derivedAnchor="SCAMPER">
          <front>
            <title>Scamper: a scalable and extensible packet prober for active measurement of the internet</title>
            <author fullname="Matthew Luckie" initials="M" surname="Matthew Luckie">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="November" year="2010"/>
          </front>
          <seriesInfo name="DOI" value="10.1145/1879141.1879171"/>
          <refcontent>Proceedings of the 10th ACM SIGCOMM conference on
	  Internet measurement, pp. 239-245</refcontent>
        </reference>
        <reference anchor="SSNT" quoteTitle="true" target="https://doi.org/10.1002/047120644X" derivedAnchor="SSNT">
          <front>
            <title>Self-Similar Network Traffic and Performance Evaluation (1st ed.)</title>
            <author fullname="Kihong Park" initials="K" surname="Park">
              <organization showOnFrontPage="true"/>
            </author>
            <author fullname="Walter Willinger" initials="W" surname="Willinger">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="August" year="2000"/>
          </front>
          <seriesInfo name="DOI" value="10.1002/047120644X"/>
          <seriesInfo name="" value="John Wiley &amp; Sons, Inc., New York, NY, USA"/>
        </reference>
      </references>
    </references>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-mpls-methods-for-route-asse">MPLS Methods for Route Assessment</name>
      <t indent="0" pn="section-appendix.a-1">A Node assessing an MPLS path must be part of the MPLS domain where
      the path is implemented. When this condition is met, <xref target="RFC8029" format="default" sectionFormat="of" derivedContent="RFC8029"/> provides a
      powerful set of mechanisms to detect "correct operation of the
      data plane, as well as a mechanism to verify the data plane against the
      control plane".</t>
      <t indent="0" pn="section-appendix.a-2">MPLS routing is based on the presence of a Forwarding Equivalence
      Class (FEC) Stack in all visited Nodes. Selecting one of several
      Equal-Cost Multipaths (ECMPs) is, however, based on information hidden
      deeper in 
      the stack. Late deployments may support a so-called "Entropy label" for
      this purpose. State-of-the-art deployments base their choice of an ECMP
      member interface on the complete MPLS label stack and on IP addresses up
      to the complete 5-tuple IP header information (see <xref target="RFC7325" section="2.4" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7325#section-2.4" derivedContent="RFC7325"/>). Load sharing based
      on IP information decouples this 
      function from the actual MPLS routing information. Thus, an MPLS
      traceroute is able to check how packets with a contiguous number of
      ECMP-relevant IP addresses (and an identical MPLS label stack) are
      forwarded 
      by a particular router. The minimum number of equivalent MPLS paths
      traceable at a router should be 32. Implementations supporting more
      paths are available.</t>
      <t indent="0" pn="section-appendix.a-3">The MPLS echo request and reply messages offering this feature must
      support the Downstream Detailed Mapping TLV (was Downstream Mapping
      initially, but the latter has been deprecated). The MPLS echo response
      includes the incoming interface where a router received the MPLS echo
      request. The MPLS echo reply further informs which of the n addresses
      relevant for the load-sharing decision results in a particular next-hop
      interface and contains the next Hop's interface address (if
      available). This ensures that the next Hop will receive a properly coded
      MPLS echo request in the next step Route of assessment.</t>
      <t indent="0" pn="section-appendix.a-4"><xref target="RFC8403" format="default" sectionFormat="of" derivedContent="RFC8403"/> explains how a central Path Monitoring
      System could be used to detect arbitrary MPLS paths between any routers
      within a single MPLS domain. The combination of MPLS forwarding, Segment
      Routing, and MPLS traceroute offers a simple architecture and a powerful
      mechanism to detect and validate (segment-routed) MPLS paths.</t>
    </section>
    <section anchor="Acknowledgements" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.b-1">The original three authors (Ignacio, Al, Joachim) acknowledge <contact fullname="Ruediger       Geib"/> for his penetrating comments on the initial document and his initial
      text for the appendix on MPLS. <contact fullname="Carlos Pignataro"/> challenged the authors
      to consider a wider scope and applied his substantial expertise with
      many technologies and their measurement features in his extensive
      comments. <contact fullname="Frank Brockners"/> also shared useful
      comments and so did <contact fullname="Footer        Foote"/>. We thank them all!</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="J. Ignacio Alvarez-Hamelin" initials="J" surname="Alvarez-Hamelin">
        <organization showOnFrontPage="true">Universidad de Buenos Aires</organization>
        <address>
          <postal>
            <street>Av. Paseo Colón 850</street>
            <city>Buenos Aires</city>
            <code>C1063ACV</code>
            <country>Argentina</country>
          </postal>
          <phone>+54 11 5285-0716</phone>
          <email>ihameli@cnet.fi.uba.ar</email>
          <uri>http://cnet.fi.uba.ar/ignacio.alvarez-hamelin/</uri>
        </address>
      </author>
      <author fullname="Al Morton" initials="A." surname="Morton">
        <organization showOnFrontPage="true">AT&amp;T Labs</organization>
        <address>
          <postal>
            <street>200 Laurel Avenue South</street>
            <city>Middletown</city>
            <region>NJ</region>
            <code>07748</code>
            <country>United States of America</country>
          </postal>
          <phone>+1 732 420 1571</phone>
          <email>acm@research.att.com</email>
          <uri/>
        </address>
      </author>
      <author fullname="Joachim Fabini" initials="J." surname="Fabini">
        <organization showOnFrontPage="true">TU Wien</organization>
        <address>
          <postal>
            <street>Gusshausstrasse 25/E389</street>
            <city>Vienna</city>
            <region/>
            <code>1040</code>
            <country>Austria</country>
          </postal>
          <phone>+43 1 58801 38813</phone>
          <email>Joachim.Fabini@tuwien.ac.at</email>
          <uri>http://www.tc.tuwien.ac.at/about-us/staff/joachim-fabini/</uri>
        </address>
      </author>
      <author fullname="Carlos Pignataro" initials="C." surname="Pignataro">
        <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
        <address>
          <postal>
            <street>7200-11 Kit Creek Road</street>
            <city>Research Triangle Park</city>
            <region>NC</region>
            <code>27709</code>
            <country>United States of America</country>
          </postal>
          <phone/>
          <email>cpignata@cisco.com</email>
          <uri/>
        </address>
      </author>
      <author fullname="Ruediger Geib" initials="R." surname="Geib">
        <organization showOnFrontPage="true">Deutsche Telekom</organization>
        <address>
          <postal>
            <street>Heinrich Hertz Str. 3-7</street>
            <city>Darmstadt</city>
            <region/>
            <code>64295</code>
            <country>Germany</country>
          </postal>
          <phone>+49 6151 5812747</phone>
          <email>Ruediger.Geib@telekom.de</email>
          <uri/>
        </address>
      </author>
    </section>
  </back>
</rfc>
