rfc9198xml2.original.xml   rfc9198.xml 
<?xml version="1.0" encoding="US-ASCII"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"> <!DOCTYPE rfc [
<?rfc toc="yes"?> <!ENTITY nbsp "&#160;">
<?rfc tocompact="yes"?> <!ENTITY zwsp "&#8203;">
<?rfc tocdepth="3"?> <!ENTITY nbhy "&#8209;">
<?rfc tocindent="yes"?> <!ENTITY wj "&#8288;">
<?rfc symrefs="yes"?> ]>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?> <rfc xmlns:xi="http://www.w3.org/2001/XInclude"
<?rfc inline="yes"?> docName="draft-ietf-ippm-route-10" number="9198" ipr="trust200902"
<?rfc compact="yes"?> updates="2330" obsoletes="" submissionType="IETF" category="std"
<?rfc subcompact="no"?> consensus="true" xml:lang="en" tocInclude="true" tocDepth="3"
<rfc category="std" docName="draft-ietf-ippm-route-10" ipr="trust200902" symRefs="true" sortRefs="true" version="3">
updates="2330">
<!-- xml2rfc v2v3 conversion 3.1.1 -->
<front> <front>
<title abbrev="AURA Metrics &amp; Methods">Advanced Unidirectional Route <title abbrev="AURA Metrics &amp; Methods">Advanced Unidirectional Route
Assessment (AURA)</title> Assessment (AURA)</title>
<seriesInfo name="RFC" value="9198"/>
<author fullname="J. Ignacio Alvarez-Hamelin" initials="J.I." <author fullname="J. Ignacio Alvarez-Hamelin" initials="J" surname="Alvarez-
surname="Alvarez-Hamelin"> Hamelin">
<organization>Universidad de Buenos Aires</organization> <organization>Universidad de Buenos Aires</organization>
<address> <address>
<postal> <postal>
<street>Av. Paseo Col&oacute;n 850</street> <street>Av. Paseo Colón 850</street>
<city>Buenos Aires</city> <city>Buenos Aires</city>
<code>C1063ACV</code> <code>C1063ACV</code>
<country>Argentina</country> <country>Argentina</country>
</postal> </postal>
<phone>+54 11 5285-0716</phone> <phone>+54 11 5285-0716</phone>
<email>ihameli@cnet.fi.uba.ar</email> <email>ihameli@cnet.fi.uba.ar</email>
<uri>http://cnet.fi.uba.ar/ignacio.alvarez-hamelin/</uri> <uri>http://cnet.fi.uba.ar/ignacio.alvarez-hamelin/</uri>
</address> </address>
</author> </author>
<author fullname="Al Morton" initials="A." surname="Morton"> <author fullname="Al Morton" initials="A." surname="Morton">
<organization>AT&amp;T Labs</organization> <organization>AT&amp;T Labs</organization>
<address> <address>
<postal> <postal>
<street>200 Laurel Avenue South</street> <street>200 Laurel Avenue South</street>
<city>Middletown</city> <city>Middletown</city>
<region>NJ</region> <region>NJ</region>
<code>07748</code> <code>07748</code>
<country>United States of America</country>
<country>USA</country>
</postal> </postal>
<phone>+1 732 420 1571</phone> <phone>+1 732 420 1571</phone>
<facsimile>+1 732 368 1192</facsimile>
<email>acm@research.att.com</email> <email>acm@research.att.com</email>
<uri/> <uri/>
</address> </address>
</author> </author>
<author fullname="Joachim Fabini" initials="J." surname="Fabini"> <author fullname="Joachim Fabini" initials="J." surname="Fabini">
<organization>TU Wien</organization> <organization>TU Wien</organization>
<address> <address>
<postal> <postal>
<street>Gusshausstrasse 25/E389</street> <street>Gusshausstrasse 25/E389</street>
<city>Vienna</city> <city>Vienna</city>
<region/> <region/>
<code>1040</code> <code>1040</code>
<country>Austria</country> <country>Austria</country>
</postal> </postal>
<phone>+43 1 58801 38813</phone> <phone>+43 1 58801 38813</phone>
<facsimile>+43 1 58801 38898</facsimile>
<email>Joachim.Fabini@tuwien.ac.at</email> <email>Joachim.Fabini@tuwien.ac.at</email>
<uri>http://www.tc.tuwien.ac.at/about-us/staff/joachim-fabini/</uri> <uri>http://www.tc.tuwien.ac.at/about-us/staff/joachim-fabini/</uri>
</address> </address>
</author> </author>
<author fullname="Carlos Pignataro" initials="C." surname="Pignataro"> <author fullname="Carlos Pignataro" initials="C." surname="Pignataro">
<organization>Cisco Systems, Inc.</organization> <organization>Cisco Systems, Inc.</organization>
<address> <address>
<postal> <postal>
<street>7200-11 Kit Creek Road</street> <street>7200-11 Kit Creek Road</street>
<city>Research Triangle Park</city> <city>Research Triangle Park</city>
<region>NC</region> <region>NC</region>
<code>27709</code> <code>27709</code>
<country>United States of America</country>
<country>USA</country>
</postal> </postal>
<phone/> <phone/>
<facsimile/>
<email>cpignata@cisco.com</email> <email>cpignata@cisco.com</email>
<uri/> <uri/>
</address> </address>
</author> </author>
<author fullname="Ruediger Geib" initials="R." surname="Geib"> <author fullname="Ruediger Geib" initials="R." surname="Geib">
<organization>Deutsche Telekom</organization> <organization>Deutsche Telekom</organization>
<address> <address>
<postal> <postal>
<street>Heinrich Hertz Str. 3-7</street> <street>Heinrich Hertz Str. 3-7</street>
<city>Darmstadt</city> <city>Darmstadt</city>
<region/> <region/>
<code>64295</code> <code>64295</code>
<country>Germany</country> <country>Germany</country>
</postal> </postal>
<phone>+49 6151 5812747</phone> <phone>+49 6151 5812747</phone>
<facsimile/>
<email>Ruediger.Geib@telekom.de</email> <email>Ruediger.Geib@telekom.de</email>
<uri/> <uri/>
</address> </address>
</author> </author>
<date month="May" year="2022"/>
<date day="13" month="August" year="2020"/> <keyword>Performance</keyword>
<keyword>Metrics</keyword>
<keyword>IPPM</keyword>
<keyword>path</keyword>
<keyword>parallel paths</keyword>
<abstract> <abstract>
<t>This memo introduces an advanced unidirectional route assessment <t>This memo introduces an advanced unidirectional route assessment
(AURA) metric and associated measurement methodology, based on the IP (AURA) metric and associated measurement methodology based on the IP
Performance Metrics (IPPM) Framework RFC 2330. This memo updates RFC Performance Metrics (IPPM) framework (RFC 2330). This memo updates RFC
2330 in the areas of path-related terminology and path description, 2330 in the areas of path-related terminology and path description,
primarily to include the possibility of parallel subpaths between a primarily to include the possibility of parallel subpaths between a
given Source and Destination pair, owing to the presence of multi-path given Source and Destination pair, owing to the presence of multipath
technologies.</t> technologies.</t>
</abstract> </abstract>
</front> </front>
<middle> <middle>
<section title="Introduction"> <section numbered="true" toc="default">
<t>The IETF IP Performance Metrics (IPPM) working group first created a <name>Introduction</name>
framework for metric development in <xref target="RFC2330"/>. This <t>The IETF IP Performance Metrics (IPPM) Working Group first created a
framework for metric development in <xref target="RFC2330" format="default
"/>. This
framework has stood the test of time and enabled development of many framework has stood the test of time and enabled development of many
fundamental metrics. It has been updated in the area of metric fundamental metrics. It has been updated in the area of metric
composition <xref target="RFC5835"/>, and in several areas related to composition <xref target="RFC5835" format="default"/> and in several areas related to
active stream measurement of modern networks with reactive properties active stream measurement of modern networks with reactive properties
<xref target="RFC7312"/>.</t> <xref target="RFC7312" format="default"/>.</t>
<t>The framework in <xref target="RFC2330" format="default"/> motivated th
<t>The <xref target="RFC2330"/> framework motivated the development of e development of
"performance and reliability metrics for paths through the Internet," "performance and reliability metrics for paths through the Internet";
and Section 5 of <xref target="RFC2330"/> defines terms that support <xref target="RFC2330" section="5" sectionFormat="of"/> defines terms that
support
description of a path under test. However, metrics for assessment of description of a path under test. However, metrics for assessment of
paths and related performance aspects had not been attempted in IPPM paths and related performance aspects had not been attempted in IPPM
when the <xref target="RFC2330"/> framework was written.</t> when the framework in <xref target="RFC2330" format="default"/> was writte
n.</t>
<t>This memo takes up the route measurement challenge and specifies a <t>This memo takes up the Route measurement challenge and specifies a
new route metric, two practical frameworks for methods of measurement new Route metric, two practical frameworks for methods of measurement
(using either active or hybrid active-passive methods <xref (using either active or hybrid active-passive methods <xref
target="RFC7799"/>), and Round-Trip Delay and link information discovery target="RFC7799" format="default"/>), and Round-Trip Delay and link
using the results of measurements. All route measurements are limited by information discovery
the willingness of hosts along the path to be discovered, to cooperate 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 with the methods used, or to recognize that the measurement operation is
taking place (such as when tunnels are present).</t> taking place (such as when tunnels are present).</t>
<section numbered="true" toc="default">
<section title="Issues with Earlier Work to Define a Route Metric"> <name>Issues with Earlier Work to Define a Route Metric</name>
<t>Section 7 of <xref target="RFC2330"/> presented a simple example of <t><xref target="RFC2330" section="7" sectionFormat="of"/> presents a si
a "route" metric along with several other examples. The example is mple example of
reproduced below (where the reference is to Section 5 of <xref a "Route" metric along with several other examples. The example is
target="RFC2330"/>):</t> reproduced below (where the reference is to <xref
target="RFC2330" section="5" sectionFormat="of"/>):</t>
<t>"route: The path, as defined in Section 5, from A to B at a given <blockquote>
time."</t> <dl newline="false" spacing="normal">
<dt>route:</dt>
<dd>The path, as defined in Section <xref target="RFC2330" section="5"
sectionFormat="bare"/>, from A to B at a given time.</dd>
</dl>
</blockquote>
<t>This example provides a starting point to develop a more complete <t>This example provides a starting point to develop a more complete
definition of route. Areas needing clarification include:</t> definition of Route. Areas needing clarification include:</t>
<dl newline="false" spacing="normal">
<t><list style="hanging"> <dt>Time:</dt>
<t hangText="Time:">In practice, the route will be assessed over a <dd>In practice, the Route will be assessed over a
time interval, because active path detection methods like Paris time interval because active path detection methods like Paris-trace
Traceroute <xref target="PT"/> rely on hop limits for their route <xref target="PT" format="default"/> rely on Hop Limits for their
operation and cannot accomplish discovery of all hosts using a operation and cannot accomplish discovery of all Hosts using a
single packet.</t> single packet.</dd>
<dt>Type-P:</dt>
<t hangText="Type-P:">The legacy route definition lacks the option <dd>The legacy Route definition lacks the option
to cater for packet-dependent routing. In this memo, we assess the 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 Route for a specific packet of Type-P and reflect this in the
metric definition. The methods of measurement determine the metric definition. The methods of measurement determine the
specific Type-P used.</t> specific Type-P used.</dd>
<dt>Parallel Paths:</dt>
<t hangText="Parallel Paths:">Parallel paths are a reality of the <dd>Parallel paths are a reality of the
Internet and a strength of advanced route assessment methods, so Internet and a strength of advanced Route assessment methods, so
the metric must acknowledge this possibility. Use of Equal Cost the metric must acknowledge this possibility. Use of Equal-Cost
Multi-Path (ECMP) and Unequal Cost Multi-Path (UCMP) technologies Multipath (ECMP) and Unequal-Cost Multipath (UCMP) technologies
are common sources of parallel subpaths.</t> are common sources of parallel subpaths.</dd>
<dt>Cloud Subpath:</dt>
<t hangText="Cloud Subpath:">May contain hosts that do not <dd>Cloud subpaths may contain Hosts that do not
decrement hop limit, but may have two or more exchange links decrement the Hop Limit but may have two or more exchange links
connecting "discoverable" hosts or routers. Parallel subpaths connecting "discoverable" Hosts or routers. Parallel subpaths
contained within clouds cannot be discovered. The assessment contained within clouds cannot be discovered. The assessment
methods only discover hosts or routers on the path that decrement methods only discover Hosts or routers on the path that decrement
hop limit, or cooperate with interrogation protocols. The presence Hop Limit or cooperate with interrogation protocols. The presence
of tunnels and nested tunnels further complicate assessment by of tunnels and nested tunnels further complicate assessment by
hiding hops.</t> hiding Hops.</dd>
<dt>Hop:</dt>
<t hangText="Hop:">Although the <xref target="RFC2330"/> <dd>The definition of Hop in <xref target="RFC2330"
definition of a hop was a link-host pair, only hosts that are format="default"/> was a link-Host pair. However, only Hosts
discoverable or have the capability to cooperate with that were discoverable and cooperated with
interrogation protocols where link information may be exposed.</t> interrogation protocols (where link information may be exposed) prov
</list>The refined definition of Route metrics begins in the ided both link and Host information.</dd>
sections that follow.</t> </dl>
<t>Note that the actual definitions appear in <xref target="terms"/>.</t
>
</section> </section>
<section numbered="true" toc="default">
<section title="Requirements Language"> <name>Requirements Language</name>
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
"OPTIONAL" in this document are to be interpreted as described in BCP NOT</bcp14>",
14<xref target="RFC2119"/> <xref target="RFC8174"/> when, and only "<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 desc
ribed in BCP
14 <xref target="RFC2119" format="default"/> <xref target="RFC8174"
format="default"/> when, and only
when, they appear in all capitals, as shown here.</t> when, they appear in all capitals, as shown here.</t>
</section> </section>
</section> </section>
<section anchor="Scope" numbered="true" toc="default">
<section anchor="Scope" title="Scope"> <name>Scope</name>
<t>The purpose of this memo is to add new route metrics and methods of <t>The purpose of this memo is to add new Route metrics and methods of
measurement to the existing set of IPPM metrics.</t> measurement to the existing set of IPPM metrics.</t>
<t>The scope is to define Route metrics that can identify the path taken
<t>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.
by a packet or a flow traversing the Internet between two hosts. Although primarily intended for Hosts communicating on the Internet, the
Although primarily intended for hosts communicating on the Internet, the
definitions and metrics are constructed to be applicable to other definitions and metrics are constructed to be applicable to other
network domains, if desired. The methods of measurement to assess the 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 path may not be able to discover all Hosts comprising the path, but such
omissions are often deterministic and explainable sources of error.</t> omissions are often deterministic and explainable sources of error.</t>
<t>This memo also specifies a framework for active methods of <t>This memo also specifies a framework for active methods of
measurement which uses the techniques described in <xref target="PT"/>, measurement that uses the techniques described in <xref target="PT" format
as well as a framework for hybrid active-passive methods of measurement ="default"/>
such as the Hybrid Type I method <xref target="RFC7799"/> described in as well as a framework for hybrid active-passive methods of measurement,
<xref target="I-D.ietf-ippm-ioam-data"/>. Methods using <xref such as the Hybrid Type I method <xref target="RFC7799" format="default"/>
target="I-D.ietf-ippm-ioam-data"/> are intended only for single described in
<xref target="RFC9197" format="default"/>. Methods using <xref target="RFC
9197" format="default"/> are intended only for single
administrative domains that provide a protocol for explicit administrative domains that provide a protocol for explicit
interrogation of nodes on a path. Combinations of active methods and interrogation of Nodes on a path. Combinations of active methods and
hybrid active-passive methods are also in-scope.</t> hybrid active-passive methods are also in scope.</t>
<t>Further, this memo provides additional analysis of the Round-Trip
<t>Further, this memo provides additional analysis of the round-trip Delay measurements made possible by the methods in an effort to
delay measurements made possible by the methods, in an effort to
discover more details about the path, such as the link technology in discover more details about the path, such as the link technology in
use.</t> use.</t>
<t>This memo updates <xref target="RFC2330" section="5" sectionFormat="of"
<t>This memo updates Section 5 of <xref target="RFC2330"/> in the areas /> in the areas
of path-related terminology and path description, primarily to include of path-related terminology and path description, primarily to include
the possibility of parallel subpaths between a given Source and the possibility of parallel subpaths between a given Source and
Destination address pair (possibly resulting from Equal Cost Multi-Path Destination address pair (possibly resulting from ECMP and UCMP technologi
(ECMP) and Unequal Cost Multi-Path (UCMP) technologies).</t> es).</t>
<t>There are several simple non-goals of this memo. There is no attempt <t>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 to assess the reverse path from any Host on the path to the Host
attempting the path measurement. The reverse path contribution to delay attempting the path measurement. The reverse path contribution to delay
will be that experienced by ICMP packets (in active methods), and may be 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 different from delays experienced by UDP or TCP packets. Also, the
trip delay will include an unknown contribution of processing time at Round-Trip Delay will include an unknown contribution of processing time
the host that generates the ICMP response. Therefore, the ICMP-based at
the Host that generates the ICMP response. Therefore, the ICMP-based
active methods are not supposed to yield accurate, reproducible active methods are not supposed to yield accurate, reproducible
estimations of the Round-Trip Delay that UDP or TCP packets will estimations of the Round-Trip Delay that UDP or TCP packets will
experience.</t> experience.</t>
</section> </section>
<section numbered="true" toc="default">
<section title="Route Metric Specifications"> <name>Route Metric Specifications</name>
<t>This section sets requirements for the components of the Route <t>This section sets requirements for the components of the route
Metric.</t> metric.</t>
<section numbered="true" toc="default" anchor="terms">
<section title="Terms and Definitions"> <name>Terms and Definitions</name>
<t/> <t/>
<dl newline="true" spacing="normal">
<dt>Host</dt>
<t><list style="hanging"> <dd>A Host (as defined in <xref target="RFC2330" format="default"/>) i
<t hangText="Host">A Host as defined in <xref target="RFC2330"/> s
(a computer capable of IP communication, includes routers), a.k.a. a computer capable of IP communication, including routers (aka an
RFC 2330 Host.</t> RFC 2330 Host).</dd>
<dt>Node </dt>
<t hangText="Node ">A Node is any network function on the path <dd>A Node is any network function on the path
capable of IP-layer Communication, includes RFC 2330 Hosts.</t> capable of IP-layer Communication, including RFC 2330 Hosts.</dd>
<dt>Node Identity</dt>
<t hangText="Node Identity">The unique address for Nodes <dd>The Node identity is the unique address for Nodes
communicating within the network domain. For Nodes communicating communicating within the network domain. For Nodes communicating
on the Internet with IP, it is the globally routable IP address on the Internet with IP, it is the globally routable IP address
which the Node uses when communicating with other Nodes under that the Node uses when communicating with other Nodes under
normal or error conditions. The Node Identity revealed (and its normal or error conditions. The Node identity revealed (and its
connection to a Node Name through reverse DNS) determines whether connection to a Node name through reverse DNS) determines whether
interfaces to parallel links can be associated with a single Node, interfaces to parallel links can be associated with a single Node
or appear to identify unique Nodes.</t> or appear to identify unique Nodes.</dd>
<dt>Discoverable Node</dt>
<t hangText="Discoverable Node">Nodes that convey their Node <dd>Discoverable Nodes are Nodes that convey their Node
Identity according to the requirements of their network domain, identity according to the requirements of their network domain,
such as when error conditions are detected by that Node. For Nodes such as when error conditions are detected by that Node. For Nodes
communicating with IP packets, compliance with Section 3.2.2.4 of communicating with IP packets, compliance with
<xref target="RFC1122"/> when discarding a packet due to TTL or <xref target="RFC1122" section="3.2.2.4" sectionFormat="of"/>, when
Hop Limit Exceeded condition, MUST result in sending the 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 corresponding Time Exceeded message (containing a form of Node
identity) to the source. This requirement is also consistent with identity) to the source. This requirement is also consistent with
section 5.3.1 of <xref target="RFC1812"/> for routers.</t> <xref target="RFC1812" sectionFormat="of" section="5.3.1"/> for rout
ers.</dd>
<t hangText="Cooperating Node">Nodes that respond to direct <dt>Cooperating Node</dt>
queries for their Node identity as part of a previously agreed and <dd>Cooperating Nodes are Nodes that respond to direct
established interrogation protocol. Nodes SHOULD also provide 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, information such as arrival/departure interface identification,
arrival timestamp, and any relevant information about the Node or arrival timestamp, and any relevant information about the Node or
specific link which delivered the query to the Node.</t> specific link that delivered the query to the Node.</dd>
<dt>Hop specification</dt>
<t hangText="Hop specification">A Hop specification MUST contain a <dd>A Hop specification <bcp14>MUST</bcp14> contain a
Node Identity, and MAY contain arrival and/or departure interface Node identity and <bcp14>MAY</bcp14> contain arrival and/or departur
identification, round trip delay, and an arrival timestamp.</t> e interface
identification, Round-Trip Delay, and an arrival timestamp.</dd>
<t hangText="Routing Class">A route that treats equally a class of <dt>Routing Class</dt>
<dd>Routing Class is a Route that treats a class of
different types of packets, designated "C" (unrelated to address different types of packets, designated "C" (unrelated to address
classes of the past) <xref target="RFC2330"/> <xref classes of the past) equally (<xref target="RFC2330" format="default
target="RFC8468"/>. Knowledge of such a class allows any one of "/> <xref target="RFC8468" format="default"/>). Knowledge of such a class allows
any one of
the types of packets within that class to be used for subsequent the types of packets within that class to be used for subsequent
measurement of the route. The designator "class C" is used for measurement of the Route. The designator "class C" is used for
historical reasons, see <xref target="RFC2330"/>.</t> historical reasons; see <xref target="RFC2330" format="default"/>.</
</list></t> dd>
</dl>
</section> </section>
<section numbered="true" toc="default">
<section title="Formal Name"> <name>Formal Name</name>
<t>The formal name of the metric is:</t> <t>The formal name of the metric is:</t>
<t> Type-P-Route-Ensemble-Method-Variant </t> <t> Type-P-Route-Ensemble-Method-Variant </t>
<t>abbreviated as Route Ensemble.</t> <t>abbreviated as Route Ensemble.</t>
<t>Note that Type-P depends heavily on the chosen method and <t>Note that Type-P depends heavily on the chosen method and
variant.</t> variant.</t>
</section> </section>
<section numbered="true" toc="default">
<section title="Parameters"> <name>Parameters</name>
<t>This section lists the REQUIRED input factors to define and measure <t>This section lists the <bcp14>REQUIRED</bcp14> input factors to defin
a Route metric, as specified in this memo.<list style="symbols"> e and measure
<t>Src, the address of a Node (such as the globally routable IP a Route metric, as specified in this memo.</t>
address).</t> <dl spacing="normal">
<dt>Src:</dt>
<t>Dst, the address of a Node (such as the globally routable IP <dd> the address of a Node (such as the globally routable IP
address).</t> address).</dd>
<dt>Dst:</dt>
<t>i, the limit on the number of Hops a specific packet may visit <dd> the address of a Node (such as the globally routable IP
address).</dd>
<dt>i:</dt>
<dd> 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 as it traverses from the Node at Src to the Node at Dst (such as
the TTL or Hop Limit).</t> the TTL or Hop Limit).</dd>
<dt>MaxHops:</dt>
<t>MaxHops, the maximum value of i used, (i=1,2,3,...MaxHops).</t> <dd> the maximum value of i used (i=1,2,3,...MaxHops).</dd>
<dt>T0:</dt>
<t>T0, a time (start of measurement interval)</t> <dd>a time (start of measurement interval).</dd>
<dt>Tf:</dt>
<t>Tf, a time (end of measurement interval)</t> <dd>a time (end of measurement interval).</dd>
<dt>MP(address):</dt>
<t>MP(address), Measurement Point at address, such as Src or Dst, <dd>the Measurement Point at address, such as Src or Dst,
usually at the same node stack layer as "address".</t> usually at the same Node stack layer as "address".</dd>
<dt>T:</dt>
<t>T, the Node time of a packet as measured at MP(Src), meaning <dd> the Node time of a packet as measured at MP(Src), meaning
Measurement Point at the Source.</t> Measurement Point at the Source.</dd>
<dt>Ta:</dt>
<t>Ta, the Node time of a reply packet's *arrival* as measured at <dd> the Node time of a reply packet's <strong>arrival</strong> as meas
ured at
MP(Src), assigned to packets that arrive within a "reasonable" MP(Src), assigned to packets that arrive within a "reasonable"
time (see parameter below).</t> time (see parameter below).</dd>
<dt>Tmax:</dt>
<t>Tmax, a maximum waiting time for reply packets to return to the <dd> a maximum waiting time for reply packets to return to the
source, set sufficiently long to disambiguate packets with long source, set sufficiently long to disambiguate packets with long
delays from packets that are discarded (lost), such that the delays from packets that are discarded (lost), such that the
distribution of Round-Trip Delay is not truncated.</t> distribution of Round-Trip Delay is not truncated.</dd>
<dt>F:</dt>
<t>F, the number of different flows simulated by the method and <dd> the number of different flows simulated by the method and
variant.</t> variant.</dd>
<dt>flow:</dt>
<t>flow, the stream of packets with the same n-tuple of designated <dd> the stream of packets with the same n-tuple of designated
header fields that (when held constant) result in identical header fields that (when held constant) result in identical
treatment in a multi-path decision (such as the decision taken in treatment in a multipath decision (such as the decision taken in
load balancing). Note: The IPv6 flow label MAY be included in the load balancing). Note: The IPv6 flow label <bcp14>MAY</bcp14> be inc
flow definition if the MP(Src) is a Tunnel End Point (TEP) luded in the
complying with <xref target="RFC6438"/> guidelines.</t> flow definition if the MP(Src) is a Tunnel Endpoint (TEP)
complying with the guidelines in <xref target="RFC6438" format="defa
<t>Type-P, the complete description of the packets for which this ult"/>.</dd>
assessment applies (including the flow-defining fields).</t> <dt>Type-P:</dt>
</list></t> <dd> the complete description of the packets for which this
assessment applies (including the flow-defining fields).</dd>
</dl>
</section> </section>
<section numbered="true" toc="default" anchor="Metric">
<section title="Metric Definitions"> <name>Metric Definitions</name>
<t>This section defines the REQUIRED measurement components of the <t>This section defines the <bcp14>REQUIRED</bcp14> measurement componen
ts of the
Route metrics (unless otherwise indicated):</t> Route metrics (unless otherwise indicated):</t>
<dl spacing="normal">
<t>M, the total number of packets sent between T0 and Tf.</t> <dt>M:</dt>
<dd> the total number of packets sent between T0 and Tf.</dd>
<t>N, the smallest value of i needed for a packet to be received at <dt>N:</dt>
Dst (sent between T0 and Tf).</t> <dd> the smallest value of i needed for a packet to be received at
Dst (sent between T0 and Tf).</dd>
<t>Nmax, the largest value of i needed for a packet to be received at <dt>Nmax:</dt>
Dst (sent between T0 and Tf). Nmax may be equal to N.</t> <dd> 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>
<t>Next define a *singleton* definition for a Node on the path, with </dl>
<t>Next, define a <strong>singleton</strong> for a Node on the path with
sufficient indexes to identify all Nodes identified in a measurement sufficient indexes to identify all Nodes identified in a measurement
interval (where *singleton* is part of the IPPM Framework <xref interval (where <strong>singleton</strong> is part of the IPPM Framework
target="RFC2330"/>).</t> <xref
target="RFC2330" format="default"/>).</t>
<t>A Hop Specification, designated h(i,j), the IP address and/or <dl spacing="normal">
identity of Discoverable Nodes (or Cooperating Nodes) that are i hops <dt>singleton:</dt>
<dd>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 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 interval T0 to Tf. As defined here, a Hop singleton
measurement MUST contain a Node Identity, hid(i,j), and MAY contain measurement <bcp14>MUST</bcp14> contain a Node identity, hid(i,j), and <
one or more of the following attributes:<list style="symbols"> bcp14>MAY</bcp14> contain
<t>a(i,j) Arrival Interface ID (e.g., when <xref one or more of the following attributes:</dd>
target="RFC5837"/> is supported)</t> </dl>
<ul spacing="normal">
<t>d(i,j) Departure Interface ID (e.g., when <xref <li>a(i,j) Arrival Interface ID (e.g., when <xref target="RFC5837"
target="RFC5837"/> is supported)</t> format="default"/> is supported)</li>
<li>d(i,j) Departure Interface ID (e.g., when <xref target="RFC5837"
<t>t(i,j) Arrival Timestamp, where t(i,j) is ideally supplied by format="default"/> is supported)</li>
the Hop. (Note that t(i,j) might be approximated from the sending <li>t(i,j) arrival timestamp, where t(i,j) is ideally supplied by
time of the packet that revealed the Hop, e.g., when the round the Hop (note that t(i,j) might be approximated from the sending
trip response time is available and divided by 2.)</t> time of the packet that revealed the Hop, e.g., when the
round-trip response time is available and divided by 2)</li>
<t>Measurements of Round-Trip Delay (for each packet that reveals <li>Measurements of Round-Trip Delay (for each packet that reveals
the same Node Identity and flow attributes, then this attribute is the same Node identity and flow attributes, then this attribute is
computed, see next section)</t> computed; see next section)</li>
</list></t> </ul>
<t>Node identities and related information can be ordered by their
<t>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, distance from the Node with address Src in Hops h(i,j). Based on this,
two forms of Routes are distinguished:</t> two forms of Routes are distinguished:</t>
<t>A Route Ensemble is defined as the combination of all Routes
<t>A Route Ensemble is defined as the combination of all routes
traversed by different flows from the Node at Src address to the Node 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 at Dst address. A single Route traversed by a single flow (determined
by an unambiguous tuple of addresses Src and Dst, and other identical 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 flow criteria) is a member of the Route Ensemble and called a Member
Route.</t> Route.</t>
<t>Using h(i,j) and components and parameters further define:</t>
<t>Using h(i,j) and components and parameters, further define:</t>
<t>When considering the set of Hops in the context of a single flow, a <t>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, Member Route j is an ordered list {h(1,j), ... h(Nj, j)} where h(i-1,
j) and h(i, j) are 1 hop away from each other and Nj satisfying 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 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 member Route j to reach Dst. Member Routes must be unique. The
uniqueness property requires that any two Member routes j and k that 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 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 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) 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> != h(i,k) for at least one i (i=1..Nj).</t>
<t>All the optional information collected to describe a Member Route, <t>All the optional information collected to describe a Member Route,
such as the arrival interface, departure interface, and Round Trip such as the arrival interface, departure interface, and Round-Trip
Delay at each Hop, turns each list item into a rich structure. There Delay at each Hop, turns each list item into a rich structure. There
may be information on the links between Hops, possibly information on may be information on the links between Hops, possible information on
the routing (arrival interface and departure interface), an estimate the routing (arrival interface and departure interface), an estimate
of distance between Hops based on Round-Trip Delay measurements and of distance between Hops based on Round-Trip Delay measurements and
calculations, and a time stamp indicating when all these additional calculations, and a timestamp indicating when all these additional
details were valid.</t> details were measured.</t>
<t>The Route Ensemble from Src to Dst, during the measurement interval <t>The Route Ensemble from Src to Dst, during the measurement interval
T0 to Tf, is the aggregate of all m distinct Member Routes discovered 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 between the two Nodes with Src and Dst addresses. More formally, with
the Node having address Src omitted:</t> the Node having address Src omitted:</t>
<sourcecode name=""><![CDATA[
<t><figure> Route Ensemble = {
<artwork><![CDATA[Route Ensemble = {
{h(1,1), h(2,1), h(3,1), ... h(N1,1)=Dst}, {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,2), h(2,2), h(3,2),..., h(N2,2)=Dst},
... ...
{h(1,m), h(2,m), h(3,m), ....h(Nm,m)=Dst} {h(1,m), h(2,m), h(3,m), ....h(Nm,m)=Dst}
} }
]]></sourcecode>
]]></artwork> <t>where the following conditions apply: i &lt;= Nj &lt;= Nmax
</figure>where the following conditions apply: i &lt;= Nj &lt;= Nmax
(j=1..m)</t> (j=1..m)</t>
<t>Note that some h(i,j) may be empty (null) in the case that systems <t>Note that some h(i,j) may be empty (null) in the case that systems
do not reply (not discoverable, or not cooperating).</t> do not reply (not discoverable or not cooperating).</t>
<t>h(i-1,j) and h(i,j) are the Hops on the same Member Route one Hop
<t>h(i-1,j) and h(i,j) are the Hops on the same Member Route one hop
away from each other.</t> away from each other.</t>
<t>Hop h(i,j) may be identical with h(k,l) for i!=k and j!=l, which
<t>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 means there may be portions shared among different Member Routes
(parts of Member Routes may overlap).</t> (parts of Member Routes may overlap).</t>
</section> </section>
<section numbered="true" toc="default">
<section title="Related Round-Trip Delay and Loss Definitions"> <name>Related Round-Trip Delay and Loss Definitions</name>
<t>RTD(i,j,T) is defined as a singleton of the <xref <t>RTD(i,j,T) is defined as a singleton of the <xref target="RFC2681"
target="RFC2681"/> Round-Trip Delay between the Node with address = format="default"/> Round-Trip Delay between the Node with address =
Src and the Node at Hop h(i,j) at time T.</t> Src and the Node at Hop h(i,j) at time T.</t>
<t>RTL(i,j,T) is defined as a singleton of the <xref target="RFC6673"
<t>RTL(i,j,T) is defined as a singleton of the <xref format="default"/> Round-Trip Loss between the Node with address = Src
target="RFC6673"/> Round-trip Loss between the Node with address = Src
and the Node at Hop h(i,j) at time T.</t> and the Node at Hop h(i,j) at time T.</t>
</section> </section>
<section numbered="true" toc="default">
<section title="Discussion"> <name>Discussion</name>
<t>Depending on the way that Node Identity is revealed, it may be <t>Depending on the way that the Node identity is revealed, it may be
difficult to determine parallel subpaths between the same pair of difficult to determine parallel subpaths between the same pair of
Nodes (i.e. multiple parallel links). It is easier to detect parallel Nodes (i.e., multiple parallel links). It is easier to detect parallel
subpaths involving different Nodes.<list style="symbols"> subpaths involving different Nodes.</t>
<t>If a pair of discovered Nodes identify two different addresses <ul spacing="normal">
<li>If a pair of discovered Nodes identify two different addresses
(IP or not), then they will appear to be different Nodes. See item (IP or not), then they will appear to be different Nodes. See item
below.</t> below.</li>
<li>If a pair of discovered Nodes identify two different IP
<t>If a pair of discovered Nodes identify two different IP addresses and the IP addresses resolve to the same Node name (in
addresses, and the IP addresses resolve to the same Node name (in the DNS), then they will appear to be the same Node.</li>
the DNS), then they will appear to be the same Nodes.</t> <li>If a discovered Node always replies using the same network
<t>If a discovered Node always replies using the same network
address, regardless of the interface a packet arrives on, then address, regardless of the interface a packet arrives on, then
multiple parallel links cannot be detected in that network domain. multiple parallel links cannot be detected in that network domain.
This condition may apply to traceroute-style methods, but may not This condition may apply to traceroute-style methods but may not
apply to other hybrid methods based on In-situ Operations, apply to other hybrid methods based on In situ Operations,
Administration, and Maintenance (IOAM). For example, if the <xref Administration, and Maintenance (IOAM). For example, if the ICMP ext
target="RFC5837"/> ICMP extension mechanism is implemented, then ension mechanism described in <xref
target="RFC5837" format="default"/> is
implemented, then
parallel links can be detected with the discovery traceroute-style parallel links can be detected with the discovery traceroute-style
methods. </t> methods. </li>
<li>If parallel links between routers are aggregated below the IP
<t>If parallel links between routers are aggregated below the IP layer, then, from the Node's point of view, all these links share th
layer, then from Node point of view, all these links share the e
same pair of IP addresses. The existence of these parallel links same pair of IP addresses. The existence of these parallel links
can't be detected at the IP layer. This applies to other network can't be detected at the IP layer. This applies to other network
domains with layers below them, as well. This condition may apply domains with layers below them as well. This condition may apply
to traceroute-style methods, but may not apply to other hybrid to traceroute-style methods but may not apply to other hybrid
methods based on IOAM.</t> methods based on IOAM.</li>
</list></t> </ul>
<t>When a Route assessment employs IP packets (for example), the
<t>When a route assessment employs IP packets (for example), the
reality of flow assignment to parallel subpaths involves layers above reality of flow assignment to parallel subpaths involves layers above
IP. Thus, the measured Route Ensemble is applicable to IP and higher 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 layers (as described in the methodology's packet of Type-P and flow
parameters).</t> parameters).</t>
</section> </section>
<section numbered="true" toc="default">
<section title="Reporting the Metric"> <name>Reporting the Metric</name>
<t>An Information Model and an XML Data Model for Storing Traceroute <t>An Information Model and an XML Data Model for Storing Traceroute
Measurements is available in <xref target="RFC5388"/>. The measured Measurements is available in <xref target="RFC5388" format="default"/>.
information at each hop includes four pieces of information: a The measured
one-dimensional hop index, Node symbolic address, Node IP address, and 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> RTD for each response.</t>
<t>The description of Hop information that may be collected according <t>The description of Hop information that may be collected according
to this memo covers more dimensions, as defined in Section 3.4 above. to this memo covers more dimensions, as defined in <xref target="Metric" />.
For example, the Hop index is two-dimensional to capture the For example, the Hop index is two-dimensional to capture the
complexity of a Route Ensemble, and it contains corresponding Node complexity of a Route Ensemble, and it contains corresponding Node
identities at a minimum. The models need to be expanded to include identities at a minimum. The models need to be expanded to include
these features, as well as Arrival Interface ID, Departure Interface these features as well as Arrival Interface ID, Departure Interface
ID, and Arrival Timestamp, when available. The original sending ID, and arrival timestamp, when available. The original sending
Timestamp from the Src Node anchors a particular measurement in Timestamp from the Src Node anchors a particular measurement in
time.</t> time.</t>
</section> </section>
</section> </section>
<section anchor="Methodologies" numbered="true" toc="default">
<section anchor="Methodologies" title="Route Assessment Methodologies"> <name>Route Assessment Methodologies</name>
<t>There are two classes of methods described in this section, active <t>There are two classes of methods described in this section, active
methods relying on the reaction to TTL or Hop Limit Exceeded condition methods relying on the reaction to TTL or Hop Limit Exceeded condition
to discover Nodes on a path, and Hybrid active-passive methods that to discover Nodes on a path and hybrid active-passive methods that
involve direct interrogation of cooperating Nodes (usually within a involve direct interrogation of Cooperating Nodes (usually within a
single domain). Description of these methods follow.</t> single domain). Description of these methods follow.</t>
<section numbered="true" toc="default">
<section title="Active Methodologies"> <name>Active Methodologies</name>
<t>This section describes the method employed by current open source <t>This section describes the method employed by current open-source
tools, thereby providing a practical framework for further advanced tools, thereby providing a practical framework for further advanced
techniques to be included as method variants. This method is techniques to be included as method variants. This method is
applicable for use across multiple administrative domains.</t> applicable for use across multiple administrative domains.</t>
<t>Internet routing is complex because it depends on the policies of <t>Internet routing is complex because it depends on the policies of
thousands of Autonomous Systems (AS). Most routers perform load thousands of Autonomous Systems (ASes). Most routers perform load
balancing on flows using a form of Equal Cost Multiple Path (ECMP). balancing on flows using a form of ECMP.
<xref target="RFC2991"/> describes a number of flow-based or hashed <xref target="RFC2991" format="default"/> describes a number of flow-bas
approaches (e.g., Modulo-N Hash, Hash-Threshold, Highest Random Weight ed or hashed
(HRW)), and makes some good suggestions. Flow-based ECMP avoids approaches (e.g., Modulo-N Hash, Hash-Threshold, and Highest Random Weig
increased packet delay variation and possibly overwhelming levels of ht
(HRW)) and makes some good suggestions. Flow-based ECMP avoids
increased packet Delay Variation and possibly overwhelming levels of
packet reordering in flows.</t> packet reordering in flows.</t>
<t>A few routers still divide the workload through packet-based <t>A few routers still divide the workload through packet-based
techniques, such as a round-robin scheme to distribute every new techniques, such as a round-robin scheme to distribute every new
outgoing packet to multiple links, as explained in <xref outgoing packet to multiple links, as explained in <xref
target="RFC2991"/>. The methods described in this section assume target="RFC2991" format="default"/>. The methods described in this
flow-based ECMP.</t> section assume flow-based ECMP.</t>
<t>Taking into account that Internet protocol was designed under the <t>Taking into account that Internet protocol was designed under the
&ldquo;end-to-end&rdquo; principle, the IP payload and its header do "end-to-end" principle, the IP payload and its header do
not provide any information about the routes or path necessary to not provide any information about the Routes or path necessary to
reach some destination. For this reason, the popular tool traceroute reach some destination. For this reason, the popular tool, traceroute,
was developed to gather the IP addresses of each hop along a path was developed to gather the IP addresses of each Hop along a path
using the ICMP protocol <xref target="RFC0792"/>. Traceroute also using ICMP <xref target="RFC0792" format="default"/>. Traceroute also
measures RTD from each hop. However, the growing complexity of the measures RTD from each Hop. However, the growing complexity of the
Internet makes it more challenging to develop an accurate traceroute Internet makes it more challenging to develop an accurate traceroute
implementation. For instance, the early traceroute tools would be implementation. For instance, the early traceroute tools would be
inaccurate in the current network, mainly because they were not inaccurate in the current network, mainly because they were not
designed to retain a flow state. However, evolved traceroute tools, designed to retain a flow state. However, evolved traceroute tools,
such as Paris-traceroute <xref target="PT"/> <xref target="MLB"/> and such as Paris-traceroute (<xref target="PT" format="default"/> <xref
Scamper <xref target="SCAMPER"/>, expect to encounter ECMP and achieve target="MLB" format="default"/>) and
Scamper (<xref target="SCAMPER" format="default"/>), expect to encounter
ECMP and achieve
more accurate results when they do, where Scamper ensures traceroute more accurate results when they do, where Scamper ensures traceroute
packets will follow the same path in 98% of cases<xref packets will follow the same path in 98% of cases (<xref target="SCAMPER
target="SCAMPER"/>.</t> " format="default"/>).</t>
<t>Today's traceroute tools send Type-P of packets, which are either ICM
<t>Today's traceroute tools send Type-P of packets, either ICMP, UDP, P, UDP,
or TCP. UDP and TCP are used when a particular characteristic needs to or TCP. UDP and TCP are used when a particular characteristic needs to
be verified, such as filtering or traffic shaping on specific ports be verified, such as filtering or traffic shaping on specific ports
(i.e., services). UDP and TCP traceroute are also used when ICMP (i.e., services). UDP and TCP traceroute are also used when ICMP
responses are not received. <xref target="SCAMPER"/> supports IPv6 responses are not received. <xref target="SCAMPER" format="default"/> su
traceroute measurements, keeping the FlowLabel constant in all pports IPv6
traceroute measurements, keeping the Flow Label constant in all
packets.</t> packets.</t>
<t>Paris-traceroute allows its users to measure the RTD to every Node <t>Paris-traceroute allows its users to measure the RTD to every Node
of the path for a particular flow. Furthermore, either of the path for a particular flow. Furthermore, either
Paris-traceroute or Scamper is capable of unveiling the many available Paris-traceroute or Scamper is capable of unveiling the many available
paths between a source and destination (which are visible to active paths between a source and destination (which are visible to active
methods). This task is accomplished by repeating complete traceroute methods). This task is accomplished by repeating complete traceroute
measurements with different flow parameters for each measurement; measurements with different flow parameters for each measurement;
Paris-traceroute provides &ldquo;exhaustive&rdquo; mode while scamper Paris-traceroute provides an "exhaustive" mode, while Scamper
provides &ldquo;tracelb&rdquo; (stands for traceroute load balance). provides "tracelb" (which stands for "traceroute load balance").
The Framework for IP Performance Metrics (IPPM) (<xref <xref
target="RFC2330"/> updated by<xref target="RFC7312"> </xref>) has the target="RFC2330" format="default">"Framework for IP Performance Metrics"<
/xref>, updated by <xref target="RFC7312"
format="default"> </xref>, has the
flexibility to require that the Round-Trip Delay measurement <xref flexibility to require that the Round-Trip Delay measurement <xref
target="RFC2681"/> uses packets with the constraints to assure that target="RFC2681" format="default"/> uses packets with the constraints
to assure that
all packets in a single measurement appear as the same flow. This all packets in a single measurement appear as the same flow. This
flexibility covers ICMP, UDP, and TCP. The accompanying methodology of flexibility covers ICMP, UDP, and TCP. The accompanying methodology of
<xref target="RFC2681"/> needs to be expanded to report the sequential <xref target="RFC2681" format="default"/> needs to be expanded to report
hop identifiers along with RTD measurements, but no new metric the sequential
Hop identifiers along with RTD measurements, but no new metric
definition is needed.</t> definition is needed.</t>
<t>The advanced Route assessment methods used in Paris-traceroute
<t>The advanced route assessment methods used in Paris-traceroute <xref target="PT" format="default"/> keep the critical fields constant f
<xref target="PT"/> keep the critical fields constant for every packet or every packet
to maintain the appearance of the same flow. When considering IPv6 to maintain the appearance of the same flow. When considering IPv6
headers, it is necessary to ensure that the IP source and destination headers, it is necessary to ensure that the IP Source and Destination
addresses and the FlowLabel are constant (but note that many routers addresses and Flow Label are constant (but note that many routers
ignore the FlowLabel field at this time), see <xref ignore the Flow Label field at this time); see <xref target="RFC6437"
target="RFC6437"/>. Use of IPv6 Extension Headers may add critical format="default"/>. Use of IPv6 Extension Headers may add critical
fields, and SHOULD be avoided. In IPv4, certain fields of the IP fields and <bcp14>SHOULD</bcp14> be avoided. In IPv4, certain fields of
header and the first four bytes of the IP payload should remain the IP
constant in a flow. In the IPv4 header, the IP source and destination 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 addresses, protocol number, and Diffserv fields identify flows. The
first four payload bytes include the UDP and TCP ports, and the ICMP first 4 payload bytes include the UDP and TCP ports and the ICMP
type, code, and checksum fields.</t> type, code, and checksum fields.</t>
<t>Maintaining a constant ICMP checksum in IPv4 is most challenging, <t>Maintaining a constant ICMP checksum in IPv4 is most challenging,
as the ICMP sequence number or identifier fields will usually change as the ICMP sequence number or identifier fields will usually change
for different probes of the same path. Probes should use arbitrary for different probes of the same path. Probes should use arbitrary
bytes in the ICMP data field to offset changes to sequence number and bytes in the ICMP data field to offset changes to the sequence number an d
identifier, thus keeping the checksum constant.</t> identifier, thus keeping the checksum constant.</t>
<t>Finally, it is also essential to Route the resulting ICMP Time
<t>Finally, it is also essential to route the resulting ICMP Time
Exceeded messages along a consistent path. In IPv6, the fields above Exceeded messages along a consistent path. In IPv6, the fields above
are sufficient. In IPv4, the ICMP Time Exceeded message will contain are sufficient.
the IP header and the first eight bytes of the IP payload, which In IPv4, the ICMP Time Exceeded message will contain
affects its ICMP checksum. The TCP sequence number, UDP Length, and the IP header and the first 8 bytes of the IP payload, both of which
UDP checksum will affect this value, and should remain constant.</t> affect its ICMP checksum calculation. The TCP sequence number, UDP lengt
h, and
UDP checksum will affect this value and should remain constant.</t>
<t>Formally, to maintain the same flow in the measurements to a <t>Formally, to maintain the same flow in the measurements to a
particular hop, the Type-P-Route-Ensemble-Method-Variant packets particular Hop, the Type-P-Route-Ensemble-Method-Variant packets
should be<xref target="PT"/>:</t> should have the following attributes (see <xref target="PT" format="defa
ult"/>):</t>
<t><list style="symbols">
<t>TCP case: For IPv4, the fields Src, Dst, port-Src, port_Dst,
sequence number, and Diffserv Field SHOULD be the same. For IPv6,
the field FlowLabel, Src and Dst SHOULD be the same.</t>
<t>UDP case: For IPv4, the fields Src, Dst, port-Src, port-Dst, <dl spacing="normal">
Diffserv should be the same, and the UDP-checksum SHOULD change to <dt>TCP case:</dt>
keep the IP checksum of the ICMP time exceeded reply constant. <dd> 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 sam
e.</dd>
<dt>UDP case:</dt>
<dd> For IPv4, the fields Src, Dst, port-Src, port-Dst, and
Diffserv should be the same, and the UDP checksum <bcp14>SHOULD</bcp
14> 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 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, to make it so (consider that ICMP checksum uses its data field,
which contains the original IP header plus 8 bytes of UDP, where which contains the original IP header plus 8 bytes of UDP, where
TTL, IP identification, IP checksum, and UDP checksum changes). TTL, IP identification, IP checksum, and UDP checksum changes).
For IPv6, the field FlowLabel, and Source and Destination For IPv6, the field Flow Label and Source and Destination
addresses SHOULD be the same.</t> addresses <bcp14>SHOULD</bcp14> be the same.</dd>
<dt>ICMP case:</dt>
<t>ICMP case: For IPv4, the Data field SHOULD compensate <dd> For IPv4, the data field <bcp14>SHOULD</bcp14> compensate
variations on TTL or Hop Limit, IP identification, and IP checksum variations on TTL or Hop Limit, IP identification, and IP checksum
for every packet. There is no need to consider ICMPv6 because only for every packet. There is no need to consider ICMPv6 because only
FlowLabel of IPv6 and Source and Destination addresses are used, Flow Label of IPv6 and Source and Destination addresses are used,
and all of them SHOULD be constant.</t> and all of them <bcp14>SHOULD</bcp14> be constant.</dd>
</list></t> </dl>
<t>Then, the way to identify different Hops and attempts of the same
<t>Then, the way to identify different hops and attempts of the same
IPv4 flow is:</t> IPv4 flow is:</t>
<dl spacing="normal">
<dt>TCP case:</dt>
<dd> The IP identification field.</dd>
<dt>UDP case:</dt>
<dd> The IP identification field.</dd>
<dt>ICMP case:</dt>
<dd> The IP identification field and ICMP sequence
number.</dd>
</dl>
<t><list style="symbols"> <section numbered="true" toc="default">
<t>TCP case: The IP identification field.</t> <name>Temporal Composition for Route Metrics</name>
<t>The active Route assessment methods described above have the
<t>UDP case: The IP identification field.</t>
<t>ICMP case: The IP identification field, and ICMP Sequence
number.</t>
</list></t>
<section title="Temporal Composition for Route Metrics">
<t>The Active Route Assessment Methods described above have the
ability to discover portions of a path where ECMP load balancing is ability to discover portions of a path where ECMP load balancing is
present, observed as two or more unique Member Routes having one or present, observed as two or more unique Member Routes having one or
more distinct Hops which are part of the Route Ensemble. Likewise, more distinct Hops that are part of the Route Ensemble. Likewise,
attempts to deliberately vary the flow characteristics to discover attempts to deliberately vary the flow characteristics to discover
all Member Routes will reveal portions of the path which are all Member Routes will reveal portions of the path that are
flow-invariant.</t> flow invariant.</t>
<t><xref target="RFC2330" section="9.2" sectionFormat="of"/> describes
<t>Section 9.2 of <xref target="RFC2330"/> describes Temporal the Temporal
Composition of metrics, and introduces the possibility of a Composition of metrics and introduces the possibility of a
relationship between earlier measurement results and the results for relationship between earlier measurement results and the results for
measurement at the current time (for a given metric). There is value measurement at the current time (for a given metric). There is value
in establishing a Temporal Composition relationship for Route in establishing a Temporal Composition relationship for Route
Metrics. However, this relationship does not represent a forecast of metrics; however, this relationship does not represent a forecast of
future route conditions in any way.</t> future Route conditions in any way.</t>
<t>For Route-metric measurements, the value of Temporal Composition
<t>For Route Metric measurements, the value of Temporal Composition
is to reduce the measurement iterations required with repeated is to reduce the measurement iterations required with repeated
measurements. Reduced iterations are possible by inferring that measurements. Reduced iterations are possible by inferring that
current measurements using fixed and previously measured flow current measurements using fixed and previously measured flow
characteristics:<list style="symbols"> characteristics:</t>
<t>will have many common hops with previous measurements.</t> <ul spacing="normal">
<li>will have many common Hops with previous measurements.</li>
<t>will have relatively time-stable results at the ingress and <li>will have relatively time-stable results at the ingress and
egress portions of the path when measured from user locations, egress portions of the path when measured from user locations,
as opposed to measurements of backbone networks and across as opposed to measurements of backbone networks and across
inter-domain gateways.</t> inter-domain gateways.</li>
<li>may have greater potential for time variation in path
<t>may have greater potential for time-variation in path
portions where ECMP load balancing is observed (because portions where ECMP load balancing is observed (because
increasing or decreasing the pool of links changes the hash increasing or decreasing the pool of links changes the hash
calculations).</t> calculations).</li>
</list></t> </ul>
<t>Optionally, measurement systems may take advantage of the <t>Optionally, measurement systems may take advantage of the
inferences above when seeking to reduce measurement iterations, inferences above when seeking to reduce measurement iterations
after exhaustive measurements indicate that the time-stable after exhaustive measurements indicate that the time-stable
properties are present. Repetitive Active Route measurement properties are present. Repetitive active Route measurement
systems:<list style="numbers"> systems:</t>
<t>SHOULD occasionally check path portions which have exhibited <ol spacing="normal" type="1">
<li><bcp14>SHOULD</bcp14> occasionally check path portions that have
exhibited
stable results over time, particularly ingress and egress stable results over time, particularly ingress and egress
portions of the path (e.g., daily checks if measuring many times portions of the path (e.g., daily checks if measuring many times
during a day).</t> during a day).</li>
<li><bcp14>SHOULD</bcp14> continue testing portions of the path that
<t>SHOULD continue testing portions of the path that have have
previously exhibited ECMP load balancing.</t> previously exhibited ECMP load balancing.</li>
<li><bcp14>SHALL</bcp14> trigger reassessment of the complete path a
<t>SHALL trigger re-assessment of the complete path and Route nd Route
Ensemble, if any change in hops is observed for a specific (and Ensemble if any change in Hops is observed for a specific (and
previously tested) flow.</t> previously tested) flow.</li>
</list></t> </ol>
<t/> <t/>
</section> </section>
<section numbered="true" toc="default">
<section title="Routing Class Identification"> <name>Routing Class Identification</name>
<t>There is an opportunity to apply the <xref target="RFC2330"/> <t>There is an opportunity to apply the notion from <xref target="RFC2
notion of equal treatment for a class of packets, "...very useful to 330" format="default"/>
of equal treatment for a class of packets, "...very useful to
know if a given Internet component treats equally a class C of know if a given Internet component treats equally a class C of
different types of packets", as it applies to Route measurements. different types of packets", as it applies to Route measurements.
The notion of class C was examined further in <xref The notion of class C was examined further in <xref target="RFC8468"
target="RFC8468"/> as it applied to load-balancing flows over format="default"/> as it applied to load-balancing flows over
parallel paths, which is the case we develop here. Knowledge of parallel paths, which is the case we develop here. Knowledge of
class C parameters (unrelated to address classes of the past) on a class C parameters (unrelated to address classes of the past) on a
path potentially reduces the number of flows required for a given path potentially reduces the number of flows required for a given
method to assess a Route Ensemble over time.</t> method to assess a Route Ensemble over time.</t>
<t>First, recognize that each Member Route of a Route Ensemble will <t>First, recognize that each Member Route of a Route Ensemble will
have a corresponding class C. Class C can be discovered by testing have a corresponding class C. Class C can be discovered by testing
with multiple flows, all of which traverse the unique set of hops with multiple flows, all of which traverse the unique set of Hops
that comprise a specific Member Route.</t> that comprise a specific Member Route.</t>
<t>Second, recognize that the different classes depend primarily on <t>Second, recognize that the different classes depend primarily on
the hash functions used at each instance of ECMP load balancing on the hash functions used at each instance of ECMP load balancing on
the path.</t> the path.</t>
<t>Third, recognize the synergy with Temporal Composition methods <t>Third, recognize the synergy with Temporal Composition methods
(described above), where evaluation intends to discover time-stable (described above), where evaluation intends to discover time-stable
portions of each Member Route, so that more emphasis can be placed portions of each Member Route so that more emphasis can be placed
on ECMP portions that also determine class C.</t> on ECMP portions that also determine class C.</t>
<t>The methods to assess the various class C characteristics benefit <t>The methods to assess the various class C characteristics benefit
from the following measurement capabilities:<list style="symbols"> from the following measurement capabilities:</t>
<t>flows designed to determine which n-tuple header fields are <ul spacing="normal">
considered by a given hash function and ECMP hop on the path, <li>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 and which are not. This operation immediately narrows the search
space, where possible, and partially defines a class C.</t> space, where possible, and partially defines a class C.</li>
<li>a priori knowledge of the possible types of hash functions in
<t>a priori knowledge of the possible types of hash functions in
use also helps to design the flows for testing (major router use also helps to design the flows for testing (major router
vendors publish information about these hash functions, examples vendors publish information about these hash functions; examples
are here <xref target="LOAD_BALANCE"/>.</t> are in <xref target="LOAD_BALANCE" format="default"/>).</li>
<li>ability to direct the emphasis of current measurements on
<t>ability to direct the emphasis of current measurements on
ECMP portions of the path, based on recent past measurement ECMP portions of the path, based on recent past measurement
results (the Routing Class of some portions of the path is results (the Routing Class of some portions of the path is
essentially "all packets").</t> essentially "all packets").</li>
</list></t> </ul>
<t/> <t/>
</section> </section>
<section numbered="true" toc="default">
<section title="Intermediate Observation Point Route Measurement"> <name>Intermediate Observation Point Route Measurement</name>
<t>There are many examples where passive monitoring of a flow at an <t>There are many examples where passive monitoring of a flow at an
Observation Point within the network can detect unexpected Round Observation Point within the network can detect unexpected
Trip Delay or Delay Variation. But how can the cause of the Round-Trip Delay or Delay Variation. But how can the cause of the
anomalous delay be investigated further *from the Observation Point* anomalous delay be investigated further <strong>from the Observation P
oint</strong>
possibly located at an intermediate point on the path?</t> possibly located at an intermediate point on the path?</t>
<t>In this case, knowledge that the flow of interest belongs to a <t>In this case, knowledge that the flow of interest belongs to a
specific Routing Class C will enable measurement of the route where specific Routing Class C will enable measurement of the Route where
anomalous delay has been observed. Specifically, Round-Trip Delay anomalous delay has been observed. Specifically, Round-Trip Delay
assessment to each Hop on the path between the Observation Point and assessment to each Hop on the path between the Observation Point and
the Destination for the flow of interest may discover high or the Destination for the flow of interest may discover high or
variable delay on a specific link and Hop combination.</t> variable delay on a specific link and Hop combination.</t>
<t>The determination of a Routing Class C that includes the flow of
<t>The determination of a Routing Class C which includes the flow of
interest is as described in the section above, aided by computation interest is as described in the section above, aided by computation
of the relevant hash function output as the target.</t> of the relevant hash function output as the target.</t>
<t/> <t/>
</section> </section>
</section> </section>
<section numbered="true" toc="default">
<name>Hybrid Methodologies</name>
<t>The Hybrid Type I methods provide an alternative for Route
assessment.
The "Scope, Applicability, and Assumptions" section of <xref
target="RFC9197" format="default"/> provides one possible set of data
fields that would support Route identification.</t>
<t>In general, Nodes in the measured domain would be equipped with
specific abilities:</t>
<ul spacing="normal">
<li>Store the identity of Nodes that a packet has visited in header
data fields in the order the packet visited the Nodes.</li>
<li>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>
<section title="Hybrid Methodologies"> <t>In addition to Node identity, Nodes may also identify the ingress
<t>The Hybrid Type I methods provide an alternative method for Route
Member assessment. As mentioned in the Scope section, <xref
target="I-D.ietf-ippm-ioam-data"/> provides a possible set of data
fields that would support route identification.</t>
<t>In general, nodes in the measured domain would be equipped with
specific abilities:<list style="symbols">
<t>Store the identity of nodes that a packet has visited in header
data fields, in the order the packet visited the nodes.</t>
<t>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.</t>
</list></t>
<t>In addition to node identity, nodes may also identify the ingress
and egress interfaces utilized by the tracing packet, the absolute and egress interfaces utilized by the tracing packet, the absolute
time when the packet was processed, and other generic data (as time when the packet was processed, and other generic data (as
described in section 4 of <xref target="I-D.ietf-ippm-ioam-data"/>). described in <xref target="RFC9197" sectionFormat="of" section="3"/>).
Interface identification isn't necessarily limited to IP, i.e. Interface identification isn't necessarily limited to IP, i.e.,
different links in a bundle (LACP) could be identified. Equally well, 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 links without explicit IP addresses can be identified (like with
unnumbered interfaces in an IGP deployment).</t> unnumbered interfaces in an IGP deployment).</t>
<t>Note that the Type-P packet specification for this method will <t>Note that the Type-P packet specification for this method will
likely be a partial specification, because most of the packet fields likely be a partial specification because most of the packet fields
are determined by the user traffic. The packet (encapsulation) are determined by the user traffic. The packet encapsulation
header(s) added by the Hybrid method can certainly be specified in header or headers added by the hybrid method can certainly be specified
in
Type-P, in unpopulated form.</t> Type-P, in unpopulated form.</t>
</section> </section>
<section numbered="true" toc="default">
<section title="Combining Different Methods"> <name>Combining Different Methods</name>
<t>In principle, there are advantages if the entity conducting Route <t>In principle, there are advantages if the entity conducting Route
measurements can utilize both forms of advanced methods (active and measurements can utilize both forms of advanced methods (active and
hybrid), and combine the results. For example, if there are Nodes hybrid) and combine the results. For example, if there are Nodes
involved in the path that qualify as Cooperating Nodes, but not as 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 Discoverable Nodes, then a more complete view of Hops on the path is
possible when a hybrid method (or interrogation protocol) is applied possible when a hybrid method (or interrogation protocol) is applied
and the results are combined with the active method results collected and the results are combined with the active method results collected
across all other domains.</t> across all other domains.</t>
<t>In order to combine the results of active and hybrid/interrogation <t>In order to combine the results of active and hybrid/interrogation
methods, the network Nodes that are part of a domain supporting an methods, the network Nodes that are part of a domain supporting an
interrogation protocol have the following attributes: <list interrogation protocol have the following attributes: </t>
style="numbers"> <ol spacing="normal" type="1">
<t>Nodes at the ingress to the domain SHOULD be both Discoverable <li>Nodes at the ingress to the domain <bcp14>SHOULD</bcp14> be both Di
and Cooperating.</t> scoverable
and Cooperating.</li>
<t>Any Nodes within the domain that are both Discoverable and <li>Any Nodes within the domain that are both Discoverable and
Cooperating SHOULD reveal the same Node Identity in response to Cooperating <bcp14>SHOULD</bcp14> reveal the same Node identity in r
both active and hybrid methods.</t> esponse to
both active and hybrid methods.</li>
<t>Nodes at the egress to the domain SHOULD be both Discoverable <li>Nodes at the egress to the domain <bcp14>SHOULD</bcp14> be both Di
and Cooperating, and SHOULD reveal the same Node Identity in scoverable
response to both active and hybrid methods.</t> and Cooperating and <bcp14>SHOULD</bcp14> reveal the same Node ident
</list></t> ity in
response to both active and hybrid methods.</li>
</ol>
<t>When Nodes follow these requirements, it becomes a simple matter to <t>When Nodes follow these requirements, it becomes a simple matter to
match single domain measurements with the overlapping results from a match single-domain measurements with the overlapping results from a
multidomain measurement.</t> multidomain measurement.</t>
<t>In practice, Internet users do not typically have the ability to <t>In practice, Internet users do not typically have the ability to
utilize the OAM capabilities of networks that their packets traverse, utilize the Operations, Administrations, and Maintenance (OAM)
capabilities of networks that their packets traverse,
so the results from a remote domain supporting an interrogation so the results from a remote domain supporting an interrogation
protocol would not normally be accessible. However, a network operator protocol would not normally be accessible. However, a network operator
could combine interrogation results from their access domain with could combine interrogation results from their access domain with
other measurements revealing the path outside their domain.</t> other measurements revealing the path outside their domain.</t>
</section> </section>
</section> </section>
<section anchor="Cases" numbered="true" toc="default">
<section anchor="Cases" <name>Background on Round-Trip Delay Measurement Goals</name>
title="Background on Round-Trip Delay Measurement Goals">
<t>The aim of this method is to use packet probes to unveil the paths <t>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 between any two End-Nodes of the network. Moreover, information derived
from RTD measurements might be meaningful to identify:</t> from RTD measurements might be meaningful to identify:</t>
<ol spacing="normal" type="1">
<t><list style="numbers"> <li>Intercontinental submarine links</li>
<t>Intercontinental submarine links</t> <li>Satellite communications</li>
<li>Congestion</li>
<t>Satellite communications</t> <li>Inter-domain paths</li>
</ol>
<t>Congestion</t>
<t>Inter-domain paths</t>
</list></t>
<t>This categorization is widely accepted in the literature and among <t>This categorization is widely accepted in the literature and among
operators alike, and it can be trusted with empirical data and several operators alike, and it can be trusted with empirical data and several
sources as ground of truth (e.g., <xref target="RTTSub"/> ) but it is an sources as ground of truth (e.g., <xref target="RTTSub" format="default"/>
inference measurement nonetheless <xref target="bdrmap"/><xref ), but it is an
target="IDCong"/>.</t> inference measurement nonetheless <xref target="bdrmap"
format="default"/><xref target="IDCong" format="default"/>.</t>
<t>The first two categories correspond to the physical distance <t>The first two categories correspond to the physical distance
dependency on Round-Trip Delay (RTD), the next one binds RTD with dependency on RTD, the next one binds RTD with
queuing delay on routers, and the last one helps to identify different queuing delay on routers, and the last one helps to identify different
ASes using traceroutes. Due to the significant contribution of ASes using traceroutes. Due to the significant contribution of
propagation delay in long-distance hops, RTD will be on the order of propagation delay in long-distance Hops, RTD will be on the order of
100ms on transatlantic hops, depending on the geolocation of the vantage 100 ms on transatlantic Hops, depending on the geolocation of the vantage
points. Moreover, RTD is typically higher than 480ms when two hops are points. Moreover, RTD is typically higher than 480 ms when two Hops are
connected using geostationary satellite technology (i.e., their orbit is connected using geostationary satellite technology (i.e., their orbit is
at 36000km). Detecting congestion with latency implies deeper at 36000 km). Detecting congestion with latency implies deeper
mathematical understanding since network traffic load is not stationary. mathematical understanding, since network traffic load is not stationary.
Nonetheless, as the first approach, a link seems to be congested if Nonetheless, as the first approach, a link seems to be congested if
observing different/varying statistical results after sending several observing different/varying statistical results after sending several
traceroute probes (e.g., see <xref target="IDCong"/>). Finally, to traceroute probes (e.g., see <xref target="IDCong" format="default"/>). Fi
recognize distinctive ASes in the same traceroute path is challenging, nally, to
because more data is needed, like AS relationships and RIR delegations recognize distinctive ASes in the same traceroute path is challenging
among other (for more detail, please consult <xref because more data is needed, like AS relationships and Regional Internet
target="bdrmap"/>).</t> Registry (RIR) delegations
among others (for more details, please consult <xref target="bdrmap" forma
t="default"/>).</t>
</section> </section>
<section anchor="Statistics" numbered="true" toc="default">
<section anchor="Statistics" title="RTD Measurements Statistics"> <name>RTD Measurements Statistics</name>
<t>Several articles have shown that network traffic presents a <t>Several articles have shown that network traffic presents a
self-similar nature <xref target="SSNT"/> <xref target="MLRM"/> which is self-similar nature <xref target="SSNT" format="default"/> <xref
target="MLRM" format="default"/> that is
accountable for filling the queues of the routers. Moreover, router accountable for filling the queues of the routers. Moreover, router
queues are designed to handle traffic bursts, which is one of the most queues are designed to handle traffic bursts, which is one of the most
remarkable features of self-similarity. Naturally, while queue length remarkable features of self-similarity. Naturally, while queue length
increases, the delay to traverse the queue increases as well and leads increases, the delay to traverse the queue increases as well and leads
to an increase on RTD. Due to traffic bursts generating short-term to an increase on RTD. Due to traffic bursts generating short-term
overflow on buffers (spiky patterns), every RTD only depicts the overflow on buffers (spiky patterns), every RTD only depicts the
queueing status on the instant when that packet probe was in transit. queueing status on the instant when that packet probe was in transit.
For this reason, several RTD measurements during a time window could For this reason, several RTD measurements during a time window could
begin to describe the random behavior of latency. Loss must also be begin to describe the random behavior of latency. Loss must also be
accounted for in the methodology.</t> accounted for in the methodology.</t>
skipping to change at line 956 skipping to change at line 865
accountable for filling the queues of the routers. Moreover, router accountable for filling the queues of the routers. Moreover, router
queues are designed to handle traffic bursts, which is one of the most queues are designed to handle traffic bursts, which is one of the most
remarkable features of self-similarity. Naturally, while queue length remarkable features of self-similarity. Naturally, while queue length
increases, the delay to traverse the queue increases as well and leads increases, the delay to traverse the queue increases as well and leads
to an increase on RTD. Due to traffic bursts generating short-term to an increase on RTD. Due to traffic bursts generating short-term
overflow on buffers (spiky patterns), every RTD only depicts the overflow on buffers (spiky patterns), every RTD only depicts the
queueing status on the instant when that packet probe was in transit. queueing status on the instant when that packet probe was in transit.
For this reason, several RTD measurements during a time window could For this reason, several RTD measurements during a time window could
begin to describe the random behavior of latency. Loss must also be begin to describe the random behavior of latency. Loss must also be
accounted for in the methodology.</t> accounted for in the methodology.</t>
<t>To understand the ongoing process, examining the quartiles provides a <t>To understand the ongoing process, examining the quartiles provides a
non-parametric way of analysis. Quartiles are defined by five values: nonparametric way of analysis. Quartiles are defined by five values:
minimum RTD (m), RTD value of the 25% of the Empirical Cumulative minimum RTD (m), RTD value of the 25% of the Empirical Cumulative
Distribution Function (ECDF) (Q1), the median value (Q2), the RTD value 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 of the 75% of the ECDF (Q3), and the maximum RTD (M). Congestion can be
inferred when RTD measurements are spread apart, and consequently, the inferred when RTD measurements are spread apart; consequently, the
Inter-Quartile Range (IQR), the distance between Q3 and Q1, increases Interquartile Range (IQR), i.e., the distance between Q3 and Q1, increases
its value.</t> its value.</t>
<t>This procedure requires the algorithm presented in <xref target="P2"
<t>This procedure requires the algorithm presented in <xref format="default"/> to compute quartile values "on the fly".</t>
target="P2"/> to compute quartile values "on the fly&rdquo;.</t> <t>This procedure allows us to update the quartile values whenever a new
<t>This procedure allows us to update the quartiles value whenever a new
measurement arrives, which is radically different from classic methods measurement arrives, which is radically different from classic methods
of computing quartiles because they need to use the whole dataset to of computing quartiles, because they need to use the whole dataset to
compute the values. This way of calculus provides savings in memory and compute the values. This way of calculus provides savings in memory and
computing time.</t> computing time.</t>
<t>To sum up, the proposed measurement procedure consists of performing <t>To sum up, the proposed measurement procedure consists of performing
traceroutes several times to obtain samples of the RTD in every hop from 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 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, a Hop. This procedure could be done for a single Member Route flow, for a
non-exhaustive search with parameter E (defined below) set as False, or non-exhaustive search with parameter E (defined below) set to False, or
for every detected Route Ensemble flow (E=True).</t> for every detected Route Ensemble flow (E=True).</t>
<t>The identification of a specific Hop in a traceroute is based on the IP
<t>The identification of a specific Hop in traceroute is based on the IP origin address of the returned ICMP Time Exceeded packet and on the
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 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 inserted by traceroute. As this specific Hop can be reached by different
paths, also the IP source and destination addresses of the traceroute paths, the IP Source and Destination addresses of the traceroute
packet need to be recorded. Finally, different return paths are packet also need to be recorded. Finally, different return paths are
distinguished by evaluating the ICMP Time Exceeded TTL (or Hop Limit) of 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 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. paths containing the same Hop, the return paths have the same distance.
Moreover, this distance can be estimated considering that the TTL (or Moreover, this distance can be estimated considering that the TTL (or
Hop Limit) value is normally initialized with values 64, 128, or 255. Hop Limit) value is normally initialized with values 64, 128, or 255.
The 5-tuple (origin IP, destination IP, reply IP, distance, response TTL The 5-tuple (origin IP, destination IP, reply IP, distance, and response T TL
or Hop Limit) unequivocally identifies every measurement.</t> or Hop Limit) unequivocally identifies every measurement.</t>
<t>This algorithm below runs in the origin of the traceroute. It returns <t>This algorithm below runs in the origin of the traceroute. It returns
the Qs quartiles for every Hop and Alt (alternative paths because of the Qs quartiles for every Hop and Alt (alternative paths because of
balancing). Notice that the "Alt" parameter condenses the parameters of balancing). Notice that the "Alt" parameter condenses the parameters of
the 5-tuple (origin IP, destination IP, reply IP, distance, response the 5-tuple (origin IP, destination IP, reply IP, distance, and response
TTL), i.e., one for each possible combination.</t> TTL), i.e., one for each possible combination.</t>
<sourcecode name="" type="pseudocode"><![CDATA[
<t><figure> ================================================================
<artwork><![CDATA[====================================================
============
0 input: W (window time of the measurement) 0 input: W (window time of the measurement)
1 i_t (time between two measurements, set the i_t time 1 i_t (time between two measurements, set the i_t time
2 long enough to avoid incomplete results) 2 long enough to avoid incomplete results)
3 E (True: exhaustive, False: a single path) 3 E (True: exhaustive, False: a single path)
4 Dst (destination IP address) 4 Dst (destination IP address)
5 output: Qs (quartiles for every Hop and Alt) 5 output: Qs (quartiles for every Hop and Alt)
---------------------------------------------------------------- ----------------------------------------------------------------
6 T := start_timer(W) 6 T := start_timer(W)
7 while T is not finished do: 7 while T is not finished do:
8 | start_timer(i_t) 8 | start_timer(i_t)
9 | RTD(Hop,Alt) = advanced-traceroute(Dst,E) 9 | RTD(Hop,Alt) = advanced-traceroute(Dst,E)
10 | for each Hop and Alt in RTD do: 10 | for each Hop and Alt in RTD do:
11 | | Qs[Dst,Hop,Alt] := ComputeQs(RTD(Hop,Alt)) 11 | | Qs[Dst,Hop,Alt] := ComputeQs(RTD(Hop,Alt))
12 | done 12 | done
13 | wait until i_t timer is expired 13 | wait until i_t timer is expired
14 done 14 done
15 return (Qs) 15 return (Qs)
================================================================]]></artwork> ================================================================
</figure></t> ]]>
</sourcecode>
<t>During the time W, lines 6 and 7 assure that the measurement loop is <t>During the time W, lines 6 and 7 assure that the measurement loop is
made. Line 8 and 13 set a timer for each cycle of measurements. A cycle made.
Lines 8 and 13 set a timer for each cycle of measurements. A cycle
comprises the traceroutes packets, considering every possible Hop and comprises the traceroutes packets, considering every possible Hop and
the alternatives paths in the Alt variable (ensured in lines 9-12). In the alternatives paths in the Alt variable (ensured in lines 9-12). In
line 9, the advance-traceroute could be either Paris-traceroute or line 9, the advanced-traceroute could be either Paris-traceroute or
Scamper, which will use the &ldquo;exhaustive&rdquo; mode or Scamper, which will use the "exhaustive" mode or
&ldquo;tracelb&rdquo; option if E is set True, respectively. The "tracelb" option if E is set to True, respectively. The
procedure returns a list of tuples (m,Q1,Q2,Q3,M) for each intermediate procedure returns a list of tuples (m, Q1, Q2, Q3, and M) for each interme
hop, or "Alt" in as a function of the 5-tuple, in the path towards the diate
Dst. Finally, lines 10 through 12 stores each measurement into the 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> real-time quartiles computation.</t>
<t>Notice there are cases where even having a unique Hop at distance
<t>Notice there are cases where the even having a unique hop at distance
h from the Src to Dst, the returning path could have several h from the Src to Dst, the returning path could have several
possibilities, yielding in different total paths. In this situation, the possibilities, yielding different total paths. In this situation, the
algorithm will return more "Alt" for this particular hop.</t> algorithm will return another "Alt" for this particular Hop.</t>
</section> </section>
<section anchor="Security" numbered="true" toc="default">
<section anchor="Security" title="Security Considerations"> <name>Security Considerations</name>
<t>The security considerations that apply to any active measurement of <t>The security considerations that apply to any active measurement of
live paths are relevant here as well. See <xref target="RFC4656"/> and live paths are relevant here as well. See <xref target="RFC4656" format="d
<xref target="RFC5357"/>.</t> efault"/> and
<xref target="RFC5357" format="default"/>.</t>
<t>The active measurement process of "changing several fields to keep <t>The active measurement process of changing several fields to keep
the checksum of different packets identical" does not require special the checksum of different packets identical does not require special
security considerations because it is part of synthetic traffic security considerations because it is part of synthetic traffic
generation, and is designed to have minimal to zero impact on network generation and is designed to have minimal to zero impact on network
processing (to process the packets for ECMP).</t> processing (to process the packets for ECMP).</t>
<t>Some of the protocols used (e.g., ICMP) do not provide cryptographic <t>Some of the protocols used (e.g., ICMP) do not provide cryptographic
protection for the requested/returned data, and there are risks of protection for the requested/returned data, and there are risks of
processing untrusted data in general, but these are limitations of the processing untrusted data in general, but these are limitations of the
existing protocols where we are applying new methods.</t> existing protocols where we are applying new methods.</t>
<t>For applicable hybrid methods, the security considerations in <xref
<t>For applicable Hybrid methods, the security considerations in<xref target="RFC9197" format="default"/> apply.</t>
target="I-D.ietf-ippm-ioam-data"/> apply.</t> <t>When considering the privacy of those involved in measurement or those
<t>When considering privacy of those involved in measurement or those
whose traffic is measured, the sensitive information available to whose traffic is measured, the sensitive information available to
potential observers is greatly reduced when using active techniques potential observers is greatly reduced when using active techniques
which are within this scope of work. Passive observations of user that are within this scope of work. Passive observations of user
traffic for measurement purposes raise many privacy issues. We refer the traffic for measurement purposes raise many privacy issues. We refer the
reader to the privacy considerations described in the Large Scale reader to the privacy considerations described in the Large-scale
Measurement of Broadband Performance (LMAP) Framework <xref Measurement of Broadband Performance (LMAP) Framework <xref
target="RFC7594"/>, which covers active and passive techniques.</t> target="RFC7594" format="default"/>, which covers active and passive
</section> techniques.</t>
<section anchor="IANA" title="IANA Considerations">
<t>This memo makes no requests of IANA. We thank the good folks at IANA
for having checked this section anyway.</t>
</section>
<section anchor="Acknowledgements" title="Acknowledgements">
<t>The original 3 authors (Ignacio, Al, Joachim) acknowledge Ruediger
Geib, for his penetrating comments on the initial draft, and his initial
text for the Appendix on MPLS. 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. Frank Brockners also shared useful comments, so did Footer
Foote. We thank them all!</t>
</section> </section>
<section anchor="IANA" numbered="true" toc="default">
<section title="Appendix I MPLS Methods for Route Assessment"> <name>IANA Considerations</name>
<t>A Node assessing an MPLS path must be part of the MPLS domain where <t>This document has no IANA actions.</t>
the path is implemented. When this condition is met, RFC 8029 provides a
powerful set of mechanisms to detect &ldquo;correct operation of the
data plane, as well as a mechanism to verify the data plane against the
control plane&rdquo; <xref target="RFC8029"/>.</t>
<t>MPLS routing is based on the presence of a Forwarding Equivalence
Class (FEC) Stack in all visited Nodes. Selecting one of several Equal
Cost Multi Path (ECMP) 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 Section 2.4 of <xref
target="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>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&rsquo;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><xref target="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>
</middle> </middle>
<back> <back>
<references title="Normative References"> <references>
<?rfc include='reference.RFC.0792'?> <name>References</name>
<references>
<?rfc include='reference.RFC.1122'?> <name>Normative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
<?rfc include='reference.RFC.1812'?> FC.0792.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
<?rfc include='reference.RFC.2119'?> FC.1122.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
<?rfc include='reference.RFC.2330'?> FC.1812.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
<?rfc include='reference.RFC.2681'?> FC.2119.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
<?rfc ?> FC.2330.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
<?rfc include='reference.RFC.4656'?> FC.2681.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
<?rfc include='reference.RFC.5388'?> FC.4656.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
<?rfc include='reference.RFC.6438'?> FC.5388.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
<?rfc include='reference.RFC.6673'?> FC.6438.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
<?rfc include='reference.RFC.7799'?> FC.6673.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
<?rfc include='reference.RFC.8029'?> FC.7799.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
<?rfc include='reference.RFC.8174'?> FC.8029.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
<?rfc include='reference.RFC.8468'?> FC.8174.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
<?rfc include='reference.I-D.ietf-ippm-ioam-data'?> FC.8468.xml"/>
</references>
<references title="Informative References">
<?rfc include='reference.RFC.2991'?>
<?rfc include='reference.RFC.5357'?>
<?rfc include='reference.RFC.5835'?>
<?rfc include='reference.RFC.5837'?>
<?rfc include='reference.RFC.6437'?>
<?rfc include='reference.RFC.7312'?>
<?rfc include='reference.RFC.7325'?>
<?rfc include='reference.RFC.7594'?>
<?rfc include='reference.RFC.8403'?>
<reference anchor="PT">
<front>
<title>Avoiding traceroute anomalies with Paris traceroute</title>
<author fullname="Brice Augustin" initials="B.A" surname="Augustin"> <reference anchor='RFC9197' target='https://www.rfc-editor.org/info/rfc9197'>
<!-- fullname="B. Augustin"--> <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>
<name>Informative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.2991.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.5357.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.5835.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.5837.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.6437.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7312.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7325.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7594.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8403.xml"/>
<reference anchor="PT">
<front>
<title>Avoiding traceroute anomalies with Paris traceroute</title>
<author fullname="Brice Augustin" initials="B" surname="Augustin">
<organization/> <organization/>
</author> </author>
<author fullname="Xavier Cuvellier" initials="X" surname="Cuvellier"
<author fullname="Xavier Cuvellier" initials="X.C." >
surname="Cuvellier">
<!-- fullname="X. Cuvellier" -->
<organization/> <organization/>
</author> </author>
<author fullname="Benjamin Orgogozo" initials="B" surname="Orgogozo"
<author fullname="Benjamin Orgogozo" initials="B.O." >
surname="Orgogozo">
<!-- fullname="B. Orgogozo" -->
<organization/> <organization/>
</author> </author>
<author fullname="Fabien Viger" initials="F" surname="Viger">
<author fullname="Fabien Viger" initials="F.V." surname="Viger">
<!-- fullname="F. Viger" -->
<organization/> <organization/>
</author> </author>
<author fullname="Timur Friedman" initials="T" surname="Friedman">
<author fullname="Timur Friedman" initials="T.F." surname="Friedman">
<!-- fullname="T. Friedman" -->
<organization/> <organization/>
</author> </author>
<author fullname="Matthieu Latapy" initials="M" surname="Latapy">
<author fullname="Matthieu Latapy" initials="M.L." surname="Latapy">
<!-- fullname="M. Latapy" -->
<organization/> <organization/>
</author> </author>
<author fullname="Clmence Magnien" initials="C" surname="Magnien">
<author fullname="Clmence Magnien" initials="C.M." surname="Magnien">
<!-- fullname="C. Magnien" -->
<organization/> <organization/>
</author> </author>
<author fullname="Renata Teixeira" initials="R" surname="Teixeira">
<author fullname="Renata Teixeira" initials="R.T."
surname="Teixeira">
<!-- fullname="R. Teixeira" -->
<organization/> <organization/>
</author> </author>
<date month="October" year="2006"/>
<date day="" month="" year="2006"/> </front>
</front> <seriesInfo name="DOI" value="10.1145/1177080.1177100"/>
<refcontent>Proceedings of the 6th ACM SIGCOMM conference on
<seriesInfo name="" Internet measurement, pp. 153-158</refcontent>
value=" Proceedings of the 6th ACM SIGCOMM conference on Int </reference>
ernet measurement, pp. 153-158. ACM, 2006."/>
</reference>
<reference anchor="LOAD_BALANCE"> <reference anchor="LOAD_BALANCE">
<front> <front>
<title>COMPARISON OF HASH STRATEGIES FOR FLOW-BASED LOAD <title>COMPARISON OF HASH STRATEGIES FOR FLOW-BASED LOAD
BALANCING</title> BALANCING</title>
<author fullname="Surasak Sanguanpong" initials="S." surname="Sangua
<author fullname="Surasak Sanguanpong" initials="S." npong">
surname="Sanguanpong">
<!-- fullname="Surasak Sanguanpong"-->
<organization/> <organization/>
</author> </author>
<author fullname="Witsarut Pittayapitak" initials="W." surname="Pitt
<author fullname="Witsarut Pittayapitak" initials="W." ayapitak">
surname="Pittayapitak">
<!-- fullname="Witsarut Pittayapitak"-->
<organization/> <organization/>
</author> </author>
<author fullname="Kasom Koht-Arsa" initials="K." surname="Kasom Koht
<author fullname="Kasom Koht-Arsa" initials="K." -Arsa">
surname="Kasom Koht-Arsa">
<!-- fullname="Kasom Koht-Arsa"-->
<organization/> <organization/>
</author> </author>
<date month="December" year="2015"/>
<date day="" month="" year="2015"/> </front>
</front> <seriesInfo name="DOI" value="10.7903/ijecs.1346"/>
<refcontent>International Journal of Electronic
<seriesInfo name="" Commerce Studies, Vol.6, No.2, pp.259-268</refcontent>
value="International Journal of Electronic Commerce Studies, </reference>
Vol.6, No.2, pp.259-268. http://dx.doi.org/10.7903/ijecs.1346"/>
</reference>
<reference anchor="MLB">
<front>
<title>Measuring load-balanced paths in the Internet</title>
<author fullname="Brice Augustin" initials="B.A" surname="Augustin">
<!-- fullname="B. Augustin"-->
<reference anchor="MLB">
<front>
<title>Measuring load-balanced paths in the internet</title>
<author fullname="Brice Augustin" initials="B" surname="Augustin">
<organization/> <organization/>
</author> </author>
<author fullname="Timur Friedman" initials="T" surname="Friedman">
<author fullname="Timur Friedman" initials="T.F." surname="Friedman">
<!-- fullname="T. Friedman" -->
<organization/> <organization/>
</author> </author>
<author fullname="Renata Teixeira" initials="R" surname="Teixeira">
<author fullname="Renata Teixeira" initials="R.T."
surname="Teixeira">
<!-- fullname="R. Teixeira" -->
<organization/> <organization/>
</author> </author>
<date month="October" year="2007"/>
<date day="" month="" year="2007"/> </front>
</front> <seriesInfo name="DOI" value="10.1145/1298306.1298329"/>
<refcontent>Proceedings of the 7th ACM SIGCOMM conference on
<seriesInfo name="" Internet measurement, pp. 149-160</refcontent>
value=" Proceedings of the 7th ACM SIGCOMM conference on Int </reference>
ernet measurement, pp. 149-160. ACM, 2007."/>
</reference>
<reference anchor="SCAMPER">
<front>
<title>Scamper: a scalable and extensible packet prober for active
measurement of the Internet</title>
<author fullname="Matthew Luckie" initials="M.L."
surname="Matthew Luckie">
<!-- fullname="M. Luckie"-->
<reference anchor="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 Luck
ie">
<organization/> <organization/>
</author> </author>
<date month="November" year="2010"/>
<date day="" month="" year="2010"/> </front>
</front> <seriesInfo name="DOI" value="10.1145/1879141.1879171"/>
<refcontent>Proceedings of the 10th ACM SIGCOMM conference on
<seriesInfo name="" Internet measurement, pp. 239-245</refcontent>
value="Proceedings of the 10th ACM SIGCOMM conference on Int </reference>
ernet measurement, pp. 239-245. ACM, 2010."/>
</reference>
<reference anchor="SSNT"> <reference anchor="SSNT">
<front> <front>
<title>Self-Similar Network Traffic and Performance Evaluation (1st <title>Self-Similar Network Traffic and Performance Evaluation (1st
ed.)</title> ed.)</title>
<author fullname="Kihong Park" initials="K" surname="Park">
<author fullname="Kihong Park" initials="K.P." surname="Park">
<!-- fullname="K. Park"-->
<organization/> <organization/>
</author> </author>
<author fullname="Walter Willinger" initials="W" surname="Willinger"
<author fullname="Walter Willinger" initials="W.W." >
surname="Willinger">
<!-- fullname="W. Willinger"-->
<organization/> <organization/>
</author> </author>
<date month="August" year="2000"/>
<date day="" month="" year="2000"/> </front>
</front> <seriesInfo name="DOI" value="10.1002/047120644X"/>
<seriesInfo name="" value="John Wiley &amp; Sons, Inc., New York, NY,
<seriesInfo name="" USA"/>
value="John Wiley &amp; Sons, Inc., New York, NY, USA"/> </reference>
</reference>
<reference anchor="MLRM"> <reference anchor="MLRM">
<front> <front>
<title>An empirical mixture model for large-scale RTT <title>An empirical mixture model for large-scale RTT
measurements</title> measurements</title>
<author fullname="Romain Fontugne" initials="R" surname="Fontugne">
<author fullname="Romain Fontugne" initials="R.F."
surname="Fontugne">
<!-- fullname="R. Fontugne"-->
<organization/> <organization/>
</author> </author>
<author fullname="Johan Mazel" initials="J" surname="Mazel">
<author fullname="Johan Mazel" initials="J.M." surname="Mazel">
<!-- fullname="J. Mazel" -->
<organization/> <organization/>
</author> </author>
<author fullname="Kensuke Fukuda" initials="K" surname="Fukuda">
<author fullname="Kensuke Fukuda" initials="K.F." surname="Fukuda">
<!-- fullname="K. Fukuda" -->
<organization/> <organization/>
</author> </author>
<date month="April" year="2015"/>
<date day="" month="" year="2015"/> </front>
</front> <seriesInfo name="DOI" value="10.1109/INFOCOM.2015.7218636"/>
<refcontent>2015 IEEE Conference on Computer Communications
<seriesInfo name="" (INFOCOM), pp. 2470-2478</refcontent>
value="2015 IEEE Conference on Computer Communications (INFO </reference>
COM), pp. 2470-2478. IEEE, 2015."/>
</reference>
<reference anchor="P2"> <reference anchor="P2">
<front> <front>
<title>The P 2 algorithm for dynamic calculation of quartiles and <title>The P 2 algorithm for dynamic calculation of quartiles and
histograms without storing observations</title> histograms without storing observations</title>
<author fullname="Raj Jain" initials="R" surname="Jain">
<author fullname="Raj Jain" initials="R.J." surname="Jain">
<!-- fullname="R. Jain"-->
<organization/> <organization/>
</author> </author>
<author fullname="Imrich Chlamtac" initials="I" surname="Chlamtac">
<author fullname="Imrich Chlamtac" initials="I.C."
surname="Chlamtac">
<!-- fullname="I. Chlamtac" -->
<organization/> <organization/>
</author> </author>
<date month="October" year="1985"/>
<date day="" month="" year="2015"/> </front>
</front> <seriesInfo name="DOI" value="10.1145/4372.4378"/>
<refcontent>Communications of the ACM 28.10 (1985): 1076-1085</refcont
<seriesInfo name="" ent>
value="Communications of the ACM 28.10 (1985): 1076-1085"/> </reference>
</reference>
<reference anchor="IDCong">
<front>
<title>Challenges in inferring Internet interdomain
congestion</title>
<author fullname="Matthew Luckie" initials="M." surname="Luckie">
<!-- fullname="M. Luckie"-->
<reference anchor="IDCong">
<front>
<title>Challenges in Inferring Internet Interdomain
Congestion</title>
<author fullname="Matthew Luckie" initials="M." surname="Luckie">
<organization/> <organization/>
</author> </author>
<author fullname="Amogh Dhamdhere" initials="A." surname="Dhamdhere"
<author fullname="Amogh Dhamdhere" initials="A." surname="Dhamdhere"> >
<!-- fullname="A. Dhamdhere" -->
<organization/> <organization/>
</author> </author>
<author fullname="David Clark" initials="D." surname="Clark">
<author fullname="David Clark" initials="D." surname="Clark">
<!-- fullname="D. Clark" -->
<organization/> <organization/>
</author> </author>
<author fullname="Bradley Huffaker" initials="B." surname="Huffaker"
<author fullname="Bradley Huffaker" initials="B." surname="Huffaker"> >
<!-- fullname="B. Huffaker" -->
<organization>bdrmap: Inference of Borders Between IP <organization>bdrmap: Inference of Borders Between IP
Networks</organization> Networks</organization>
</author> </author>
<date month="November" year="2014"/>
<date day="" month="" year="2014"/> </front>
</front> <seriesInfo name="DOI" value="10.1145/2663716.2663741"/>
<refcontent>Proceedings of the 2014 Conference on Internet
<seriesInfo name="" Measurement Conference, pp. 15-22</refcontent>
value="In Proceedings of the 2014 Conference on Internet Mea </reference>
surement Conference, pp. 15-22. ACM"/>
</reference>
<reference anchor="bdrmap">
<front>
<title>bdrmap: Inference of Borders Between IP Networks</title>
<author fullname="Matthew Luckie" initials="M." surname="Luckie">
<!-- fullname="M. Luckie"-->
<reference anchor="bdrmap">
<front>
<title>bdrmap: Inference of Borders Between IP Networks</title>
<author fullname="Matthew Luckie" initials="M." surname="Luckie">
<organization/> <organization/>
</author> </author>
<author fullname="Amogh Dhamdhere" initials="A." surname="Dhamdhere"
<author fullname="Amogh Dhamdhere" initials="A." surname="Dhamdhere"> >
<!-- fullname="A. Dhamdhere" -->
<organization/> <organization/>
</author> </author>
<author fullname="Bradley Huffaker" initials="B." surname="Huffaker"
<author fullname="Bradley Huffaker" initials="B." surname="Huffaker"> >
<!-- fullname="B. Huffaker" -->
<organization/> <organization/>
</author> </author>
<author fullname="David Clark" initials="D." surname="Clark">
<author fullname="David Clark" initials="D." surname="Clark">
<!-- fullname="D. Clark" -->
<organization/> <organization/>
</author> </author>
<author fullname="KC" initials="KC." surname="Claffy">
<author fullname="KC" initials="KC." surname="Claffy">
<!-- fullname="D. Clark" -->
<organization/> <organization/>
</author> </author>
<date month="November" year="2016"/>
<date day="" month="" year="2016"/> </front>
</front> <seriesInfo name="DOI" value="10.1145/2987443.2987467"/>
<refcontent>Proceedings of the 2016 ACM on Internet Measurement Confer
<seriesInfo name="" ence, pp. 381-396</refcontent>
value="In Proceedings of the 2016 ACM on Internet Measuremen </reference>
t Conference, pp. 381-396. ACM"/>
</reference>
<reference anchor="RTTSub">
<front>
<title>In and out of Cuba: Characterizing Cuba's
connectivity</title>
<author fullname="Zachary S. Bischof" initials="Z.S."
surname="Bischof">
<!-- fullname="M. Luckie"-->
<reference anchor="RTTSub">
<front>
<title>In and out of Cuba: Characterizing Cuba's
Connectivity</title>
<author fullname="Zachary S. Bischof" initials="Z" surname="Bischof"
>
<organization/> <organization/>
</author> </author>
<author fullname="John P. Rula" initials="J" surname="Rula">
<author fullname="John P. Rula" initials="J.P." surname="Rula">
<!-- fullname="A. Dhamdhere" -->
<organization/> <organization/>
</author> </author>
<author fullname="Fabian E. Bustamante" initials="F" surname="Bustam
<author fullname="Fabian E. Bustamante" initials="F.E." ante">
surname="Bustamante">
<!-- fullname="D. Clark" -->
<organization/> <organization/>
</author> </author>
<date month="October" year="2015"/>
<date day="" month="" year="2015"/> </front>
</front> <seriesInfo name="DOI" value="10.1145/2815675.2815718"/>
<refcontent>Proceedings of the 2015 ACM Conference on Internet
<seriesInfo name="" Measurement Conference, pp. 487-493</refcontent>
value="In Proceedings of the 2015 ACM Conference on Internet </reference>
Measurement Conference, pp. 487-493. ACM"/> </references>
</reference>
</references> </references>
<section numbered="true" toc="default">
<name>MPLS Methods for Route Assessment</name>
<t>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"/> 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>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"/>). 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>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><xref target="RFC8403" format="default"/> explains how a central Path M
onitoring
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="default">
<name>Acknowledgements</name>
<t>The original three authors (Ignacio, Al, Joachim) acknowledge <contact
fullname="Ruediger
Geib"/> for his penetrating comments on the initial document and his initi
al
text for the appendix on MPLS. <contact fullname="Carlos Pignataro"/> chal
lenged 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>
</back> </back>
</rfc> </rfc>
 End of changes. 278 change blocks. 
1068 lines changed or deleted 935 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/