< draft-gandhi-spring-rfc6374-srpm-udp-00.txt   draft-gandhi-spring-rfc6374-srpm-udp-01.txt >
SPRING Working Group R. Gandhi, Ed. SPRING Working Group R. Gandhi, Ed.
Internet-Draft C. Filsfils Internet-Draft C. Filsfils
Intended Status: Standards Track Cisco Systems, Inc. Intended Status: Standards Track Cisco Systems, Inc.
Expires: August 18, 2019 D. Voyer Expires: November 16, 2019 D. Voyer
Bell Canada Bell Canada
S. Salsano S. Salsano
Universita di Roma "Tor Vergata" Universita di Roma "Tor Vergata"
P. L. Ventre P. L. Ventre
CNIT CNIT
M. Chen M. Chen
Huawei Huawei
February 14, 2019 May 15, 2019
In-band Performance Measurement Using UDP Path Performance Measurement Using UDP Path
for Segment Routing Networks for Segment Routing Networks
draft-gandhi-spring-rfc6374-srpm-udp-00 draft-gandhi-spring-rfc6374-srpm-udp-01
Abstract Abstract
Segment Routing (SR) is applicable to both Multiprotocol Label Segment Routing (SR) is applicable to both Multiprotocol Label
Switching (SR-MPLS) and IPv6 (SRv6) data planes. This document Switching (SR-MPLS) and IPv6 (SRv6) data planes. This document
specifies procedures for using UDP path for sending and processing specifies procedures for using UDP path for sending and processing
in-band probe query and response messages for Performance synthetic probe query and response messages for Performance
Measurement. The procedure uses the RFC 6374 defined mechanisms for Measurement (PM). The procedure uses the RFC 6374 defined mechanisms
Delay and Loss performance measurement. The procedure specified is for Performance Delay and Loss Measurement. The procedure specified
applicable to SR-MPLS and SRv6 data planes for both links and is applicable to SR-MPLS and SRv6 data planes for both links and
end-to-end measurement for SR Policies. In addition, this document end-to-end measurement for SR Policies. In addition, this document
defines Return Path TLV for two-way performance measurement and Block defines Return Path TLV for two-way performance measurement and Block
Number TLV for loss measurement. Number TLV for loss measurement.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
skipping to change at page 2, line 24 skipping to change at page 2, line 27
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions Used in This Document . . . . . . . . . . . . . . 4 2. Conventions Used in This Document . . . . . . . . . . . . . . 4
2.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 4
2.2. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 4 2.2. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Reference Topology . . . . . . . . . . . . . . . . . . . . 5 2.3. Reference Topology . . . . . . . . . . . . . . . . . . . . 5
2.4. In-band Probe Messages . . . . . . . . . . . . . . . . . . 6 3. Probe Messages . . . . . . . . . . . . . . . . . . . . . . . . 7
3. Probe Messages . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1. Probe Query Message . . . . . . . . . . . . . . . . . . . 7
3.1. Probe Query Message . . . . . . . . . . . . . . . . . . . 6
3.1.1. Delay Measurement Probe Query Message . . . . . . . . 7 3.1.1. Delay Measurement Probe Query Message . . . . . . . . 7
3.1.2. Loss Measurement Probe Query Message . . . . . . . . . 7 3.1.2. Loss Measurement Probe Query Message . . . . . . . . . 7
3.1.2.1. Block Number TLV . . . . . . . . . . . . . . . . . 8 3.1.2.1. Block Number TLV . . . . . . . . . . . . . . . . . 8
3.1.3. Probe Query for SR Links . . . . . . . . . . . . . . . 9 3.1.3. Probe Query for SR Links . . . . . . . . . . . . . . . 9
3.1.4. Probe Query for End-to-end Measurement for SR Policy . 9 3.1.4. Probe Query for End-to-end Measurement for SR Policy . 9
3.1.4.1. Probe Query Message for SR-MPLS Policy . . . . . . 9 3.1.4.1. Probe Query Message for SR-MPLS Policy . . . . . . 9
3.1.4.2. Probe Query Message for SRv6 Policy . . . . . . . 9 3.1.4.2. Probe Query Message for SRv6 Policy . . . . . . . 10
3.2. Probe Response Message . . . . . . . . . . . . . . . . . . 10 3.2. Probe Response Message . . . . . . . . . . . . . . . . . . 10
3.2.1. One-way Measurement for SR Link and end-to-end SR 3.2.1. One-way Measurement Mode . . . . . . . . . . . . . . . 11
Policy . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2.1.1. SR Links and End-to-end Measurement for SR
3.2.1.1. Probe Response Message to Controller . . . . . . . 11 Policy . . . . . . . . . . . . . . . . . . . . . . 11
3.2.2. Two-way Measurement for SR Links . . . . . . . . . . . 11 3.2.1.2. Probe Response Message to Controller . . . . . . . 12
3.2.3. Two-way End-to-end Measurement for SR Policy . . . . . 12 3.2.2. Two-way Measurement Mode . . . . . . . . . . . . . . . 12
3.2.3.1. Return Path TLV . . . . . . . . . . . . . . . . . 12 3.2.2.1. SR Links . . . . . . . . . . . . . . . . . . . . . 12
3.2.3.2. Probe Response Message for SR-MPLS Policy . . . . 13 3.2.2.2. End-to-end Measurement for SR Policy . . . . . . . 12
3.2.3.3. Probe Response Message for SRv6 Policy . . . . . . 14 3.2.2.3. Return Path TLV . . . . . . . . . . . . . . . . . 12
4. Performance Measurement for P2MP SR Policies . . . . . . . . . 14 3.2.2.4. Probe Response Message for SR-MPLS Policy . . . . 14
5. ECMP Support . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2.2.5. Probe Response Message for SRv6 Policy . . . . . . 14
6. Sequence Numbers . . . . . . . . . . . . . . . . . . . . . . . 15 3.2.3. Loopback Measurement Mode . . . . . . . . . . . . . . 15
6.1. Sequence Number TLV in Unauthenticated Mode . . . . . . . 15 3.3. Checksum Complement . . . . . . . . . . . . . . . . . . . 15
6.2. Sequence Number TLV in Authenticated Mode . . . . . . . . 16 4. Performance Measurement for P2MP SR Policies . . . . . . . . . 15
7. Security Considerations . . . . . . . . . . . . . . . . . . . 17 5. ECMP Support for SR Policies . . . . . . . . . . . . . . . . . 16
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 6. Sequence Numbers . . . . . . . . . . . . . . . . . . . . . . . 16
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18 6.1. Sequence Number TLV in Unauthenticated Mode . . . . . . . 17
9.1. Normative References . . . . . . . . . . . . . . . . . . . 18 6.2. Sequence Number TLV in Authenticated Mode . . . . . . . . 17
9.2. Informative References . . . . . . . . . . . . . . . . . . 19 7. Security Considerations . . . . . . . . . . . . . . . . . . . 18
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 21 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 21 9.1. Normative References . . . . . . . . . . . . . . . . . . . 20
9.2. Informative References . . . . . . . . . . . . . . . . . . 20
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 23
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 23
1. Introduction 1. Introduction
Segment Routing (SR) technology greatly simplifies network operations Segment Routing (SR) technology greatly simplifies network operations
for Software Defined Networks (SDNs). SR is applicable to both for Software Defined Networks (SDNs). SR is applicable to both
Multiprotocol Label Switching (SR-MPLS) and IPv6 (SRv6) data planes. Multiprotocol Label Switching (SR-MPLS) and IPv6 (SRv6) data planes.
SR takes advantage of the Equal-Cost Multipaths (ECMPs) between SR takes advantage of the Equal-Cost Multipaths (ECMPs) between
source, transit and destination nodes. SR Policies as defined in source, transit and destination nodes. SR Policies as defined in
[I-D.spring-segment-routing-policy] are used to steer traffic through [I-D.spring-segment-routing-policy] are used to steer traffic through
a specific, user-defined path using a stack of Segments. Built-in SR a specific, user-defined path using a stack of Segments. Built-in SR
skipping to change at page 4, line 20 skipping to change at page 4, line 25
nodes. Existing PM protocols (e.g. RFC 6374) do not define handling nodes. Existing PM protocols (e.g. RFC 6374) do not define handling
for ECMP forwarding paths in SR networks. for ECMP forwarding paths in SR networks.
For two-way measurements for SR Policies, there is a need to specify For two-way measurements for SR Policies, there is a need to specify
a return path in the form of a Segment List in PM probe query a return path in the form of a Segment List in PM probe query
messages without requiring any SR Policy state on the destination messages without requiring any SR Policy state on the destination
node. Existing protocols do not have such mechanisms to specify node. Existing protocols do not have such mechanisms to specify
return path in the PM probe query messages. return path in the PM probe query messages.
This document specifies a procedure for using UDP path for sending This document specifies a procedure for using UDP path for sending
and processing in-band probe query and response messages for and processing synthetic probe query and response messages for
Performance Measurement that does not require to bootstrap PM Performance Measurement that does not require to bootstrap PM
sessions. The procedure uses RFC 6374 defined mechanisms for Delay sessions. The procedure uses RFC 6374 defined mechanisms for
and Loss PM and unless otherwise specified, the procedures from RFC Performance Delay and Loss Measurement and unless otherwise
6374 are not modified. The procedure specified is applicable to both specified, the procedures from RFC 6374 are not modified. The
SR-MPLS and SRv6 data planes. The procedure can be used for both SR procedure specified is applicable to both SR-MPLS and SRv6 data
links and end-to-end performance measurement for SR Policies. This planes. The procedure can be used for both SR links and end-to-end
document also defines mechanisms for handling Equal Cost Multipaths performance measurement for SR Policies. This document also defines
(ECMPs) of SR Policies for performance delay measurement. In mechanisms for handling Equal Cost Multi-Paths (ECMPs) of SR Policies
addition, this document defines Return Path TLV for two-way for performance delay measurement. In addition, this document
performance measurement, Block Number TLV for loss measurement and defines Return Path TLV for two-way performance measurement, Block
Sequence Number TLV. Number TLV for loss measurement and Sequence Number TLV.
2. Conventions Used in This Document 2. Conventions Used in This Document
2.1. Requirements Language 2.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119] [RFC8174] document are to be interpreted as described in [RFC2119] [RFC8174]
when, and only when, they appear in all capitals, as shown here. when, and only when, they appear in all capitals, as shown here.
skipping to change at page 6, line 22 skipping to change at page 6, line 28
| Response | Response
| |
+-------+ Query +-------+ +-------+ Query +-------+
| | - - - - - - - - - ->| | | | - - - - - - - - - ->| |
| R1 |---------------------| R5 | | R1 |---------------------| R5 |
| |<- - - - - - - - - - | | | |<- - - - - - - - - - | |
+-------+ Response +-------+ +-------+ Response +-------+
Reference Topology Reference Topology
Both Delay and Loss performance measurement is performed in-band for For delay and loss measurements, for both links and end-to-end SR
the traffic traversing between node R1 and node R5. One-way delay Policies, no PM session is created on the responder node R5. One-way
and two-way delay measurements are defined in Section 2.4 of delay and two-way delay measurements are defined in Section 2.4 of
[RFC6374]. Transmit and Receive packet loss measurements are defined [RFC6374]. Transmit and Receive packet loss measurements are defined
in Section 2.2 and Section 2.6 of [RFC6374]. One-way loss in Section 2.2 and Section 2.6 of [RFC6374]. One-way loss
measurement provides receive packet loss whereas two-way loss measurement provides receive packet loss whereas two-way loss
measurement provides both transmit and receive packet loss. measurement provides both transmit and receive packet loss.
2.4. In-band Probe Messages For Performance Measurement, synthetic probe query and response
messages are used as following:
For both Delay and Loss measurements for links and SR Policies, no PM o For Delay Measurement, the probe messages are sent on the
session is created on the responder node. The probe messages for congruent path of the data traffic by the querier node, and are
Delay measurement are sent in-band by the querier node to measure the used to measure the delay experienced by the actual data traffic
delay experienced by the actual traffic flowing on the links and SR flowing on the links and SR Policies.
Policies. For Loss measurement, in-band probe messages are used to
collect the traffic counter for the incoming link or incoming SID on o For Loss Measurement, the probe messages are sent on the congruent
which the probe query message is received at the responder node R5 as path of the data traffic by the querier node, and are used to
it has no PM session state present on the node. The performance collect the receive traffic counters for the incoming link or
measurement for Delay and Loss using out-of-band probe query messages incoming SID where the probe query messages are received at the
are outside the scope of this document. responder node (incoming link or incoming SID used as the
responder node has no PM session state present).
The In-Situ Operations, Administration, and Maintenance (IOAM)
mechanisms for SR-MPLS defined in [I-D.spring-ioam-sr-mpls] and for
SRv6 defined in [I-D.spring-srv6-oam] are used to carry PM
information in-band as part of the data traffic, and are outside the
scope of this document.
3. Probe Messages 3. Probe Messages
3.1. Probe Query Message 3.1. Probe Query Message
In this document, UDP path is used for Delay and Loss measurements In this document, UDP path is used for Delay and Loss measurements
for SR links and end-to-end SR Policies. A user-configured UDP port for SR links and end-to-end SR Policies. The user-configured UDP
is used for identifying PM probe packets that does not require to ports are used for identifying PM probe packets and to avoid
bootstrap PM sessions. A UDP port number from the Dynamic and/or signaling to bootstrap PM sessions. This approach is similar to the
Private Ports range 49152-65535 is used as the destination UDP port. one defined in STAMP protocol [I-D.ippm-stamp]. The IPv4 TTL or IPv6
This approach is similar to the one defined in STAMP protocol Hop Limit field of the IP header MUST be set to 255.
[I-D.ippm-stamp]. The IPv4 TTL or IPv6 Hop Limit field of the IP
header MUST be set to 255.
3.1.1. Delay Measurement Probe Query Message 3.1.1. Delay Measurement Probe Query Message
The message content for Delay Measurement probe query message using The message content for Delay Measurement for probe query message
UDP header [RFC768] is shown in Figure 1. The DM probe query message using UDP header [RFC768] is shown in Figure 1. The DM probe query
is sent with user-configured Destination UDP port number. The Source message is sent with user-configured Destination UDP port number for
UDP port can be set to the same value for two-way delay measurement DM. The Destination UDP port can also be used as Source port for
as indication of query and response is present in the message. The two-way delay measurement, since the message has a flag to
DM probe query message contains the payload for delay measurement distinguish between query and response. The DM probe query message
defined in Section 3.2 of [RFC6374]. contains the payload for delay measurement defined in Section 3.2 of
[RFC6374].
+---------------------------------------------------------------+ +---------------------------------------------------------------+
| IP Header | | IP Header |
. Source IP Address = Querier IPv4 or IPv6 Address . . Source IP Address = Querier IPv4 or IPv6 Address .
. Destination IP Address = Responder IPv4 or IPv6 Address . . Destination IP Address = Responder IPv4 or IPv6 Address .
. Protocol = UDP . . Protocol = UDP .
. Router Alert Option Not Set . . Router Alert Option Not Set .
. . . .
+---------------------------------------------------------------+ +---------------------------------------------------------------+
| UDP Header | | UDP Header |
skipping to change at page 7, line 39 skipping to change at page 8, line 4
. Destination Port = User-configured Port for Delay Measurement. . Destination Port = User-configured Port for Delay Measurement.
. . . .
+---------------------------------------------------------------+ +---------------------------------------------------------------+
| Payload = Message as specified in Section 3.2 of RFC 6374 | | Payload = Message as specified in Section 3.2 of RFC 6374 |
. . . .
+---------------------------------------------------------------+ +---------------------------------------------------------------+
Figure 1: DM Probe Query Message Figure 1: DM Probe Query Message
3.1.2. Loss Measurement Probe Query Message 3.1.2. Loss Measurement Probe Query Message
The message content for Loss measurement probe query message using The message content for Loss measurement probe query message using
UDP header [RFC768] is shown in Figure 2. As shown, the LM probe UDP header [RFC768] is shown in Figure 2. As shown, the LM probe
query message is sent with user-configured Destination UDP port query message is sent with user-configured Destination UDP port
number. The Source UDP port can be set to the same value for two-way number for LM. Different Destination UDP ports are used for direct-
loss measurement as indication of query and response is present in mode and inferred-mode loss measurements. The Destination UDP port
the message. The LM probe query message contains the payload for can also be used as Source port for two-way loss measurement, since
loss measurement defined in Section 3.1 of [RFC6374]. the message has a flag to distinguish between query and response.
The LM probe query message contains the payload for loss measurement
defined in Section 3.1 of [RFC6374].
+---------------------------------------------------------------+ +---------------------------------------------------------------+
| IP Header | | IP Header |
. Source IP Address = Querier IPv4 or IPv6 Address . . Source IP Address = Querier IPv4 or IPv6 Address .
. Destination IP Address = Responder IPv4 or IPv6 Address . . Destination IP Address = Responder IPv4 or IPv6 Address .
. Protocol = UDP . . Protocol = UDP .
. Router Alert Option Not Set . . Router Alert Option Not Set .
. . . .
+---------------------------------------------------------------+ +---------------------------------------------------------------+
| UDP Header | | UDP Header |
. Source Port = As chosen by Querier . . Source Port = As chosen by Querier .
. Destination Port = User-configured Port for Loss Measurement . . Destination Port = User-configured Port for Loss Measurement .
. . . .
+---------------------------------------------------------------+ +---------------------------------------------------------------+
skipping to change at page 8, line 21 skipping to change at page 8, line 33
. Source Port = As chosen by Querier . . Source Port = As chosen by Querier .
. Destination Port = User-configured Port for Loss Measurement . . Destination Port = User-configured Port for Loss Measurement .
. . . .
+---------------------------------------------------------------+ +---------------------------------------------------------------+
| Payload = Message as specified in Section 3.1 of RFC 6374 | | Payload = Message as specified in Section 3.1 of RFC 6374 |
. . . .
+---------------------------------------------------------------+ +---------------------------------------------------------------+
Figure 2: LM Probe Query Message Figure 2: LM Probe Query Message
The Path Segment Identifier (PSID) [I-D.spring-mpls-path-segment] of
the SR Policy is used for accounting received traffic on the egress
node for loss measurement.
3.1.2.1. Block Number TLV 3.1.2.1. Block Number TLV
The Loss Measurement using Alternate-Marking method defined in The Loss Measurement using Alternate-Marking method defined in
[RFC8321] requires to identify the Block Number (or color) of the [RFC8321] requires to identify the Block Number (or color) of the
traffic counters carried by the probe query and response messages. traffic counters carried by the probe query and response messages.
Probe query and response messages specified in [RFC6374] for Loss Probe query and response messages specified in [RFC6374] for Loss
Measurement do not define any means to carry the Block Number. Measurement do not define any means to carry the Block Number.
[RFC6374] defines probe query and response messages that can include [RFC6374] defines probe query and response messages that can include
one or more optional TLVs. New TLV Type (value TBA2) is defined in one or more optional TLVs. New TLV Type (value TBA2) is defined in
this document to carry Block Number (32-bit) for the traffic counters this document to carry Block Number (16-bit) for the traffic counters
in the probe query and response messages for loss measurement. The in the probe query and response messages for loss measurement. The
format of the Block Number TLV is shown in Figure 11: format of the Block Number TLV is shown in Figure 11:
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type TBA2 | Length | Reserved | | Type TBA2 | Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Block Number | | Reserved | Block Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 11: Block Number TLV Figure 11: Block Number TLV
The Block Number TLV is optional. The PM querier node SHOULD only The Block Number TLV is optional. The PM querier node SHOULD only
insert one Block Number TLV in the probe query message and the insert one Block Number TLV in the probe query message and the
responder node in the probe response message SHOULD return the first responder node in the probe response message SHOULD return the first
Block Number TLV from the probe query messages and ignore other Block Block Number TLV from the probe query messages and ignore other Block
Number TLVs if present. In both probe query and response messages, Number TLVs if present. In both probe query and response messages,
the counters MUST belong to the same Block Number. the counters MUST belong to the same Block Number.
3.1.3. Probe Query for SR Links 3.1.3. Probe Query for SR Links
The probe query message as defined in Figure 1 is sent in-band for The probe query message as defined in Figure 1 is sent on the
Delay measurement. The probe query message as defined in Figure 2 is congruent path of the data traffic for performance Delay measurement.
sent in-band for Loss measurement. Similarly, the probe query message as defined in Figure 2 is sent on
the congruent path of the data traffic for performance Loss
measurement.
3.1.4. Probe Query for End-to-end Measurement for SR Policy 3.1.4. Probe Query for End-to-end Measurement for SR Policy
3.1.4.1. Probe Query Message for SR-MPLS Policy 3.1.4.1. Probe Query Message for SR-MPLS Policy
The message content for in-band probe query message using UDP header The message content for the probe query message using UDP header for
for end-to-end performance measurement of SR-MPLS Policy is shown in end-to-end performance measurement of SR-MPLS Policy is shown in
Figure 3. Figure 3.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment List(0) | TC |S| TTL | | Segment List(1) | TC |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. . . .
. . . .
. . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment List(n) | TC |S| TTL | | Segment List(n) | TC |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PSID | TC |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message as shown in Figure 1 for DM or Figure 2 for LM | | Message as shown in Figure 1 for DM or Figure 2 for LM |
. . . .
+---------------------------------------------------------------+ +---------------------------------------------------------------+
Figure 3: Probe Query Message for SR-MPLS Policy Figure 3: Probe Query Message for SR-MPLS Policy
The Segment List (SL) can be empty to indicate Implicit NULL label The Segment List (SL) can be empty to indicate Implicit NULL label
case. case.
The Path Segment Identifier (PSID) [I-D.spring-mpls-path-segment] of
the SR-MPLS Policy is used for accounting received traffic on the
egress node for loss measurement. The PSID is not required for delay
measurement.
3.1.4.2. Probe Query Message for SRv6 Policy 3.1.4.2. Probe Query Message for SRv6 Policy
The in-band probe query messages using UDP header for end-to-end An SRv6 Policy is setup using the SRv6 Segment Routing Header (SRH)
performance measurement of an SRv6 Policy is sent using SRv6 Segment and a Segment List as defined in [I-D.6man-segment-routing-header].
Routing Header (SRH) and Segment List of the SRv6 Policy as defined The probe query messages using UDP header for end-to-end performance
in [I-D.6man-segment-routing-header] and is shown in Figure 4. measurement of an SRv6 Policy is sent using its SRv6 Segment Routing
Header (SRH) and Segment List as shown in Figure 4.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SRH | | SRH |
. END.OTP (DM) or END.OP (LM) with Target SRv6 SID . . END.OTP (DM) or END.OP (LM) with Target SRv6 SID .
. . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message as shown in Figure 1 for DM or Figure 2 for LM | | Message as shown in Figure 1 for DM or Figure 2 for LM |
. (Using IPv6 Addresses) . . (Using IPv6 Addresses) .
. . . .
+---------------------------------------------------------------+ +---------------------------------------------------------------+
Figure 4: Probe Query Message for SRv6 Policy Figure 4: Probe Query Message for SRv6 Policy
For delay measurement of SRv6 Policy, END function END.OTP For delay measurement of SRv6 Policy using SRH, END function END.OTP
[I-D.spring-srv6-oam] is used with the target SRv6 SID to punt probe [I-D.spring-srv6-oam] is used with the target SRv6 SID to punt probe
messages on the target node, as shown in Figure 4. Similarly, for messages on the target node, as shown in Figure 4. Similarly, for
loss measurement of SRv6 Policy, END function END.OP loss measurement of SRv6 Policy, END function END.OP
[I-D.spring-srv6-oam] is used with target SRv6 SID to punt probe [I-D.spring-srv6-oam] is used with target SRv6 SID to punt probe
messages on the target node. messages on the target node.
3.2. Probe Response Message 3.2. Probe Response Message
When the received probe query message does not contain any UDP Return When the received probe query message does not contain any UDP Return
Object (URO) TLV [RFC7876], the probe response message is sent using Object (URO) TLV [RFC7876], the probe response message is sent using
skipping to change at page 11, line 23 skipping to change at page 11, line 45
| UDP Header | | UDP Header |
. Source Port = As chosen by Responder . . Source Port = As chosen by Responder .
. Destination Port = URO.UDP-Destination-Port . . Destination Port = URO.UDP-Destination-Port .
. . . .
+---------------------------------------------------------------+ +---------------------------------------------------------------+
| Message as specified in Section 3.2 of RFC 6374 for DM, or | | Message as specified in Section 3.2 of RFC 6374 for DM, or |
. Message as specified in Section 3.1 of RFC 6374 for LM . . Message as specified in Section 3.1 of RFC 6374 for LM .
. . . .
+---------------------------------------------------------------+ +---------------------------------------------------------------+
Figure 6: Probe Response Message Using URO from Probe Query Message Figure 6: Probe Response Message Using URO from Probe Query
3.2.1. One-way Measurement for SR Link and end-to-end SR Policy 3.2.1. One-way Measurement Mode
For one-way performance measurement, the probe response message as 3.2.1.1. SR Links and End-to-end Measurement for SR Policy
defined in Figure 5 or Figure 6 is sent out-of-band for both SR links
and SR Policies. In one-way performance measurement mode, the probe response message
as defined in Figure 5 or Figure 6 is sent out-of-band for both SR
links and SR Policies.
The PM querier node can receive probe response message back by The PM querier node can receive probe response message back by
properly setting its own IP address as Source Address of the header setting its own IP address as Source Address of the header or by
or by adding URO TLV in the probe query message and setting its own adding URO TLV in the probe query message and setting its own IP
IP address in the IP Address in the URO TLV (Type=131) [RFC7876]. In address in the IP Address in the URO TLV (Type=131) [RFC7876]. The
addition, the "control code" in the probe query message is set to "control code" in the probe query message is set to "out-of-band
"out-of-band response requested". The "Source Address" TLV (Type response requested". The "Source Address" TLV (Type 130), and
130), and "Return Address" TLV (Type 1), if present in the probe "Return Address" TLV (Type 1), if present in the probe query message,
query message, are not used to send probe response message. are not used to send probe response message.
3.2.1.1. Probe Response Message to Controller 3.2.1.2. Probe Response Message to Controller
As shown in the Reference Topology, if the querier node requires the As shown in the Reference Topology, if the querier node requires the
probe response message to be sent to the controller R100, it adds URO probe response message to be sent to the controller R100, it adds URO
TLV in the probe query message and sets the IP address of R100 in the TLV in the probe query message and sets the IP address of R100 in the
IP Address field and user-configured UDP port for DM and for LM in IP Address field and user-configured UDP port for DM and for LM in
the UDP-Destination-Port field of the URO TLV (Type=131) [RFC7876]. the UDP-Destination-Port field of the URO TLV (Type=131) [RFC7876].
3.2.2. Two-way Measurement for SR Links 3.2.2. Two-way Measurement Mode
For two-way performance measurement, when using a bidirectional 3.2.2.1. SR Links
channel, the probe response message as defined in Figure 5 or Figure
6 is sent back in-band to the querier node for SR links. In this
case, the "control code" in the probe query message is set to
"in-band response requested" [RFC6374].
3.2.3. Two-way End-to-end Measurement for SR Policy In two-way performance measurement mode, when using a bidirectional
link, the probe response message as defined in Figure 5 or Figure 6
is sent back on the congruent path of the data traffic to the querier
node for SR links. In this case, the "control code" in the probe
query message is set to "in-band response requested" [RFC6374].
For two-way performance measurement, when using a bidirectional 3.2.2.2. End-to-end Measurement for SR Policy
channel, the probe response message is sent back in-band to the
querier node for end-to-end measurement of SR Policies. In this
case, the "control code" in the probe query message is set to
"in-band response requested" [RFC6374].
The Path Segment Identifier (PSID) [I-D.spring-mpls-path-segment] of In two-way performance measurement mode, when using a bidirectional
the forward SR Policy can be used to find the reverse SR Policy to path, the probe response message is sent back on the congruent path
send the probe response message for two-way measurement in the of the data traffic to the querier node for end-to-end measurement of
absence of Return Path TLV defined in the following Section. SR Policies. In this case, the "control code" in the probe query
message is set to "in-band response requested" [RFC6374].
3.2.3.1. Return Path TLV 3.2.2.3. Return Path TLV
For two-way performance measurement, the responder node needs to send For two-way performance measurement, the responder node needs to send
the probe response message in-band on a specific reverse SR path. the probe response message on a specific reverse SR path. This way
This way the destination node does not require any additional SR the destination node does not require any additional SR Policy state.
Policy state. The querier node can request in the probe query The querier node can request in the probe query message to the
message to the responder node to send a response back on a given responder node to send a response back on a given reverse path
reverse path (typically co-routed path for two-way measurement). (typically co-routed path for two-way measurement).
[RFC6374] defines DM and LM probe query messages that can include one [RFC6374] defines DM and LM probe query messages that can include one
or more optional TLVs. New TLV Type (TBA1) is defined in this or more optional TLVs. New TLV Type (TBA1) is defined in this
document for Return Path to carry reverse SR path for probe response document for Return Path to carry reverse SR path for probe response
messages (in the payload of the message). The format of the Return messages (in the payload of the message). The format of the Return
Path TLV is shown in Figure 7A and 7B: Path TLV is shown in Figure 7A and 7B:
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = TBA1 | Length | Reserved | | Type = TBA1 | Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Return Path Sub-TLVs | | Return Path Sub-TLVs |
. . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7A: Return Path TLV Figure 7A: Return Path TLV
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Reserved | | Type | Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment List(0) | | Segment List(1) |
. . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. . . .
. . . .
. . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment List(n) | | Segment List(n) |
. . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 13, line 29 skipping to change at page 14, line 5
o Type (value 1): SR-MPLS Label Stack of the Reverse SR Policy o Type (value 1): SR-MPLS Label Stack of the Reverse SR Policy
o Type (value 2): SR-MPLS Binding SID [I-D.pce-binding-label-sid] of o Type (value 2): SR-MPLS Binding SID [I-D.pce-binding-label-sid] of
the Reverse SR Policy the Reverse SR Policy
o Type (value 3): SRv6 Segment List of the Reverse SR Policy o Type (value 3): SRv6 Segment List of the Reverse SR Policy
o Type (value 4): SRv6 Binding SID [I-D.pce-binding-label-sid] of o Type (value 4): SRv6 Binding SID [I-D.pce-binding-label-sid] of
the Reverse SR Policy the Reverse SR Policy
With sub-TLV Type 1, the Segment List(0) can be used by the responder With sub-TLV Type 1, the Segment List(1) can be used by the responder
node to compute the next-hop IP address and outgoing interface to node to compute the next-hop IP address and outgoing interface to
send the probe response messages. send the probe response messages.
The Return Path TLV is optional. The PM querier node MUST only The Return Path TLV is optional. The PM querier node MUST only
insert one Return Path TLV in the probe query message and the insert one Return Path TLV in the probe query message and the
responder node MUST only process the first Return Path TLV in the responder node MUST only process the first Return Path TLV in the
probe query message and ignore other Return Path TLVs if present. probe query message and ignore other Return Path TLVs if present.
The responder node MUST send probe response message back on the The responder node MUST send probe response message back on the
reverse path specified in the Return Path TLV and MUST NOT add Return reverse path specified in the Return Path TLV and MUST NOT add Return
Path TLV in the probe response message. Path TLV in the probe response message.
3.2.3.2. Probe Response Message for SR-MPLS Policy 3.2.2.4. Probe Response Message for SR-MPLS Policy
The message content for sending probe response message in-band using The message content for sending probe response message on the
UDP header for two-way end-to-end performance measurement of an congruent path of the data traffic using UDP header for two-way
SR-MPLS Policy is shown in Figure 8. The SR-MPLS label stack in the end-to-end performance measurement of an SR-MPLS Policy is shown in
packet header is built using the Segment List received in the Return Figure 8. The SR-MPLS label stack in the packet header is built
Path TLV in the probe query message. using the Segment List received in the Return Path TLV in the probe
query message.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment List(0) | TC |S| TTL | | Segment List(1) | TC |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. . . .
. . . .
. . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment List(n) | TC |S| TTL | | Segment List(n) | TC |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message as shown in Figure 5 or 6 | | Message as shown in Figure 5 or 6 |
. . . .
+---------------------------------------------------------------+ +---------------------------------------------------------------+
Figure 8: Probe Response Message for SR-MPLS Policy Figure 8: Probe Response Message for SR-MPLS Policy
3.2.3.3. Probe Response Message for SRv6 Policy The Path Segment Identifier (PSID) [I-D.spring-mpls-path-segment] of
the forward SR-MPLS Policy can be used to find the reverse SR-MPLS
Policy to send the probe response message for two-way measurement in
the absence of Return Path TLV defined in the following Section.
The message content for sending probe response message in-band using 3.2.2.5. Probe Response Message for SRv6 Policy
UDP header for two-way end-to-end performance measurement of an SRv6
Policy is shown in Figure 9. For SRv6 Policy, the SRv6 SID list in The message content for sending probe response message on the
the SRH of the probe response message is built using the SRv6 Segment congruent path of the data traffic using UDP header for two-way
List received in the Return Path TLV in the probe query message. end-to-end performance measurement of an SRv6 Policy is shown in
Figure 9. For SRv6 Policy using SRH, the SRv6 SID list in the SRH of
the probe response message is built using the SRv6 Segment List
received in the Return Path TLV in the probe query message.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SRH | | SRH |
. END.OTP (DM) or END.OP (LM) with Target SRv6 SID . . END.OTP (DM) or END.OP (LM) with Target SRv6 SID .
. . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message as shown in Figure 5 or 6 (with IPv6 Addresses) | | Message as shown in Figure 5 or 6 (with IPv6 Addresses) |
. . . .
+---------------------------------------------------------------+ +---------------------------------------------------------------+
Figure 9: Probe Response Message for SRv6 Policy Figure 9: Probe Response Message for SRv6 Policy
3.2.3. Loopback Measurement Mode
The Loopback measurement mode defined in Section 2.8 of [RFC6374] can
be used to measure round-trip delay of a bidirectional Path. The
probe query messages in this case either carry the reverse Path
information as part of the SR header or set the querier address in
the destination address in the IP header. The responder node does
not process the PM probe messages and generate response messages.
3.3. Checksum Complement
For both delay and loss measurement, when the probe packets are
updated with timestamp or counter, UDP Checksum field also need
updating since these packets are transported over UDP. As an
alternative, the Checksum Complement field (2 Bytes) can be
optionally updated using the procedure defined in [RFC7820]. The
Checksum Complement field can be any unused field in the probe
message and is a local behavior.
4. Performance Measurement for P2MP SR Policies 4. Performance Measurement for P2MP SR Policies
The procedures for delay and loss measurement described in this The procedures for delay and loss measurement described in this
document for Point-to-Point (P2P) SR-MPLS Policies are also equally document for Point-to-Point (P2P) SR Policies
applicable to the Point-to-Multipoint (P2MP) SR Policies. [I-D.spring-segment-routing-policy] are also equally applicable to
the Point-to-Multipoint (P2MP) SR Policies
[I-D.spring-sr-p2mp-policy] as following:
5. ECMP Support o The querier root node sends probe query messages using the either
Spray P2MP segment or TreeSID P2MP segment defined in
[I-D.spring-sr-p2mp-policy] over the P2MP SR Policy.
o Each responder leaf node sends its IP address in the Source
Address of the probe response messages. This allows the querier
root node to identify the responder leaf nodes of the P2MP SR
Policy.
o The P2MP root node measures the end-to-end delay and loss
performance for each P2MP leaf node.
5. ECMP Support for SR Policies
An SR Policy can have ECMPs between the source and transit nodes, An SR Policy can have ECMPs between the source and transit nodes,
between transit nodes and between transit and destination nodes. between transit nodes and between transit and destination nodes.
Usage of Anycast SID [RFC8402] by an SR Policy can result in ECMP Usage of Anycast SID [RFC8402] by an SR Policy can result in ECMP
paths via transit nodes part of that Anycast group. The PM probe paths via transit nodes part of that Anycast group. The PM probe
messages need to be sent to traverse different ECMP paths to measure messages need to be sent to traverse different ECMP paths to measure
performance delay of an SR Policy. performance delay of an SR Policy.
Forwarding plane has various hashing functions available to forward Forwarding plane has various hashing functions available to forward
packets on specific ECMP paths. Following mechanisms can be used in packets on specific ECMP paths. Following mechanisms can be used in
PM probe messages to take advantage of the hashing function in PM probe messages to take advantage of the hashing function in
forwarding plane to influence the path taken by them. forwarding plane to influence the path taken by them.
o The mechanisms described in [RFC8029] [RFC5884] for handling ECMPs o The mechanisms described in [RFC8029] and [RFC5884] for handling
are also applicable to the performance measurement. In the IP/UDP ECMPs are also applicable to the performance measurement. In the
header of the PM probe messages, Destination Addresses in 127/8 IP/UDP header of the PM probe messages, Destination Addresses in
range for IPv4 or 0:0:0:0:0:FFFF:7F00/104 range for IPv6 can be 127/8 range for IPv4 or 0:0:0:0:0:FFFF:7F00/104 range for IPv6 can
used to exercise a particular ECMP path. As specified in be used to exercise a particular ECMP path. As specified in
[RFC6437], 3-tuple of Flow Label, Source Address and Destination [RFC6437], 3-tuple of Flow Label, Source Address and Destination
Address fields in the IPv6 header can also be used. Address fields in the IPv6 header can also be used.
o For SR-MPLS, entropy label [RFC6790] in the PM probe messages can o For SR-MPLS Policy, entropy label [RFC6790] can be used in the PM
be used. probe messages.
o For SRv6, Flow Label in SRH [I-D.6man-segment-routing-header] of o For SRv6 Policy using SRH, Flow Label in the SRH
the PM probe messages can be used. [I-D.6man-segment-routing-header] of the PM probe messages can be
used.
6. Sequence Numbers 6. Sequence Numbers
The message formats for DM and LM [RFC6374] can carry either The message formats for DM and LM [RFC6374] can carry either
timestamp or sequence number but not both. There are case where both timestamp or sequence number but not both. There are case where both
timestamp and sequence number are desired for both DM and LM. timestamp and sequence number are desired for both DM and LM.
Sequence numbers can be useful when some probe query messages are Sequence numbers can be useful when some probe query messages are
lost or they arrive out of order. In addition, the sequence numbers lost or they arrive out of order. In addition, the sequence numbers
can be useful for detecting denial-of-service (DoS) attacks on UDP can be useful for detecting denial-of-service (DoS) attacks on UDP
ports. ports.
skipping to change at page 16, line 9 skipping to change at page 17, line 24
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type TBA3 | Length | Reserved | | Type TBA3 | Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number | | Sequence Number |
~ ~ ~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 10: Sequence Number TLV - Unauthenticated Mode Figure 10: Sequence Number TLV - Unauthenticated Mode
o The sequence numbers start with 0 and are incremented by one for o The sequence numbers start with 0 and are incremented by one for
each subsequent probe query packet. each subsequent probe query packet.
o The sequence number are independent for DM and LM messages. o The sequence number are independent for DM and LM messages.
o The sequence number can be of any length determined by the querier o The sequence number can be of any length determined by the querier
node. node.
o The Sequence Number TLV is optional. o The Sequence Number TLV is optional.
skipping to change at page 16, line 32 skipping to change at page 17, line 47
the probe query message and the responder node in the probe the probe query message and the responder node in the probe
response message SHOULD return the first Sequence Number TLV from response message SHOULD return the first Sequence Number TLV from
the probe query message and ignore the other Sequence Number TLVs the probe query message and ignore the other Sequence Number TLVs
if present. if present.
o When Sequence Number TLV is added, the DM and LM messages SHOULD o When Sequence Number TLV is added, the DM and LM messages SHOULD
NOT carry sequence number in the timestamp field of the message. NOT carry sequence number in the timestamp field of the message.
6.2. Sequence Number TLV in Authenticated Mode 6.2. Sequence Number TLV in Authenticated Mode
The PM probe query and reply packet format in authenticated mode The PM probe query and response packet format in authenticated mode
includes a key Hashed Message Authentication Code (HMAC) ([RFC2104]) includes a key Hashed Message Authentication Code (HMAC) ([RFC2104])
hash. Each probe query and reply messages are authenticated by hash. Each probe query and response messages are authenticated by
adding Sequence Number with Hashed Message Authentication Code (HMAC) adding Sequence Number with Hashed Message Authentication Code (HMAC)
TLV. It uses HMAC-SHA-256 truncated to 128 bits (similarly to the TLV. It can use HMAC-SHA-256 truncated to 128 bits (similarly to the
use of it in IPSec defined in [RFC4868]); hence the length of the use of it in IPSec defined in [RFC4868]); hence the length of the
HMAC field is 16 octets. HMAC uses own key and the definition of the HMAC field is 16 octets.
mechanism to distribute the HMAC key is outside the scope of this
document.
In authenticated mode, only the sequence number is encrypted, and the In authenticated mode, only the sequence number is encrypted, and the
other payload fields are sent in clear text. The probe packet MAY other payload fields are sent in clear text. The probe packet MAY
include Comp.MBZ (Must Be Zero) variable length field to align the include Comp.MBZ (Must Be Zero) variable length field to align the
packet on 16 octets boundary. packet on 16 octets boundary.
The OWAMP and TWAMP compute HMAC field using HMAC-SHA1 and can also
be used with the procedure defined in this document.
HMAC uses own key and the definition of the mechanism to distribute
the HMAC key is outside the scope of this document. Both the
authentication type and key can be user-configured on both the
querier and responder nodes.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type TBA4 | Length | Reserved | | Type TBA4 | Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number | | Sequence Number |
~ ~ ~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Comp.MBZ ~ ~ Comp.MBZ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| HMAC (16 octets) | | HMAC (16 octets) |
| | | |
| | | |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 11: Sequence Number TLV - Authenticated Mode Figure 11: Sequence Number TLV - Authenticated Mode
o This TLV is mandatory in the authenticated mode. o This TLV is mandatory in the authenticated mode.
o The node MUST discard the probe message if HMAC is invalid. o The node MUST discard the probe message if HMAC is invalid.
o The Sequence Number follows the same processing rule as defined in o The Sequence Number follows the same processing rule as defined in
the unauthenticated mode. the unauthenticated mode.
7. Security Considerations 7. Security Considerations
skipping to change at page 19, line 51 skipping to change at page 21, line 22
Switched Paths (LSPs)", RFC 5884, DOI 10.17487/RFC5884, Switched Paths (LSPs)", RFC 5884, DOI 10.17487/RFC5884,
June 2010. June 2010.
[RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme, [RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme,
"IPv6 Flow Label Specification", RFC 6437, November 2011. "IPv6 Flow Label Specification", RFC 6437, November 2011.
[RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and [RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and
L. Yong, "The Use of Entropy Labels in MPLS Forwarding", L. Yong, "The Use of Entropy Labels in MPLS Forwarding",
RFC 6790, November 2012. RFC 6790, November 2012.
[RFC7820] Mizrahi, T., "UDP Checksum Complement in the One-Way
Active Measurement Protocol (OWAMP) and Two-Way Active
Measurement Protocol (TWAMP)", RFC 7820, March 2016.
[RFC8029] Kompella, K., Swallow, G., Pignataro, C., Kumar, N., [RFC8029] Kompella, K., Swallow, G., Pignataro, C., Kumar, N.,
Aldrin, S. and M. Chen, "Detecting Multiprotocol Label Aldrin, S. and M. Chen, "Detecting Multiprotocol Label
Switched (MPLS) Data-Plane Failures", RFC 8029, March Switched (MPLS) Data-Plane Failures", RFC 8029, March
2017. 2017.
[RFC8321] Fioccola, G. Ed., "Alternate-Marking Method for Passive [RFC8321] Fioccola, G. Ed., "Alternate-Marking Method for Passive
and Hybrid Performance Monitoring", RFC 8321, January and Hybrid Performance Monitoring", RFC 8321, January
2018. 2018.
[RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
skipping to change at page 20, line 40 skipping to change at page 22, line 16
"Performance Measurement in Segment Routing Networks with "Performance Measurement in Segment Routing Networks with
MPLS Data Plane", draft-gandhi-spring-rfc6374-srpm-mpls, MPLS Data Plane", draft-gandhi-spring-rfc6374-srpm-mpls,
work in progress. work in progress.
[I-D.pce-binding-label-sid] Filsfils, C., et al., "Carrying Binding [I-D.pce-binding-label-sid] Filsfils, C., et al., "Carrying Binding
Label Segment-ID in PCE-based Networks", Label Segment-ID in PCE-based Networks",
draft-sivabalan-pce-binding-label-sid, work in progress. draft-sivabalan-pce-binding-label-sid, work in progress.
[I-D.spring-mpls-path-segment] Cheng, W., et al., "Path Segment in [I-D.spring-mpls-path-segment] Cheng, W., et al., "Path Segment in
MPLS Based Segment Routing Network", MPLS Based Segment Routing Network",
draft-cheng-spring-mpls-path-segment, work in progress. draft-ietf-spring-mpls-path-segment, work in progress.
[I-D.ippm-stamp] Mirsky, G. et al. "Simple Two-way Active [I-D.ippm-stamp] Mirsky, G. et al. "Simple Two-way Active
Measurement Protocol", draft-ietf-ippm-stamp, work in Measurement Protocol", draft-ietf-ippm-stamp, work in
progress. progress.
[BBF.TR-390] "Performance Measurement from IP Edge to Customer [BBF.TR-390] "Performance Measurement from IP Edge to Customer
Equipment using TWAMP Light", BBF TR-390, May 2017. Equipment using TWAMP Light", BBF TR-390, May 2017.
[I-D.spring-ioam-sr-mpls] Gandhi, R. Ed., et al., "Segment Routing
with MPLS Data Plane Encapsulation for In-situ OAM Data",
draft-gandhi-spring-ioam-sr-mpls, work in progress.
Acknowledgments Acknowledgments
The authors would like to thank Nagendra Kumar and Carlos Pignataro The authors would like to thank Nagendra Kumar and Carlos Pignataro
for the discussion on SRv6 Performance Measurement. The authors for the discussion on SRv6 Performance Measurement. The authors
would also like to thank Stewart Bryant for the discussion on UDP would like to thank Thierry Couture for various discussions on the
port allocation for Performance Measurement and Greg Mirsky for use-cases for the performance measurement in segment routing
providing many useful comments and suggestions. networks. The authors would also like to thank Stewart Bryant for
the discussion on UDP port allocation for Performance Measurement and
Greg Mirsky for providing useful comments and suggestions.
Contributors Contributors
Sagar Soni Sagar Soni
Cisco Systems, Inc. Cisco Systems, Inc.
Email: sagsoni@cisco.com Email: sagsoni@cisco.com
Patrick Khordoc Patrick Khordoc
Cisco Systems, Inc. Cisco Systems, Inc.
Email: pkhordoc@cisco.com Email: pkhordoc@cisco.com
 End of changes. 67 change blocks. 
172 lines changed or deleted 244 lines changed or added

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