<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<!-- This template is for creating an Internet Draft using xml2rfc,
    which is available here: http://xml.resource.org. -->
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
    please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
    (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
    (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="exp" docName="draft-ietf-ippm-connectivity-monitoring-06" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.2 -->
  <!-- category values: std, bcp, info, exp, and historic
    ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902,
       or pre5378Trust200902
    you can add the attributes updates="NNNN" and obsoletes="NNNN" 
    they will automatically be output with "(if approved)" -->

 <!-- ***** FRONT MATTER ***** -->

 <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
        full title is longer than 39 characters -->

   <title abbrev="Abbreviated Title">A Connectivity Monitoring Metric for IPPM</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ippm-connectivity-monitoring-05"/>
    <!-- add 'role="editor"' below for the editors if appropriate -->

   <!-- Another author who claims to be an editor -->

   <author fullname="Ruediger Geib" initials="R." role="editor" surname="Geib">
      <organization>Deutsche Telekom</organization>
      <address>
        <postal>
          <street>Ida Rhodes Str.2</street>
          <!-- Reorder these if your country does things differently -->
          <code>64295</code>
          <city>Darmstadt</city>
          <region/>
          <country>Germany</country>
        </postal>
        <phone>+49 6151 5812747</phone>
        <email>Ruediger.Geib@telekom.de</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
    <date year="2023"/>
    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
        in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

   <!-- Meta-data Declarations -->

    <area>Transport</area>
    <workgroup>ippm</workgroup>
    <!-- WG name at the upperleft corner of the doc,
        IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
        which is used by the RFC Editor as a nod to the history of the IETF. -->

   <keyword>Type-P, connectivity, performance monitoring, metric, segment routing</keyword>
    <!-- Keywords will be incorporated into HTML output
        files in a meta tag but they have no effect on text or nroff
        output. If you submit your draft to the RFC Editor, the
        keywords will be used for the search engine. -->

   <abstract>
      <t>Within a Segment Routing domain, segment routed measurement packets can be sent along 
	 pre-determined paths. This enables new kinds of measurements.
	 Connectivity monitoring allows to supervise the state and performance of a 
	 connection or a (sub)path from one or a few central monitoring 
	 systems. This document specifies a suitable type-P connectivity 
	 monitoring metric.</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>Within a Segment Routing domain, measurement packets can be sent along 
	 pre-determined segment routed paths <xref target="RFC8402" format="default"/>. A segment routed path may consist 
	 of pre-determined sub paths, specific router-interfaces or a combination of both. A measurement path 
	 may also consist of sub paths spanning multiple routers, given that all segments to address 
	 a desired path are available and known at the SR domain edge interface.
      </t>
      <t>A Path Monitoring System (PMS, see <xref target="RFC8403" format="default"/>) is 
	 a dedicated central Segment Routing (SR) domain monitoring device (as compared 
	 to a distributed monitoring approach based on router-data and 
	 -functions only). Monitoring individual sub-paths or point-to-point connections 
	 is executed for different purposes. IGP exchanges hello messages between 
	 neighbors to keep alive routing and swiftly adapt routing to topology changes. Network Operators 
	 may in addition to that be interested in monitoring connectivity and congestion of interfaces 
	 or sub-paths at a timescale of seconds, minutes or hours. In all cases, the periodicity of 
	 probing samples and statistics based on these samples is often significantly smaller 
	 than commodity interface monitoring based on router counters, which may be collected 
	 on a minute timescale to keep the processing- or monitoring data-load low.
      </t>
      <t>The IPPM architecture was a first step to that direction <xref target="RFC2330" format="default"/>. 
	 Commodity IPPM solutions require dedicated measurement systems, a large number of 
	 measurement agents and synchronised clocks. Monitoring a domain from edge to edge 
	 by commodity IPPM solutions increases scalability of the monitoring system. But 
	 localising the site of a detected network behaviour change may then require suitable
	 network tomography methods.</t>
      <t>The IPPM Metrics for measuring connectivity offer generic connectivity metrics <xref target="RFC2678" format="default"/>. 
	 These metrics allow to measure connectivity between end nodes without making any 
	 assumption on the paths between them. The metric and the type-p packet specified 
	 by this document follow a different approach: they are designed to monitor connectivity 
	 and performance of a specific single link or a path segment. The underlying definition
	 of connectivity is partially the same: a packet not reaching a destination indicates
	 a loss of connectivity. An IGP re-route may indicate a loss of a link between neighbors, while it 
	 doesn't necessarily cause a loss of connectivity between end systems. The metric specified 
	 here detects a loss of connectivity between neighbors, defined by a complete absence of a path 
	 between two nodes in both directions of communication (whereas a re-routing will briefly 
	 disturb a path, but connectivity is restored by the network after a short disturbance).</t>
      <t>A Segment Routing PMS is part of an SR domain. The PMS is IGP topology aware, covering the IP 
	 and (if present) the MPLS layer topology <xref target="RFC8402" format="default"/>. This allows to steer PMS 
	 measurement packets along arbitrary pre-determined concatenated sub-paths, identified 
	 by suitable Segment IDs. Basically, the SR connectivity metric as specified by this 
	 document requires set up of a number of constrained, overlaid measurement loops 
	 (or measurement paths). The delay of the packets sent along each of these 
	 measurement loops is measured. A single congested interface along a monitored sub-path 
	 adds latency along a unique subset of several measurement loops. If a monitored 
	 sub-path no longer provides IP/MPLS connectivity between two nodes, another unique 
	 subset of measurement loops will drop all traffic while connectivity is lost. The number 
	 of measurement loops required in total may be limited to one per sub-path (or connection) 
	 to be monitored, if a hub-and-spoke like sub-path topology as described below is monitored. 
	 In addition to information revealed by a commodity ICMP ping measurement, the metrics and methods 
	 specified here identify the location of a congested interface (or ingress of a congested 
	 sub-path, respectively). To do so, tomography assumptions and methods are combined to first 
	 plan the overlaid SR measurement loop set up and later on to evaluate the captured 
	 performance metrics.</t>
      <t> There's another difference as compared with commodity ping: the measurement 
     loop packets remain in the data plane of passed routers. These need to forward the 
	 measurement packets without any additional processing apart from that.</t>
      <t> It is recommended to consider automated measurement loop set-up. The methods 
	 proposed here are error-prone, if the topology and measurement loop design isn't 
	 followed properly. While details of an automated set-up are not within scope of 
	 this document, some formal defintions of constraints to be respected are given.</t>
      <t>This document specifies type-p metrics determining properties of an 
	 SR path which allows to monitor connectivity and congestion of interfaces. The specified 
	 methods further allow to locate the path or interface which caused a change in the 
	 reported type-p metrics. This document is limited to the Segment Routing MPLS layer, 
	 but the methodology may be applied within SR domains or MPLS domains in general.</t>
      <section numbered="true" toc="default">
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
       "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
       document are to be interpreted as described in <xref target="RFC2119" format="default">RFC 2119</xref>.</t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>A brief segment routing connectivity monitoring framework</name>
      <t>The Segment Routing IGP topology information consists of the IP 
	 and (if present) the MPLS layer topology. The minimum SR topology information consists of 
	 Node-Segment-Identifiers (Node-SID), identifying an SR router. The IGP exchange of 
	 Adjacency-SIDs (Adj-SID) <xref target="RFC8667" format="default"/>, which identify local interfaces to adjacent nodes, is optional. It 
	 is RECOMMENDED to distribute Adj-SIDs in a domain operating a PMS to monitor 
	 connectivity as specified below. If Adj-SIDs aren't availbale, <xref target="RFC8287" format="default"/> 
	 provides methods how to steer packets along desired paths by the proper choice of an MPLS 
	 Echo-request IP-destination address. A detailed description of <xref target="RFC8287" format="default"/> methods 
	 as a replacement of Adj-SIDs is out of scope of this document. Monitoring interfaces connecting 
	 nodes requires Adj-SIDs, if re-converged IP/MPLS layer connectivity would result in re-routing packets 
	 (and re-establishment of IP/MPLS layer connectivity) by using Node-SIDs. </t>
      <t>An active round trip measurement between two adjacent nodes is a simple method to monitor connectivity 
	 of a connecting link. If multiple links are operational between two adjacent nodes and only a single 
	 one looses connectivity, a single plain round trip measurement may fail to notice that or fail to identify which link has lost connectivity.	 
	 A round trip measurement further fails to identify which particular interface is congested, even if only a single
	 link connects two adjacent nodes.</t>
      <t>Segment Routing enables the set-up of extended measurement loops. Several different measurement 
	 loops can be set up to form a partial overlay. If done properly, any network change impacts 
	 more than a single measurement loop's round trip delay or causes drops of packets 
	 of more than one loop. Randomly chosen measurement loop paths including the 
	 interfaces or paths to be monitored may fail to produce the desired unique 
	 result patterns, hence commodity network tomography methods aren't applicable <xref target="CommodityTomography" format="default"/>.   
	 The approach pursued here uses a pre-specified measurement loop overlay design 
	 to produce the desired results with a minimum effort.</t>
      <t>A centralised monitoring approach doesn't require report collection and result 
	 correlation from two (or more) receivers. The metrics captured along different 
	 measurement loops however still need to be correlated.</t>
      <t>An additional property of the measurement loop set-up specified below is 
	 that it allows to estimate the packet round trip delay of a monitored link or sub-path.</t>
      <t>An example hub and spoke network, operated as SR domain, is shown below. The included PMS 
	 shown is supposed to monitor the connectivity of all the 6 links (a link is a simple and 
	 generic kind of sub-path) attaching the spoke-nodes L050, L060 and L070 to the hub-nodes 
	 L100 and L200. L300 only serves to connect the PMS to nodes L100 and L200.
      </t>
      <t keepWithNext="true"/>
      <figure anchor="PMS_CV">
        <artwork name="" type="" align="left" alt=""><![CDATA[
		   
   +---+   +----+     +----+
   |PMS|   |L100|-----|L050|
   +---+   +----+\   /+----+
     |    /    \  \_/_____
     |   /      \  /      \+----+
  +----+/        \/_  +----|L060|
  |L300|         /  |/     +----+
  +----+\       /   /\_    
         \     /   /   \
          \+----+ /   +----+
           |L200|-----|L070|
           +----+     +----+ 

       ]]></artwork>
      </figure>
      <t keepWithPrevious="true">Example hub and spoke network allowing link connectivity verification with a PMS</t>
      <t> The SID values are picked for convenient reading only.
	 Node-SID: 100 identifies L100, Node-SID: 300 identifies L300 and so on.
	 Adj-SID 10050: Adjacency L100 to L050, Adj-SID 10060: Adjacency L100 to L060, 
	 Adj-SID 60200: Adjacency L60 to L200 and so on (note that the Adj-SID are 
	 locally assigned per node interface, meaning two per link).</t>
      <t>Monitoring the 6 links between hub nodes Ln00 (where n=1,2) and spoke nodes L0m0 
	(where m=5,6,7) requires 6 measurement loops, which	have the following properties:</t>
      <ul spacing="normal">
        <li>Each measurement loop follows a single round trip from one hub Ln00 
		 to one spoke L0m0 (e.g., from L100 and L050 and back to L100).</li>
        <li>Each measurement loop passes two more links: one between the same hub Ln00 
		 and another spoke L0m0 and from there to the alternate hub Ln00 (e.g., 
		 from L100 to L060 and then from L060 to L200)</li>
        <li>Every monitored link is passed by a single round trip 
		 measurement loop only once and further only once unidirectional by two other loops. 
		 These latter, unidirectional measurement loop sections forward packets in opposing 
		 direction along the monitored link. In the end, three measurement loops pass each single monitored 
		 link (sub-path). In figure 1, e.g. the link between L100 and L050 is passed by one 
		 measurement loop following a round trip L100 to L050 (the measured delay is M1, see below), a second 
		 loop passes in direction L100 to L050 only (delay M3) and a third loop passes in direction 
		 L050 to L100 only (delay M6).</li>
      </ul>
      <t>Note that any 6 links connecting two to five nodes can be monitored that way too. 
	Further note that the measurement loop overlay chosen is optimised for 6 links and a 
	hub and spoke topology of two to five nodes. The 'one measurement loop per measured 
	sub-path' paradigm only works under these conditions.</t>
      <t>The above overlay scheme results in 6 measurement loops for the given example. 
	 The start and end of each measurement loop is PMS to L300 to L100 or L200 and a 
	 similar sub-path on the return leg. These parts of the measurement loops are 
	 omitted here for brevity (some discussion may befound below). The following 
	 delays are measured along the SR paths of each measurement loop:</t>
      <ol spacing="normal" type="1"><li>M1 is the delay along L100 -&gt; L050 -&gt; L100 -&gt; L060 -&gt; L200</li>
        <li>M2 is the delay along L100 -&gt; L060 -&gt; L100 -&gt; L070 -&gt; L200</li>
        <li>M3 is the delay along L100 -&gt; L070 -&gt; L100 -&gt; L050 -&gt; L200</li>
        <li>M4 is the delay along L200 -&gt; L050 -&gt; L200 -&gt; L060 -&gt; L100</li>
        <li>M5 is the delay along L200 -&gt; L060 -&gt; L200 -&gt; L070 -&gt; L100</li>
        <li>M6 is the delay along L200 -&gt; L070 -&gt; L200 -&gt; L050 -&gt; L100</li>
      </ol>
      <t>For brevity, in the following delay M1 also identifies the corresponding 
	 measurement loop number 1 and so on. </t>
      <t>An example for a stack of Adj-SID segments the loop resulting in M1 is 
	 (top to bottom): 100 | 10050 | 50100 | 10060 | 60200 | PMS. As can be seen, 
	 the Node-SIDs 100 and PMS are present at top and bottom of the segment stack. Their 
	 purpose is to transport the packet from the PMS to the start of the measurement loop at L100 
	 and return it to the PMS from its end. When connectivity is lost, a path determined 
	 by Adj-SIDs behaves deterministic: packets forwarded to an Adj-SID without connectivity 
	 to the neighboring node are dropped. </t>
      <t>An example for a stack of a loop consisting of Node-SID segments allowing to capture M1 is 
	 (top to bottom): 100 | 050 | 100 | 060 | 200 | PMS.</t>
      <t>The evaluation of the measurement loop round trip delays M1 - M6 allows to detect 
	 the follwing state-changes of the monitored sub-paths:</t>
      <ul spacing="normal">
        <li>If the loops are set up using Node-SIDs only, any single complete loss of connectivity caused 
         by a failing single link between any Ln00 and any L0m0 node briefly disturbs three measurement 
		 loops and changes the delay measured along them. The traffic to the Node-SIDs is re-routed (in the case 
		 of a single link loss, no node is completely disconnected in the example network). In that case,
		 a suitable metric characterising re-routing coupled with the loss of that single link is required.
		 The change in propagation delay might be an approach for such a metric (if there is any delay change, 
		 as that depends on the resulting alternate route delay). A delay based connectiviy scheme 
		 may not work under all circumstances.</li>
        <li>If the measurement loops are set up using Adj-SIDs only, a loss 
         of connectivity caused by a failing single link between any Ln00 and any L0m0 node terminates 
         the traffic along three measurement loops. The packets of all three loops 
		 will be dropped, until the link gets back into service. Traffic to Adj-SIDs is not rerouted.
		 Note that Node-SIDs may be used to foward the measurement packets from the PMS to the hub node, 
		 where the first sub-path to be monitored begins and from the hub node receiving the measurement 
		 from the last monitored sub path to the PMS.</li>
        <li>The simple example indicates superiority of Adj-SIDs over Node-SIDs only if links are 
		 monitored and the network architecture is similiar to the one shown in the figure. The generic 
		 advice is, that unambiguous connectivity monitoring is best based on packet loss, rather than 
		 on delay changes.</li>
        <li>A single congested interface between any Ln00 and any L0m0 node always only impacts the 
		 measured delay of two measurement loops.</li>
        <li>
          <t>As an example, the formula to calculate the (sub-path) Round Trip Delay (RTD) for link L100-L050
		 is given here </t>
          <t>4 * RTD_L100-L050-L100 = 3 * M1 + M3 + M6 - M2 - M4 - M5. </t>
          <t>This formula is 
			  reproducible for all other links: sum up 3*RTD measured along the loop passing 
			  the monitored link of interest in round trip fashion, and add the RTDs of the two 
			  measurement loops passing the evaluated monitored link only in a single direction. 
			  From this sum subtract the RTD captured for the measurement loops not passing the 
			  monitored link evaluated to get four times the RTD of the monitored link evaluated.</t>
        </li>
      </ul>
      <t>A closer look reveals that any single event of interest for the proposed metric, which are a single loss of 
	 connectivity or a single case of congestion, only impacts a unique set of measurement loops which 
	 can be determined a-priori. If, e.g., connectivity is lost between L200 and L050, 
	 measurement loops M3, M4 and M6 indicate packet loss (or a change of the measured delay, 
	 if a Node-SID based approach is preferred).</t>
      <t> As a second example: if the interface L070 to L100 is congested, measurement loops M3 and M5 indicate a 
	 change in the measured delay. Without listing all events, it can be shown that all cases of single 
	 losses of connectivity or single events of congestion influence only delay measurements of a unique 
	 set of measurement loops.</t>
      <t> The measurement loops are best set up while there's no congestion. In that case, the congestion 
  free RTDs of all monitored links can be calculated as shown above which later allows to estimate 
  the queue-depth under congestion. A single 
  congestion event adds queuing delay to the RTD measured of two specific measurement loops. 
  The two measurement loops impacted indicate the congested interface and enable estimation of 
  the queue-depth (in terms of seconds based on comparing actual and prior delay measurements).  
  The per link RTD can be calculated while the network is operating without congestion, say at interval T0.
  Then as an example, assume a queue of an average depth of 20 ms to build up at interface 
  L200 to L070 at interval T1. The measurement loops M5 and M6 are the only ones passing the interface 
  in that direction. Both indicate an added delay along M5 and M6 of + 20 ms during a measurement 
  interval T1 with congestion on this interface, while M1-4 indicate unchanged delays. The location 
  of the congested interface is determined by the combination of the two (and only two) measurement 
  loops M5 and M6 showing a significant delay increase. The 
  average queue depth [s] = ( M5[T1] - M5[T0] + M6[T1] - M6[T0] )/2.</t>
      <t>As mentioned there's a constant delay added for each measurement loop, which is the delay 
  of the path passed from PMS -&gt; L100 + L200 -&gt; PMS. Please note, that this added delay 
  is appearing twice in the formula resulting in the monitored link delay estimate 
  of the example network. Then it is the RTD PMS -&gt; L100 + RTD L200 -&gt; PMS. Both RTDs 
  can be directly measured by two additional measurements Cor1 = RTD ( PMS -&gt; L100 -&gt; PMS) and 
  Cor2 = RTD (PMS -&gt; L200 -&gt; PMS). The monitored link RTD formula was 
  linkRTDuncor = 3*Mx + My + Mz - Ms - Mt - Mu.  The correct 4*linkRTDx = 4*linkRTDxuncor - Cor1 - Cor2.</t>
      <t>If the interface between PMS and L100/L200 is congested, all measurement loops M1-M6 as well as 
  Cor1 and Cor2 will see a change. A congested interface of a monitored link doesn't impact the 
  RTDs captured by Cor1 and Cor2. </t>
      <t>The measurement loops may also be set up between hub nodes L100 and L200, if that's 
  preferred and supported by the nodes. In that case, the above formulas apply without correction.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Topology and measurement loop set up requirements</name>
      <section numbered="true" toc="default">
        <name>General network topology requirements</name>
        <t>The metric and methods specified below can be applied to monitor networks or sub-paths 
	forming a hub and spoke	topology. A single sub-path status change of type loss of 
	connectivity or congestion can be detected. The nodes don't have to act as hubs or spokes, 
	this terminology is only chosen to describe a topology requirement. In detail, the 
	topology to be monitored MUST meet the following constraints:</t>
        <ul spacing="normal">
          <li>The SR domain sub-paths to be monitored create a hub and spoke topology with 
		 a PMS connected to all hub nodes. The PMS may reside in a hub.</li>
          <li>Exactly 6 (six) sub-paths are monitored.</li>
          <li>The monitored sub-paths connect at least two and no more than 5 nodes.</li>
          <li>Every spoke node MUST have at least one path to every hub node.</li>
          <li>Every spoke node MUST at least be connected to one (or more) hub 
		 node(s) by two monitored sub-paths.</li>
          <li>Sub-paths between spokes can't be monitored and therefore are out of scope 
		 (the overlay measurement loops can't be set up as desired).</li>
        </ul>
        <t>Shared resources, like a Shared Risk Link Group (e.g., a single fiber bundle) 
	   or a shared queue passed by several logical links need to be considered during set 
	   up. Shared resources may either be desired or to be avoided. As an example, if a 
	   set of logical links share one parental scheduler queue, it is 
	   sufficient to monitor a single logical connection to monitor the state of 
	   that parental scheduler.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Sub-path Monitoring measurement loop routing requirements</name>
        <t> The methodologies sepcified by this document REQUIRE a measurement loop path overlay of all
       path delay measurement streams Fi, i in [1, 2...6] as defined in this section. In the follwing, 
	   a path delay measurement stream Fi is called measurement (loop) Fi for brevity. 	
        </t>
        <ul spacing="normal">
          <li>Define the segment routed Sub-paths SPi, i in [1, 2...6] to be monitored. The Sub-paths SPi 
		 SHOULD not share resources, if the operator isn't aware of the impact of the 
		 shared resources on the measurement loops Fi and the methodologies defined below. The
		 Sub-path SPi topology SHOULD respect the general network topology requirements as 
		 specified above. 
		 </li>
          <li>Set up i = 1, 2...6 measurement loops Fi thus that measurement Fi passes SPi 
		 and only SPi bidirectional (or by a round-trip) from Hub to Spoke and back. Note that the correspondance 
		 of SPi and Fi isn't strictly required. Measurement Fi thus however appears in all methodologies 
		 calculating a metric related to SPi.   
		 </li>
          <li>Set up the SR path per measurement loops Fj and Fk thus that SPi is passed by 
		 exactly one other measurement loop Fj unidirectional in direction Hub to Spoke and by 
		 exactly one other measurement loop Fk unidirectional in the opposite direction (Spoke to Hub). 
		 The measurement loop Fi != Fj != Fk. 
		 As a description, one measurement loop Fj pass SPi in "downstream" 
		 direction from Hub to Spoke, whereas measurement loop Fk passes SPi in
		 "upstream" direction from Spoke to Hub. 
		 </li>
          <li>Set up each segment routed measurement loop path Fi thus that it passes SPi bidirectional 
		 as specified above, SPj unidirectional from Hub to Spoke and SPk unidirectional 
		 from Spoke to Hub. The monitored Sub-path SPi MUST NOT be equal to SPj and MUST NOT 
		 be equal to SPk. 
		 </li>
          <li>
            <t>The measurement loop set up to monitor all Sub-paths SPi is completed, if:

            </t>
            <dl newline="false" spacing="normal" indent="4">
              <dt> + </dt>
              <dd>Each Sub-path SPi is passed by exactly three measurements loops Fi, Fj 
			and Fk as specified above.</dd>
              <dt> + </dt>
              <dd>Each segment routed measurement loop path Fi passes exactly three concatenated
			Sub-paths SPi, SPm and SPn as specified above (indices m and n are chosen here only 
			to avoid misconceptions which may result from picking indices j and k already 
			appearing before - equality of j and k with either m and n is neither 
			excluded nor required).</dd>
            </dl>
          </li>
        </ul>
      </section>
      <section numbered="true" toc="default">
        <name>Path</name>
        <t>This document specifies sub-path monitoring within a closed domain by a controlled and pre-designed 
	  measurement loop set-up. The path traversed by the packet SHOULD be reported, as detecting data plane 
	  forwarding in line with the desired measurement loop set-up is essential for the metric to enable 
	  and verify accurate evaluation. See <xref target="RFC8287" format="default"/> for SR MPLS OAM and 
	  <xref target="ID.draft-ietf-6man-spring-srv6-oam" format="default"/> for SRv6 OAM.</t>
      </section>
      <section anchor="spacing" numbered="true" toc="default">
        <name>Sub-path Monitoring measurement loop packet spacing</name>
        <t>Packets per measurement loop Fi are sent periodically by a temporal distance of IncT. 
	  For convenience, packets of the 6 measurement loops are assumed to be equally spaced 
	  at the sender too. Let's define the temporal distance IncF between two consecutive 
	  packets sent along to different measurement loops Fi and Fj at a single sender to be  	
        </t>
        <t>IncF = IncT / 6 </t>
        <t>Further it seems useful to suggest IncF to be bigger than the largest measurement 
	   loop delay max (mi) under stable network operation (i.e., including some tolerance). 
	   Further assume the standard deviation of the measurement values mi to be much smaller 
	   than the delay mi, which is likely for a sub path being a regional or national link 
	   in many countries. Note that this definition isn't a strict requirement. 
	   Interpretation of results is however simplified by it. For the rest of the document assume</t>
        <t>IncF &gt; 2 * max (mi), i in [1...6], which results in </t>
        <t>IncT &gt; 12 * max (mi)</t>
        <t>Discussion and reasoning for a reasonable smallest interval IncF in relation 
	    to max(mi) follows below.</t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Generic Type-P-SR-Path-Periodic-* metric</name>
      <t> To reduce the redundant information presented in the detailed metrics
   sections that follow, this section presents the specifications that
   are common to two or more metrics.  The section is organized using
   the same subsections as the individual metrics, to simplify comparisons.</t>
      <section numbered="true" toc="default">
        <name>Metric Name</name>
        <t>All metrics use the Type-P convention as described in <xref target="RFC2330" format="default"/>. The
         rest of the name is unique to each metric.</t>
      </section>
      <section anchor="Generic_Metric_Parameters" numbered="true" toc="default">
        <name>Generic Metric Parameters</name>
        <t> Refer to section 3.2. Metric Parameters: Type-P-* of <xref target="RFC6673" format="default"/>. The following parameters
         are added, enhanced or removed:</t>
        <ul empty="true" spacing="normal">
          <li>Dst SHOULD be a diagnostic IP address as specified by <xref target="RFC8287" format="default"/> and <xref target="RFC8029" format="default"/>,
		 if MPLS OAM is operated to capture the metric.</li>
          <li>Fi, where i in [1, 2...6], a selection function defining unambiguously a packet
         of one particular stream i forming part of the monitoring overlay measurement loop set up.</li>
          <li>L, a packet length in bits. The packets of all Type-P-SR-Path-Delay-Periodic-Streams Fi
		 SHOULD all be of the same length.</li>
          <li>MLAi, a stack of Segment IDs determining a monitoring loop Fi. The 
		 Segment-IDs MUST be chosen so that a singleton type-p packet 
		 of selection function Fi passes the sub-path i to be monitored.</li>
          <li>No support: lambda (Poisson Streams remain ffs.)</li>
        </ul>
      </section>
      <section numbered="true" toc="default">
        <name>Metric Units</name>
        <t> Refer to section 3.4. Metric Units: Type-P-* of <xref target="RFC6673" format="default"/>.
        </t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Singleton Definition for Type-P-SR-Path-Periodic-Delay</name>
      <section numbered="true" toc="default">
        <name>Metric Name</name>
        <t>Type-P-SR-Path-Periodic-Delay</t>
      </section>
      <section numbered="true" toc="default">
        <name>Metric Parameters</name>
        <t>See section <xref target="Generic_Metric_Parameters" format="default"/>.</t>
      </section>
      <section anchor="Delay_Metric_Units" numbered="true" toc="default">
        <name>Delay Metric Units</name>
        <t>A sequence of consecutive time values.
	   The value of a Type-P-SR-Path-Periodic-Delay is either a real number or an
       undefined (informally, infinite) number of seconds per singleton of each stream Fi.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Definition</name>
        <t>Section 3.4 of <xref target="RFC7679" format="default"/> applies per singleton of each stream Fi. The additional
	   information related to singletons of section 4.2.4 of <xref target="RFC3432" format="default"/> applies too.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Discussion</name>
        <t>See section 3.5 of <xref target="RFC7679" format="default"/>. One generalisation seems appropriate: a global 
	   satellite navigation system affords one way to achieve synchronization within usec.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Methodologies</name>
        <t>Section 3.6 of <xref target="RFC7679" format="default"/> applies per stream Fi with one exception: at the Src host, select 
	  Src and Dst IP addresses, if IP-routing is applied, or select the proper functional IP-destination 
	  address if an <xref target="RFC8287" format="default"/> SR MPLS OAM packet format is applied. Further add the appropriate 
	  stack of Segment IDs MLAi determining the monitoring loop Fi and form a test packet of Type-P with these 
	  addresses and the segment stack.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Errors and Uncertainties</name>
        <t>See section 3.7 of <xref target="RFC7679" format="default"/> and section 4.6 of <xref target="RFC3432" format="default"/>.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Reporting the metric</name>
        <t>See section 3.8 of <xref target="RFC7679" format="default"/>.</t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Singleton Definition for Type-P-SR-Path-Packet-Loss</name>
      <t>Editors note: To be added based on existing loss metrics. A delay based 
	  approach indicating loss of a physical interface by detecting delay changes 
	  caused by re-routing can't be assumed to reliably cause unique delay 
	  change patterns under all circumstances (consider a shortest path routed multi-hop 
	  MPLS sub-path to be monitored rather than a link or a scenario where a bundle of 6
	  equivalent links is monitored connecting a single hub and spoke).</t>
      <section numbered="true" toc="default">
        <name>Metric Name</name>
        <t>Type-P-SR-Path-Packet-Loss</t>
      </section>
      <section numbered="true" toc="default">
        <name>Metric Parameters</name>
        <t>See section <xref target="Generic_Metric_Parameters" format="default"/>.</t>
      </section>
      <section anchor="Packet_Loss_Metric_Units" numbered="true" toc="default">
        <name>Packet Loss Metric Units</name>
        <t>The value of a Type-P-SR-Path-Packet-Loss is either a zero
       (signifying successful transmission of the packet) or a one
       (signifying loss) per singleton of each stream Fi.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Definition</name>
        <t>Section 2.4 of <xref target="RFC7680" format="default"/> applies per singleton of each stream Fi.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Discussion</name>
        <t>See section 3.5 of <xref target="RFC7680" format="default"/>.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Methodologies</name>
        <t>Section 2.6 of <xref target="RFC7680" format="default"/> applies per stream Fi with one exception: at the Src host, select 
	  Src and Dst IP addresses, if IP-routing is applied, or select the proper functional IP-destination 
	  address if an <xref target="RFC8287" format="default"/> SR MPLS OAM packet format is applied. Further add the appropriate 
	  stack of Segment IDs MLAi determining the monitoring loop Fi and form a test packet of Type-P with these 
	  addresses and the segment stack.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Errors and Uncertainties</name>
        <t>See section 2.7 of <xref target="RFC7680" format="default"/>.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Reporting the metric</name>
        <t>See section 2.8 of <xref target="RFC7680" format="default"/>.</t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Definition of Samples for Type-P-SR-Path-Periodic-Delay</name>
      <t>This sections defines metric samples and metrics derived from samples.</t>
      <section numbered="true" toc="default">
        <name>Generic Type-P-SR-Path-Periodic-Delay-* metric</name>
        <t> To reduce the redundant information presented in the detailed metrics
    sections that follow, this section presents the specifications that
    are common to two or more metrics.  The section is organized using
    the same subsections as the individual metrics, to simplify
    comparisons.</t>
        <section numbered="true" toc="default">
          <name>Metric Name</name>
          <t>Type-P-SR-Path-Periodic-Delay-*</t>
        </section>
        <section numbered="true" toc="default">
          <name>Metric Parameters</name>
          <ul empty="true" spacing="normal">
            <li>Src, the IP address of a host</li>
            <li>Dst, the IP address of a host</li>
            <li>MLAi, a stack of Segment IDs</li>
            <li>Ti0, a time</li>
            <li>Tif, a time</li>
            <li>incT, a time</li>
          </ul>
        </section>
        <section numbered="true" toc="default">
          <name>Metric Units</name>
          <t>See section <xref target="Delay_Metric_Units" format="default"/>.</t>
        </section>
        <section numbered="true" toc="default">
          <name>Metric Defintion</name>
          <t>Given Ti0 and Tif and nominal inter-packet interval incT, 
	  those time values greater than or equal to Ti0
      and less than or equal to Tif are then selected. At each of the
      selected times in this process, we obtain one value of 
	  Type-P-SR-Path-Periodic-Delay. The value of the sample is 
	  the sequence made up of the resulting [time, delay] pairs.  
	  If there are no such pairs, the sequence is of length zero and 
	  the sample is said to be empty.</t>
        </section>
        <section numbered="true" toc="default">
          <name>Discussion</name>
          <t>See section 4.4 of <xref target="RFC3432" format="default"/>.</t>
        </section>
        <section numbered="true" toc="default">
          <name>Errors and uncertainties</name>
          <t>See section 4.6 of <xref target="RFC3432" format="default"/>.</t>
        </section>
      </section>
      <section numbered="true" toc="default">
        <name>Definition of Type-P-SR-Path-Periodic-Delay-Stream</name>
        <t>The only definition required for this metric is a unique metric name.</t>
        <section numbered="true" toc="default">
          <name>Metric Name</name>
          <t>Type-P-SR-Path-Periodic-Delay-Stream</t>
        </section>
      </section>
      <section numbered="true" toc="default">
        <name>Definition of Type-P-SR-Path-Periodic-Delay-Variation</name>
        <t>The smallest sample Type-P-SR-Path-Periodic-Delay-Stream is one of 
	two consecutively received values. These may be used to calculate a Segment Routed Path
	Delay-Variation (SRDV) singleton, defined below.</t>
        <section numbered="true" toc="default">
          <name>Metric Name</name>
          <t>Type-P-SR-Path-Periodic-Delay-Variation</t>
        </section>
        <section numbered="true" toc="default">
          <name>Methodologies</name>
          <t>SRDV[i,j], for each sample of packets j and j-1 of stream Fi, j &gt; 1, the delay variation
          between successive packets is calculated as:</t>
          <t>SRDV[i,j] = Delay[i,j] - Delay [i,j-1],</t>
          <t>j in [2,3...N] and N the total number of packets received at Dst. If one or more 
	   of the M packets sent by Src are lost, they are ignored for the metric, as no reasonable 
	   metric value is defined here. If N &gt; 1, the metric is calculated for every valid packet 
	   received and the preceding one.</t>
        </section>
        <section numbered="true" toc="default">
          <name>Discussion of SRDV</name>
          <t>Evaluation statistics of differential SRDV metric samples may help to identify issues.</t>
        </section>
        <section numbered="true" toc="default">
          <name>Errors and uncertainties</name>
          <t>See section 2.7 of <xref target="RFC3393" format="default"/>.</t>
        </section>
      </section>
      <section numbered="true" toc="default">
        <name>Definition of Type-P-SR-Path-Periodic-Delay-Variation-Stream</name>
        <t>The only definition required for this metric is a unique metric name.</t>
        <section numbered="true" toc="default">
          <name>Metric Name</name>
          <t>Type-P-SR-Path-Periodic-Delay-Variation-Stream</t>
        </section>
        <section numbered="true" toc="default">
          <name>Metric Defintion</name>
          <t>Given Ti0 and Tif, 
	  those time values greater than or equal to Ti0
      and less than or equal to Tif are then selected. At each of the
      selected times in this process, we obtain one value of 
	  Type-P-SR-Path-Periodic-Delay. The value of the sample is 
	  the sequence made up of the resulting [time, delay-variation] pairs 
	  with time being set to the Dst timestamp of the Delay-Variation 
	  singleton, for which a valid singleton is calculated.  
	  If there are no such pairs, the sequence is of length zero and 
	  the sample is said to be empty. If N Delay singletons are captured 
	  and sampled N-1 Delay-Variation singletons are sampled during 
	  the same interval</t>
        </section>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Statistic Definitions for SR-Path-Periodic-*-Stream samples</name>
      <t>Change point detection requires statistical defintions. These are provided below.
	The names of the statistics contain an "*" placeholder, which may be replaced by "Delay" 
	or "Delay-Variation".</t>
      <section numbered="true" toc="default">
        <name>SR-Path-Periodic-*-Mean</name>
        <t>For a type-p metric, the mean is specified by:</t>
        <t>SR-*Mean = (1/N) * Sum(from a=1 to N, value[a])</t>
        <ul spacing="normal">
          <li>N       sample size</li>
          <li>value   sample value of a sampled [time, value] pair</li>
        </ul>
      </section>
      <section numbered="true" toc="default">
        <name>SR-Path-Periodic-*-Std</name>
        <t>For a type-p metric, the Standard-Deviation Std is specified by:</t>
        <t>SR-*Std = [1/(N-1)] * Sum(from a=1 to N, [SR-*Mean - value[a]]^2 )</t>
        <ul spacing="normal">
          <li>N       sample size</li>
          <li>value   sample value of a sampled [time, value] pair</li>
          <li>SR-*Mean   sample mean of the same metric as defined above</li>
        </ul>
        <t>The definition as given above requires a two-pass calculation per sample. 
	   Algorithms estimating the standard-deviation by one-pass calculation have 
	   been published and might be preferable, if metric singletons and samples 
	   aren't buffered or calculations need to be fast.</t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Statistic Definitions for Type-P-SR-Path-Packet-Loss</name>
      <t>The packet loss ratio is a useful metric to characterise congestion.</t>
      <section numbered="true" toc="default">
        <name>SR-Path-Packet-Loss-Ratio</name>
        <t>See section 4.1 of <xref target="RFC7680" format="default"/></t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Sub-Path monitoring metrics derived from samples captured along the measurement loops</name>
      <t>To produce meaningful sub-path monitoring values, the measurement loop metrics 
	are captured during a phase with stable networking conditions. In a backbone network domain, the 
	absence of congestion often is a sufficient condition (frequent traffic shifts due to changes 
	in routing and traffic engineering aren't expected). This may be different in a network based on a shared medium. 
	It may be outright difficult in networks with frequently changing traffic management- and 
	routing-policies.</t>
      <t>In the following, the index CS indicates a statistic captured during a mesurement 
	interval with stable routing and no congestion.</t>
      <section numbered="true" toc="default">
        <name>Baseline measurement</name>
        <t>Capture a sample of delay values Type-P-SR-Path-Periodic-Delay-Stream of sample 
	 size N for each measurment loop Fi. As a rule of thumb choose N in [30, 100].</t>
        <t>For each measurement loop Fi, calculate the following metrics characterising 
	 the monitored Sub-Paths during stable and congestion free network conditions:</t>
        <ul spacing="normal">
          <li>SR-Path-Delay-MeanCSi, the mean delay captured along measurement loop Fi</li>
          <li>SR-Path-Delay-StdCSi, the standard-deviation of the delay captured along measurement loop Fi</li>
          <li>SR-Path-Delay-Variation-MeanCSi, the mean delay variation captured along measurement loop Fi</li>
          <li>SR-Path-Delay-Variation-StdCSi, the standard-deviation of the delay variation captured along measurement loop Fi</li>
        </ul>
        <t>A stable and uncongested network should produce rather constant delays, resulting in low 
	standard-deviation values and almost zero mean delay variation. [Editors note: Add text to select the 
	median of a small set of stream mean captures, like 5 samples captured consecutively.] </t>
        <t>Example data was captured in a lightly loaded Gigabit network. 11 routers are passed 
	per measurement loop. The sample size is 30 packets, more than 200 samples were captured
	per measurement loop. The loops are set up for a different purpose than specified here, 
	they are picked due to a high number of passed routers. Note that SR-DV-Mean here refers 
	to an abs(SR-DV-Mean) sample, thus small, positive, non-zero means result. The 
	time unit is microseconds.</t>
        <t keepWithNext="true"/>
        <figure anchor="baseline_metric_example">
          <artwork name="" type="" align="left" alt=""><![CDATA[
      Metric|Quantile|SR-D-Mean|SR-D-Std|SR-DV-Mean|SR-DV-Std
      ------+--------+---------+--------+----------+---------
      Loop1 |   95%  |  34507  |   62   |    41	   |   84
      ------+--------+---------+--------+----------+---------
      Loop2 |   95%  |  35104  |   45   |    34	   |   49
      ------+--------+---------+--------+----------+---------
      Loop1 |   50%  |  34496  |   19   |    19	   |   17
      ------+--------+---------+--------+----------+---------
      Loop2 |   50%  |  35088  |   15   |    14	   |   12
      ------+--------+---------+--------+----------+---------
      Loop1 |    5%  |  34491  |   14   |    20	   |   12
      ------+--------+---------+--------+----------+---------
      Loop2 |    5%  |  35080  |   13   |    12	   |    9 
      ------+--------+---------+--------+----------+---------

       ]]></artwork>
        </figure>
        <t keepWithPrevious="true">Example baseline metrics for an 11 hop measurement loop 
		   (quantiles refer to SR-D-Mean)</t>
      </section>
      <section numbered="true" toc="default">
        <name>Discussion of the baseline measurement</name>
        <t>Delay outliers may occur at any time in any communication network, 
	   and the measurement system packet processing itself may also produce some. It is fair to
	   expect only single outliers in a stable, not congested network. It may 
	   be worth to capture several consecutive SR-Path-Periodic-*-Stream samples and compare 
	   their statistics, before picking reasonable baseline metric values. Samples 
	   showing higher standard deviations (compare the 95% quantile values in 
	   the above figure to the 50% quantile values) may benefit from removing 
	   the maximum singleton value from the sample. This will smooth the mean 
	   and standard-deviation, and if the result then is closer to those of 
	   the majority of the samples, foster confidence in determining the 
	   baseline metrics. Depending on the preferred method of data-processing 
	   and storing, this may require capturing the sample maximum as a separate metric.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Definition of SR-Path-Sub-Path-RTD-Estimate</name>
        <t>Within a single evaluation interval of identical Time T0 and Tf, 
	  SR-Path-Delay-MeanCSi(from now on DMeanCSi)is the mean delay of 
	  the measurement loop passing the monitored Sub-Path SPi by a round trip. Let's keep the 
	  indexig applied above, then Fj and Fk with captured mean delays
	  DMeanCSj and DMeanCSk pass SPi uniderictional. Further, 3 measurement 
	  loops Fx, Fy and Fz don't pass Sub-Path SPi at all. The 
      corresponding mean delays are DMeanCSs, DMeanCSt and DMeanCSu.</t>
        <t>The the SR-Path-Sub-Path-RTD-Estimate of the Round Trip Delay 
	  along the monitored Sub-Path Fi, RTD_Fi, is</t>
        <t>RTD_Fi=(3*DMeanCSi+DMeanCSj+DMeanCSk-DMeanCSx-DMeanCSy-DMeanCSz)/4</t>
      </section>
      <section anchor="changepoint" numbered="true" toc="default">
        <name>Definition of SR-Path-Sub-Path-*-Changepoint</name>
        <t>The asterisk stands for "Interface" as well as "Connectivity". If connectivity 
	  is lost and no path is available between two nodes, any packets to be 
	  transmitted will are dropped. A change in sub-path routes with a change 
	  in measurement loop delay indicitates a re-routimg event (a temporal loss 
	  in connectivity), not a long lasting loss of connectivity. Hence a change 
	  in measurement loop delays caused by a re-routed monitored sub isn't useful 
	  to derive a metric indicating connectivity loss on a monitored sub path (a 
	  sub-path-route-change metric might be of interest, but isn't within scope
	  of this document).</t>
        <t>Network changes like congestion or re-routing are often characterised by 
	  a change in the mean delay of a monitoring measurement. CUSUM (cumulative sum ) 
	  charts have been shown to be efficient in detecting shifts in the mean of a 
	  process <xref target="NIST" format="default"/>. The upper bound CUSUM is defined as:</t>
        <t>Sup(t)-Fi-Delay = max(0,Sup(t-1) + xt - SR-Path-*-MeanCSi - ki)</t>
        <t>with Sup(0) = 0, ki = Delta * SR-Path-*-StdCSi (Delta is a dimensionless integer number),
	  xt = Type-P-SR-Path-Periodic-* singleton for measurement loop Fi at time t.</t>
        <t>The actual SR-Path-Delay-Mean of Measurement Loop Fi is decided to be significantly 
	  above SR-Path-*-MeanCSi, if:</t>
        <t>Sup(t)-Fi-Delay &gt; h_SP, with h_SP = d*ki (d is a dimensionless integer number).</t>
        <t>An analogus CUSUM controls changes to a lower mean delay (which may be caused by 
	  a re-routing event):</t>
        <t>Slo(t)-Fi-Delay = max(0,Slo(t-1) + SR-Path-*-MeanCSi - xj - k)</t>
        <t>The actual SR-Path-Delay-Mean of Fi is decided to be significantly below
	  SR-Path-*-MeanCSi, if:</t>
        <t>Slo(t)-Fi-Delay &gt; h_SP</t>
      </section>
      <section numbered="true" toc="default">
        <name>Discussion of SR-Path-Sub-Path-*-Changepoint</name>
        <t>CUSUM chart based changepoint detection is sensible even to small changes in the 
	    mean. CUSUM charts offer a limited protection against single, isolated outliers. 
	    A cumulated sum only grows, if the controled process consistenly changes its mean 
	    (or standard deviation, respectively). Assuming constant physical minimum 
	    delays to characterise wireline communication networks, a change in standard 
	    deviation not affecting the mean delay doesn't seem to be caused by a change in 
	    networking conditions.</t>
        <t>The measured delays will change once a Sub-Path route has changed, or once 
		persistent congestion starts to fill a queue. Both indicate changes in 
		the network. As the Sub-Pathes SPi form an overlay with designed properties, 
		every network change affecting a sub-path creates correlated SR-Path-* metric 
		changes. As the correspondance of network changes to Sub-Path metrics is 
		known a-priory, detecting correlated SR-Path-* metric changes allows
		to locate the change.</t>
        <t>In the absence of packet re-routing, packet loss is 
	    characterising a loss of connectivity. Packet loss requires a time 
	    threshold when to decide that an active measurement packet was lost, and 
	    consecutive loss requires receiver awareness, that packets have been sent 
	    (this argues for the sender to be the receiver, unless both comminicate 
	    fast and reliable out of band).</t>
        <t>The preferred CUSUM parametrisation will depend on the kind of events 
		to detected and on the outlier characteristics. </t>
        <t>ki = Delta * SR-Path-*-StdCSi  may be set to a value relevant high 
		enough to exclude single outliers to trigger an alert, but low enough to 
		indicate persistent changes in delay. The same holds for the to be picked for d.</t>
        <t>A broader discussion on CUSUM 
		parametrisation may be found in literature. Networking skills are required 
		to parametrise CUSUM, as well as to interprete the results (notably to 
		differ re-routing from congestion).</t>
      </section>
      <section numbered="true" toc="default">
        <name>Definition of SR-Path-Sub-Path-Congestion-Location</name>
        <t>An interface along a single monitored Sub-Path SPi whose queue is 
	  persistently filled adds latency to measurement loop Fi and one of the two 
	  unidirectional measurement loops Fj and Fk passing Sub-Path SPi. Fj has 
	  been defined to pass SPi from Hub to Spoke and Fk pass SPI in opposite direction.	  
	  Then SR-Path-Sub-Path-Congestion-Location metric for the traffic directed from 
	  "Hub to Spoke" along Sub-Path SPi is:</t>
        <t>SPi_ConLoc_ij = Sup(t)_SPi_Periodic-Delay + Sup(t)_SPj_Periodic-Delay</t>
        <t>And for the opposite traffic direction, from "Spoke to Hub":</t>
        <t>SPi_ConLoc_ik = Sup(t)_SPi_Periodic-Delay + Sup(t)_SPk_Periodic-Delay</t>
        <t>Note that another 10 SR-Path-Sub-Path-Congestion-Location metrics are 
	  calculated, one per monitored Sub Path and traffic direction. The evaluation 
	  can be simplified as follows:</t>
        <ul empty="true" spacing="normal">
          <li>IF SPi_ConLoc_ij &gt; h_SP</li>
          <li>AND h_SP &gt; Sup(t)_SPk_Periodic-Delay </li>
          <li>AND h_SP &gt; Sup(t)_SPx_Periodic-Delay </li>
          <li>AND h_SP &gt; Sup(t)_SPy_Periodic-Delay </li>
          <li>AND h_SP &gt; Sup(t)_SPz_Periodic-Delay </li>
        </ul>
        <t>Then Sub-Path SPi faces congestion in direction "Hub to Spoke".</t>
        <ul empty="true" spacing="normal">
          <li>IF SPi_ConLoc_ik &gt; h_SP</li>
          <li>AND h_SP &gt; Sup(t)_SPj_Periodic-Delay </li>
          <li>AND h_SP &gt; Sup(t)_SPx_Periodic-Delay </li>
          <li>AND h_SP &gt; Sup(t)_SPy_Periodic-Delay </li>
          <li>AND h_SP &gt; Sup(t)_SPz_Periodic-Delay </li>
        </ul>
        <t>Then Sub-Path SPi faces congestion in direction "Spoke to Hub".</t>
        <t>Here, h_SP is a universal threshold in unit time to indicate a filling 
	  queue or a significant change in delay due to a Sub-Path reroute or 
	  another persistent change in topology (like e.g. automated 
	  Layer 1 / Layer 2 topology changes). Packets following SPx, SPy and SPz 
	  don't pass the congested interface of Sub-Path SPi.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Definition of SR-Path-Sub-Path-Disconnected</name>
        <t>The idea of this document is to monitor a set of sub-paths for a single
	   case of congestion or a single loss of connectivity. If a single sub-path SPi 
	   looses connectivity, i.e., all packets are dropped in both sub-path 
	   forwarding directions, then three measurement loops mi, mj and mk fail 
	   to receive any traffic. A single interface congestion will add latency 
	   to mi and one of mj or mk, respectively. Still, if it is congestion of a 
	   single sub-path SPi interface causing additional latency, either mj 
	   or mk face no congestion and the one measured delay mj or mk should be within the 
	   expected range of values. Rather than basing a loss of connectivity metric on
	   a "reliable" indication SR-Path-Packet-Loss on each measurement loop mi, mj 
	   and mk by waiting for Tmax to receive any of the missed packets, this allows for 
	   a reaction independant of a conservative packet loss threshold like Tmax. 
	   The idea is to judge on disconnectivity if no packet is received on all 
	   three measurement loops mi, mj and mk after the time interval the last single 
	   packet was expected to be received, if there was no prior indication of 
	   congestion.</t>
        <t>If the spacing of packets along consecutive measurement loops Fi is IncF as 
	   defined within section <xref target="spacing" format="default"/>, then under stable network conditions 
	   every measurement packet sent along measurement loop Fi is received, before the 
	   next measurement packet is sent along measurement loop Fj. If a measurement 
	   interval starts at T1 and none of the three measurement loops Fi, Fj and Fk 
	   received a packet within T1 + incT = T1 + 6 * incF, monitored Sub-Path i is 
	   disconnected. It doesn't matter, along which of the three measurement loops 
	   the first not received packet was sent (there's no order here).</t>
        <t>incF &gt; max (SR-Path-Delay-MeanCSi+ d * Delta * SR-Path-Delay-StdCSi ),  i in [1...6]</t>
        <t>With d and Delta being integer numbers as specified in section <xref target="changepoint" format="default"/>. 
	  If Fi and Fi+1 are measurement loops along which measurement packets are sent in consecutive 
	  order, this definition of incF ensures that the measurement packet sent along measurement 
	  loop Fi is received prior to sending the next measurement packet along measurement loop Fi+1 
	  (under stable network conditions). The product d * Delta * SR-Path-Delay-StdCSi allows to 
	  set the preferred tolerance for outliers. It impacts the tradeoff between speed of detection 
	  and false positive ratio. With this parameterisation, the metric indicationg a loss of 
	  bidirectional connectivity along Sub-Path i is defined as </t>
        <t> either zero or one (or some logical equivalent), where LofCi=1
      indicates loss of continuity along monitored Sub-Path Fi and LofCi=0 
	  indicates successful arrival of at least one packet sent along 
	  measurement-loop Fi, Fj or Fk within incT.</t>
        <t>Under conditions of section <xref target="spacing" format="default"/>, if at any sliding interval incT
	  no singleton was received along measurement-loops Fi, Fj and Fk, no more packets
      are forwarded in any direction of monitored sub-path SPi.</t>
        <t>Faster detection of disconnectivity is likely possible by a different metric 
	  definition, which likely will depend on the measurement-loop delay Mi, Mj and Mk. 
	  The metric chosen above allows for a simple parametrisation. Metrics allowing for 
	  a faster determination of disconnection are not within scope of this document.</t>
        <t>The sub-path SPi is judged to be disconnected from the earliest time, when a 
	  packet was sent but not received on any of the three sub-paths Fi, Fj or Fk. 
	  The sub-path SPi is judged to be connected, whenever a measurement packet sent 
	  along one or more of the measurement-loops Fi, Fj and Fk is received again.</t>
        <t keepWithNext="true"/>
        <figure anchor="SR-Path-Sub-Path-Disconnected_illustration">
          <artwork name="" type="" align="left" alt=""><![CDATA[
	  
	  Fi = send time of a packet along measurement-loop Fi
	       i in [1...6]
	  Mi = receive time of a packet sent along Fi 
	  incT interval between two packets sent along Fi
	  incF > max (Mi)
	  
	    IncF                       IncT = 6 * IncF
       __/\__         ___________________/\__________________	  
      /      \       /                                       \
      +------+------+------+------+------+------+------+------+
      t=0    1   |  2      3      4  |   5      6   |  7   |  8
             F1  |  F2     F3     F4 |   F5     F6  |  F1  |  F2
                 M1                  M4             M6     M1 |
	                                                          |
      At time 8, next packet should be sent along F2.         |
      No packets were received along F2, F3 and F5 yet.       |
	  Indicates discontinuity along SP3 at time 8.  <------+

       ]]></artwork>
        </figure>
        <t keepWithPrevious="true">Illustration of the sub-path disconnectivity metric; 
		   sub-path SP3 is link L100 &lt;-&gt; L070 of the example network <xref target="PMS_CV" format="default"/>.</t>
        <t>Note, if F2 sent at time 2 was received at time 2 + M2, but no
	  more packet passing SP3 afterwards, discontinuity of SP3 
	  is indicated at time 9, when F3 is to send the next packet. Also note 
	  that discontinuity of SP3 could be indicated as early as time 6 
	  in the example. That requires a different metric. Basing the metric 
	  definition on incT however covers all potential intervals between 
	  relevant Fi, Fj and Fk.</t>
      </section>
    </section>
    <!-- 	<section title="Altes">  
	   
	   <t><list style="symbols">
	   
	   <t>"Uplink" and "Downlink" have no architectural relevance. The terms are chosen to express, that the packets of 
	   measurement_path_2 and measuremnt_path_3 pass the monitored sub-path unidirectional in opposing direction.
	   Measuremnt_path_1, measurement_path_2 and measurement_path_3 MUST NOT be identical.</t>

 	   <t>All measurement paths SHOULD terminate between identical sender and receiver interfaces. It is recommended 
	   to connect the sender and receiver as closely to the paths to be monitored as possible. Each intermediate sub-path
       between sender and receiver one one hand and sub-paths to be monitored is an additional source of errors requiring
	   separate monitoring.</t>
	   
	   <t>Segment Routed domains supporting Node- and Adj-SIDs should enable the monitoring path set-up as specified.
       Other routing protocols may be used as well, but the monitoring path set up might be complex or impossible.</t>
	   
	   <t>Pre-compute how the two and three measurement path delay changes correlate to sub-path connectivity and 
	   congestion patterns. Absolute change valaues aren't required, a simultaneous change of two or three 
	   particular measurement paths is.</t>
	   
	   <t>Ensure that the temporal resolution of the measurement clock allows to reliably capture a unique delay 
	   value for each configured measurement path while sub-path connectivity is complete and no congestion is 
	   present.</t>
	   
	   <t>Synchronised clocks are not strictly required, as the metric is evaluating differences in delay. Changes 
	   in clock synchronisation SHOULD NOT be close to the time interval within which changes in connectivity or 
	   congestion should be monitored.</t>
	   
	   <t>At the Src host, select Src and Dst IP addresses, and address information to route the type-p
	   packet along one of the configured measurement path. Form a test packet of Type-P with these addresses.</t>
	   
	   <t>Configure the Dst host access to receive the packet.</t>
	   
	   <t>At the Src host, place a timestamp, a sequence number and a unique identifier of the measurement path
	   in the prepared Type-P packet, and send it towards Dst.</t>
	   
	   <t>Capture the one-way delay and determine packet-loss by the metrics specified by <xref target="RFC7679"/>
	   and <xref target="RFC7680"/> respectively and store the result for the path.</t>
	   
	   <t>If two or three subpaths indicate a change in delay, report a change in connectivity or congestion status
	   as pre-computed above.</t>
	   
	   <t>If two or three sub paths indicate a change in delay, report a change in connectivity or congestion status
	   as pre-computed above.</t>
	   
	   </list></t>
	   
	  <t>Note that monitoring 6 sub paths requires setting up 6 monitoring paths as shown in the figure above.</t>
	</section> -->
	
		
	
<!-- 	<section title="Errors and Uncertainties">
	<t> Sources of error are:</t>
	  <t><list style="symbols">
         <t>Measurement paths whose delays don't indicate a change after sub-path connectivity changed.</t>

         <t>A timestamps whose resolution is missing or inacurrate at the delays measured for the different
		 monitoring paths.</t>
		 
		 <t>Multiple occurrences of sub path connectivity and congestion.</t>
		 
		 <t>Loss of connectivity and congestion along sub-paths connecting the measurement device(s) 
		 with the sub-paths to be monitored.</t> 
		 
       </list></t>
   </section> -->
   
   <section numbered="true" toc="default">
      <name>Discussion of Temporal Resolution</name>
      <t>A loss of connectivity is detected after a temporal distance of IncT, the time period between 
  two packets beeing sent along the same measurement-loop Fi. IncT is specified as 6*IncF, where 
  IncF is 2 times the largest measurement-loop delay in the absence of congestion. Hence a loss 
  of connectivity is indicated after 12 * the largest measurement-loop delay.</t>
      <t>Reliable indications of lost connectivity may be possible also at smaller timescales. The 
  specification chosen seems to be simple as well as reliable and thus defines a starting 
  point for advanced designs offering faster reaction.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>If standardised, the metric will require an entry in the IPPM metric registry.</t>
    </section>
    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>This draft specifies how to use methods specified or described within <xref target="RFC8402" format="default"/> 
	 and <xref target="RFC8403" format="default"/>. It does not introduce new or additional SR features. The security 
	 considerations of both references apply here too.
      </t>
    </section>
  </middle>
  <!--  *****BACK MATTER ***** -->

 <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized.  This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC2678" target="https://www.rfc-editor.org/info/rfc2678" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2678.xml">
          <front>
            <title>IPPM Metrics for Measuring Connectivity</title>
            <author fullname="J. Mahdavi" initials="J." surname="Mahdavi"/>
            <author fullname="V. Paxson" initials="V." surname="Paxson"/>
            <date month="September" year="1999"/>
            <abstract>
              <t>This memo defines a series of metrics for connectivity between a pair of Internet hosts. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2678"/>
          <seriesInfo name="DOI" value="10.17487/RFC2678"/>
        </reference>
        <reference anchor="RFC3393" target="https://www.rfc-editor.org/info/rfc3393" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3393.xml">
          <front>
            <title>IP Packet Delay Variation Metric for IP Performance Metrics (IPPM)</title>
            <author fullname="C. Demichelis" initials="C." surname="Demichelis"/>
            <author fullname="P. Chimento" initials="P." surname="Chimento"/>
            <date month="November" year="2002"/>
          </front>
          <seriesInfo name="RFC" value="3393"/>
          <seriesInfo name="DOI" value="10.17487/RFC3393"/>
        </reference>
        <reference anchor="RFC3432" target="https://www.rfc-editor.org/info/rfc3432" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3432.xml">
          <front>
            <title>Network performance measurement with periodic streams</title>
            <author fullname="V. Raisanen" initials="V." surname="Raisanen"/>
            <author fullname="G. Grotefeld" initials="G." surname="Grotefeld"/>
            <author fullname="A. Morton" initials="A." surname="Morton"/>
            <date month="November" year="2002"/>
            <abstract>
              <t>This memo describes a periodic sampling method and relevant metrics for assessing the performance of IP networks.  First, the memo motivates periodic sampling and addresses the question of its value as an alternative to the Poisson sampling described in RFC 2330.  The benefits include applicability to active and passive measurements, simulation of constant bit rate (CBR) traffic (typical of multimedia communication, or nearly CBR, as found with voice activity detection), and several instances in which analysis can be simplified.  The sampling method avoids predictability by mandating random start times and finite length tests.  Following descriptions of the sampling method and sample metric parameters, measurement methods and errors are discussed.  Finally, we give additional information on periodic measurements, including security considerations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3432"/>
          <seriesInfo name="DOI" value="10.17487/RFC3432"/>
        </reference>
        <reference anchor="RFC6673" target="https://www.rfc-editor.org/info/rfc6673" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6673.xml">
          <front>
            <title>Round-Trip Packet Loss Metrics</title>
            <author fullname="A. Morton" initials="A." surname="Morton"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>Many user applications (and the transport protocols that make them possible) require two-way communications. To assess this capability, and to achieve test system simplicity, round-trip loss measurements are frequently conducted in practice. The Two-Way Active Measurement Protocol specified in RFC 5357 establishes a round-trip loss measurement capability for the Internet. However, there is currently no round-trip packet loss metric specified according to the RFC 2330 framework.</t>
              <t>This memo adds round-trip loss to the set of IP Performance Metrics (IPPM). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6673"/>
          <seriesInfo name="DOI" value="10.17487/RFC6673"/>
        </reference>
        <!-- <?rfc include="reference.I-D.draft-ietf-isis-segment-routing-extensions"?>-->
   <reference anchor="RFC7679" target="https://www.rfc-editor.org/info/rfc7679" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7679.xml">
          <front>
            <title>A One-Way Delay Metric for IP Performance Metrics (IPPM)</title>
            <author fullname="G. Almes" initials="G." surname="Almes"/>
            <author fullname="S. Kalidindi" initials="S." surname="Kalidindi"/>
            <author fullname="M. Zekauskas" initials="M." surname="Zekauskas"/>
            <author fullname="A. Morton" initials="A." role="editor" surname="Morton"/>
            <date month="January" year="2016"/>
            <abstract>
              <t>This memo defines a metric for one-way delay of packets across Internet paths.  It builds on notions introduced and discussed in the IP Performance Metrics (IPPM) Framework document, RFC 2330; the reader is assumed to be familiar with that document.  This memo makes RFC 2679 obsolete.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="81"/>
          <seriesInfo name="RFC" value="7679"/>
          <seriesInfo name="DOI" value="10.17487/RFC7679"/>
        </reference>
        <reference anchor="RFC7680" target="https://www.rfc-editor.org/info/rfc7680" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7680.xml">
          <front>
            <title>A One-Way Loss Metric for IP Performance Metrics (IPPM)</title>
            <author fullname="G. Almes" initials="G." surname="Almes"/>
            <author fullname="S. Kalidindi" initials="S." surname="Kalidindi"/>
            <author fullname="M. Zekauskas" initials="M." surname="Zekauskas"/>
            <author fullname="A. Morton" initials="A." role="editor" surname="Morton"/>
            <date month="January" year="2016"/>
            <abstract>
              <t>This memo defines a metric for one-way loss of packets across Internet paths.  It builds on notions introduced and discussed in the IP Performance Metrics (IPPM) Framework document, RFC 2330; the reader is assumed to be familiar with that document.  This memo makes RFC 2680 obsolete.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="82"/>
          <seriesInfo name="RFC" value="7680"/>
          <seriesInfo name="DOI" value="10.17487/RFC7680"/>
        </reference>
        <reference anchor="RFC8029" target="https://www.rfc-editor.org/info/rfc8029" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8029.xml">
          <front>
            <title>Detecting Multiprotocol Label Switched (MPLS) Data-Plane Failures</title>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="G. Swallow" initials="G." surname="Swallow"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <author fullname="N. Kumar" initials="N." surname="Kumar"/>
            <author fullname="S. Aldrin" initials="S." surname="Aldrin"/>
            <author fullname="M. Chen" initials="M." surname="Chen"/>
            <date month="March" year="2017"/>
            <abstract>
              <t>This document describes a simple and efficient mechanism to detect data-plane failures in Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs). It defines a probe message called an "MPLS echo request" and a response message called an "MPLS echo reply" for returning the result of the probe. The MPLS echo request is intended to contain sufficient information to check correct operation of the data plane and to verify the data plane against the control plane, thereby localizing faults.</t>
              <t>This document obsoletes RFCs 4379, 6424, 6829, and 7537, and updates RFC 1122.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8029"/>
          <seriesInfo name="DOI" value="10.17487/RFC8029"/>
        </reference>
        <reference anchor="RFC8402" target="https://www.rfc-editor.org/info/rfc8402" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml">
          <front>
            <title>Segment Routing Architecture</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <date month="July" year="2018"/>
            <abstract>
              <t>Segment Routing (SR) leverages the source routing paradigm. A node steers a packet through an ordered list of instructions, called "segments". A segment can represent any instruction, topological or service based. A segment can have a semantic local to an SR node or global within an SR domain. SR provides a mechanism that allows a flow to be restricted to a specific topological path, while maintaining per-flow state only at the ingress node(s) to the SR domain.</t>
              <t>SR can be directly applied to the MPLS architecture with no change to the forwarding plane. A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. Upon completion of a segment, the related label is popped from the stack.</t>
              <t>SR can be applied to the IPv6 architecture, with a new type of routing header. A segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header. The active segment is indicated by the Destination Address (DA) of the packet. The next active segment is indicated by a pointer in the new routing header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8402"/>
          <seriesInfo name="DOI" value="10.17487/RFC8402"/>
        </reference>
        <reference anchor="RFC8287" target="https://www.rfc-editor.org/info/rfc8287" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8287.xml">
          <front>
            <title>Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR) IGP-Prefix and IGP-Adjacency Segment Identifiers (SIDs) with MPLS Data Planes</title>
            <author fullname="N. Kumar" initials="N." role="editor" surname="Kumar"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <author fullname="G. Swallow" initials="G." surname="Swallow"/>
            <author fullname="N. Akiya" initials="N." surname="Akiya"/>
            <author fullname="S. Kini" initials="S." surname="Kini"/>
            <author fullname="M. Chen" initials="M." surname="Chen"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>A Segment Routing (SR) architecture leverages source routing and tunneling paradigms and can be directly applied to the use of a Multiprotocol Label Switching (MPLS) data plane. A node steers a packet through a controlled set of instructions called "segments" by prepending the packet with an SR header.</t>
              <t>The segment assignment and forwarding semantic nature of SR raises additional considerations for connectivity verification and fault isolation for a Label Switched Path (LSP) within an SR architecture. This document illustrates the problem and defines extensions to perform LSP Ping and Traceroute for Segment Routing IGP-Prefix and IGP-Adjacency Segment Identifiers (SIDs) with an MPLS data plane.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8287"/>
          <seriesInfo name="DOI" value="10.17487/RFC8287"/>
        </reference>
        <reference anchor="RFC8667" target="https://www.rfc-editor.org/info/rfc8667" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8667.xml">
          <front>
            <title>IS-IS Extensions for Segment Routing</title>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="L. Ginsberg" initials="L." role="editor" surname="Ginsberg"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="A. Bashandy" initials="A." surname="Bashandy"/>
            <author fullname="H. Gredler" initials="H." surname="Gredler"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <date month="December" year="2019"/>
            <abstract>
              <t>Segment Routing (SR) allows for a flexible definition of end-to-end paths within IGP topologies by encoding paths as sequences of topological sub-paths, called "segments". These segments are advertised by the link-state routing protocols (IS-IS and OSPF).</t>
              <t>This document describes the IS-IS extensions that need to be introduced for Segment Routing operating on an MPLS data plane.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8667"/>
          <seriesInfo name="DOI" value="10.17487/RFC8667"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC2330" target="https://www.rfc-editor.org/info/rfc2330" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2330.xml">
          <front>
            <title>Framework for IP Performance Metrics</title>
            <author fullname="V. Paxson" initials="V." surname="Paxson"/>
            <author fullname="G. Almes" initials="G." surname="Almes"/>
            <author fullname="J. Mahdavi" initials="J." surname="Mahdavi"/>
            <author fullname="M. Mathis" initials="M." surname="Mathis"/>
            <date month="May" year="1998"/>
            <abstract>
              <t>The purpose of this memo is to define a general framework for particular metrics to be developed by the IETF's IP Performance Metrics effort.  This memo provides information for the Internet community.  It does not specify an Internet standard of any kind.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2330"/>
          <seriesInfo name="DOI" value="10.17487/RFC2330"/>
        </reference>
        <reference anchor="RFC8403" target="https://www.rfc-editor.org/info/rfc8403" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8403.xml">
          <front>
            <title>A Scalable and Topology-Aware MPLS Data-Plane Monitoring System</title>
            <author fullname="R. Geib" initials="R." role="editor" surname="Geib"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <author fullname="N. Kumar" initials="N." surname="Kumar"/>
            <date month="July" year="2018"/>
            <abstract>
              <t>This document describes features of an MPLS path monitoring system and related use cases.  Segment-based routing enables a scalable and simple method to monitor data-plane liveliness of the complete set of paths belonging to a single domain.  The MPLS monitoring system adds features to the traditional MPLS ping and Label Switched Path (LSP) trace, in a very complementary way.  MPLS topology awareness reduces management and control-plane involvement of Operations, Administration, and Maintenance (OAM) measurements while enabling new OAM features.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8403"/>
          <seriesInfo name="DOI" value="10.17487/RFC8403"/>
        </reference>
        <reference anchor="ID.draft-ietf-6man-spring-srv6-oam">
          <!-- the following is the minimum to make xml2rfc happy -->

       <front>
            <title>Operations, Administration, and Maintenance (OAM) in Segment Routing 
			Networks with IPv6 Data plane (SRv6)</title>
            <author initials="A." surname="Zafar">
            </author>
            <author initials="C." surname="Filsfils">
            </author>
            <author initials="S." surname="Matsushima">
            </author>
            <author initials="D." surname="Voyer">
            </author>
            <author initials="M." surname="Chen">
            </author>
            <date year="2021"/>
          </front>
        </reference>
        <reference anchor="CommodityTomography" target="https://www.cc.gatech.edu/classes/AY2007/cs7260_spring/papers/odflows-sigm04.pdf">
          <front>
            <title>Structural analysis of network traffic flows</title>
            <author initials="A" surname="Lakhina">
         </author>
            <author initials="K" surname="Papagiannaki">
         </author>
            <author initials="M" surname="Crovella">
         </author>
            <author initials="C" surname="Diot">
         </author>
            <author initials="ED" surname="Kolaczyk">
         </author>
            <author initials="N" surname="Taft">
         </author>
            <date year="2004"/>
          </front>
        </reference>
        <reference anchor="NIST" target="http://www.itl.nist.gov/div898/handbook/">
          <front>
            <title>NIST/SEMATECH e-Handbook of Statistical Methods, section CUSUM Control Charts</title>
            <author>
              <organization>NIST</organization>
            </author>
            <date year="2021"/>
          </front>
        </reference>
      </references>
    </references>
    <!-- Change Log

v00 2020-12-23  RG   Initial IPPM WG/IETF version - improved prose text, type-p definitions still need to be improved 
v01 2021-02-22  RG   Added Delay related metrics
v02 2021-07-12  RG   Prepared addition of a Paket Loss related metric to specifiy connectivity loss metric. 
                     The required metric defintions (starting from singleton) are added in the next version.
v03 2021-11-06  RG   Addition of a Paket Loss based connectivity metric. Adapted temporal resolution discussion.				 
v04 2022-05-06  RG   Some text changes.
v05 2022-11-06  RG   Little text changes, run out of time....
v06 2023-05-08  RG   Keep alive, minor, clarifying changes.
-->
 </back>
</rfc>
