<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ietf-6man-deprecate-router-alert-13" number="9805" consensus="true" ipr="trust200902" updates="2711" obsoletes="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" version="3">

  <front>
    <title abbrev="Deprecate IPv6 Router Alert for New Protocols">Deprecation of the IPv6 Router Alert Option for New Protocols</title>
    <seriesInfo name="RFC" value="9805"/>
    <author fullname="Ron Bonica" initials="R." surname="Bonica">
      <organization>Juniper Networks</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>rbonica@juniper.net</email>
      </address>
    </author>
    <date month="June" year="2025"/>
    <area>INT</area>
    <workgroup>6man</workgroup>
    <keyword>IPv6</keyword>
    <abstract>
      <t>This document deprecates the IPv6 Router Alert option. 
    Protocols that use the IPv6 Router Alert option may continue to do so, 
    even in future versions. However, new protocols that are standardized 
    in the future must not use the IPv6 Router Alert option.</t>
      <t>This document updates RFC 2711. </t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>In IPv6 <xref target="RFC8200" format="default"></xref>, optional internet-layer 
    information is encoded in separate headers that may be placed 
    between the IPv6 header and the upper-layer header in a packet.  
    There is a small number of such extension headers, each one 
    identified by a distinct Next Header value.</t>
      <t>One of these extension headers is called the Hop-by-Hop Options
    header. The Hop-by-Hop Options header is used to carry optional 
    information that may be examined and processed by every node along 
    a packet's delivery path.</t>
      <t>The Hop-by-Hop Options header can carry one or more options.
      Among these is the IPv6 Router Alert option <xref target="RFC2711" format="default"></xref>.
      </t>
      <t>The IPv6 Router Alert option provides a mechanism whereby 
    routers can know when to intercept datagrams not addressed to 
    them without having to extensively examine every datagram.  
    The semantic of the IPv6 Router Alert option is that "routers should 
    examine this datagram more closely". Excluding this option 
    tells the router that there is no need to examine this datagram
    more closely.</t>
      <t>As explained below, the IPv6 Router Alert option introduces many issues.</t>
      <t>This document updates <xref target="RFC2711" format="default"/>.
      Implementers of protocols that continue to use the IPv6 Router Alert
     option can continue to reference  <xref target="RFC2711" format="default"/> for IPv6 Router 
     Alert option details. </t>
    </section>
    <section anchor="ReqLang" numbered="true" toc="default">
      <name>Requirements Language</name>
        <t>
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
    NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP&nbsp;14 <xref target="RFC2119"/> <xref target="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>
    </section>
    <section numbered="true" toc="default">
      <name>Issues Associated with the IPv6 Router Alert Option</name>
      <t><xref target="RFC6398" format="default"/> identifies security considerations
    associated with the IPv6 Router Alert option. In a nutshell, 
    the IP Router Alert Option does not provide a  
    universal mechanism to accurately and reliably distinguish
    between IP Router Alert packets of interest and unwanted IP Router
    Alerts.  This creates a security concern because, short of 
    appropriate router-implementation-specific mechanisms, the router's 
    control plane is at risk of being flooded by unwanted traffic.</t>
<aside>
    <t>NOTE: Many routers maintain separation between forwarding 
    and control plane hardware. The forwarding plane is implemented 
    on high-performance Application-Specific Integrated Circuits (ASICs) 
    and Network Processors (NPs), while the control plane is implemented 
    on general-purpose processors. Given this difference, the control 
    plane is more susceptible to a Denial-of-Service (DoS) attack than the
    forwarding plane.</t>
</aside>
    <t><xref target="RFC6192" format="default"/> demonstrates how a network operator can
    deploy Access Control Lists (ACLs) that protect the control plane from
    DoS attacks. These ACLs are effective and efficient when they select
    packets based upon information that can be found in a fixed position. 
    However, they become less effective and less efficient when they 
    must parse a Hop-by-Hop Options header, searching for the 
    IPv6 Router Alert option.</t>
      <t>Network operators can address the security considerations
    raised in <xref target="RFC6398" format="default"/> by:</t>
      <ul spacing="normal">
        <li>
          <t>Deploying the operationally complex and computationally 
      expensive ACLs described in <xref target="RFC6192" format="default"/>.</t>
        </li>
        <li>
          <t>Configuring their routers to ignore the IPv6 Router
      Alert option.</t>
        </li>
        <li>
          <t>Dropping or severely rate limiting packets that contain the 
      Hop-by-Hop Options header at the network edge.</t>
        </li>
      </ul>
      <t>These options become less viable as protocol designers continue
    to design protocols that use the IPv6 Router Alert option.</t>

    <t><xref target="RFC9673" format="default"/> seeks to eliminate hop-by-hop
    processing on the control plane. However, because of its unique
    function, the IPv6 Router Alert option is granted an exception to this rule. 
    One approach would be to deprecate the IPv6 Router Alert option, because 
    current usage beyond the local network appears to be limited
    and packets containing Hop-by-Hop options are frequently dropped. 
    Deprecation would allow current implementations to continue using it, 
    but its use could be phased out over time.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Deprecation of the IPv6 Router Alert Option</name>
      <t>This document deprecates the IPv6 Router Alert option.
    Protocols that use the IPv6 Router Alert option <bcp14>MAY</bcp14> continue to do so, 
    even in future versions. However, new protocols that are standardized 
    in the future <bcp14>MUST NOT</bcp14> use the IPv6 Router Alert option.
    <xref target="Legacy" format="default"/> contains an exhaustive list of protocols that <bcp14>MAY</bcp14> 
    continue to use the IPv6 Router Alert option. </t>

    <t>This document updates <xref target="RFC2711" format="default"/>.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Future Work</name>
      <t>
