draft-ietf-mpls-lsp-ping-ttl-tlv-07.txt   draft-ietf-mpls-lsp-ping-ttl-tlv-08.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: September 25, 2014 March 24, 2014 Expires: January 31, 2015 July 30, 2014
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-07.txt draft-ietf-mpls-lsp-ping-ttl-tlv-08.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) and/or bidirectional
path of the MS-PW. This document defines a TLV to address this co-routed LSP from any node on the path of the MS-PW and/or
shortcoming. bidirectional co-routed LSP. This document defines a TLV to address
this shortcoming.
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF 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), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as other groups may also distribute working documents as
Internet-Drafts. Internet-Drafts.
skipping to change at page 2, line 31 skipping to change at page 2, line 32
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Time To Live TLV . . . . . . . . . . . . . . . . . . . . . . . 4 3. Time To Live TLV . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. TTL TLV Format . . . . . . . . . . . . . . . . . . . . . . 4 3.1. TTL TLV Format . . . . . . . . . . . . . . . . . . . . . . 4
3.2. Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2. Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1. Traceroute mode . . . . . . . . . . . . . . . . . . . . . . 6 4.1. Traceroute mode . . . . . . . . . . . . . . . . . . . . . . 6
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 . . . . . . . . . . . . . . . . . . . . . 7
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7
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 may 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 MPLS Echo Request packet to any
any another node along the path of the MS-PW and receive the other node along the path of the MS-PW and receive the corresponding
corresponding echo reply. If the originator of the echo request is at MPLS Echo Reply. If the originator of the MPLS Echo Request is at the
the end of a MS-PW, the receiver of the request can send the reply end of a MS-PW, the receiver of the request can send the reply back
back to the sender without knowing the hop-count distance of the to the sender without knowing the hop-count distance of the
originator. The reply will be intercepted by the originator originator. The reply will be intercepted by the originator
regardless of the TTL value on the reply packet. But, if the regardless of the TTL value on the reply packet. But, if the
originator is not at the end of the MS-PW, the receiver of the echo originator is not at the end of the MS-PW, the receiver of the MPLS
request MAY need to know how many hops away the originator of the Echo Request MAY need to know how many hops away the originator of
echo request is so that it can set the TTL value on the MPLS header the MPLS Echo Request is so that it can set the TTL value on the MPLS
for the echo reply to be intercepted at the originator node. header for the MPLS 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 MPLS Echo Reply with, so as the packet is intercepted by the
originator node. originator node.
A new optional TTL TLV is defined in this document. This TLV will be A new optional TTL TLV is defined in this document. This TLV will be
added by the originator of the echo request to inform the receiver added by the originator of the MPLS Echo Request to inform the
how many hops away the originator is on the path of the MS-PW or receiver how many hops away the originator is on the path of the MS-
Bidirectional LSP. PW or Bidirectional LSP.
This mechanism only works if the echo reply is sent down the co- This mechanism only works if the MPLS Echo Reply is sent down the co-
routed LSP, hence the scope of this TTL TLV is currently limited to routed LSP, hence the scope of this TTL TLV is currently limited to
MS-PW or Bidirectional co-routed MPLS LSPs. The presence of the TLV MS-PW or Bidirectional co-routed MPLS LSPs. The presence of the TLV
implies the use of the return path of the co-routed LSP, if the implies the use of the return path of the co-routed LSP, if the
return path is any other mechanism then the TLV in the echo request return path is any other mechanism then the TLV in the MPLS Echo
MUST be ignored. Request MUST be ignored.
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-TP: MPLS Transport Profile MPLS-TP: MPLS Transport Profile
skipping to change at page 4, line 38 skipping to change at page 4, line 40
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 flag; the rest of the One flag is defined for now, the R flag; the rest of the
flags are currently undefined and must be zero (MBZ) when flags are currently undefined and MUST be zero (MBZ) when
sending and ignored on receipt. 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 MPLS Echo Request by the originator
request. The use of this TLV is optional. If a receiver does not of 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
TLV is assumed to be in the range of optional TLV's which SHOULD be TLV is assumed to be in the range of optional TLV's which SHOULD be
ignored if an implementation does not support or understand them). In ignored if an implementation does not support or understand them). In
the absence of TTL TLV or if TTL TLV is ignored by a receiver, the the absence of TTL TLV or if TTL TLV is ignored by a receiver, the
determination of the TTL value used in the MPLS label on the echo determination of the TTL value used in the MPLS label on the LSP-Ping
reply is beyond the scope of this document. echo reply is beyond the scope of this document.
If a receiver understands the TTL TLV, and the TTL TLV is present in If a receiver understands the TTL TLV, and the TTL TLV is present in
the echo request, and if the value field is zero, the LSP Ping Echo the MPLS Echo Request, and if the value field is zero, the LSP-Ping
request packet SHOULD be dropped. echo request packet SHOULD be dropped.
If a receiver understands the TTL TLV, and the TTL TLV is present in If a receiver understands the TTL TLV, and the TTL TLV is present in
the echo request, the receiver MUST use the TTL value specified in the MPLS Echo Request, the receiver MUST use the TTL value specified
TLV in the MPLS header of the echo reply. In other words, if the in TLV in the MPLS header of the MPLS Echo Reply. In other words, if
value of the TTL provided by this TLV does not match the TTL the value of the TTL provided by this TLV does not match the TTL
determined by other means, such as Switching Point TLV in MS-PW, then determined by other means, such as Switching Point TLV in MS-PW, then
TTL TLV must be used. This will aid the originator of the echo TTL TLV MUST be used. This will aid the originator of the LSP-Ping
request in analyzing the return path. echo request in analyzing the return path.
4. Operation 4. Operation
In this section, we explain a use case for the TTL TLV with an MPLS In this section, we explain a use case for the TTL TLV with an MPLS
MS-PW. MS-PW.
<------------------MS-PW ---------------------> <------------------MS-PW --------------------->
A B C D E A B C D E
o -------- o -------- o --------- o --------- o o -------- o -------- o --------- o --------- o
------Echo Request-----> ---MPLS Echo Request--->
<-----Echo Reply-------- <--MPLS 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 MPLS Echo 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 MPLS Echo Request
contains the FEC of the PW Segment between C and D. The value field packet contains the FEC of the PW Segment between C and D. The value
of the TTL TLV and the TTL field of the MPLS label are set to 2, the field of the TTL TLV and the TTL field of the MPLS label are set to
choice of the value 2 will be based on the operator input requesting 2, the choice of the value 2 will be based on the operator input
the echo request or from the optional LDP switching point TLV. The requesting the MPLS Echo Request or from the optional LDP switching
echo request is intercepted at D because of TTL expiry. D detects the point TLV. The MPLS Echo Request is intercepted at D because of TTL
TTL TLV in the request, and use the TTL value (i.e., 2) specified in expiry. D detects the TTL TLV in the request, and use the TTL value
the TLV on the MPLS label of the echo reply. The echo reply will be (i.e., 2) specified in the TLV on the MPLS label of the MPLS Echo
intercepted by B because of TTL expiry. Reply. The MPLS Echo Reply will be 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 intercepted before It is possible that the MPLS Echo Request packet was intercepted
the intended destination for reason other than label TTL expiry. This before the intended destination for reason other than label TTL
could be due network faults, misconfiguration or other reasons. In expiry. This could be due network faults, misconfiguration or other
such cases, if the return TTL is set to the value specified in the reasons. In such cases, if the return TTL is set to the value
TTL TLV then the echo response packet will continue beyond the specified in the TTL TLV then the echo response packet will continue
originating node. This becomes a security issue. beyond the originating node. This becomes a security issue.
To prevent this, the label TTL value used in the Echo Reply packet To prevent this, the label TTL value used in the MPLS Echo Reply
must be modified by deducting the incoming label TTL on the received packet MUST be modified by deducting the incoming label TTL on the
packet from TTL TLV value. If the echo request packet is punted to received packet from TTL TLV value. If the MPLS Echo Request packet
the CPU before the incoming label TTL is deducted, then another 1 is punted to the CPU before the incoming label TTL is deducted, then
must be deducted. In other words: another 1 MUST be deducted. In other words:
Return TTL Value on the Echo Reply packet = (TTL TLV Value)-(Incoming Return TTL Value on the MPLS Echo Reply packet = (TTL TLV Value)-
Label TTL) + 1 (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 MPLS 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.
The recommendation in [RFC4379] security section applies, to check The recommendation in [RFC4379] security section applies, to check
the source address of the MPLS echo request, however the source the source address of the MPLS Echo Request, however the source
address can now be any node along the LSP path. address can now be any node along the LSP path.
A faulty transit node changing the TTL TLV value could make the wrong A faulty transit node changing the TTL TLV value could make the wrong
node reply to the MPLS echo request, and/or the wrong node to receive node reply to the MPLS Echo Request, and/or the wrong node to receive
the MPLS echo reply. An LSP trace may help identify the faulty the MPLS Echo Reply. An LSP trace may help identify the faulty
transit node. transit node.
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 value must be assigned from the Time To Live TLV (See Section 3). The value MUST be assigned from the
range (32768-49161) of optional TLVs. range (32768-49161) of optional TLVs.
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
 End of changes. 26 change blocks. 
64 lines changed or deleted 68 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/