draft-ietf-mpls-lsp-ping-ttl-tlv-05.txt   draft-ietf-mpls-lsp-ping-ttl-tlv-06.txt 
skipping to change at page 1, line 15 skipping to change at page 1, line 15
Intended Status: Standards Track George Swallow Intended Status: Standards Track George Swallow
Shaleen Saxena Shaleen Saxena
Cisco Systems Cisco Systems
Vishwas Manral Vishwas Manral
Hewlett Packard Co. Hewlett Packard Co.
Sam Aldrin Sam Aldrin
Huawei Technologies, Inc. Huawei Technologies, Inc.
Expires: October 22, 2013 April 20, 2013 Expires: April 19, 2014 October 16, 2013
Definition of Time-to-Live TLV for LSP-Ping Mechanisms Definition of Time-to-Live TLV for LSP-Ping Mechanisms
draft-ietf-mpls-lsp-ping-ttl-tlv-05.txt draft-ietf-mpls-lsp-ping-ttl-tlv-06.txt
Abstract Abstract
LSP-Ping is a widely deployed Operation, Administration, and LSP-Ping is a widely deployed Operation, Administration, and
Maintenance (OAM) mechanism in MPLS networks. However, in the present Maintenance (OAM) mechanism in MPLS networks. However, in the present
form, this mechanism is inadequate to verify connectivity of a form, this mechanism is inadequate to verify connectivity of a
segment of a Multi-Segment PseudoWire (MS-PW) from any node on the segment of a Multi-Segment PseudoWire (MS-PW) from any node on the
path of the MS-PW. This document defines a TLV to address this path of the MS-PW. This document defines a TLV to address this
shortcoming. shortcoming.
skipping to change at page 3, line 7 skipping to change at page 3, line 7
4.2. Error scenario . . . . . . . . . . . . . . . . . . . . . . 6 4.2. Error scenario . . . . . . . . . . . . . . . . . . . . . . 6
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 6
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
8.1 Normative References . . . . . . . . . . . . . . . . . . . 7 8.1 Normative References . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction 1. Introduction
A MS-PW can span across multiple service provider networks. In order A MS-PW may span across multiple service provider networks. In order
to allow Service Providers (SP) to verify segments of such MS-PW from to allow Service Providers (SP) to verify segments of such MS-PW from
any node on the path of the MS-PW, any node along the path of the MS- any node on the path of the MS-PW, any node along the path of the MS-
PW, should be able to originate an LSP-Ping echo request packet to PW, should be able to originate an LSP-Ping echo request packet to
any another node along the path of the MS-PW and receive the any another node along the path of the MS-PW and receive the
corresponding echo reply. If the originator of the echo request is at corresponding echo reply. If the originator of the echo request is at
the end of a MS-PW, the receiver of the request can send the reply the end of a MS-PW, the receiver of the request can send the reply
back to the sender without knowing the hop-count distance of the back to the sender without knowing the hop-count distance of the
originator. For example, the reply will be intercepted by the originator. The reply will be intercepted by the originator
originator regardless of the TTL value on the reply packet. But, if regardless of the TTL value on the reply packet. But, if the
the originator is not at the end of the MS-PW, the receiver of the originator is not at the end of the MS-PW, the receiver of the echo
echo request MAY need to know how many hops away the originator of request MAY need to know how many hops away the originator of the
the echo request is so that it can set the TTL value on the MPLS echo request is so that it can set the TTL value on the MPLS header
header for the echo reply to be intercepted at the originator node. for the echo reply to be intercepted at the originator node.
In MPLS networks, for bidirectional co-routed LSPs, if it is desired In MPLS networks, for bidirectional co-routed LSPs, if it is desired
to verify connectivity from any intermediate node (LSR) on the LSP to to verify connectivity from any intermediate node (LSR) on the LSP to
the any other LSR on the LSP the receiver may need to know the TTL to the any other LSR on the LSP the receiver may need to know the TTL to
send the Echo reply with, so as the packet is intercepted by the send the Echo reply with, so as the packet is intercepted by the
originator node. originator node.
A new optional TTL TLV is being proposed in this document this TLV A new optional TTL TLV is being proposed in this document this TLV
will be added by the originator of the echo request to inform the will be added by the originator of the echo request to inform the
receiver how many hops away the originator is on the path of the MS- receiver how many hops away the originator is on the path of the MS-
PW or Bidirectional LSP. PW or Bidirectional LSP.
The scope of this TTL TLV is currently limited to MS-PW or The scope of this TTL TLV is currently limited to MS-PW or
Bidirectional co-routed MPLS LSPs. Bidirectional co-routed MPLS LSPs.
2. Terminology 2. Terminology
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 RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
LSR: Label Switching Router LSR: Label Switching Router
MPLS-OAM: MPLS Operations, Administration and Maintenance
MPLS-TP: MPLS Transport Profile MPLS-TP: MPLS Transport Profile
MS-PW: Multi-Segment PseudoWire MS-PW: Multi-Segment Pseudowire
PW: PseudoWire PW: Pseudowire
TLV: Type Length Value TLV: Type Length Value
TTL: Time To Live TTL: Time To Live
3. Time To Live TLV 3. Time To Live TLV
3.1. TTL TLV Format 3.1. TTL TLV Format
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 = TBD | Length = 8 | | Type = TBD | Length = 8 |
skipping to change at page 4, line 35 skipping to change at page 4, line 34
Flags Flags
The Flags field is a bit vector with the following format: The Flags field is a bit vector with the following format:
0 1 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MBZ |R| | MBZ |R|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
One flag is defined for now, the R bit; the rest MUST be set One flag is defined for now, the R flag; the rest of the
to zero when sending and ignored on receipt. flags are currently undefined and must be zero (MBZ) when
sending and ignored on receipt.
The R flag (Reply TTL) is set signify that the value is The R flag (Reply TTL) is set signify that the value is
meant to be used as the TTL for the reply packet. Other bits meant to be used as the TTL for the reply packet. Other bits
may be defined later to enhance the scope of this TLV. may be defined later to enhance the scope of this TLV.
3.2. Usage 3.2. Usage
This TLV shall be included in the echo request by the originator of This TLV shall be included in the echo request by the originator of
request. The use of this TLV is optional. If a receiver does not request. The use of this TLV is optional. If a receiver does not
understand the TTL TLV, it will simply ignore the TLV (Type value of understand the TTL TLV, it will simply ignore the TLV (Type value of
skipping to change at page 5, line 37 skipping to change at page 5, line 35
------Echo Request-----> ------Echo Request----->
<-----Echo Reply-------- <-----Echo Reply--------
Figure 2: Use-case with MS-PWs Figure 2: Use-case with MS-PWs
Let us assume a MS-PW going through LSRs A, B, C, D, and E. Let us assume a MS-PW going through LSRs A, B, C, D, and E.
Furthermore, assume that an operator wants to perform a connectivity Furthermore, assume that an operator wants to perform a connectivity
check between B and D from B. Thus, an LSP-Ping request with the TTL check between B and D from B. Thus, an LSP-Ping request with the TTL
TLV is originated from B and sent towards D. The echo request packet TLV is originated from B and sent towards D. The echo request packet
contains the FEC of the PW Segment between C and D. The value field contains the FEC of the PW Segment between C and D. The value field
of the TTL TLV and the TTL field of the MPLS label are set to 2. The of the TTL TLV and the TTL field of the MPLS label are set to 2, the
choice of the value 2 will be based on the operator input requesting
the echo request or from the optional LDP switching point TLV. The
echo request is intercepted at D because of TTL expiry. D detects the echo request is intercepted at D because of TTL expiry. D detects the
TTL TLV in the request, and use the TTL value (i.e., 2) specified in TTL TLV in the request, and use the TTL value (i.e., 2) specified in
the TLV on the MPLS label of the echo reply. The echo reply will be the TLV on the MPLS label of the echo reply. The echo reply will be
intercepted by B because of TTL expiry. intercepted by B because of TTL expiry.
The same operation will apply in the case a co-routed bidirectional The same operation will apply in the case a co-routed bidirectional
LSP and we want to check connectivity from an intermediate LSR B to LSP and we want to check connectivity from an intermediate LSR B to
another LSR D, from B. another LSR D, from B.
4.1. Traceroute mode 4.1. Traceroute mode
In the traceroute mode TTL value in the TLV is successively set to 1, In the traceroute mode TTL value in the TLV is successively set to 1,
2, and so on. This is similar to the TTL values used for the label 2, and so on. This is similar to the TTL values used for the label
set on the packet. set on the packet.
4.2. Error scenario 4.2. Error scenario
It is possible that the echo request packet was punted before the It is possible that the echo request packet was intercepted before
intended destination. This could be due network faults, the intended destination for reason other than label TTL expiry. This
misconfiguration or other reasons. In such cases, if the return TTL could be due network faults, misconfiguration or other reasons. In
is set to the value specified in the TTL TLV then the echo response such cases, if the return TTL is set to the value specified in the
packet will continue beyond the originating node. This becomes a TTL TLV then the echo response packet will continue beyond the
security issue. originating node. This becomes a security issue.
To prevent this issue, the TTL value used must be modified by To prevent this, the label TTL value used in the Echo Reply packet
deducting the incoming label TTL. If the echo request packet is must be modified by deducting the incoming label TTL on the received
punted before the incoming TTL is deducted, then another 1 must be packet from TTL TLV value. If the echo request packet is punted to
deducted. In other words: the CPU before the incoming label TTL is deducted, then another 1
must be deducted. In other words:
Return TTL Value = (TTL TLV Value)-(Incoming Label TTL) + 1 Return TTL Value on the Echo Reply packet = (TTL TLV Value)-(Incoming
Label TTL) + 1
5. Security Considerations 5. Security Considerations
This draft allows the setting of the TTL value in the MPLS Label of This draft allows the setting of the TTL value in the MPLS Label of
an echo reply, so that it can be intercepted by an intermediate an echo reply, so that it can be intercepted by an intermediate
device. This can cause a device to get a lot of LSP Ping packets device. This can cause a device to get a lot of LSP Ping packets
which get redirected to the CPU. which get redirected to the CPU.
However the same is possible even without the changes mentioned in However the same is possible even without the changes mentioned in
this document. A device should rate limit the LSP ping packets this document. A device should rate limit the LSP ping packets
redirected to the CPU so that the CPU is not overwhelmed. redirected to the CPU so that the CPU is not overwhelmed.
6. IANA Considerations 6. IANA Considerations
IANA is requested to assign TLV type value to the following TLV from IANA is requested to assign TLV type value to the following TLV from
the "Multiprotocol Label Switching Architecture (MPLS) Label Switched the "Multiprotocol Label Switching Architecture (MPLS) Label Switched
Paths (LSPs) Parameters - TLVs" registry, "TLVs and sub-TLVs" sub- Paths (LSPs) Parameters - TLVs" registry, "TLVs and sub-TLVs" sub-
registry. registry.
Time To Live TLV (See Section 3). The Suggested value is 32769 as Time To Live TLV (See Section 3). The value should be assigned from
suggested by RFC 4379 Section 3. the range (32768-49161) of optional TLV's which SHOULD be ignored if
an implementation does not support or understand them as defined in
section 3 of RFC 4379 [RFC4379].
7. Acknowledgements 7. Acknowledgements
The authors would like to thank Greg Mirsky for his comments. The authors would like to thank Greg Mirsky for his comments.
8. References 8. References
8.1 Normative References 8.1 Normative References
[1] K. Kompella, G. Swallow, "Detecting Multi-Protocol Label Switched [1] K. Kompella, G. Swallow, "Detecting Multi-Protocol Label Switched
(MPLS) Data Plane Failures", RFC 4379, February 2006. (MPLS) Data Plane Failures", RFC 4379, February 2006.
[2] T. Nadeau, et. al, "Pseudowire Virtual Circuit Connectivity [2] T. Nadeau, et. al, "Pseudowire Virtual Circuit Connectivity
 End of changes. 16 change blocks. 
31 lines changed or deleted 36 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/