| rfc9570.original.xml | rfc9570.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
| <!DOCTYPE rfc [ | <!DOCTYPE rfc [ | |||
| <!ENTITY nbsp " "> | <!ENTITY nbsp " "> | |||
| <!ENTITY zwsp "​"> | <!ENTITY zwsp "​"> | |||
| <!ENTITY nbhy "‑"> | <!ENTITY nbhy "‑"> | |||
| <!ENTITY wj "⁠"> | <!ENTITY wj "⁠"> | |||
| ]> | ]> | |||
| <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ie | |||
| <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.5.6 --> | tf-mpls-lspping-norao-08" number="9570" consensus="true" ipr="trust200902" updat | |||
| <?rfc toc="yes"?> | es="8029" obsoletes="" submissionType="IETF" xml:lang="en" tocInclude="true" sor | |||
| <?rfc sortrefs="yes"?> | tRefs="true" symRefs="true" version="3"> | |||
| <?rfc symrefs="yes"?> | ||||
| <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ie | ||||
| tf-mpls-lspping-norao-08" ipr="trust200902" updates="8029" obsoletes="" submissi | ||||
| onType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" ver | ||||
| sion="3"> | ||||
| <!-- xml2rfc v2v3 conversion 3.18.0 --> | ||||
| <front> | <front> | |||
| <title abbrev="RAO-less Label Switched Path (LSP) Ping">Deprecating the Use of Router Alert in LSP Ping</title> | <title abbrev="RAO-less Label Switched Path (LSP) Ping">Deprecating the Use of Router Alert in LSP Ping</title> | |||
| <seriesInfo name="Internet-Draft" value="draft-ietf-mpls-lspping-norao-08"/> | <seriesInfo name="RFC" value="9570"/> | |||
| <author fullname="Kireeti Kompella" initials="K." surname="Kompella"> | <author fullname="Kireeti Kompella" initials="K." surname="Kompella"> | |||
| <organization>Juniper Networks</organization> | <organization>Juniper Networks</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>1133 Innovation Way</street> | <street>1133 Innovation Way</street> | |||
| <city>Sunnyvale</city> | <city>Sunnyvale</city> | |||
| <region>CA</region> | <region>CA</region> | |||
| <code>94089</code> | <code>94089</code> | |||
| <country>United States</country> | <country>United States of America</country> | |||
| </postal> | </postal> | |||
| <email>kireeti.ietf@gmail.com</email> | <email>kireeti.ietf@gmail.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Ron Bonica" initials="R." surname="Bonica"> | <author fullname="Ron Bonica" initials="R." surname="Bonica"> | |||
| <organization>Juniper Networks</organization> | <organization>Juniper Networks</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>1133 Innovation Way</street> | <street>1133 Innovation Way</street> | |||
| <city>Sunnyvale</city> | <city>Sunnyvale</city> | |||
| <region>CA</region> | <region>CA</region> | |||
| <code>94089</code> | <code>94089</code> | |||
| <country>United States</country> | <country>United States of America</country> | |||
| </postal> | </postal> | |||
| <email>rbonica@juniper.net</email> | <email>rbonica@juniper.net</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Greg Mirsky" initials="G." surname="Mirsky" role="editor"> | <author fullname="Greg Mirsky" initials="G." surname="Mirsky" role="editor"> | |||
| <organization>Ericsson</organization> | <organization>Ericsson</organization> | |||
| <address> | <address> | |||
| <email>gregimirsky@gmail.com</email> | <email>gregimirsky@gmail.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date year="2024"/> | <date year="2024" month="May"/> | |||
| <area>Routing</area> | ||||
| <workgroup>MPLS WG</workgroup> | <area>RTG</area> | |||
| <keyword>LSP ping, router alert</keyword> | <workgroup>mpls</workgroup> | |||
| <keyword>LSP ping</keyword> | ||||
| <keyword>router alert</keyword> | ||||
| <abstract> | <abstract> | |||
| <t>The MPLS echo request and MPLS echo response messages, defined in RFC 8 | <t>The MPLS echo request and MPLS echo response messages, defined in RFC | |||
| 029 "Detecting | 8029, "Detecting Multiprotocol Label Switched (MPLS) Data-Plane | |||
| Multiprotocol Label Switched (MPLS) Data-Plane Failures" (usually referred to | Failures" (usually referred to as LSP ping), are encapsulated in IP | |||
| as LSP | packets with headers that include a Router Alert Option (RAO). In actual | |||
| ping messages), are encapsulated in IP whose headers | deployments, the RAO was neither required nor used. Furthermore, RFC | |||
| include a Router Alert Option (RAO). In actual deployments, the RAO was neithe | 6398 identifies security vulnerabilities associated with the RAO in | |||
| r required nor used. | non-controlled environments, e.g., the case of using the MPLS echo | |||
| Furthermore, RFC 6398 identifies security | request/reply as inter-area Operations, Administration, and Maintenance | |||
| vulnerabilities associated with the RAO in non-controlled environments, e.g., | (OAM), and recommends against its use outside of controlled | |||
| the case of | environments.</t> | |||
| using the MPLS echo request/reply as inter-area Operations, Administration, a | <t>Therefore, this document retires the RAO for MPLS OAM and updates RFC | |||
| nd Maintenance (OAM), | 8029 to remove the RAO from LSP ping message | |||
| and recommends against its use outside of controlled environments.</t> | encapsulations. Furthermore, this document explains why RFC 7506 has | |||
| <t>Therefore, this document retires the RAO for MPLS OAM and updates RFC 8 | been reclassified as Historic.</t> | |||
| 029 to remove the RAO from LSP | <t>Also, this document recommends the use of an IPv6 loopback address | |||
| ping message encapsulations. Furthermore, this document explains why RFC 7506 | (::1/128) as the IPv6 destination address for an MPLS echo request | |||
| has been reclassified as Historic.</t> | message.</t> | |||
| <t>Also, the use of an IPv6 loopback address | ||||
| (::1/128) as the IPv6 destination address for an MPLS echo request message | ||||
| is RECOMMENDED. <!-- and not the use of an IPv4 loopback address mapped to | ||||
| IPv6. --></t> | ||||
| </abstract> | </abstract> | |||
| </front> | </front> | |||
| <middle> | <middle> | |||
| <section anchor="rfc-editor-note" numbered="true" toc="default"> | ||||
| <name>Note for the RFC Editor</name> | ||||
| <t> | ||||
| Per IESG decision, this document MUST be processed only after the status | ||||
| of RFC 7506 is changed to Historical. This note must be removed before the | ||||
| publication. | ||||
| </t> | ||||
| </section> | ||||
| <section anchor="introduction" numbered="true" toc="default"> | <section anchor="introduction" numbered="true" toc="default"> | |||
| <name>Introduction</name> | <name>Introduction</name> | |||
| <t>RFC 8029 - "Detecting Multiprotocol Label Switched (MPLS) Data-Plane | <t>"Detecting Multiprotocol Label Switched (MPLS) Data-Plane | |||
| Failures" (usually referred to as LSP Ping) <xref target="RFC8029" format="def | Failures" (usually referred to as LSP ping) <xref target="RFC8029" format="def | |||
| ault"/> detects data-plane failures in | ault"/> detects data plane failures in | |||
| MPLS Label Switched Paths (LSPs). It can operate in "ping mode" or | MPLS Label Switched Paths (LSPs). It can operate in "ping mode" or | |||
| "traceroute mode". When operating in ping mode, it checks LSP connectivity. | "traceroute mode." When operating in ping mode, it checks LSP connectivity. | |||
| When operating in traceroute mode, it can trace an LSP | When operating in traceroute mode, it can trace an LSP | |||
| and localize failures to a particular node along an LSP.</t> | and localize failures to a particular node along an LSP.</t> | |||
| <t>The reader is assumed be familiar with <xref target="RFC8029" format="d efault"/> and its terminology.</t> | <t>The reader is assumed be familiar with <xref target="RFC8029" format="d efault"/> and its terminology.</t> | |||
| <t>LSP ping defines a probe message called the "MPLS echo | <t>LSP ping defines a probe message called the "MPLS echo | |||
| request". It also defines a response message called the | request." It also defines a response message called the | |||
| "MPLS echo reply". Both messages are encapsulated in UDP and | "MPLS echo reply." Both messages are encapsulated in UDP and | |||
| IP. The MPLS echo request message is further encapsulated in an MPLS label | IP. The MPLS echo request message is further encapsulated in an MPLS label | |||
| stack, except when all of the Forwarding Equivalency Classes in the | stack, except when all of the Forwarding Equivalency Classes in the | |||
| stack correspond to Implicit Null labels.</t> | stack correspond to Implicit Null labels.</t> | |||
| <t>When operating in ping mode, LSP ping sends a single MPLS echo request | <t>When operating in ping mode, LSP ping sends a single MPLS echo request | |||
| message, with the MPLS TTL set to 255. This message | message, with the MPLS TTL set to 255. This message | |||
| is intended to reach the egress Label Switching Router (LSR). When | is intended to reach the egress Label Switching Router (LSR). When | |||
| operating in traceroute mode, MPLS ping sends multiple MPLS echo request | operating in traceroute mode, MPLS ping sends multiple MPLS echo request | |||
| messages as defined in Section 4.3 of <xref target="RFC8029" format="defau lt"/>. | messages as defined in <xref target="RFC8029" format="default" section="4. 3"/>. | |||
| It manipulates the MPLS TTL so that the first message expires | It manipulates the MPLS TTL so that the first message expires | |||
| on the first LSR along the path and subsequent messages expire on | on the first LSR along the path, and subsequent messages expire on | |||
| subsequent LSRs.</t> | subsequent LSRs.</t> | |||
| <t>According to <xref target="RFC8029"/>, the IP header that encapsulates an MPLS echo | <t>According to <xref target="RFC8029"/>, the IP header that encapsulates an MPLS echo | |||
| request message must include a Router Alert Option (RAO). Furthermore, | request message must include a Router Alert Option (RAO). Furthermore, | |||
| <xref target="RFC8029"/> also says that the IP header that encapsulates an MP LS echo | <xref target="RFC8029"/> also says that the IP header that encapsulates an MP LS echo | |||
| reply message must include an RAO if the value of the Reply Mode in | reply message must include an RAO if the value of the Reply Mode in | |||
| the corresponding MPLS echo request message is "Reply via an | the corresponding MPLS echo request message is "Reply via an | |||
| IPv4/IPv6 UDP packet with Router Alert". This document explains why RAO was n ot needed in both cases. | IPv4/IPv6 UDP packet with Router Alert." This document explains why an RAO wa s not needed in both cases. | |||
| Furthermore, <xref target="RFC6398" format="default"/> | Furthermore, <xref target="RFC6398" format="default"/> | |||
| identifies security vulnerabilities associated with the RAO in non-control led environments, e.g., the case of | identifies security vulnerabilities associated with the RAO in non-control led environments, e.g., the case of | |||
| using the MPLS echo request/reply as inter-domain OAM over the public Interne t, and recommends against its use outside of controlled | using the MPLS echo request/reply as inter-domain OAM over the public Interne t, and recommends against its use outside of controlled | |||
| environments, e.g., outside a single administrative domain.</t> | environments, e.g., outside a single administrative domain.</t> | |||
| <t>Therefore, this document updates RFC 8029 <xref target="RFC8029"/> to r | ||||
| etire the RAO from both | <t>Therefore, this document updates RFC 8029 <xref target="RFC8029"/> to retire | |||
| the RAO from both | ||||
| LSP ping message encapsulations and explains why RFC 7506 <xref target="RFC75 06"/> has been reclassified as Historic.</t> | LSP ping message encapsulations and explains why RFC 7506 <xref target="RFC75 06"/> has been reclassified as Historic.</t> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Requirements Language</name> | <name>Requirements Language</name> | |||
| <t> | <t> | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
| NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14> | |||
| "MAY", and "OPTIONAL" in this document are to be interpreted as | ", | |||
| described in BCP 14 <xref target="RFC2119" format="default"/> <xref target="R | "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | |||
| FC8174" format="default"/> | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
| when, and only when, they appear in all capitals, as shown here. | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | |||
| be | ||||
| interpreted as described in BCP 14 <xref target="RFC2119"/> <xref | ||||
| target="RFC8174"/> when, and only when, they appear in all capitals, as | ||||
| shown here. | ||||
| </t> | </t> | |||
| </section> | </section> | |||
| <!-- | ||||
| <section anchor="terminology" numbered="true" toc="default"> | ||||
| <name>Terminology</name> | ||||
| <dl newline="false" spacing="normal"> | ||||
| <dt>LSP:</dt> | ||||
| <dd>Label Switched Path</dd> | ||||
| <dt>LSR:</dt> | ||||
| <dd>Label Switching Router</dd> | ||||
| <dt>RAO:</dt> | ||||
| <dd>Router Alert Option</dd> | ||||
| </dl> | ||||
| </section> | ||||
| --> | ||||
| </section> | </section> | |||
| <section anchor="router-alert-for-lsp-ping-rfc-8029" numbered="true" toc="de fault"> | <section anchor="router-alert-for-lsp-ping-rfc-8029" numbered="true" toc="de fault"> | |||
| <name>Router Alert for LSP Ping (RFC 8029)</name> | <name>Router Alert for LSP Ping (RFC 8029)</name> | |||
| <section anchor="echo-request" numbered="true" toc="default"> | <section anchor="echo-request" numbered="true" toc="default"> | |||
| <name>MPLS Echo Request</name> | <name>MPLS Echo Request</name> | |||
| <t>While the MPLS echo request message must traverse every node in the | <t>While the MPLS echo request message must traverse every node in the | |||
| LSP under test, it must not traverse any other node. Specifically, the | LSP under test, it must not traverse any other nodes. Specifically, the | |||
| message must not be forwarded beyond the egress Label Switching Router | message must not be forwarded beyond the egress Label Switching Router | |||
| (LSR). To achieve this, a set of the mechanisms that are used concurrent ly | (LSR). To achieve this, a set of the mechanisms that are used concurrent ly | |||
| to prevent leaking MPLS echo request messages has been defined in <xref target="RFC8029" format="default"/>:</t> | to prevent leaking MPLS echo request messages has been defined in <xref target="RFC8029" format="default"/>:</t> | |||
| <ol spacing="normal" type="1"><li>When the MPLS echo request message is | <ol spacing="normal" type="1"> | |||
| encapsulated in IPv4, the IPv4 | <li>When the MPLS echo request message is encapsulated in IPv4, the IPv | |||
| 4 | ||||
| destination address must be chosen from the subnet 127/8. When the | destination address must be chosen from the subnet 127/8. When the | |||
| MPLS echo request message is encapsulated in IPv6, the IPv6 destinat ion | MPLS echo request message is encapsulated in IPv6, the IPv6 destinat ion | |||
| address must be chosen from the subnet | address must be chosen from the subnet | |||
| 0:0:0:0:0:FFFF:7F00:0/104.</li> | 0:0:0:0:0:FFFF:7F00:0/104.</li> | |||
| <li>When the MPLS echo request message is encapsulated in IPv4, the IP v4 | <li>When the MPLS echo request message is encapsulated in IPv4, the IP v4 | |||
| TTL must be equal to 1. When the MPLS echo request message is | TTL must be equal to 1. When the MPLS echo request message is | |||
| encapsulated in IPv6, the IPv6 Hop Limit must be equal to 1. | 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 | For further information on the encoding of the TTL / Hop Limit in an | |||
| MPLS echo request message, see Section 4.3 of <xref target="RFC8029" for | MPLS echo request message, see <xref target="RFC8029" format="default" s | |||
| mat="default"/>.</li> | ection="4.3"/>.</li> | |||
| <li>When the MPLS echo request message is encapsulated in IPv4, the IP v4 | <li>When the MPLS echo request message is encapsulated in IPv4, the IP v4 | |||
| header must include an RAO with the option value set to "Router shal l examine packet" <xref target="RFC2113" format="default"/>. | header must include an RAO with the option value set to "Router shal l examine packet" <xref target="RFC2113" format="default"/>. | |||
| When the MPLS echo request message is | When the MPLS echo request message is | |||
| encapsulated in IPv6, the IPv6 header chain must include a | encapsulated in IPv6, the IPv6 header chain must include a | |||
| Hop-by-hop extension header and the Hop-by-hop extension header | hop-by-hop extension header and the hop-by-hop extension header | |||
| must include an RAO with the option value set to MPLS OAM <xref targ et="RFC7506" format="default"/>.</li> | must include an RAO with the option value set to MPLS OAM <xref targ et="RFC7506" format="default"/>.</li> | |||
| </ol> | </ol> | |||
| <t>Currently, all of these are required. However, any one is | <t>Currently, all of these are required. However, any one is | |||
| sufficient to prevent forwarding the packet beyond the egress LSR.</t> | sufficient to prevent forwarding the packet beyond the egress LSR.</t> | |||
| <t>Therefore, this document updates RFC 8029 <xref target="RFC8029"/> in that Requirement 3 is | <t>Therefore, this document updates RFC 8029 <xref target="RFC8029"/> in that Requirement 3 is | |||
| removed.</t> | removed.</t> | |||
| <t>No implementation that relies on the RAO to prevent packets from bein g | <t>No implementation that relies on the RAO to prevent packets from bein g | |||
| forwarded beyond the egress LSR have been reported to the MPLS working group. </t> | forwarded beyond the egress LSR has been reported to the MPLS Working Group.< /t> | |||
| </section> | </section> | |||
| <section anchor="echo-reply" numbered="true" toc="default"> | <section anchor="echo-reply" numbered="true" toc="default"> | |||
| <name>MPLS Echo Reply</name> | <name>MPLS Echo Reply</name> | |||
| <t>An LSP ping replies to the MPLS echo request message with an MPLS ech o | <t>An LSP ping replies to the MPLS echo request message with an MPLS ech o | |||
| reply message. Four reply modes are defined in <xref target="RFC8029" fo rmat="default"/>:</t> | reply message. Four reply modes are defined in <xref target="RFC8029" fo rmat="default"/>:</t> | |||
| <ol spacing="normal" type="1"><li>Do not reply</li> | <ol spacing="normal" type="1"><li>Do not reply</li> | |||
| <li>Reply via an IPv4/IPv6 UDP packet</li> | <li>Reply via an IPv4/IPv6 UDP packet</li> | |||
| <li>Reply via an IPv4/IPv6 UDP packet with Router Alert</li> | <li>Reply via an IPv4/IPv6 UDP packet with Router Alert</li> | |||
| <li>Reply via application-level control channel</li> | <li>Reply via application-level control channel</li> | |||
| </ol> | </ol> | |||
| <t>The rationale for mode 3 is questionable, if not wholly misguided. | <t>The rationale for mode 3 is questionable, if not wholly misguided. | |||
| According to RFC 8029 <xref target="RFC8029"/>, "If the normal IP return path is deemed | According to RFC 8029 <xref target="RFC8029"/>, "If the normal IP return path is deemed | |||
| unreliable, one may use 3 (Reply via an IPv4/IPv6 UDP packet with | unreliable, one may use 3 (Reply via an IPv4/IPv6 UDP packet with | |||
| Router Alert)."</t> | Router Alert)."</t> | |||
| <t>However, it is not clear that the use of the RAO increases the | <t>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 | reliability of the return path. In fact, one can argue it decreases | |||
| the reliability in many instances, due to the additional burden of | the reliability in many instances, due to the additional burden of | |||
| processing the RAO. This document updates RFC 8029 <xref target="RFC8029 "/> in that mode 3 is removed.</t> | processing the RAO. This document updates RFC 8029 <xref target="RFC8029 "/> in that mode 3 is removed.</t> | |||
| <t>No implementations of mode 3 have been reported to the MPLS working g roup.</t> | <t>No implementations of mode 3 have been reported to the MPLS Working G roup.</t> | |||
| <t/> | <t/> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="update-to-rfc-7506" numbered="true" toc="default"> | <section anchor="update-to-rfc-7506" numbered="true" toc="default"> | |||
| <name>Reclassification of RFC 7506 as Historic</name> | <name>Reclassification of RFC 7506 as Historic</name> | |||
| <t>RFC 7506 <xref target="RFC7506"/> defines the IPv6 Router Alert Option for MPLS Operations, | <t>RFC 7506 <xref target="RFC7506"/> defines the IPv6 Router Alert Option for MPLS Operations, | |||
| Administration, and Management. This document explains why RFC 7506 <xref target="RFC7506"/> has been reclassified as | Administration, and Maintenance. This document explains why RFC 7506 <xref target="RFC7506"/> has been reclassified as | |||
| Historic.</t> | Historic.</t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Update to RFC 8029</name> | <name>Update to RFC 8029</name> | |||
| <t><xref target="RFC8029" format="default"/> requires that the IPv6 Destin ation Address | <t><xref target="RFC8029" format="default"/> requires that the IPv6 Destin ation Address | |||
| used in IP/UDP encapsulation of an MPLS echo request packet is selected fr om | used in IP/UDP encapsulation of an MPLS echo request packet be selected fr om | |||
| the IPv4 loopback address range mapped to IPv6. Such packets do not have | the IPv4 loopback address range mapped to IPv6. Such packets do not have | |||
| the same behavior as prescribed in <xref target="RFC1122" format="default" /> for an IPv4 | the same behavior as prescribed in <xref target="RFC1122" format="default" /> for an IPv4 | |||
| loopback addressed packet.</t> | loopback addressed packet.</t> | |||
| <t><xref target="RFC4291" format="default"/> defines ::1/128 as the single IPv6 loopback | <t><xref target="RFC4291" format="default"/> defines ::1/128 as the single IPv6 loopback | |||
| address. Considering that, this specification updates Section 2.1 of | address. Considering that, this specification updates <xref target="RFC802 | |||
| <xref target="RFC8029" format="default"/> regarding the selection of an IP | 9" section="2.1" sectionFormat="of" format="default"/> regarding the selection o | |||
| v6 destination | f an IPv6 destination | |||
| address for an MPLS echo request message as follows:</t> | address for an MPLS echo request message as follows:</t> | |||
| <t>OLD</t> | ||||
| <t>OLD:</t> | ||||
| <blockquote> | ||||
| <t>The 127/8 range for IPv4 and that same range embedded in an | <t>The 127/8 range for IPv4 and that same range embedded in an | |||
| IPv4-mapped IPv6 address for IPv6 was chosen for a number of reasons.</t> | IPv4-mapped IPv6 address for IPv6 was chosen for a number of reasons.</t> | |||
| <t>RFC 1122 allocates the 127/8 as the "Internal host loopback address" | <t>RFC 1122 allocates the 127/8 as the "Internal host loopback address" | |||
| and states: "Addresses of this form MUST NOT appear outside a host." | and states: "Addresses of this form <bcp14>MUST NOT</bcp14> appear outside a host." | |||
| Thus, the default behavior of hosts is to discard such packets. This | Thus, the default behavior of hosts is to discard such packets. This | |||
| helps to ensure that if a diagnostic packet is misdirected to a host, | helps to ensure that if a diagnostic packet is misdirected to a host, | |||
| it will be silently discarded.</t> | it will be silently discarded.</t> | |||
| <t>RFC 1812 <xref target="RFC1812"/> states:</t> | <t>RFC 1812 <xref target="RFC1812"/> states:</t> | |||
| <ul spacing="normal"> | <t indent="3"> | |||
| <li>A router SHOULD NOT forward, except over a loopback interface, any | A router <bcp14>SHOULD NOT</bcp14> forward, except over a loopback | |||
| packet that has a destination address on network 127. A router | interface, any packet that has a destination address on network 127. A | |||
| MAY have a switch that allows the network manager to disable these | router <bcp14>MAY</bcp14> have a switch that allows the network manager to | |||
| checks. If such a switch is provided, it MUST default to | disable these checks. If such a switch is provided, it <bcp14>MUST</bcp14> | |||
| performing the checks.</li> | default to performing the checks. | |||
| </ul> | </t> | |||
| <t>This helps to ensure that diagnostic packets are never IP forwarded.</t> | <t>This helps to ensure that diagnostic packets are never IP forwarded.</t> | |||
| <t> The 127/8 address range provides 16M addresses allowing wide | <t> The 127/8 address range provides 16M addresses allowing wide | |||
| flexibility in varying addresses to exercise ECMP paths. Finally, as | flexibility in varying addresses to exercise ECMP paths. Finally, as | |||
| an implementation optimization, the 127/8 range provides an easy | an implementation optimization, the 127/8 range provides an easy | |||
| means of identifying possible LSP packets.</t> | means of identifying possible LSP packets.</t> | |||
| <t>NEW</t> | </blockquote> | |||
| <t>NEW:</t> | ||||
| <blockquote> | ||||
| <t>The 127/8 range for IPv4 was chosen for a number of reasons.</t> | <t>The 127/8 range for IPv4 was chosen for a number of reasons.</t> | |||
| <t> RFC 1122 <xref target="RFC1122"/> allocates the 127/8 as the "Internal | <t>RFC 1122 <xref target="RFC1122"/> allocates the 127/8 as the "Internal hos | |||
| host loopback address" | t loopback address" | |||
| and states: "Addresses of this form MUST NOT appear outside a host." | and states: "Addresses of this form <bcp14>MUST NOT</bcp14> appear outside a | |||
| host." | ||||
| Thus, the default behavior of hosts is to discard such packets. This | Thus, the default behavior of hosts is to discard such packets. This | |||
| helps to ensure that if a diagnostic packet is misdirected to a host, | helps to ensure that if a diagnostic packet is misdirected to a host, | |||
| it will be silently discarded.</t> | it will be silently discarded.</t> | |||
| <t>RFC 1812 <xref target="RFC1812"/> states:</t> | <t>RFC 1812 <xref target="RFC1812"/> states:</t> | |||
| <ul spacing="normal"> | <t indent="3"> | |||
| <li>A router SHOULD NOT forward, except over a loopback interface, any | A router <bcp14>SHOULD NOT</bcp14> forward, except over a | |||
| packet that has a destination address on network 127. A router | loopback interface, any packet that has a destination address on network | |||
| MAY have a switch that allows the network manager to disable these | 127. A router <bcp14>MAY</bcp14> have a switch that allows the network | |||
| checks. If such a switch is provided, it MUST default to | manager to disable these checks. If such a switch is provided, it | |||
| performing the checks.</li> | <bcp14>MUST</bcp14> default to performing the checks. | |||
| </ul> | </t> | |||
| <t>This helps to ensure that diagnostic packets are never IP forwarded.</t > | <t>This helps to ensure that diagnostic packets are never IP forwarded.</t > | |||
| <t> The 127/8 address range provides 16M addresses allowing wide | <t>The 127/8 address range provides 16M addresses allowing wide | |||
| flexibility in varying addresses to exercise ECMP paths. Finally, as | flexibility in varying addresses to exercise ECMP paths. Finally, as | |||
| an implementation optimization, the 127/8 range provides an easy | an implementation optimization, the 127/8 range provides an easy | |||
| means of identifying possible LSP packets.</t> | means of identifying possible LSP packets.</t> | |||
| <t> The IPv6 destination address for an MPLS echo request message is | <t> The IPv6 destination address for an MPLS echo request message is | |||
| selected as follows:</t> | selected as follows:</t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>The IPv6 loopback address ::1/128 SHOULD be used.</li> | <li>The IPv6 loopback address ::1/128 <bcp14>SHOULD</bcp14> be used.</li | |||
| <li>The sender of an MPLS echo request MAY select the IPv6 destination | > | |||
| <li>The sender of an MPLS echo request <bcp14>MAY</bcp14> select the IPv | ||||
| 6 destination | ||||
| address from the 0:0:0:0:0:FFFF:7F00/104 range.</li> | address from the 0:0:0:0:0:FFFF:7F00/104 range.</li> | |||
| <li>To exercise all paths in an ECMP environment, the source of entropy other | <li>To exercise all paths in an ECMP environment, the source of entropy other | |||
| than the IP destination address SHOULD be used. For example, MPLS Entr opy Label <xref target="RFC6790"/> | than the IP destination address <bcp14>SHOULD</bcp14> be used. For exa mple, the MPLS Entropy Label <xref target="RFC6790"/> | |||
| or IPv6 Flow Label <xref target="RFC6438"/> can be used as the source of entropy.</li> | or IPv6 Flow Label <xref target="RFC6438"/> can be used as the source of entropy.</li> | |||
| </ul> | </ul> | |||
| <t>END</t> | </blockquote> | |||
| <t>Additionally, this specification updates Section 2.2 of <xref target="RFC8029 "/> to | <t>Additionally, this specification updates <xref target="RFC8029" section="2.2" sectionFormat="of" /> to | |||
| replace the whole of the section with the following text:</t> | replace the whole of the section with the following text:</t> | |||
| <ul empty="true"> | <blockquote> | |||
| <li>LSP Ping implementations SHOULD ignore RAO options when they arrive | <t>LSP Ping implementations <bcp14>SHOULD</bcp14> ignore RAO options when | |||
| on incoming MPLS echo request and MPLS echo reply messages.</li> | they arrive | |||
| </ul> | on incoming MPLS echo request and MPLS echo reply messages.</t> | |||
| </blockquote> | ||||
| <t> | <t> | |||
| Resulting from the removal of the Reply mode 3 "Reply via an IPv4/IPv6 UDP packet with Router Alert" (see <xref target="echo-reply"/>), | Resulting from the removal of the Reply mode 3 "Reply via an IPv4/IPv6 UDP packet with Router Alert" (see <xref target="echo-reply"/>), | |||
| this specification updates Section 4.5 of <xref target="RFC8029"/> by remo | this specification updates <xref target="RFC8029" section="4.5" sectionFor | |||
| ving the following text:</t> | mat="of" /> by removing the following text:</t> | |||
| <ul empty="true"> | <blockquote> | |||
| <li> | If the Reply Mode in the echo request is "Reply via an | |||
| If the Reply Mode in the echo request is "Reply via an | IPv4 UDP packet with Router Alert", then the IP header <bcp14>MUST</bcp14> co | |||
| IPv4 UDP packet with Router Alert", then the IP header MUST contain | ntain | |||
| the Router Alert IP Option of value 0x0 [RFC2113] for IPv4 or 69 | the Router Alert IP Option of value 0x0 <xref target="RFC2113"/> for IPv4 or | |||
| [RFC7506] for IPv6. If the reply is sent over an LSP, the topmost | 69 | |||
| label MUST in this case be the Router Alert label (1) (see [RFC3032]). | <xref target="RFC7506"/> for IPv6. If the reply is sent over an LSP, the topm | |||
| </li> | ost | |||
| </ul> | label <bcp14>MUST</bcp14> in this case be the Router Alert label (1) (see <xr | |||
| ef target="RFC3032"/>). | ||||
| </blockquote> | ||||
| <t>Furthermore, this specification updates Section 4.3 of <xref target="RFC80 29"/> as follows:</t> | <t>Furthermore, this specification updates <xref target="RFC8029" section="4. 3" sectionFormat="of" /> as follows:</t> | |||
| <t>OLD:</t> | <t>OLD:</t> | |||
| <blockquote> | ||||
| <t>The Router Alert IP Option of value 0x0 <xref target="RFC2113"/> for IPv4 or value 69 <xref target="RFC7506"/> for IPv6 | <t>The Router Alert IP Option of value 0x0 <xref target="RFC2113"/> for IPv4 or value 69 <xref target="RFC7506"/> for IPv6 | |||
| MUST be set in the IP header.</t> | <bcp14>MUST</bcp14> be set in the IP header.</t> | |||
| </blockquote> | ||||
| <t>NEW:</t> | <t>NEW:</t> | |||
| <blockquote> | ||||
| <t>The Router Alert IP Option of value 0x0 <xref target="RFC2113"/> for IPv4 or value 69 <xref target="RFC7506"/> for IPv6 | <t>The Router Alert IP Option of value 0x0 <xref target="RFC2113"/> for IPv4 or value 69 <xref target="RFC7506"/> for IPv6 | |||
| MUST NOT be set in the IP header.</t> | <bcp14>MUST NOT</bcp14> be set in the IP header.</t> | |||
| <t>END</t> | </blockquote> | |||
| </section> | </section> | |||
| <section anchor="backwards-compatibility" numbered="true" toc="default"> | <section anchor="backwards-compatibility" numbered="true" toc="default"> | |||
| <name>Backwards Compatibility</name> | <name>Backwards Compatibility</name> | |||
| <t>LSP Ping implementations that conform to this specification SHOULD | <t>LSP Ping implementations that conform to this specification <bcp14>SHOU LD</bcp14> | |||
| ignore RAO options when they arrive on incoming MPLS echo request and | ignore RAO options when they arrive on incoming MPLS echo request and | |||
| MPLS echo reply messages. However, this will not harm backwards | MPLS echo reply messages. However, this will not harm backwards | |||
| compatibility because other mechanisms will also be in use by all | compatibility because other mechanisms will also be in use by all | |||
| legacy implementations in the messages they send and receive.</t> | legacy implementations in the messages they send and receive.</t> | |||
| <t> | <t> | |||
| <xref target="iana-considerations"/> of this document deprecates the IPv6 RAO value for MPLS OAM | <xref target="iana-considerations"/> of this document deprecates the IPv6 RAO value for MPLS OAM | |||
| (69) in <xref target="IANA-IPV6-RAO"/> and the Reply Mode 3 ("Reply via an IP v4/IPv6 | (69) in <xref target="IANA-IPV6-RAO"/> and the Reply Mode 3 ("Reply via an IP v4/IPv6 | |||
| UDP packet with Router Alert") in <xref target="IANA-LSP-PING"/>. | UDP packet with Router Alert") in <xref target="IANA-LSP-PING"/>. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| <xref target="RFC8126"/> offers a formal description of the word "Deprecated" . In | <xref target="RFC8126"/> offers a formal description of the word "Deprecated" . In | |||
| this context, "Deprecated" means that the deprecated values SHOULD | this context, "Deprecated" means that the deprecated values <bcp14>SHOULD | |||
| NOT be used in new implementations, and that deployed implementations | NOT</bcp14> be used in new implementations, and that deployed implementations | |||
| that already use these values continue to work seamlessly. | that already use these values continue to work seamlessly. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section anchor="iana-considerations" numbered="true" toc="default"> | <section anchor="iana-considerations" numbered="true" toc="default"> | |||
| <name>IANA Considerations</name> | <name>IANA Considerations</name> | |||
| <t> IANA is requested to mark the IPv6 RAO value of MPLS OAM (69) in | <t> IANA has marked the IPv6 RAO value of MPLS OAM (69) in | |||
| <xref target="IANA-IPV6-RAO"/> as "Deprecated".</t> | <xref target="IANA-IPV6-RAO"/> as "DEPRECATED".</t> | |||
| <t> IANA is also requested to mark Reply Mode 3 ("Reply via an IPv4/IPv6 | <t> IANA has marked Reply Mode 3 ("Reply via an IPv4/IPv6 | |||
| UDP packet with Router Alert") in "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) | UDP packet with Router Alert") in "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) | |||
| Ping Parameters"<xref target="IANA-LSP-PING"/> as "Deprecated".</t> | Ping Parameters" <xref target="IANA-LSP-PING"/> as "DEPRECATED".</t> | |||
| </section> | </section> | |||
| <section anchor="security-considerations" numbered="true" toc="default"> | <section anchor="security-considerations" numbered="true" toc="default"> | |||
| <name>Security Considerations</name> | <name>Security Considerations</name> | |||
| <t>The recommendations this document makes do not compromise | <t>The recommendations this document makes do not compromise | |||
| security. In case of using IPv6 loopback address ::1/128 strengthens secur | security. | |||
| ity | Using the IPv6 loopback address ::1/128 strengthens security | |||
| for LSP Ping by using the standardized loopback address with well-defined | for LSP ping because it is standardized and has well-defined behavior. | |||
| behavior.</t> | </t> | |||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Acknowledgments</name> | ||||
| <t> | ||||
| The authors express their appreciation to Adrian Farrel and Gyan Mishra for thei | ||||
| r suggestions that improved the readability of the document. | ||||
| </t> | ||||
| </section> | </section> | |||
| </middle> | </middle> | |||
| <back> | <back> | |||
| <references> | <references> | |||
| <name>Normative References</name> | <name>References</name> | |||
| <references> | ||||
| <name>Normative References</name> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.802 | |||
| .8029.xml"/> | 9.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.639 | |||
| .6398.xml"/> | 8.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.750 | |||
| .7506.xml"/> | 6.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.211 | |||
| .2119.xml"/> | 9.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.817 | |||
| .8174.xml"/> | 4.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.429 | |||
| .4291.xml"/> | 1.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.112 | |||
| .1122.xml"/> | 2.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.812 | |||
| .8126.xml"/> | 6.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.181 | |||
| .1812.xml"/> | 2.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.211 | |||
| .2113.xml"/> | 3.xml"/> | |||
| </references> | </references> | |||
| <references> | <references> | |||
| <name>Informational References</name> | <name>Informative References</name> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.303 | |||
| .6438.xml"/> | 2.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.643 | |||
| .6790.xml"/> | 8.xml"/> | |||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.679 | ||||
| 0.xml"/> | ||||
| <reference anchor="IANA-IPV6-RAO" target="https://www.iana.org/assignments /ipv6-routeralert-values"> | <reference anchor="IANA-IPV6-RAO" target="https://www.iana.org/assignments /ipv6-routeralert-values"> | |||
| <front> | <front> | |||
| <title>IPv6 Router Alert Option Values</title> | <title>IPv6 Router Alert Option Values</title> | |||
| <author> | <author> | |||
| <organization>IANA</organization> | <organization>IANA</organization> | |||
| </author> | </author> | |||
| <date>n.d.</date> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="IANA-LSP-PING" target="https://www.iana.org/assignments | ||||
| /mpls-lsp-ping-parameters/mpls-lsp-ping-parameters.xml"> | <reference anchor="IANA-LSP-PING" target="https://www.iana.org/assignments | |||
| /mpls-lsp-ping-parameters"> | ||||
| <front> | <front> | |||
| <title>Multiprotocol Label Switching (MPLS) Label Switched Paths | <title>Multiprotocol Label Switching (MPLS) Label Switched Paths | |||
| (LSPs) Ping Parameters</title> | (LSPs) Ping Parameters</title> | |||
| <author> | <author> | |||
| <organization>IANA</organization> | <organization>IANA</organization> | |||
| </author> | </author> | |||
| <date>n.d.</date> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| </references> | </references> | |||
| </references> | ||||
| <section numbered="false"> | ||||
| <name>Acknowledgments</name> | ||||
| <t> | ||||
| The authors express their appreciation to Adrian Farrel and Gyan Mishra for thei | ||||
| r suggestions that improved the readability of the document. | ||||
| </t> | ||||
| </section> | ||||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 58 change blocks. | ||||
| 187 lines changed or deleted | 185 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||