Internet-Draft RAO-less LSP Ping August 2023
Kompella, et al. Expires 15 February 2024 [Page]
Workgroup:
MPLS WG
Internet-Draft:
draft-ietf-mpls-lspping-norao-02
Updates:
7506, 8029 (if approved)
Published:
Intended Status:
Standards Track
Expires:
Authors:
K. Kompella
Juniper Networks
R. Bonica
Juniper Networks
G. Mirsky, Ed.
Ericsson

Deprecating the Use of Router Alert in LSP Ping

Abstract

The echo request and echo response messages, defined in RFC 8029 "Detecting Multiprotocol Label Switched (MPLS) Data-Plane Failures" (aka LSP ping messages), are encapsulated in IP headers that include a Router Alert Option (RAO). The rationale for having an RAO is questionable. Furthermore, RFC 6398 identifies security vulnerabilities associated with the RAO.

Therefore, this document removes the RAO from LSP ping message encapsulations. It updates RFCs 7506 and 8029.

This document also recommends the use of an IPv6 loopback address (::1/128) and discourages the use of an IPv4 loopback address mapped to IPv6.

Status of This Memo

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 https://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 15 February 2024.

Table of Contents

1. Introduction

RFC 8029 - "Detecting Multiprotocol Label Switched (MPLS) Data-Plane Failures" (aka LSP Ping) [RFC8029] detects data-plane failures in MPLS Label Switched Paths (LSPs). It can operate in “ping mode” or “traceroute mode”. When operating in ping mode, it verifies end-to- end LSP continuity. When operating in traceroute mode, it can localize failures to a particular node along an LSP.

The reader is assumed be familiar with [RFC8029] and its terminology.

LSP ping defines a probe message, called the “MPLS echo request”. It also defines a response message, called the “MPLS echo reply”. Both messages are encapsulated in UDP and IP. The echo request message is further encapsulated in an MPLS label stack.

When operating in ping mode, LSP ping sends a single echo request message, with the MPLS TTL set to a high value (e.g., 255). This message is intended to reach the egress Label Switching Router (LSR). When operating in traceroute mode, MPLS ping sends multiple echo request messages. It manipulates the MPLS TTL so that the first message expires on the first LSR along the path and subsequent messages expire on subsequent LSRs.

The IP header that encapsulates an echo request message must include a Router Alert Option (RAO), while the IP header that encapsulates an echo reply message may include an RAO. In both cases, the rationale for including an RAO is questionable. Furthermore, [RFC6398] identifies security vulnerabilities associated with the RAO and recommends against its use outside of controlled environments.

Therefore, this document removes the RAO from both LSP ping message encapsulations. It updates RFCs 7506 [RFC7506] and 8029.

1.1. Terminology

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

LSP:
Label Switched Path
LSR:
Label Switching Router
RAO:
Router Alert Option

2. Router Alert for LSP Ping (RFC 8029)

2.1. Echo Request

While the MPLS echo request message must traverse every node in the LSP under test, it must not traverse any other node. Specifically, the message must not be forwarded beyond the egress Label Switching Router (LSR).

To achieve this, RFC 8029 proposes the following:

  1. When the echo request message is encapsulated in IPv4, the IPv4 destination address must be chosen from the subnet 127/8. When the echo request message is encapsulated in IPv6, the IPv6 destination address must be chosen from the subnet 0:0:0:0:0:FFFF:7F00:0/104.
  2. When the echo request message is encapsulated in IPv4, the IPv4 TTL must be equal to 1. When the echo request message is encapsulated in IPv6, the IPv6 Hop Limit must be equal to 1. For further information on the encoding of the TTL/Hop Limit in an echo request message see Section 4.3 of [RFC8029].
  3. When the echo request message is encapsulated in IPv4, the IPv4 header must include an RAO. When the echo request message is encapsulated in IPv6, the IPv6 header chain must include a Hop-by-hop extension header and the Hop-by-hop extension header must include an RAO.

Currently, ALL of these are required. However, any one is sufficient to prevent forwarding the packet beyond the egress LSR.

Therefore, this document changes RFC 8029 in that Requirement 3 is removed.

The authors are not aware of any implementation that relies on the RAO to prevent packets from being forwarded beyond the egress LSR.

2.2. Echo Reply