A number of protocols 
use the IPv6 Router Alert option; these are listed in <xref target="Legacy" format="default"/>.    The only protocols in 
<xref target="Legacy" format="default"/> that have widespread deployment  are 
Multicast Listener Discovery Version 2 (MLDv2) <xref target="RFC9777" format="default"></xref>
 and 
 Multicast Router Discovery (MRD) <xref target="RFC4286" format="default"></xref>. 
The other protocols either have limited deployment, are experimental, or have no known implementation.
</t>
      <t>
It is left for future work to develop new versions of MLDv2 and MRD that do not 
rely on the IPv6 Router Alert option.   That task is out of scope for this document.
</t>
    </section>
    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>This document mitigates all security considerations associated with the IPv6 Router Alert
    option. These security considerations can be found in <xref target="RFC2711" format="default"/>,
    <xref target="RFC6192" format="default"/>, and <xref target="RFC6398" format="default"/>.</t>
    </section>
    <section numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>IANA has marked the IPv6 Router Alert option as "DEPRECATED for New Protocols" in the <eref brackets="angle" target="https://www.iana.org/assignments/ipv6-parameters">"Destination 
    Options and Hop-by-Hop Options" registry</eref>
    and added this document as a reference.</t>
      <t>
    IANA has also made a note in the
    <eref brackets ="angle" target="https://www.iana.org/assignments/ipv6-routeralert-values">"IPv6 Router Alert Option Values" registry</eref> stating that the registry
    is closed for allocations and added a reference to this document. 
    The experimental codepoints in this registry have been changed to "Reserved" (i.e., they are no longer 
    available for experimentation).
      </t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>

        <name>Normative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2711.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6398.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8200.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9673.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6192.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1633.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9777.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3031.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4286.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5946.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5979.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6016.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8029.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5971.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6401.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3175.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4080.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7506.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3208.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9570.xml"/>
      </references>
    </references>
    <section anchor="Legacy" numbered="true" toc="default">
      <name>Protocols That Use the IPv6 Router Alert Option</name>
      <t><xref target="Depend" format="default"/> contains an exhaustive list of protocols that use the
      IPv6 Router Alert option. There are no known IPv6 implementations of
      MPLS Ping. Neither Integrated Services (Intserv) nor Next Steps in Signaling (NSIS) are widely deployed. All NSIS
      protocols are experimental. Pragmatic Generic Multicast (PGM) is
      experimental, and there are no known IPv6 implementations.</t>


      <table anchor="Depend" align="center">
        <name>Protocols That Use the IPv6 Router Alert Option</name>
        <thead>
          <tr>
            <th align="left">Protocol</th>
            <th align="left">References</th>
            <th align="left">Application</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Multicast Listener Discovery Version 2 (MLDv2)</td>
            <td align="left"><xref target="RFC9777" format="default"/></td>
            <td align="left">IPv6 Multicast</td>
          </tr>
          <tr>
            <td align="left">Multicast Router Discovery (MRD)</td>
            <td align="left"><xref target="RFC4286" format="default"/></td>
            <td align="left">IPv6 Multicast</td>
          </tr>
          <tr>
            <td align="left">Pragmatic General Multicast (PGM)</td>
            <td align="left"><xref target="RFC3208" format="default"/></td>
            <td align="left">IPv6 Multicast</td>
          </tr>
          <tr>
            <td align="left">MPLS Ping (Use of the IPv6 Router Alert option is deprecated)</td>
            <td align="left"><xref target="RFC7506" format="default"/><xref target="RFC8029" format="default"/><xref target="RFC9570" format="default"/></td>
            <td align="left">MPLS Operations, Administration, and Maintenance (OAM)</td>
          </tr>
          <tr>
            <td align="left">Resource Reservation Protocol (RSVP): Both IPv4 and IPv6 implementations</td>
            <td align="left"><xref target="RFC3175" format="default"/> <xref target="RFC5946" format="default"/> <xref target="RFC6016" format="default"/> <xref target="RFC6401" format="default"/></td>
            <td align="left">Integrated Services (Intserv) <xref target="RFC1633"
            format="default"></xref> and Multiprotocol Label Switching
            (MPLS) <xref
            target="RFC3031" format="default"></xref></td>
          </tr>
          <tr>
            <td align="left">Next Steps in Signaling (NSIS)</td>
            <td align="left"><xref target="RFC5979" format="default"/> <xref target="RFC5971" format="default"/></td>
            <td align="left">NSIS <xref target="RFC4080" format="default"></xref></td>
          </tr>
        </tbody>
      </table>
    </section>
   <section numbered="false" toc="default">
      <name>Acknowledgements</name>
      <t>Thanks to <contact fullname="Zafar Ali"/>, <contact fullname="Brian
      Carpenter"/>, <contact fullname="Toerless Eckert"/>, <contact
      fullname="David Farmer"/>, <contact fullname="Adrian Farrel"/>, <contact
      fullname="Bob Hinden"/>, and <contact fullname="Jen Linkova"/> for their
      reviews of this document.</t>
    </section>
   </back>

</rfc>
