Internet Engineering Task Force | N. Akiya |
Internet-Draft | G. Swallow |
Updates: 4379 (if approved) | C. Pignataro |
Intended status: Standards Track | Cisco Systems |
Expires: January 28, 2015 | L. Andersson |
M. Chen | |
Huawei | |
July 27, 2014 |
Label Switched Path (LSP) Ping/Traceroute Reply Mode Simplification
draft-akiya-mpls-lsp-ping-reply-mode-simple-03
The Multiprotocol Label Switching (MPLS) Label Switched Path (LSP) Ping and Traceroute use the Reply Mode field to signal the method to be used in the MPLS echo reply. This document adds one value to the Reply Mode field to indicate reverse LSP. This document also adds an optional TLV which can carry ordered list of Reply Mode values.
This document updates RFC4379.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 28, 2015.
Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
The MPLS LSP Ping, described in [RFC4379], allows an initiator to encode instructions (Reply Mode) on how a responder should send the response back to the initiator. [RFC7110] also allows the initiator to encode a TLV (Reply Path TLV) which can instruct the responder to use specific LSP to send the response back to the initiator. Both approaches are powerful as they provide the ability for the initiator to control the return path.
However, it is becoming increasingly difficult for an initiator to select a valid return path to encode in the MPLS LSP echo request packets. If the initiator does not select a valid return path, the MPLS LSP echo reply will not get back to the initiator. This results in a false failure of MPLS LSP Ping and Traceroute operation. In an effort to minimize such false failures, different implementations have chosen different default return path encoding for different LSP types and LSP operations. The problem with implementations having different default return path encoding is that the MPLS echo reply will not work in many cases, and the default value may not be the preferred choice by the operators.
This document further describes the problem in Section 2, and proposes a solution in Section 3 to minimizes false failure scenarios while accommodating operator preferences. Additionally, Appendix A provides examples of scenarios where the mechanism described in this document provides benefits.
It is becoming increasingly difficult for implementations to automatically supply a workable return path encoding for all MPLS LSP Ping and Traceroute operations across all LSP types. There are several factors which are contributing to this complication.
Except for the case where the responder node does not have an IP route back to the initiator, it is possible to use Reply Mode of value 2 (Reply via an IPv4/IPv6 UDP packet) in all cases. However, some operators are preferring control-channel and reverse LSP as default return path if they are available, which is not always the case.
When specific return path encoding is supplied by users or applications, then there are no issues in choosing the return path encoding. When specific return path encoding is not supplied by users or applications, then implementations use extra logic to compute, and sometimes guess, the default return path encodings. If a responder node receives an MPLS echo request containing return path instructions which cannot be accommodated due to unavailability, then the responder often drops such packets. This results in the initiator not receiving the MPLS LSP echo reply packets back. This consequence may be acceptable for failure cases (e.g., broken LSPs) where the MPLS echo request terminated on unintended target. However, the initiator not receiving back MPLS echo reply packets, even when the intended target received and verified the requests, is not desirable as false failures will be conveyed to users.
Many operators prefer some return path(s) over others for specific LSP types. To accommodate this, implementations may default to operator preferred return path (or allow default return path to be configured) for a specific operation. However, if the sender of MPLS echo request knew that preferred return path will not be available at the intended target node, then it is not very beneficial to use a Reply Mode corresponding to preferred return path (i.e., the sender of the MPLS echo request will not receive the MPLS echo reply in the successful case). What would be beneficial, for a given operation, is for the sender of the MPLS echo request to determine which return path(s) can and cannot be used ahead of time.
This document adds one Reply Mode value to describe the reverse LSP, and one optional TLV to describe an ordered list of reply modes. Based on operational needs, the TLV can describe multiple Reply Mode values in a preferred order to allow the responder to use the first available Reply Mode from the list. This eliminates the need for the initiator to compute, or sometimes guess, the default return path encoding. And that will result in simplified implementations across vendors, and result in improved usability to fit operational needs.
This document adds one reply mode to indicate reverse LSP, to be used by the MPLS LSP Ping and Traceroute. This document also adds an optional TLV which can carry ordered list of reply modes.
Some LSP types are capable of having related LSP in reverse direction, through signaling or other association mechanisms. Examples of such LSP types are RSVP LSPs and TP LSPs. This document uses the term "Reverse LSP" to refer to the LSP in reverse direction of such LSP types. Note that this document restricts the scope of "Reverse LSP" applicability to those reverse LSPs which are capable and allowed to carry the IP encapsulated MPLS echo reply.
This document adds one Reply Mode to be used by MPLS LSP Ping and Traceroute operations.
Value Meaning ----- ------- TBD1 Reply via reverse LSP
MPLS echo request with TBD1 (Reply via reverse LSP) in the Reply Mode field may be used to instruct responder to use reverse LSP to send MPLS echo reply. Reverse LSP is in relation to the last FEC specified in the Target FEC Stack TLV.
When a responder is using this Reply Mode, transmitting MPLS echo reply packet MUST use IP destination address of 127/8 for IPv4 and 0:0:0:0:0:FFFF:7F00/104 for IPv6.
This document also introduces a new optional TLV to describe list of Reply Mode values. The new TLV will contain one or more Reply Mode value(s) in preferred order. The first Reply Mode value is the most preferred and the last Reply Mode value is the least preferred. Following rules apply when using Reply Mode Order TLV.
The responding node is to select the first available return path in this TLV. Reply Mode value corresponding to selected return path MUST be set in Reply Mode field of MPLS echo reply to communicate back to the initiator which return path was chosen.
The format of the TLV is as follows:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reply Mode Order TLV Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reply mode 1 | Reply mode 2 | Reply mode 3 | Reply mode 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1 Reply Mode Order TLV
This is a variable length optional TLV. Each Reply Mode field is 1 octet.
[RFC7110] defines a new Reply Mode (5 - Reply via Specified Path). This Reply Mode specified in MPLS echo request indicates that MPLS echo reply be sent on one specific path described by the Reply Path TLV. The Flags field of the Reply Path TLV can indicate B (Bidirectional) bit to describe reverse direction of the tested bidirectional LSP. However, it is desired to have a new Reply Mode (TBD1 - Reply via reverse LSP) to indicate reverse direction of the tested bidirectional LSP without requiring to include additional TLV (i.e. Reply Path TLV). Therefore, a new Reply Mode (TBD1 - Reply via reverse LSP) has been added.
If the initiator was interested in encoding following return paths:
Then the MPLS echo request message is to carry:
Described encoding of the Reply Mode Order TLV and the Reply Path TLV in the MPLS echo request message will result in the responder to prefer "Reply via application level control channel (4)", followed by FEC X, FEC Y and then "Reply via an IPv4/IPv6 UDP packet (2)".
The mechanism defined in this document will work with Proxy LSP Ping defined by [I-D.ietf-mpls-proxy-lsp-ping]. MPLS proxy ping request can carry a Reply Mode value and the Reply Mode Order TLV with list of Reply Mode values. Proxy LSR MUST copy both Reply Mode value and the Reply Mode Order TLV into MPLS echo request. Proxy LSR, upon receiving MPLS echo reply, MUST copy Reply Mode value into MPLS proxy ping reply. With these procedures, Reply Mode used by the MPLS echo reply sender is propagated in the Reply Mode field to the sender of MPLS proxy ping request.
Beyond those specified in [RFC4379], there are no further security measures required.
IANA is requested to assign one reply modes from the "Reply Mode" sub-registry within the "Multiprotocol Label Switching Architecture (MPLS)" registry.
Value Meaning Reference ----- ------- --------- TBD1 Reply via reverse LSP this document
IANA is requested to assign a new TLV type value from the "TLVs" sub-registry within the "Multiprotocol Label Switching Architecture (MPLS)" registry, for the "Reply Mode Order TLV".
The new TLV Type value should be assigned from the range (32768-49161) specified in [RFC4379] section 3 that allows the TLV type to be silently dropped if not recognized.
Type Meaning Reference ---- ------- --------- TBD2 Reply Mode Order TLV this document
Authors would like to thank Santiago Alvarez and Faisal Iqbal for discussions which motivated creation of this document. Authors would also like to thank Sam Aldrin, Curtis Villamizar, Ross Callon, Jeffrey Zhang, Jeremy Whittaker and Mustapha Alissaoui for providing valuable comments to influence the contents of the draft.
Shaleen Saxena
Cisco Systems
Email: ssaxena@cisco.com
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC4379] | Kompella, K. and G. Swallow, "Detecting Multi-Protocol Label Switched (MPLS) Data Plane Failures", RFC 4379, February 2006. |
[I-D.ietf-mpls-proxy-lsp-ping] | Swallow, G., Lim, V. and S. Aldrin, "Proxy MPLS Echo Request", Internet-Draft draft-ietf-mpls-proxy-lsp-ping-02, July 2014. |
[RFC7110] | Chen, M., Cao, W., Ning, S., Jounay, F. and S. Delord, "Return Path Specified Label Switched Path (LSP) Ping", RFC 7110, January 2014. |
This section lists examples of how the Reply Mode Order TLV can benefit.
A network has a following LSP, and the LSP has a control channel.
A------B------C------D------E | | F Forward Paths: A-B-C-D-E Figure 2: Incorrect Forwarding
A network has a following bidirectional LSP where the forward LSP and the reverse LSP are not fully co-routed.
+----C------D----+ / \ A------B G------H \ / +----E------F----+ Forward Paths: A-B-C-D-G-H (upper path) Reverse Paths: H-G-F-E-B-A (lower path) Figure 3: Non-Co-Routed Bidirectional LSP
One can argue that the initiator can automatically generate a same MPLS echo request with different Reply Mode value to those nodes that timeout. However, such mechanism will result in extended time for the entire operation to complete (i.e. multiple seconds to multiple minutes). This is undesirable, and perhaps unacceptable if the "user" is an application.
With the extension described in this document, same procedures can be performed with the Reply Mode Order TLV carrying {TBD1, 2}. When LSP Traceroute is issued, then following output may be displayed without any unnecessary timeout.