An LSP ping replies to the MPLS echo message with an MPLS echo reply message. It has four reply modes:

  1. Do not reply
  2. Reply via an IPv4/IPv6 UDP packet
  3. Reply via an IPv4/IPv6 UDP packet with Router Alert
  4. Reply via application-level control channel

The rationale for mode 3 is questionable, if not wholly misguided. According to RFC 8029, “If the normal IP return path is deemed unreliable, one may use 3 (Reply via an IPv4/IPv6 UDP packet with Router Alert).”

However, it is not clear that the use of the RAO increases the reliability of the return path. In fact, one can argue it decreases the reliability in many instances, due to the additional burden of processing the RAO. This document changes RGC 8020 in that mode 3 are removed.

The authors are not aware of any implementations of mode 3.

3. Update to RFC 7506

RFC 7506 defines the IPv6 Router Alert Option for MPLS Operations, Administration, and Management. This document reclassifies RFC 7506 as Historic.

4. Update to RFC 8029

[RFC8029] requires that the IPv6 Destination Address used in IP/UDP encapsulation of an echo request packet is selected from the IPv4 loopback address range mapped to IPv6. Such packets do not have the same behavior as prescribed in[RFC1122] for an IPv4 loopback addressed packet.

[RFC4291] defines ::1/128 as the single IPv6 loopback address. Considering that this specification updates section 2.1 of [RFC8029] regarding the selection of an IPv6 destination address for an echo request message:

LSP Ping implementations SHOULD ignore RAO options when they arrive on incoming echo request and echo reply messages.

5. Backwards Compatibility

LSP Ping implementations SHOULD ignore RAO options when they arrive on incoming echo request and echo reply messages.

This document requests that the IPv6 RAO value for MPLS OAM (69) in [IANA-IPV6-RAO] is marked as "Deprecated". It also requests tha that Reply Mode 3 ("Reply via an IPv4/IPv6 UDP packet with Router Alert") in [IANA-LSP-PING] is marked as "Deprecated".

We interpret "DEPRECATED" in this context to mean that the deprecated values should not be used in new implementations, and that deployed implementations that use these values continue to work seamlessly.

6. IANA Considerations

If this document is approved, mark the IPv6 RAO value of MPLS OAM (69) in [IANA-IPV6-RAO] as “Deprecated”. [RFC8126] offers a formal description of the word "Deprecated".

Also, mark Reply Mode 3 (“Reply via an IPv4/IPv6 UDP packet with Router Alert”) in [IANA-LSP-PING] as “Deprecated”.

7. Security Considerations

The recommendations this document makes do not compromise security.

8. Normative References

[IANA-IPV6-RAO]
IANA, "IPv6 Router Alert Option Values", n.d., <https://www.iana.org/assignments/ipv6-routeralert-values>.
[IANA-LSP-PING]
IANA, "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters", n.d., <https://www.iana.org/assignments/mpls-lsp-ping-parameters/mpls-lsp-ping-parameters.xml>.
[RFC1122]
Braden, R., Ed., "Requirements for Internet Hosts - Communication Layers", STD 3, RFC 1122, DOI 10.17487/RFC1122, , <https://www.rfc-editor.org/info/rfc1122>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC4291]
Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, DOI 10.17487/RFC4291, , <https://www.rfc-editor.org/info/rfc4291>.
[RFC6398]
Le Faucheur, F., Ed., "IP Router Alert Considerations and Usage", BCP 168, RFC 6398, DOI 10.17487/RFC6398, , <https://www.rfc-editor.org/info/rfc6398>.
[RFC7506]
Raza, K., Akiya, N., and C. Pignataro, "IPv6 Router Alert Option for MPLS Operations, Administration, and Maintenance (OAM)", RFC 7506, DOI 10.17487/RFC7506, , <https://www.rfc-editor.org/info/rfc7506>.
[RFC8029]
Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., Aldrin, S., and M. Chen, "Detecting Multiprotocol Label Switched (MPLS) Data-Plane Failures", RFC 8029, DOI 10.17487/RFC8029, , <https://www.rfc-editor.org/info/rfc8029>.
[RFC8126]
Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, , <https://www.rfc-editor.org/info/rfc8126>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.

Authors' Addresses

Kireeti Kompella
Juniper Networks
1133 Innovation Way
Sunnyvale, CA 94089
United States
Ron Bonica
Juniper Networks
1133 Innovation Way
Sunnyvale, CA 94089
United States
Greg Mirsky (editor)
Ericsson