draft-ietf-mpls-lsp-ping-relay-reply-01.txt   draft-ietf-mpls-lsp-ping-relay-reply-02.txt 
Network Working Group J. Luo, Ed. Network Working Group J. Luo, Ed.
Internet-Draft ZTE Internet-Draft ZTE
Updates: 4379 (if approved) L. Jin, Ed. Updates: 4379 (if approved) L. Jin, Ed.
Intended status: Standards Track Intended status: Standards Track
Expires: February 6, 2014 T. Nadeau, Ed. Expires: August 18, 2014 T. Nadeau, Ed.
Juniper Networks Lucidvision
G. Swallow, Ed. G. Swallow, Ed.
Cisco Cisco
February 14, 2014
August 5, 2013
Relayed Echo Reply mechanism for LSP Ping Relayed Echo Reply mechanism for LSP Ping
draft-ietf-mpls-lsp-ping-relay-reply-01 draft-ietf-mpls-lsp-ping-relay-reply-02
Abstract Abstract
In some inter-AS and inter-area deployment scenarios for LSP Ping and In some inter autonomous system (AS) and inter-area deployment
Traceroute, a replying LSR may not have the available route to the scenarios for Label Switched Path (LSP) Ping and Traceroute, a
initiator, and the Echo Reply message sent to the initiator would be replying LSR may not have the available route to the initiator, and
discarded resulting in false negatives or complete failure of the Echo Reply message sent to the initiator would be discarded
operation of LSP Ping and Traceroute. This document describes resulting in false negatives or complete failure of operation of LSP
extensions to LSP Ping mechanism to enable the replying LSR to have Ping and Traceroute. This document describes extensions to LSP Ping
the capability to relay the echo response by a set of routable mechanism to enable the replying Label Switching Router (LSR) to have
intermediate nodes to the initiator during the traceroute process in the capability to relay the Echo Response by a set of routable
inter-AS and inter-area scenarios. intermediate nodes to the initiator.
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
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on February 6, 2014. This Internet-Draft will expire on August 18, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
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
1.1. Conventions Used in This Document . . . . . . . . . . . . 3 1.1. Conventions Used in This Document . . . . . . . . . . . . 3
2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1. Relayed Echo Reply message . . . . . . . . . . . . . . . . 5 3.1. Relayed Echo Reply message . . . . . . . . . . . . . . . . 5
3.2. Relay Node Address Stack . . . . . . . . . . . . . . . . . 6 3.2. Relay Node Address Stack . . . . . . . . . . . . . . . . . 5
3.3. New Return Code . . . . . . . . . . . . . . . . . . . . . 7 3.3. New Return Code . . . . . . . . . . . . . . . . . . . . . 7
4. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.1. Sending an Echo Request . . . . . . . . . . . . . . . . . 8 4.1. Sending an Echo Request . . . . . . . . . . . . . . . . . 7
4.2. Receiving an Echo Request . . . . . . . . . . . . . . . . 8 4.2. Receiving an Echo Request . . . . . . . . . . . . . . . . 7
4.3. Sending an Relayed Echo Reply . . . . . . . . . . . . . . 9 4.3. Originating an Relayed Echo Reply . . . . . . . . . . . . 8
4.4. Receiving an Relayed Echo Reply . . . . . . . . . . . . . 9 4.4. Relaying an Relayed Echo Reply . . . . . . . . . . . . . . 9
4.5. Sending an Echo Reply . . . . . . . . . . . . . . . . . . 10 4.5. Sending an Echo Reply . . . . . . . . . . . . . . . . . . 9
4.6. Receiving an Echo Reply . . . . . . . . . . . . . . . . . 10 4.6. Receiving an Echo Reply . . . . . . . . . . . . . . . . . 9
5. LSP Ping Relayed Echo Reply Example . . . . . . . . . . . . . 10 5. LSP Ping Relayed Echo Reply Example . . . . . . . . . . . . . 10
6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
7. Backward Compatibility . . . . . . . . . . . . . . . . . . . . 12 7. Backward Compatibility . . . . . . . . . . . . . . . . . . . . 12
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
8.1. New Message Type . . . . . . . . . . . . . . . . . . . . . 13 8.1. New Message Type . . . . . . . . . . . . . . . . . . . . . 12
8.2. New TLV . . . . . . . . . . . . . . . . . . . . . . . . . 13 8.2. New TLV . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.3. New Return Code . . . . . . . . . . . . . . . . . . . . . 13 8.3. New Return Code . . . . . . . . . . . . . . . . . . . . . 12
9. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 13 9. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 13
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 13
10.1. Normative References . . . . . . . . . . . . . . . . . . . 13 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13
10.2. Informative References . . . . . . . . . . . . . . . . . . 14 11.1. Normative References . . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14 11.2. Informative References . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. Introduction
This document describes extensions to the LSP Ping and Traceroute as This document describes the extensions to the Label Switched Path
specified in [RFC4379] that add as a Relayed Echo Reply mechanism (LSP) Ping as specified in [RFC4379], by adding a relayed echo reply
that can be used to detect data plane failures in inter-AS and inter- mechanism which could be used to detect data plane failures in inter
area MPLS LSPs. Prior to this extension, inter-AS functionality of autonomous system (AS) and inter-area LSPs. Without this extension,
[RFC4379] would fail in most deployment scenarios. A new message the ping functionality provided by [RFC4379] would fail in many
referred to as "Relayed Echo Reply message" and a new TLV referred to deployed inter-AS scenarios, since the replying LSR in one AS may not
as "Relay Node Address Stack TLV" are defined in this draft to have the available route to the initiator in the other AS. The
overcome these deficiencies. mechanism in this draft defines a new message type referred as
"Relayed Echo Reply message", and a new TLV referred as "Relay Node
Address Stack TLV".
1.1. Conventions Used in This Document 1.1. Conventions Used in This Document
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]. document are to be interpreted as described in [RFC2119].
2. Motivation 2. Motivation
LSP Ping [RFC4379] defines a mechanism to detect data plane failures LSP Ping [RFC4379] defines a mechanism to detect data plane failures
and localize faults. In the traceroute mode of LSP Ping procedure, and localize faults. The mechanism specifies that the Echo Reply
the Echo Request message is send along the data plane between the should be sent back to the initiator usig an UDP packet with the
originating LSR and one of the LSRs along the LSP, but is directed to IPv4/ IPv6 address of the originating LSR. This works in
be punted to the the control plane of each transit LSR. The control administrative domains allowing IP address reachability and routing
plane of the receiving LSR then responds directly to the originator back to the originating LSR. However, in practice, this is often not
using an Echo Reply massage with proper information are required to the case due to intra-provider routing policy, route hiding, network
send to the initiator at each transit LSR. Each hop along the LSP is address translation at autonomous system border routers (ASBR), and
progressively probed by increasing the TTL of the Echo Request etc. In fact, it is almost uniformly the case that in inter-AS
Message until the terminus of the LSP is reached. Using this scenarios, it is not allowed the distribution or direct routing to
mechanism, the LSP data plane is tested, and any resulting faults can
be localized. Furthermore, this mechanism allows a network operator
to create an accurate view of deployed LSP topology.
The original mechanism specifies that The Echo Reply be sent back to
the initiator usig a UDP packet containing directed back to the IPv4/
IPv6 address of the originating LSR. This works in adminitrative
domains allowing IP address reachability and routing back to the
originating LSR. However, in practice, this is often not the case
due to intra-provider routing policy, route hiding, network address
translation at boundary autonomous system border routers (i.e.:
ASBR), etc... In fact, it is almost uniformly the case that in
inter-AS scenarios to not allow the distribution or direct routing to
the IP addresses of any of the nodes other than the ASBR. the IP addresses of any of the nodes other than the ASBR.
Figure 1 demonstrates how initiating a traceroute procedure on an Figure 1 demonstrates a case where one LSP is set up between PE1 and
ingress LSR (i.e.: PE1) of an LSP from PE1 to PE2, can be constructed PE2. If private addresses were in use within AS2, a traceroute from
between P nodes within an AS, which are then connected to ASBRs PE1 directed to PE2 could fail if the fault exists somewhere between
interconnect both ASs. In this case, if private addresses were in ASBR2 and PE2. Because P2 cannot forward packets back to PE1 given
use within AS2, a traceroute from PE1 directed to PE2 could fail if that it is a private address within AS1. In this case, PE1 would
the fault exists somewhere between AS2 and PE2 because P2 cannot detect a path break, as the Echo Request messages would not be sent
forward packets back to PE1 given that it is a private address within back; however, localization of the actual fault would not be
AS1. In this case, PE1 would detect a path break, as the Echo possible.
Request messages would not be responded to; however, localization of
the actual fault would not be possible.
+-------+ +-------+ +------+ +------+ +------+ +------+ +-------+ +-------+ +------+ +------+ +------+ +------+
| | | | | | | | | | | | | | | | | | | | | | | |
| PE1 +---+ P1 +---+ ASBR1+---+ ASBR2+---+ P2 +---+ PE2 | | PE1 +---+ P1 +---+ ASBR1+---+ ASBR2+---+ P2 +---+ PE2 |
| | | | | | | | | | | | | | | | | | | | | | | |
+-------+ +-------+ +------+ +------+ +------+ +------+ +-------+ +-------+ +------+ +------+ +------+ +------+
<---------------AS1-------------><---------------AS2------------> <---------------AS1-------------><---------------AS2------------>
<---------------------------- LSP ------------------------------> <---------------------------- LSP ------------------------------>
Figure 1: Simple Inter-AS LSP Configuration Figure 1: Simple Inter-AS LSP Configuration
A second example that illustrates how [RFC4379] would be insufficient A second example that illustrates how [RFC4379] would be insufficient
would be the inter-area situation in a Seamless MPLS architecture would be the inter-area situation in a Seamless MPLS architecture
[ietf-mpls-seamless] as shown below in Figure 2. In the example P [I-D.ietf-mpls-seamless-mpls] as shown below in Figure 2. In this
nodes the in core network would not have IP reachable route to any of example P nodes the in core network would not have IP reachable route
the ANs. When tracing an LSP from AN to remote AN, the LSR1/LSR2 to any of the ANs. When tracing an LSP from AN to remote AN, the
node could not make a response to the Echo Request either, like P2 LSR1/LSR2 node could not make a response to the Echo Request either,
node in the inter-AS scenario. like P2 node in the inter-AS scenario in Figure 1.
+-------+ +-------+ +------+ +------+ +-------+ +-------+ +------+ +------+
| | | | | | | | | | | | | | | |
+--+ AGN11 +---+ AGN21 +---+ ABR1 +---+ LSR1 +--> to AGN +--+ AGN11 +---+ AGN21 +---+ ABR1 +---+ LSR1 +--> to AGN
/ | | /| | | | | | / | | /| | | | | |
+----+/ +-------+\/ +-------+ +------+ /+------+ +----+/ +-------+\/ +-------+ +------+ /+------+
| AN | /\ \/ | AN | /\ \/
+----+\ +-------+ \+-------+ +------+/\ +------+ +----+\ +-------+ \+-------+ +------+/\ +------+
\ | | | | | | \| | \ | | | | | | \| |
+--+ AGN12 +---+ AGN22 +---+ ABR2 +---+ LSR2 +--> to AGN +--+ AGN12 +---+ AGN22 +---+ ABR2 +---+ LSR2 +--> to AGN
| | | | | | | | | | | | | | | |
+-------+ +-------+ +------+ +------+ +-------+ +-------+ +------+ +------+
static route ISIS L1 LDP ISIS L2 LDP static route ISIS L1 LDP ISIS L2 LDP
<-Access-><--Aggregation Domain--><---------Core---------> <-Access-><--Aggregation Domain--><---------Core--------->
Figure 2: Seamless MPLS Architecture Figure 2: Seamless MPLS Architecture
This remainder of this document describes extensions to the LSP Ping This document describes extensions to the LSP Ping mechanism to
mechanism to facillitate a response from the replying LSR using a facilitate a response from the replying LSR, by defining a simple
simple mechanism that uses the ASBRs to relay the message back to the mechanism that uses the relay node (e.g, ASBR) to relay the message
initiator. This approach will work because every subsequent AS can back to the initiator. This approach will work because every
and must have a route back to a connected AS. Using a recursive designated or learned relay node must have an IP route back to the
approach, intermediate ASs can relay the message toward each other initiator. Using a recursive approach, relay node could relay the
until the final AS is reached. At this point, the ASBR must have a message to the next relay node until the initiator is reached.
route to the initiating LSR because it is directly attached to it.
This is achieved by augmenting the replying LSR's LSP Ping algorithm
to send a response to a relay node (as indicated by the Relay Node
Address Stack TLV), and the response would be relayed to the next
relay node (i.e.: ASBR), until it reaches the ultimate ASBR. At that
point the ASBR should be able to resolve a local route to the
initiator.
3. Extensions 3. Extensions
RFC4379 describes the basic MPLS LSP Ping mechanism, which defines [RFC4379] describes the basic MPLS LSP Ping mechanism, which defines
two message types. This draft defines a new message, Relayed Echo two message types, Echo Request and Echo Reply message. This draft
Reply message. This new message is used to replace Echo Reply defines a new message, Relayed Echo Reply message. This new message
message which is sent from the replying LSR to a relay node or from a is used to replace Echo Reply message which is sent from the replying
relay node to another relay node. LSR to a relay node or from a relay node to another relay node.
A new TLV named Relay Node Address Stack TLV is defined in this A new TLV named Relay Node Address Stack TLV is defined in this
draft, to carry the IP addresses of the possible relay nodes for the draft, to carry the IP addresses of the possible relay nodes for the
replying LSR. replying LSR.
In addition, a new Return Code is defined to notify the initiator In addition, a new Return Code is defined to notify the initiator
that the packet length was exceeded by the Relay Node Address Stack that the packet length was exceeded unexpected by the Relay Node
TLV unexpected. Address Stack TLV.
It should be noted that this document focuses only on detecting the It should be noted that this document focuses only on detecting the
LSP which is setup using a uniform type of IP address. That is, all LSP which is set up using a uniform type of IP address. That is, all
hops between the originator and terminus use one address type of hops between the source and destination use one address type of their
address) to address their control planes. This does not preclude control planes. This does not preclude nodes that support both IPv6
nodes that support both IPv6 and IPv4 addresses simultaneously, but and IPv4 addresses simultaneously, but the entire path must be
the entire path MUST be addressible using only one address family addressable using only one address family type. Supporting for mixed
type. Support for mixed IPv4-only and IPv6-only is beyond the scope IPv4-only and IPv6-only is beyond the scope of this document.
of this document.
3.1. Relayed Echo Reply message 3.1. Relayed Echo Reply message
The Relayed Echo Reply message is a UDP packet, and the UDP payload The Relayed Echo Reply message is a UDP packet, and the UDP payload
has the same format with Echo Request/Reply message. A new message has the same format with Echo Request/Reply message. A new message
type is requested from IANA. type is requested from IANA.
New Message Type: New Message Type:
Value Meaning Value Meaning
----- ------- ----- -------
skipping to change at page 7, line 26 skipping to change at page 7, line 5
Type# Address Type Address Length Type# Address Type Address Length
---- ------------ ------------ ---- ------------ ------------
0 Unspecified 0 0 Unspecified 0
1 IPv4 4 1 IPv4 4
2 IPv6 16 2 IPv6 16
Reserved: This field is reserved for future use and MUST be set to Reserved: This field is reserved for future use and MUST be set to
zero. zero.
K bit: K bit: If the K bit is set to 1, then this sub-TLV SHOULD be kept in
Relay Node Address Stack, SHOULD not be deleted in compress process
If the K bit is set to 1, then this sub-TLV SHOULD be kept in Relay of section 4.2. The K bit may be set by ASBRs which address would be
Node Address Stack, SHOULD not be deleted in compress process of
section 4.2. The K bit may be set by ASBRs which address would be
kept in the stack if necessary. kept in the stack if necessary.
If the K bit is set to 0, then this sub-TLV SHOULD be processed If the K bit is set to 0, then this sub-TLV SHOULD be processed
normally according to section 4.2. normally according to section 4.2.
Relayed Address: This field specifies the node address, either IPv4 Relayed Address: This field specifies the node address, either IPv4
or IPv6. or IPv6.
3.3. New Return Code 3.3. New Return Code
A new Return Code is used by the replying LSR to notify the initiator A new Return Code is used by the replying LSR to notify the initiator
that the packet length was exceeded by the Relay Node Address Stack that the packet length was exceeded unexpected by the Relay Node
TLV unexpected. Address Stack TLV.
New Return Code: New Return Code:
Value Meaning Value Meaning
----- ------- ----- -------
TBD Response Packet length was exceeded by the Relay Node TBD Response Packet length was exceeded by the Relay Node
Address Stack TLV unexpected Address Stack TLV unexpected
4. Procedures 4. Procedures
4.1. Sending an Echo Request 4.1. Sending an Echo Request
In addition to the procedures described in Section 4.3 of [RFC4379], In addition to the procedures described in Section 4.3 of [RFC4379],
a Relay Node Address Stack TLV MUST be carried in the Echo Request a Relay Node Address Stack TLV MUST be carried in the Echo Request
message for facillitate the relay functionality. message for facilitate the relay functionality.
When the Echo Request is first sent by initiator supporting these When the Echo Request is first sent by initiator supporting these
extensions, a Relay Node Address Stack TLV with the initiator address extensions, a Relay Node Address Stack TLV with the initiator address
in the stack and its source port MUST be included. in the stack and its source port MUST be included. That will ensure
that the first relay node address in the stack will always be the
initiator address.
For the subsequent Echo Request messages, the initiator would copy For the subsequent Echo Request messages, the initiator would copy
the Relay Node Address Stack TLV from the received Echo Reply the Relay Node Address Stack TLV from the received Echo Reply
message. message.
4.2. Receiving an Echo Request 4.2. Receiving an Echo Request
In addition to the processes in Section 4.4 of [RFC4379], the In addition to the processes in Section 4.4 of [RFC4379], the
procedures of the Relay Node Address Stack TLV are defined here. procedures of the Relay Node Address Stack TLV are defined here.
Upon receiving a Relay Node Address Stack TLV of the Echo Request Upon receiving a Relay Node Address Stack TLV of the Echo Request
message, the receiver would check the addresses of the stack in message, the receiver MUST check the addresses of the stack in
sequence from top to bottom, i.e., the first address in the stack sequence from top to bottom (the first address in the stack ==== will
would be first one to be checked, to find out the first public be first one to be checked), to find out the first public routable IP
routable IP address. Those address entries behind of the first address. Those address entries behind of the first routable IP
routable IP address in the address list with K bit set to 0 would be address in the address list with K bit set to 0 MUST be deleted, and
deleted, and the address entry of the replying LSR would be added at the address entry of the replying LSR MUST be added at the bottom of
the bottom of the stack. Those address entries with K bit set to 1 the stack. Those address entries with K bit set to 1 MUST be kept in
would be kept in the stack. The updated Relay Node Address Stack TLV the stack. The updated Relay Node Address Stack TLV MUST be carried
would be carried in the response message. in the response message.
If the replying LSR wishes to hide its routable address information, If the replying LSR wishes to hide its routable address information,
the address entry added in the stack would be a blank entry with the address entry added in the stack SHOULD be a blank entry with
Address Type set to Unspecified. The blank address entry in the Address Type set to unspecified. The blank address entry in the
receiving Echo Request would be treated as an unroutable address receiving Echo Request SHOULD be treated as an unroutable address
entry. entry.
If the packet length was exceeded by the Relay Node Address Stack TLV If the packet length was exceeded unexpectedly by the Relay Node
unexpectedly, the TLV SHOULD be returned back unchanged in the echo Address Stack TLV, the TLV SHOULD be returned back unchanged in the
response message. And the new return code would help to notify the echo response message. And the new return code SHOULD help to notify
initiator of the situation. the initiator of the situation.
If the first routable IP address is the first address in the stack, If the first routable IP address is the first address in the stack,
the replying LSR would respond an Echo Reply message to the the replying LSR SHOULD respond an Echo Reply message to the
initiator. initiator.
If the first routable IP address is of an intermediate node, other If the first routable IP address is of an intermediate node, other
than the first address in the stack, the replying LSR would send an than the first address in the stack, the replying LSR SHOULD send an
Relayed Echo Reply instead of an Echo Reply in response. Relayed Echo Reply instead of an Echo Reply in response.
An LSR not recognize the Relay Node Address Stack TLV, SHOULD ignore An LSR not recognize the Relay Node Address Stack TLV, SHOULD ignore
it according to section 3 of RFC4379. it according to section 3 of RFC4379.
4.3. Sending an Relayed Echo Reply 4.3. Originating an Relayed Echo Reply
The Relayed Echo Reply is sent in two cases:
1. When the replying LSR received an Echo Request with the initiator When the replying LSR received an Echo Request with the initiator IP
IP address in the Relay Node Address Stack TLV is IP unroutable, the address in the Relay Node Address Stack TLV is IP unroutable, the
replying LSR would send an Relayed Echo Reply message to the first replying LSR SHOULD send an Relayed Echo Reply message to the first
routable intermediate node. The processing of Relayed Echo Reply is routable intermediate node. The processing of Relayed Echo Reply is
the same with the procedure of the Echo Reply described in Section the same with the procedure of the Echo Reply described in Section
4.5 of RFC4379, except the destination IP address and the destination 4.5 of RFC4379, except the destination IP address and the destination
UDP port of the message part. The destination IP address of the UDP port of the message part. The destination IP address of the
Relayed Echo Reply is set to the first routable IP address from the Relayed Echo Reply is set to the first routable IP address from the
Relay Node Address Stack TLV, and the destination UDP port is set to Relay Node Address Stack TLV, and both the source and destination UDP
3503. port is set to 3503.
2. When the intermediate relay node received an Relayed Echo Reply
with the initiator IP address in the Relay Node Address Stack TLV is
IP unroutable, the intermediate relay node would send the Relayed
Echo Reply to the next relay node with the content of the UDP packet
unchanged. The destination IP address of the Relayed Echo Reply is
set to the first routable IP address from the Relay Node Address
Stack TLV. Both the source and destination UDP port should be 3503.
4.4. Receiving an Relayed Echo Reply 4.4. Relaying an Relayed Echo Reply
Upon receiving an Relayed Echo Reply message with its address as the Upon receiving an Relayed Echo Reply message with its address as the
destination address in the IP header, the relay node should check the destination address in the IP header, the relay node should check the
address items in Relay Node Address Stack TLV in sequence and find address items in Relay Node Address Stack TLV in sequence from top to
the first routable node address. down, and find the first routable node address.
If the first routable address is the top one of the address list, If the first routable address is the top one of the address list,
i.e., the initiator address, the relay node should send an Echo Reply e.g, the initiator address, the relay node SHOULD send an Echo Reply
message to the initiator containing the same payload with the Relayed message to the initiator containing the same payload with the Relayed
Echo Reply message received. Echo Reply message received. See section 4.5 for detail.
If the first routable address is not the top one of the address list, If the first routable address is not the top one of the address list,
i.e., another intermediate relay node, the relay node should send an e.g, another intermediate relay node, the relay node SHOULD send an
Relayed Echo Reply message to this relay node with the payload Relayed Echo Reply message to this relay node with the payload
unchanged. unchanged.
Note, the replying LSR SHOULD send a Relayed Echo Reply message to
the first relay node found in Relay Node Address Stack TLV that is
routable by the router. The routable address MUST be located before
the source IP address of the received Relayed Echo Reply which must
be also in the stack, otherwise the Relayed Echo Reply should not be
sent, so as to avoid potential loop.
4.5. Sending an Echo Reply 4.5. Sending an Echo Reply
The Echo Reply is sent in two cases: The Echo Reply is sent in two cases:
1. When the replying LSR received an Echo Request with the initiator 1. When the replying LSR received an Echo Request with the initiator
IP address in the Relay Node Address Stack TLV is IP routable, the IP address in the Relay Node Address Stack TLV is IP routable, the
replying LSR would send an Echo Reply to the initiator. In addition replying LSR would send an Echo Reply to the initiator. In addition
to the procedure of the Echo Reply described in Section 4.5 of to the procedure of the Echo Reply described in Section 4.5 of
RFC4379, the Relay Node Address Stack TLV would be carried in the RFC4379, the Relay Node Address Stack TLV would be carried in the
Echo Reply. Echo Reply.
2. When the intermediate relay node LSR received an Relayed Echo 2. When the intermediate relay node received an Relayed Echo Reply
Reply with the initiator IP address in the Relay Node Address Stack with the initiator IP address in the Relay Node Address Stack TLV IP
TLV is IP routable, the intermediate relay node would send the Echo routable, the intermediate relay node would send the Echo Reply to
Reply to the initiator with the payload no changes other than the the initiator with the payload unchanged other than the Message Type
Message Type field. The destination IP address of the Echo Reply is field. The destination IP address of the Echo Reply is set to the
set to the initiator IP address, and the destination UDP port would initiator IP address, and the destination UDP port would be copied
be copied from the Initiator Source Port field of the Relay Node from the Initiator Source Port field of the Relay Node Address Stack
Address Stack TLV. The source UDP port should be 3503. TLV. The source UDP port should be 3503.
4.6. Receiving an Echo Reply 4.6. Receiving an Echo Reply
In addition to the processes in Section 4.6 of RFC4379, the initiator In addition to the processes in Section 4.6 of [RFC4379], the
would copy the Relay Node Address Stack TLV received in the Echo initiator would copy the Relay Node Address Stack TLV received in the
Reply to the next Echo Request. Echo Reply to the next Echo Request.
5. LSP Ping Relayed Echo Reply Example 5. LSP Ping Relayed Echo Reply Example
Considering the inter-AS scenario in Figure 4 below. Considering the inter-AS scenario in Figure 4 below.
+-------+ +-------+ +------+ +------+ +------+ +------+ +-------+ +-------+ +------+ +------+ +------+ +------+
| | | | | | | | | | | | | | | | | | | | | | | |
| PE1 +---+ P1 +---+ ASBR1+---+ ASBR2+---+ P2 +---+ PE2 | | PE1 +---+ P1 +---+ ASBR1+---+ ASBR2+---+ P2 +---+ PE2 |
| | | | | | | | | | | | | | | | | | | | | | | |
+-------+ +-------+ +------+ +------+ +------+ +------+ +-------+ +-------+ +------+ +------+ +------+ +------+
<---------------AS1-------------><---------------AS2------------> <---------------AS1-------------><---------------AS2------------>
<--------------------------- LSP -------------------------------> <--------------------------- LSP ------------------------------->
Figure 4: Example Inter-AS LSP Figure 4: Example Inter-AS LSP
In the example, an LSP has been created between PE1 to PE2. When In the example, an LSP has been created between PE1 to PE2. When
performing LSP traceroute on the LSP the first Echo Request sent by performing LSP traceroute on the LSP, the first Echo Request sent by
PE1 with outter-most label TTL=1, contains the Relay Node Address PE1 with outter-most label TTL=1, contains the Relay Node Address
Stack TLV with the only address of PE1. Stack TLV with the only address of PE1.
After processed by P1, P1's address will be added in the Relay Node After processed by P1, P1's address will be added in the Relay Node
Address Stack TLV address list following PE1's address in the Echo Address Stack TLV address list following PE1's address in the Echo
Reply. Reply.
PE1 copies the Relay Node Address Stack TLV into the next Echo PE1 copies the Relay Node Address Stack TLV into the next Echo
Request when receiving the Echo Reply. Request when receiving the Echo Reply.
Upon receiving the Echo Request, ASBR1 checks the address list in the Upon receiving the Echo Request, ASBR1 checks the address list in the
Relay Node Address Stack TLV in sequence, and finds out that PE1 Relay Node Address Stack TLV in sequence, and finds out that PE1
address is routable. Then deletes P1 address, and adds its own address is routable. Then deletes P1 address, and adds its own
address following PE1 address. As a result, there would be PE1 address following PE1 address. As a result, there would be PE1
address followed by ASBR1 address in the Relay Node Address Stack TLV address followed by ASBR1 address in the Relay Node Address Stack TLV
of the Echo Reply sent by ASBR1. of the Echo Reply sent by ASBR1.
PE1 then sends an Echo Request with outter-most label TTL=3, PE1 then sends an Echo Request with outer-most label TTL=3,
containing the Relay Node Address Stack TLV copied from the received containing the Relay Node Address Stack TLV copied from the received
Echo Reply message. Upon receiving the Echo Request message, ASBR2 Echo Reply message. Upon receiving the Echo Request message, ASBR2
checks the address list in the Relay Node Address Stack TLV in checks the address list in the Relay Node Address Stack TLV in
sequence, and finds out that PE1 address is IP route unreachable, and sequence, and finds out that PE1 address is IP route unreachable, and
ASBR1 address is the first routable one in the Relay Node Address ASBR1 address is the first routable one in the Relay Node Address
Stack TLV. ASBR2 adds its address as the last address item following Stack TLV. ASBR2 adds its address as the last address item following
ASBR1 address in Relay Node Address Stack TLV, sets ASBR1 address as ASBR1 address in Relay Node Address Stack TLV, sets ASBR1 address as
the destination address of the Relayed Echo Reply, and sends the the destination address of the Relayed Echo Reply, and sends the
Relayed Echo Reply to ASBR1. Relayed Echo Reply to ASBR1.
Upon receiving the Relayed Echo Reply from ASBR2, ASBR1 checks the Upon receiving the Relayed Echo Reply from ASBR2, ASBR1 checks the
address list in the Relay Node Address Stack TLV in sequence, and address list in the Relay Node Address Stack TLV in sequence, and
finds out that PE1 address is first routable one in the address list. finds out that PE1 address is first routable one in the address list.
Then ASBR1 send an Echo Reply to PE1 with the payload of received Then ASBR1 send an Echo Reply to PE1 with the payload of received
Relayed Echo Reply no changes other than the Message Type field. Relayed Echo Reply no changes other than the Message Type field.
For the Echo Request with outter-most label TTL=4, P2 checks the For the Echo Request with outer-most label TTL=4, P2 checks the
address list in the Relay Node Address Stack TLV in sequence, and address list in the Relay Node Address Stack TLV in sequence, and
finds out that both PE1 and ASBR1 addresses are not IP routable, and finds out that both PE1 and ASBR1 addresses are not IP routable, and
ASBR2 address is the first routable address. And P2 would send an ASBR2 address is the first routable address. And P2 would send an
Relayed Echo Reply to ASBR2 with the Relay Node Address Stack TLV of Relayed Echo Reply to ASBR2 with the Relay Node Address Stack TLV of
four addresses, PE1, ASBR1, ASBR2 and P2 address in sequence. four addresses, PE1, ASBR1, ASBR2 and P2 address in sequence.
Then according to the process described in section 4.4, ASBR2 would Then according to the process described in section 4.4, ASBR2 would
send the Relayed Echo Reply to ASBR1. Upon receiving the Relayed send the Relayed Echo Reply to ASBR1. Upon receiving the Relayed
Echo Reply, ASBR1 would send an Echo Reply to PE1 as PE1 address is Echo Reply, ASBR1 would send an Echo Reply to PE1 as PE1 address is
routable. And as relayed by ASBR2 and ASBR1, the echo response would routable. And as relayed by ASBR2 and ASBR1, the echo response would
finally be sent to the initiator PE1. finally be sent to the initiator PE1.
For the Echo Request with outter-most label TTL=5, the echo response For the Echo Request with outer-most label TTL=5, the echo response
would relayed to PE1 by ASBR2 and ASBR1, similar to the case of would relayed to PE1 by ASBR2 and ASBR1, similar to the case of
TTL=4. TTL=4.
The Echo Reply from the replying node which has no reachable route to The Echo Reply from the replying node which has no reachable route to
the initiator is finally transmitted to the initiator by multiple the initiator is finally transmitted to the initiator by multiple
relay nodes. relay nodes.
6. Security Considerations 6. Security Considerations
The Relayed Echo Reply mechanism for LSP Ping creates an increased The Relayed Echo Reply mechanism for LSP Ping creates an increased
risk of DoS by putting the IP address of a target router in the Relay risk of DoS by putting the IP address of a target router in the Relay
Node Address Stack. These messages then could be used to attack the Node Address Stack. These messages then could be used to attack the
control plane of an LSR by overwhelming it with these packets. A control plane of an LSR by overwhelming it with these packets. A
rate limiter SHOULD be applied to the well-known UDP port on the rate limiter SHOULD be applied to the well-known UDP port on the
relay node as suggested in RFC4379. The node which acts as a relay relay node as suggested in RFC4379. The node which acts as a relay
node SHOULD validate the relay reply against a set of valid source node SHOULD validate the relay reply against a set of valid source
addresses and discard packets from untrusted border router addresses. addresses and discard packets from untrusted border router addresses.
An implementation SHOULD provide such filtering capabilities. An implementation SHOULD provide such filtering capabilities.
If an operator wants to obscure their nodes, it is RECOMMENDED that If an operator wants to obscure their nodes, it is RECOMMENDED that
they they may replace the failed node that originated the Echo Reply they may replace the replying node address that originated the Echo
with their own address. Reply with blank address in Relay Node Address Stack TLV.
Other security considerations discussed in [RFC4379], are also Other security considerations discussed in [RFC4379], are also
applicable to this document. applicable to this document.
7. Backward Compatibility 7. Backward Compatibility
When one of the nodes along the LSP does not support the mechanism When one of the nodes along the LSP does not support the mechanism
specified in this draft, the node will ignore the Relay Node Address specified in this draft, the node will ignore the Relay Node Address
Stack TLV as described in section 4.2. Then the initiator may not Stack TLV as described in section 4.2. Then the initiator may not
receive the Relay Node Address Stack TLV in Echo Reply message from receive the Relay Node Address Stack TLV in Echo Reply message from
skipping to change at page 13, line 33 skipping to change at page 13, line 8
New Return Code: New Return Code:
Value Meaning Value Meaning
----- ------- ----- -------
TBD Response Packet length was exceeded by the Relay Node TBD Response Packet length was exceeded by the Relay Node
Address Stack TLV unexpected Address Stack TLV unexpected
9. Acknowledgement 9. Acknowledgement
The authors would like to thank Carlos Pignataro, Xinwen Jiao, Manuel The authors would like to thank Carlos Pignataro, Xinwen Jiao, Manuel
Paul, Loa Andersson, Wim Henderickx, Mach Chen and Thomas Morin for Paul, Loa Andersson, Wim Henderickx, Mach Chen, Thomas Morin and
their valuable comments and suggestions. Gregory Mirsky for their valuable comments and suggestions.
10. References 10. Contributors
10.1. Normative References Ryan Zheng
JSPTPD
371, Zhongshan South Road
Nanjing, 210006, China
Email: ryan.zhi.zheng@gmail.com
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 11. References
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4377] Nadeau, T., Morrow, M., Swallow, G., Allan, D., and S. 11.1. Normative References
Matsushima, "Operations and Management (OAM) Requirements
for Multi-Protocol Label Switched (MPLS) Networks",
RFC 4377, February 2006.
[RFC4378] Allan, D. and T. Nadeau, "A Framework for Multi-Protocol [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Label Switching (MPLS) Operations and Management (OAM)", Requirement Levels", BCP 14, RFC 2119, March 1997.
RFC 4378, February 2006.
[RFC4379] Kompella, K. and G. Swallow, "Detecting Multi-Protocol [RFC4379] Kompella, K. and G. Swallow, "Detecting Multi-Protocol
Label Switched (MPLS) Data Plane Failures", RFC 4379, Label Switched (MPLS) Data Plane Failures", RFC 4379,
February 2006. February 2006.
[RFC6424] Bahadur, N., Kompella, K., and G. Swallow, "Mechanism for 11.2. Informative References
Performing Label Switched Path Ping (LSP Ping) over MPLS
Tunnels", RFC 6424, November 2011.
[RFC6425] Saxena, S., Swallow, G., Ali, Z., Farrel, A., Yasukawa,
S., and T. Nadeau, "Detecting Data-Plane Failures in
Point-to-Multipoint MPLS - Extensions to LSP Ping",
RFC 6425, November 2011.
10.2. Informative References
[I-D.ietf-mpls-seamless-mpls] [I-D.ietf-mpls-seamless-mpls]
Leymann, N., Decraene, B., Filsfils, C., Konstantynowicz, Leymann, N., Decraene, B., Filsfils, C., Konstantynowicz,
M., and D. Steinberg, "Seamless MPLS Architecture", M., and D. Steinberg, "Seamless MPLS Architecture",
draft-ietf-mpls-seamless-mpls-04 (work in progress), draft-ietf-mpls-seamless-mpls-05 (work in progress),
July 2013. January 2014.
Authors' Addresses Authors' Addresses
Jian Luo (editor) Jian Luo (editor)
ZTE ZTE
50, Ruanjian Avenue 50, Ruanjian Avenue
Nanjing, 210012, China Nanjing, 210012, China
Email: luo.jian@zte.com.cn Email: luo.jian@zte.com.cn
Lizhong Jin (editor) Lizhong Jin (editor)
Shanghai, China Shanghai, China
Email: lizho.jin@gmail.com Email: lizho.jin@gmail.com
Thomas Nadeau (editor) Thomas Nadeau (editor)
Juniper Networks Lucidvision
Westford, MA
Email: tnadeau@lucidvision.com
Email: tnadeau@juniper.net
George Swallow (editor) George Swallow (editor)
Cisco Cisco
300 Beaver Brook Road 300 Beaver Brook Road
Boxborough , MASSACHUSETTS 01719, USA Boxborough , MASSACHUSETTS 01719, USA
Email: swallow@cisco.com Email: swallow@cisco.com
Ryan Zheng
JSPTPD
371, Zhongshan South Road
Nanjing, 210006, China
Email: ryan.zhi.zheng@gmail.com
 End of changes. 56 change blocks. 
200 lines changed or deleted 165 lines changed or added

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