<?xml version="1.0"encoding="utf-8"?>encoding="UTF-8"?> <!DOCTYPE rfcSYSTEM "rfc2629-xhtml.ent"> <?rfc toc="yes"?> <?rfc tocompact="yes"?> <?rfc tocdepth="3"?> <?rfc tocindent="yes"?> <?rfc symrefs="yes"?> <?rfc sortrefs="yes"?> <?rfc comments="yes"?> <?rfc inline="yes"?> <?rfc compact="yes"?> <?rfc subcompact="no"?> <?rfc authorship="yes"?> <?rfc tocappendix="yes"?>[ <!ENTITY nbsp " "> <!ENTITY zwsp "​"> <!ENTITY nbhy "‑"> <!ENTITY wj "⁠"> ]> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" ipr="trust200902" tocInclude="true" indexInclude="true" obsoletes="" consensus="true" submissionType="IETF" xml:lang="en" version="3" updates="4861, 6550, 6553, 8505, 9010" docName="draft-ietf-6lo-multicast-registration-19">number="9685" symRefs="true" sortRefs="true"> <front> <title abbrev="Multicast and AnycastSubscription">IPv6Subscription">Listener Subscription for IPv6 Neighbor Discovery Multicast and AnycastAddress Listener Subscription</title>Addresses</title> <seriesInfo name="RFC" value="9685"/> <author initials='P' surname='Thubert' fullname='Pascal Thubert' role='editor'> <address> <postal> <city>Roquefort-les-Pins</city> <code>06330</code> <country>France</country> </postal> <email>pascal.thubert@gmail.com</email> </address> </author><area>Internet</area><date month="November" year="2024"/> <area>INT</area> <workgroup>6lo</workgroup> <abstract> <t> This document updates the 6LoWPAN extensions to IPv6 Neighbor Discovery(RFC 4861, RFC(specified in RFCs 4861 and 8505) to enable a listener to subscribe to an IPv6 anycast or multicastaddress; theaddress. This document also updates the Routing Protocol for Low-Power and Lossy Networks(RFC 6550, RFC(RPL) (specified in RFCs 6550 and 6553) to add a new Non-StoringMulticast Modemulticast mode andanew support for anycast addresses in Storing and Non-StoringModes.modes. This document extends RFC 9010 to enable a 6LoWPAN Router (6LR) to inject the anycast and multicast addresses in RPL. </t> </abstract> </front> <middle><!-- **************************************************************** --> <!-- **************************************************************** --> <!-- **************************************************************** --> <!-- **************************************************************** --><section anchor="introduction"> <name>Introduction</name> <t>The design ofLow PowerLow-Power and Lossy Networks (LLNs) is generally focused on saving energy, which is the most constrained resource of all. Other design constraints, such as a limited memory capacity, duty cycling of the LLNdevicesdevices, and low-power lossy transmissions, derive from that primary concern. The radio(both(when both transmitting or simply listening) is a major energydraindrain, and the LLN protocols must be adapted to allow the nodes to remain sleeping with the radio turned off at mosttimes. </t><t> The <xref target="RFC6550">"Routingtimes.</t> <t>"RPL: IPv6 Routing Protocol forLow PowerLow-Power and LossyNetworks"</xref> (RPL)Networks" <xref target="RFC6550"/> provides IPv6 <xref target="RFC8200"/> routing services within such constraints. To save signaling and routing state in constrained networks, the RPL routing is only performed along a Destination-Oriented Directed Acyclic Graph (DODAG) that is optimized to reach a Root node, as opposed to along the shortest path between2two peers,whatever that would meanwhich may be a fuzzy concept anyway ineach LLN. </t><t> This tradesa radio LLN.</t> <t>This stretches thequality of peer-to-peer (P2P) pathsroutes between RPL nodes inside the DODAG for a vastly reduced amount of control traffic and routing state that would be required to operate an any-to-any shortest path protocol. Additionally, broken routes may be fixed lazily andon-demand,on-demand based ondataplanedata plane inconsistency discovery, which avoids wasting energy in the proactive repair of unusedpaths. </t><t> RPLpaths.</t> <t>RPL uses Destination Advertisement Object (DAO) messages to establish Downward routes. DAO messages are an optional feature for applications that require point-to-multipoint (P2MP) or point-to- point (P2P) traffic. RPL supports two modes of Downward traffic: Storing (fully stateful) or Non-Storing (fully source routed); seeSection 9 of<xreftarget="RFC6550"/>.target="RFC6550" sectionFormat="of" section="9"/>. The mode is signaled in the Mode of Operation (MOP) field in the DODAG Information Object (DIO) messages and applies to the whole RPLInstance. </t><t> AnyInstance.</t> <t>Any given RPL Instance is eitherstoringStoring ornon-storing.Non-Storing. In both cases, P2P packets travel Up toward a DODAG root then Down to the final destination (unless the destination is on the Upward route). In the Non-Storing case, the packet will travel all the way to a DODAG root before traveling Down. In the Storing case, the packet may be directed Down towards the destination by a common ancestor of the source and the destination prior to reaching a DODAG root.Section 12 of<xreftarget="RFC6550"/>target="RFC6550" sectionFormat="of" section="12"/> details the"StoringStoring Mode of Operation with multicastsupport"support with source-independent multicast routing inRPL. </t><t> TheRPL.</t> <t>The classical"IPv6Neighbor Discovery(IPv6 ND) Protocol"(ND) protocol <xref target="RFC4861"/> <xref target="RFC4862"/> was defined for serial links and shared transit media such as Ethernet at a time when broadcastwas cheapon those media types was cheap, while memory for neighbor cache was expensive. It was thus designed as a reactive protocol that relies on caching and multicast operations for the Address Discovery (akaLookup)lookup) and Duplicate Address Detection (DAD) of IPv6 unicast addresses. Those multicast operations typically impact every node on-link when at most one is reallytargeted, whichtargeted. This is a waste ofenergy,energy andimplyimplies that all nodes are awake to hear the request, which is inconsistent withpower savingpower-saving (sleeping)modes. </t><t> Themodes.</t> <t>The original specification for 6LoWPAN ND,<xref target="RFC6775">"Neighbor DiscoveryOptimizationsOptimization for6LoWPAN networks"</xref>,IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)" <xref target="RFC6775"/>, was introduced to avoid the excessive use of multicast messages and enable IPv6 ND for operations over energy-constrained nodes. <xref target="RFC6775"/> changes the classical IPv6 ND model to proactively establish the Neighbor Cache Entry (NCE) associated to the unicast address of a 6LoWPAN Node (6LN) intheone or more 6LoWPANRouter(s) (6LR)Routers (6LRs) thatserve(s)serve it. To that effect, <xref target="RFC6775"/> defines a new Address Registration Option (ARO) that is placed in unicast Neighbor Solicitation (NS) and Neighbor Advertisement (NA) messages between the 6LN and the6LR. </t><t> <xref target="RFC8505"> "Registration6LR.</t> <t>"Registration Extensions for6LoWPANIPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) NeighborDiscovery"</xref>Discovery" <xref target="RFC8505"/> updates <xref target="RFC6775"/>intoso that a generic Address Registration mechanismthatcan be used to access services such as routing and ND proxy and introduces the Extended Address Registration Option (EARO) for that purpose. This provides a routing-agnostic interface for a host to request that the router injects a unicast IPv6 address in the local routing protocol andprovideprovides return reachability for thataddress. </t><t> <xref target="RFC9010">"Routingaddress.</t> <t>"Routing for RPLLeaves"</xref>(Routing Protocol for Low-Power and Lossy Networks) Leaves" <xref target="RFC9010"/> provides the router counterpart of the mechanism for a host that implements <xref target="RFC8505"/> to inject its unicast Unique Local Addresses (ULAs) and Global Unicast Addresses (GUAs) in RPL.But thoughAlthough RPL also provides multicast routing, 6LoWPAN ND supports only the registration of unicastaddressesaddresses, and there is no equivalent of <xref target="RFC9010"/> to specify the 6LR behavior upon the subscription of one or more multicastaddress(es). </t><t> The <xref target="RFC3810">"Multicastaddresses.</t> <t>"Multicast Listener Discovery Version 2 (MLDv2) for IPv6"</xref><xref target="RFC3810"/> enables the router to learn which node listens to which multicast address, but as the classical IPv6 ND protocol, MLD relies on multicastingQueriesqueries to all nodes, which is unfit forlow powerlow-power operations. As for IPv6 ND, it makes sense to let the 6LNs control when and how they maintain the state associated to their multicast addresses in the 6LR, e.g., during their own wake time. In the case of a constrained node that already implements <xref target="RFC8505"/> for unicast reachability, it makes sense to extendtothat support to subscribe the multicast addresses they listento. </t><t> Thisto.</t> <t>This specification Extends <xref target="RFC8505"/> and <xref target="RFC9010"/>to addby adding the capability for the 6LN to subscribe anycast and multicast addresses and for the 6LR to inject them in RPL when appropriate. Note that due to the unreliable propagation of packets in the LLN, it cannot be guaranteed that any given packet is delivered once and only once. If a breakage happens along the preferred parent tree that is normally used for multicast forwarding, the packet goingupUp may be rerouted to an alternate parent, leading to potential failures and duplications, whereas a packet goingdownDown will not be delivered in the subtree. It is up to the Upper Layer Protocols (ULPs) to cope with bothsituations. </t>situations.</t> </section><!-- end section = "Introduction" --><section> <name>Terminology</name> <sectionanchor="bcp"><name>Requirementsanchor="bcp"> <name>Requirements Language</name> <t> The key words"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY","<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"OPTIONAL""<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described inBCP 14BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here. </t><t> In<t>In addition,the terms"Extends" and "Amends" are used asamore specifictermterms for "Updates" per<xref target="I-D.kuehlewind-update-tag" /> sectionSection 3 of <xref target="I-D.kuehlewind-rswg-updates-tag"/> asfollows: </t>follows:</t> <dl newline="false" indent="7"spacing="compact" >spacing="normal"> <dt>Amends/Amended by:</dt> <dd>This tag pair is used with an amending RFC that changes the amended RFC. This could include bug fixes, behaviorchangeschanges, etc. This is intended to specify mandatory changes to the protocol. The goal of this tag pair is to signal to anyone looking to implement the amended RFC that theyMUST<bcp14>MUST</bcp14> also implement the amending RFC. </dd> <dt>Extends/Extended by:</dt><dd> This<dd>This tag pair is used with an extending RFC that defines an optional addition to the extended RFC. This can be used by documents that use existing extension points or clarifications that do not change existing protocol behavior. This signals to implementers and protocol designers that there are changes to the extended RFC that they need to consider but not necessarily implement.</dd> </dl> </section><!-- end section "Requirements Language" --><sectionanchor="lo"><name>References</name> <t> Thisanchor="lo"> <name>Terminology from Relevant RFCs</name> <t>This document uses terms and concepts that are discussedin: </t>in:</t> <ul><li> <xref target="RFC4861">"Neighbor<li>"Neighbor Discovery for IP version6" </xref> and6 (IPv6)" <xreftarget="RFC4862">"IPv6target="RFC4861"/>,</li> <li>"IPv6 StatelessaddressAddress Autoconfiguration"</xref>, </li> <li><xreftarget="RFC6550">Routingtarget="RFC4862"/>,</li> <li>"RPL: IPv6 Routing Protocol for Low-Power and LossyNetworks</xref>, </li> <li>Networks" <xreftarget="RFC6775">Neighbortarget="RFC6550"/>,</li> <li>"Neighbor Discovery Optimization for IPv6 over Low-Powerand Lossy Networks</xref>, as well as </li> <li>Wireless Personal Area Networks (6LoWPANs)" <xreftarget="RFC8505"> "Registrationtarget="RFC6775"/>,</li> <li>"Registration Extensions for6LoWPANIPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) NeighborDiscovery"</xref> and </li> <li>Discovery" <xreftarget="RFC9008"> "Usingtarget="RFC8505"/>, and</li> <li>"Using RPI Option Type, Routing Header for Source Routes, and IPv6-in-IPv6 Encapsulation in the RPL DataPlane"</xref>. </li>Plane" <xref target="RFC9008"/>.</li> </ul> </section><!-- end section "References" --><sectionanchor="acronyms"><name>Glossary</name> <t> Thisanchor="abbreviations"> <name>Abbreviations</name> <t>This document uses the followingacronyms:</t>abbreviations:</t> <dl newline="false" indent="7"spacing="compact" > <dt>6BBR</dt><dd> 6LoWPAN Backbone Router </dd> <dt>6CIO</dt><dd> Capabilityspacing="normal"> <dt>6CIO:</dt><dd>Capability IndicationOption </dd> <dt>6LBR</dt><dd> 6LoWPANOption</dd> <dt>6LBR:</dt><dd>6LoWPAN BorderRouter </dd> <dt>6LN</dt><dd> 6LoWPAN Node </dd> <dt>6LR</dt><dd> 6LoWPAN Router </dd> <dt>AMC</dt><dd> Address Mapping Confirmation </dd> <dt>AMR</dt><dd> Address Mapping Request</dd> <dt>ARO</dt><dd> AddressRouter</dd> <dt>6LN:</dt><dd>6LoWPAN Node</dd> <dt>6LR:</dt><dd>6LoWPAN Router</dd> <dt>ARO:</dt><dd>Address Registration Option</dd><dt>DAC</dt><dd> Duplicate<dt>DAC:</dt><dd>Duplicate AddressConfirmation </dd> <dt>DAD</dt><dd> DuplicateConfirmation</dd> <dt>DAD:</dt><dd>Duplicate AddressDetection </dd> <dt>DAO</dt><dd> DestinationDetection</dd> <dt>DAO:</dt><dd>Destination AdvertisementObject </dd> <dt>DAR</dt><dd> DuplicateObject</dd> <dt>DAR:</dt><dd>Duplicate Address Request</dd><dt>DIO</dt><dd> DODAG<dt>DIO:</dt><dd>DODAG InformationObject </dd> <dt>DMB</dt><dd> DirectObject</dd> <dt>DMB:</dt><dd>Direct MACBroadcast </dd> <dt>DODAG</dt><dd> Destination-OrientedBroadcast</dd> <dt>DODAG:</dt><dd>Destination-Oriented Directed AcyclicGraph </dd> <dt>EARO</dt><dd> ExtendedGraph</dd> <dt>EARO:</dt><dd>Extended Address Registration Option</dd><dt>EDAC</dt><dd> Extended<dt>EDAC:</dt><dd>Extended Duplicate AddressConfirmation </dd> <dt>EDAR</dt><dd> ExtendedConfirmation</dd> <dt>EDAR:</dt><dd>Extended Duplicate Address Request</dd><dt>IR</dt><dd> Ingress Replication </dd> <dt>LLN</dt><dd> Low-Power<dt>IR:</dt><dd>Ingress Replication</dd> <dt>LLN:</dt><dd>Low-Power and LossyNetwork </dd> <dt>MOP</dt><dd> ModeNetwork</dd> <dt>MLD:</dt><dd>Multicast Listener Discovery</dd> <dt>MOP:</dt><dd>Mode of Operation </dd><dt>NA</dt><dd> Neighbor Advertisement </dd> <dt>NCE</dt><dd> Neighbor<dt>NA:</dt><dd>Neighbor Advertisement</dd> <dt>NCE:</dt><dd>Neighbor CacheEntry </dd> <dt>ND</dt><dd> Neighbor Discovery </dd> <dt>NS</dt><dd> Neighbor Solicitation </dd> <dt>RA</dt><dd> Router Advertisement </dd> <dt>ROVR</dt><dd> RegistrationEntry</dd> <dt>ND:</dt><dd>Neighbor Discovery</dd> <dt>NS:</dt><dd>Neighbor Solicitation</dd> <dt>RA:</dt><dd>Router Advertisement</dd> <dt>RAN:</dt><dd>RPL-Aware Node</dd> <dt>ROVR:</dt><dd>Registration OwnershipVerifier, pronounced "rover" </dd> <dt>RPL</dt><dd> RoutingVerifier (pronounced "rover")</dd> <dt>RPL:</dt><dd>Routing Protocol for Low-Power and LossyNetworks, pronounced "ripple" </dd> <dt>RS</dt><dd> Router Solicitation </dd> <dt>RTO</dt><dd> RPLNetworks (pronounced "ripple")</dd> <dt>RS:</dt><dd>Router Solicitation</dd> <dt>RTO:</dt><dd>RPL TargetOption </dd> <dt>TID</dt><dd> Transaction ID </dd> <dt>TIO</dt><dd> TransitOption</dd> <dt>RUL:</dt><dd>RPL-Unaware Leaf</dd> <dt>TID:</dt><dd>Transaction ID</dd> <dt>TIO:</dt><dd>Transit InformationOption </dd>Option</dd> </dl> </section><!-- end section "Glossary" --><sectionanchor="terms"><name>New terms</name> <t> Thisanchor="terms"> <name>New Terms</name> <t>This document introduces the following terms:</t> <dl newline="false" indent="7"spacing="compact" > <dt>Origin</dt><dd> Thespacing="normal"> <dt>Origin:</dt> <dd>The node that issued an anycast or multicast advertisement,eitherin the form of either an NS(EARO) orasa DAO(TIO, RTO)</dd> <dt>Merge/merging</dt><dd> Themessage.</dd> <dt>Merge/merging:</dt> <dd>The action of receiving multiple anycast or multicast advertisements, either internally from self, in the form of anNS(EARO),NS(EARO) message, or as a DAO(TIO,RTO),RTO) message, and generating a single DAO(TIO, RTO). The RPL router maintains a state per origin for each advertisedaddress,address and merges the advertisements for all subscriptions for the same address in a single advertisement. A RPL router that merges multicast advertisements from different origins becomes the origin of the merged advertisement and uses its own values for the Path Sequence and Registration Ownership Verifier (ROVR)fields. </dd> <dt>Subscribe/subscription</dt><dd> Thefields.</dd> <dt>Subscribe/subscription:</dt> <dd>The special form of registration that leverages NS(EARO) to register(subscribe(or subscribe to) a multicast or an anycastaddress. </dd>address.</dd> </dl> </section><!-- end section "New terms" --></section><!-- end section "Terminology" --> <!-- **************************************************************** --> <!-- **************************************************************** --> <!-- **************************************************************** --> <!-- **************************************************************** --> <!-- **************************************************************** --> <!-- **************************************************************** --> <!-- **************************************************************** --> <!-- **************************************************************** --><sectionanchor="overview"><name>Overview</name> <t> Thisanchor="overview"> <name>Overview</name> <t>This specification Extends <xref target="RFC8505"/>and inherits from <xref target="RFC8928"/>to provide a registration method- called subscription(called "subscription" in thiscase -case) for anycast and multicastaddress.addresses. The specification inherits the proof of ownership defined in <xref target="RFC8928"/> that already protects the address registration in <xref target="RFC8505"/> to also protect the new subscription mechanism. <xref target="RFC8505"/> is agnostic to the routing protocol in which the address may beredistributed. </t> <t> Asredistributed.</t> <t>As opposed to unicast addresses, there might be multiple registrations from multiple parties for the same address. The router retains one registration per partyperfor each multicast or anycastaddress,address but injects the route into the routing protocol only once for eachaddress,address. The injection happens asynchronously to the registration. On the other hand, the validation exchange with the registrar (6LBR) is still needed if the router checks the right for the host to listen to the anycast or multicastaddress. </t> <t> <xrefaddress.</t> <t><xref target="figSub"/> depicts the registration of an anycast or a multicast address. As shown, the 6LBR receives and accepts multipleExtended DAREDAR messages for the same address, and the address being registered by multiple nodes is not treated as aduplication. </t>duplication.</t> <figureanchor='figSub'><name> Registrationanchor='figSub'> <name>Registration Flow for ananycastAnycast ormulticastMulticast Address</name> <artwork><![CDATA[ 6LoWPAN Node 6LR 6LBR (host1) (router) (registrar) | | | | DMB link | | | | | | ND-Classic RS | | |----------------->| | |------------> | | |------------------------> | | ND-Classic RA | | |<-----------------| | | | | | NS(EARO) | | |----------------->| | | |Extended DAREDAR | | |-------------->| | | | | |Extended DACEDAC | | |<--------------| | NA(EARO) | |<-----------------|<inject route> -> | | ... (host2) (router) 6LBR | NS(EARO) | | |----------------->| | | | | | |Extended DAREDAR | | |-------------->| | | | | |Extended DACEDAC | | |<--------------| | NA(EARO) | | |<-----------------| | ... (host1) (router) | NS(EARO) | | |----------------->| | | | | | NA(EARO) | | |<-----------------| | ... | |<maintain route> -> ... ]]></artwork> </figure> <t>In classical networks, <xref target="RFC8505"/> may be used for an ND proxy operation as specified in <xreftarget="RFC8929"/>,target="RFC8929"/> or redistributed in a full-fledged routing protocol such as what might be done in BGP for Ethernet VPN <xref target="I-D.thubert-bess-secure-evpn-mac-signaling"/> or in the RoutingInin Fat Trees (RIFT) protocol <xref target="I-D.ietf-rift-rift"/>. The device mobility can be gracefully supported as long as the routers can exchange and make sense of the sequence counter in the TID field of theEARO. </t> <t> InEARO.</t> <t>In the case of LLNs, RPL <xref target="RFC6550"/> is the routing protocol of choice and <xref target="RFC9010"/> specifies how the unicast address advertised with <xref target="RFC8505"/> is redistributed in RPL. This specification also provides RPL extensions for anycast and multicast address operation and redistribution. In the RPLcasecase, and unless specified otherwise, the behaviorofis the same as it is for unicast for the 6LBR that acts as RPL Root,ofthe intermediate routersdownDown the RPL graph,ofthe6LR6LRs that act as accessroutersrouters, andofthe 6LNs that are the RPL-unawaredestinations, is the same as for unicast.destinations. In particular, forwarding a packet happens as specified insection 11 of<xreftarget="RFC6550"/>,target="RFC6550" sectionFormat="of" section="11"/>, including loop avoidance and detection, though in thecase ofmulticast case, multiple copies might begenerated. </t>generated.</t> <t><xref target="RFC8505"/> is apre-requisiteprerequisite to this specification. A node that implements thisMUST<bcp14>MUST</bcp14> also implement <xref target="RFC8505"/>. This specification modifies existing options and updates the associated behaviors to enable theRegistrationregistration forMulticast Addressesmulticast addresses as an extension to <xref target="RFC8505"/>. As with the registration of a unicastaddress registration,address, the subscription to anycast and multicast addresses between a node and its router(s) is agnostic(meaning, independent, unaware of) to(meaning it is independent) from the routing protocol in which this information may be redistributed or aggregated by the router to otherrouters, thoughrouters. However, protocol extensions would be needed in the protocol when multicast services are notavailable. </t> <t> Thisavailable.</t> <t>This specification also Extends <xref target="RFC6550"/> and <xref target="RFC9010"/>in the case of a route-over multilink subnet based on the RPL routing protocol,to add multicast ingress replication (IR) in Non-StoringModemode and anycast support in both Storing and Non-Storingmodes.modes in the case of a route-over multilink subnet based on the RPL routing protocol. A 6LR that implements the RPL extensions specified hereinMUST<bcp14>MUST</bcp14> also implement <xreftarget="RFC9010"/>. </t> <t> <xreftarget="RFC9010"/>.</t> <t><xref target="figref"/> illustrates theclassical situationtypical scenario of an LLN as a single IPv6Subnet,subnet, with a6LoWPAN Border Router (6LBR)6LBR that acts as Root for RPL operations and maintains a registry of the active registrations as an abstract data structure called anAddress Registrar"Address Registrar" for 6LoWPANND. </t> <t> TheND.</t> <t>The LLN may be a hub-and-spoke access link such as (Low-Power) Wi-Fi <xref target="IEEE80211"/> and (Low-Energy) Bluetooth(Low Energy)<xreftarget="IEEE802151"/>,target="IEEE802151"/> or a Route-Over LLN such as the Wi-SUN <xref target="I-D.heile-lpwan-wisun-overview"/> and6TiSCHIPv6 over the TSCH mode of IEEE 802.15.4 (6TiSCH) <xref target="RFC9030"/> meshes thatleveragesleverage 6LoWPAN <xref target="RFC4919"/> <xref target="RFC6282"/> and RPL <xref target="RFC6550"/> over IEEE 802.15.4 <xreftarget="IEEE802154"/>. </t>target="IEEE802154"/>.</t> <figure anchor="figref" align="center"><name>Wireless Mesh</name> <artwork><![CDATA[ | ----+-------+------------ | Wire side +------+ | 6LBR | |(Root)| +------+ o o o Wireless side o o o o o o o o o o o o o o o o LLN o +---+ o o o o o |6LR| o o o o o +---+ o o o o o o z o o oo o o +---+ o |6LN| +---+ ]]></artwork></figure><t> A<t>A leaf acting as a 6LN registers its unicast addresses to a RPL router acting as a6LR,6LR using alayer-2Layer 2 unicast NS message with an EARO as specified in <xref target="RFC8505"/>. The registration state is periodically renewed by the RegisteringNode,Node before the lifetime indicated in the EARO expires. As for unicast IPv6 addresses, the 6LR uses anEDAR/EDACEDAR and then an EDAC exchange with the 6LBR to notify the 6LBR of the presence of thelisteners. </t><t> Thislisteners.</t> <t>This specification updates the EARO with a newtwo-bit2-bit field, the P-Field, as detailed in <xref target="R8505E"/>. The existing R flag that requests reachability for theregistered addressRegistered Address gets new behavior. With thisextensionextension, the 6LNs can now subscribe to the anycast and multicast addresses they listen to, using a new P-Field in the EARO to signal that the registration is for a multicast address. Multiple 6LNs may subscribe the same multicast address to the same 6LR. Note the use of the term "subscribe": this means that when using the EARO registration mechanism, a node registers the unicast addresses that itowns,owns but subscribes to the multicast addresses that it listensto. </t><t> Withto.</t> <t>With this specification, the 6LNs can also subscribe the anycast addresses theyaccept,accept using a new P-Field in the EARO to signal that the registration is for an anycast address.As for multicast,For multicast addresses, multiple 6LNs may subscribe the same anycast address to the same6LR. </t><t> If6LR.</t> <t>If the R flag is set in the subscription of one or more 6LNs for the same address, the 6LR injects the anycast addresses and multicast addresses of a scope larger than the link-scope in RPL, based on the longest subscription lifetime across the active subscriptions for theaddress. </t><t> Inaddress.</t> <t>In the RPL"StoringStoring Mode of Operation with multicastsupport",support (<xref target="RFC6550" sectionFormat="of" section="12"/>), the DAO messages for the multicast address percolate along theRPL preferredRPL-preferred parent tree and mark a subtree that becomes the multicast tree for that multicast address, with 6LNs that subscribed to the address as the leaves. As prescribed insection 12 of<xreftarget="RFC6550"/>,target="RFC6550" sectionFormat="of" section="12"/>, the 6LR forwards a multicast packet as an individual unicastMACMedium Access Control (MAC) frame to each peer along the multicast tree, except to the node it received the packetfrom. </t><t> Infrom.</t> <t>In the new RPL"Non-StoringNon-Storing Mode of Operation with ingress replication multicastsupport"support that is introduced here, the DAO messages announce the multicast addresses asTargets thoughTargets, and never asTransit.Transits. The multicast distribution is aningress replicationIR whereby the Root encapsulates the multicast packets to all the 6LRs that are transit for the multicast address, using the same source-routing header as for unicast targets attached to the respective6LRs. </t><t> LLN6LRs.</t> <t>LLN links are typically Direct MAC Broadcast (DMB)(more(see more in <xref target="I-D.ietf-6man-ipv6-over-wireless" />) with no emulation to increase range (over multiple radio hops) or reliability. In such links, broadcasting is unreliable and asynchronous transmissions force a listener to remain awake, so asynchronous broadcasting is generally inefficient.TheThus, the expectation isthusthat whenever possible, the 6LRs deliver the multicast packets as individual unicast MAC frames to each of the 6LNs that subscribed to the multicast address. On the other hand, in a network where nodes do not sleep, asynchronous broadcasting may still help recovering faster when state islost. </t><t> Withlost.</t> <t>With this specification, anycast addresses can be injected in RPL in both Storing and Non-Storing modes. In StoringModemode, the RPL router accepts DAO messages from multiple children for the same anycast address, but it only forwards a packet to one of the children. In Non-StoringMode,mode, the Root maintains the list of all the RPL nodes that announced the anycast address as Target, but it forwards a given packet to only one ofthem. </t> <t> Operationallythem.</t> <t>Operationally speaking, deploying a new MOP means that one cannot update a live network. The network administrator must create a new instance with MOP 5 and migrate nodes to that instance by allowing them to joinit. </t>it.</t> <t>For backward compatibility, this specification allowsto buildbuilding a single DODAG signaled as MOP1,1 that conveys anycast, unicast, and multicast packets using the samesource routingsource-routing mechanism; see more in <xreftarget="deploy"/>. </t> <t> Ittarget="deploy"/>.</t> <t>It is also possible to leverage this specification between the 6LN and the 6LR for the registration of unicast,anycastanycast, and multicast IPv6 addresses in networks that are not necessarilyLLNs,LLNs and/or where the routing protocol between the 6LR andaboveits peer routers is not necessarily RPL. In that case, the distribution of packets between the 6LR and the 6LNs may effectively rely on a broadcast or multicast support at the lowerlayer, e.g.,layer (e.g., using this specification as a replacement to MLD in anEthernet bridgedEthernet-bridged domain and still using either a plain MAC-layer broadcast or snooping of this protocol to control theflooding.flooding). It may also rely on overlay services to optimize the impact of Broadcast, Unknown, and Multicast (BUM) traffic over a fabric,e.g.e.g., registering with <xref target="I-D.thubert-bess-secure-evpn-mac-signaling"/> and forwarding with <xreftarget="I-D.ietf-bess-evpn-optimized-ir"/>. </t> <t> Fortarget="RFC9574"/>.</t> <t>For instance, it is possible to operate a RPL Instance in the new"Non-StoringNon-Storing Mode of Operation with ingress replication multicastsupport"support (while possibly signaling a MOP of 1) and use<xref target="RFC7731">"Multicast"Multicast Protocol for Low-Power and Lossy Networks(MPL)"</xref>(MPL)" <xref target="RFC7731"/> for the multicast operation. MPL floods the DODAG with the multicast messages independently of the RPL DODAG topologies. Two variations arepossible: </t>possible:</t> <ul><li> In<li>In one possible variation, all the 6LNs set the R flag in the EARO for a multicast target, upon which the 6LRs send a unicast DAO message to the Root; the Root filters out the multicast messages for which there is no listener and only floods whenthere is. </li> <li> Ina listener exists.</li> <li>In a simpler variation, the 6LNs do not set the R flag and the Root floods all the multicast packets over the whole DODAG. Usingconfiguration,a configuration mechanism, it is also possible to control the behavior of the 6LR to ignore the Rflag andflag. It can be configured to either always or never send the DAOmessage,message and/or to control the Root and specify which groups it should flood or notflood. </li>flood.</li> </ul><t> Note<t>Note that if the configuration instructs the 6LR not to send theDAO,DAO message, then MPL canreally bybe used in conjunction with the RPL StoringModemode aswell. </t>well.</t> </section><!-- end section "Overview" --> <!-- Target Address is not a multicast address. --><sectionanchor="tgt4861"><name>Updatinganchor="tgt4861"><name>Amending RFC 4861</name><t> Section 7.1 of <xref target="RFC4861"/><t><xref target="RFC4861" sectionFormat="of" section="7.1"/> requirestosilentlydiscarddiscarding NS and NA packets when the Target Address is a multicast address. This specification Amends <xref target="RFC4861"/> by allowingto advertisethe advertisement of multicast and anycast addresses in the Target Address field when the NS message is used for a registration, persection 5.5 of<xreftarget="RFC8505"/>. </t> </section ><!-- Updating RFC 4861 -->target="RFC8505" sectionFormat="of" section="5.5"/>.</t> </section> <sectionanchor="CIO"><name>Updatinganchor="CIO"><name>Extending RFC 7400</name><t> This<t>This specification Extends<xref target="RFC7400">"6LoWPAN-GHC: Generic Header Compression for IPv6 over Low-Power Wireless Personal Area Networks(6LoWPANs)"</xref>(6LoWPANs)" <xref target="RFC7400"/> by defining a new capability bit for use in the 6CIO. <xref target="RFC7400"/> was already extended by <xref target="RFC8505"/> for use in IPv6 NDmessages. </t> <t> Themessages.</t> <t>The new "Registration forxcast AddressUnicast, Multicast, and Anycast Addresses Supported"(X)X flag indicates to the 6LN that the 6LR accepts unicast, multicast, and anycast address registrations as specified in this document and will ensure that packets for the Registered Address will be routed to the 6LNs that registered with the R flag setappropriately. </t> <t> <xrefappropriately.</t> <t><xref target="fig6CIO"/> illustrates the X flag in itssuggestedposition (8, counting 0 to 15 in network order in the 16-bitarray), to be confirmed by IANA. </t>array); see <xref target="New_Cap_Bits"/> for the IANA registration of capability bits.</t> <figure anchor="fig6CIO"><name>New Capability Bits in the 6CIO</name> <artwork> <![CDATA[ 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length = 1 | Reserved |X|A|D|L|B|P|E|G| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork> </figure><t> New<t>New OptionField: </t>Field:</t> <dl><dt>X</dt><dd><dt>X:</dt> <dd>This is a 1-bitflag:flag for "Registration for Unicast, Multicast, and Anycast AddressesSupported" </dd>Supported".</dd> </dl> </section><!-- end section "Extending RFC 7400" --><sectionanchor="coex"><name>Updatinganchor="coex"> <name>Amending RFC 6550</name><t> This<t>This specification Amends <xref target="RFC6550"/> to mandate the use of the ROVR field as the indication of the origin of a Target advertisement intheRPL DAO messages, as specified as an option insection 6.1 of<xreftarget="RFC9010"/>. </t><t> Thistarget="RFC9010" sectionFormat="of" section="6.1"/>.</t> <t>This specification Extends <xref target="RFC6550"/> with a new P-Field in the RPL TargetOption. </t><t> TheOption (RTO).</t> <t>The specification also Amends the behaviors of the Modes of Operation MOP 1 and MOP3,3 and Extends <xref target="RFC6550"/> with a new MOP5. </t>5.</t> <sectionanchor="mrovr"><name>Mandatinganchor="mrovr"> <name>Mandating the ROVRfield</name> <t> ForField</name> <t>For anycast and multicast advertisements (in NS or DAO messages), multiple origins may subscribe to the same address, in which case the multiple advertisements from the different or unknown origins are merged by the common parent; in that case, the common parent becomes the origin of the merged advertisements and uses its own ROVR value. On the other hand, a parent that propagates an advertisement from a single origin uses the original ROVR in the propagated RTO, as it does for unicast address advertisements, so the origin isrecognisedrecognized across multiplehops. </t><t> <xrefhops.</t> <t><xref target="RFC6550"/> uses the Path Sequence in the Transit Information Option (TIO) to retain only the freshest unicast route and remove the stale ones, e.g., in the case of mobility. <xref target="RFC9010"/> copies theTIDTransaction ID (TID) from the EARO into the PathSequence,Sequence and the ROVR field into the associatedRPL Target Option (RTO).RTO. This way, it is possible to identify both theregistering nodeRegistering Node and the order of registration in RPL for each individual advertisement, so the most recent path and lifetime values areused. </t><t> Thisused.</t> <t>This specification Extends <xref target="RFC6550"/>to require that,for anycast and multicastadvertisements,advertisements to require that the Path Sequenceisbe usedbetweenbetween, and onlybetweenbetween, advertisements for the same Target and from the same origin(i.e,(i.e., with the same ROVRvalue); invalue). In that case, only the freshest advertisement isretained. Butretained, but the freshness comparison cannot apply if the origin is not determined (i.e., the origin did not support thisspecification). </t><t> <xrefspecification).</t> <t><xref target="RFC6550"/> uses the Path Lifetime in the TIO to indicate the remaining time for which the advertisement is valid for unicast route determination, and a Path Lifetime value of 0 invalidates that route. <xref target="RFC9010"/> maps the Address Registration lifetime in the EARO and the Path Lifetime in the TIO so they are comparable when both forms of advertisements arereceived. </t><t> Thereceived.</t> <t>The RPL router that merges multiple advertisements for the same anycast or multicast addressesMUST<bcp14>MUST</bcp14> use and advertise the longest remaining lifetime across all the origins of the advertisements for that address. When the lifetime expires, the router sends a no-path DAO message (i.e., the lifetime is 0) using the same value for the ROVR value as for the previousadvertisements, that isadvertisements. This value refers to eitherself orthe single descendant that advertised theTarget. </t><t> NoteTarget if there is only one or the router itself if there is more than one.</t> <t>Note that the Registration Lifetime,TIDTID, and ROVR fields are also placed in the EDAR message so the state created by the EDAR is also comparable with that created upon an NS(EARO) or a DAO message. Forsimplicitysimplicity, the text below mentions only NS(EARO) butappliesit also applies toEDAR. </t> </section><!--Mandating the ROVR field-->EDAR.</t> </section> <section anchor="mop3"><name>Updating MOP 3</name><t> RPL<t>RPL supports multicast operations in the"StoringStoring Mode of Operation with multicastsupport"support (MOP3)3), which provides source-independent multicast routing in RPL, as prescribed insection 12 of<xreftarget="RFC6550"/>.target="RFC6550" sectionFormat="of" section="12"/>. MOP 3 is astoringStoring Mode of Operation. This operation builds a multicast tree within the RPL DODAG for each multicast address. This specification provides additional details for the MOP3 operation. </t> <t> The3.</t> <t>The expectation in MOP 3 is that the unicast traffic also follows the Storing Mode of Operation.ButHowever, this is rarely the case in LLN deployments of RPL where the"Non-StoringNon-Storing Mode ofOperation"Operation (MOP 1) is the norm. Though it is preferred to build separate RPL Instances, one in MOP 1 and one in MOP 3, this specification allows hybrid use of the StoringModemode for multicast and the Non-StoringModemode for unicast in the same RPL Instance, as is elaborated in more detail in <xreftarget="deploy"/>. </t><t> Fortarget="deploy"/>.</t> <t>For anycast and multicast advertisements, including MOP 3, the ROVR field is placed in theRPL Target OptionRTO as specified in <xreftarget= "RFC9010"/>target="RFC9010"/> for both MOP 3 and MOP 5 as it is for unicastadvertisements. </t> <t> Thoughadvertisements.</t> <t>Though it was implicit with <xref target="RFC6550"/>, this specification clarifies that the freshness comparison based on the Path Sequence is not used when the origin cannot be determined, whichisoccurs in the casethere.of multiple subscriptions of a multicast or unicast address. The comparison is to be used only between advertisements from the same origin, which is either an individualsubscriber,subscriber or a descendant that merged multipleadvertisements. </t> <t> Aadvertisements.</t> <t>A RPL router maintains a remaining Path Lifetime for each DAO message that it receives for a multicasttarget,target and sends its own DAO message for that target with the longest remaining lifetime across its listening children. If the router has only one descendant listening, it propagates the TID and ROVR as received. Conversely, if the router merges multiple advertisements(including possibly(possibly including one for itself as a listener), the router uses its own ROVR and TID values. This implies a possible transition of ROVR and TID values when the number of listening children changes from one to more or back to one, which should not be considered as an error or a change of ownership by the parentsabove. </t>above.</t> </section><!-- end section "Updating MOP 3" --><section anchor="mop5"><name>New Non-Storing Multicast MOP</name><t> This<t>This specification adds a"Non-StoringNon-Storing Mode of Operation with ingress replication multicastsupport" (MOP to besupport RPL (as assigned byIANA)IANA; see <xref target="RPL_Mode_Op"/>) whereby thenon-storingNon-Storing Mode DAO to the Root may advertise a multicast address in theRPL Target Option (RTO),RTO, whereas theTransit Information Option (TIO) cannot. </t> <t> InTIO cannot.</t> <t>In that mode, the RPL Root performs aningress replication (IR)IR operation on the multicastpackets, meaningpackets. This means that it transmits one copy of each multicast packet to each 6LR that is a transit for the multicast target, using the samesource routingsource-routing header and encapsulation as it would for a unicast packet for aRPL UnawareRPL-Unaware Leaf (RUL) attached to that6LR. </t> <t> For6LR.</t> <t>For the intermediate routers, the packet appears as anysource routedsource-routed unicast packet. The difference shows only at the 6LR,thatwhich terminates thesource routedsource-routed path and forwards the multicast packet to all 6LNs that registered for the multicastaddress. </t> <t> Foraddress.</t> <t>For a packet that is generated by the Root,this means thatthe Root builds asource routingsource-routing header as shown insection 8.1.3 of<xreftarget="RFC9008"/>,target="RFC9008" sectionFormat="of" section="8.1.3"/>, but for which the last and only the last address is multicast. For a packet that is not generated by the Root, the Root encapsulates the multicast packet as persection 8.2.4 of<xreftarget="RFC9008"/>.target="RFC9008" sectionFormat="of" section="8.2.4"/>. In that case, the outer header is purely unicast, and the encapsulated packet is purelymulticast. </t><t> Formulticast.</t> <t>For anycast and multicast advertisements in NA messages (at the 6LR) and DAO messages (at theRoot) messages,Root), as discussed in <xref target="mop3"/>, the freshness comparison based on the TID field is applied only between messages from the same origin, as determined by the same value in the ROVRfield. </t><t> Thefield.</t> <t>The Root maintains a remaining Path Lifetime for each advertisement it receives, andthe 6LRs generatea 6LR generates the DAO message for multicast addresses with the longest remaining lifetime across its registered 6LNs, using its own ROVR and TID when multiple 6LNssubscribed,have subscribed orif thiswhen the 6LR isone of the subscribers. </t> <t> For this new mode as well, thisa subscriber.</t> <t>This specification allowsto enableenabling the operation in a MOP 1 brownfield,field for this new mode as well; see more in <xreftarget="deploy"/>. </t>target="deploy"/>.</t> </section><!-- end section "New Non-Storing Multicast MOP" --><section anchor="anic"><name>RPL Anycast Operation</name><t> With<t>With multicast, the address has a recognizable format, and a multicast packet is to be delivered to all the active subscribers. In contrast, the format of an anycast address is not distinguishable from that ofunicast.a unicast address. A legacy node may issue a DAO message without setting the P-Field to2,2; the unicast behavior may apply to anycast traffic within a portion of the network, but the packets will still be delivered. That message will be undistinguishable from a unicastadvertisementadvertisement, and the anycast behavior in thedataplanedata plane can only happen if all the nodes that advertise the same anycast address are synchronized with the same TID. That way, the multiple paths can remain in the RPLDODAG. </t> <t> WithDODAG.</t> <t>With the P-Field set to 2, this specification alleviates the issue of synchronizing the TIDs and ROVR fields. As for multicast, the freshness comparison based on the TID (in the EARO) and the Path Sequence (in the TIO) is ignored unless the messages have the sameorigin, asorigin; this is inferred by the same ROVR in the RTO and/or the EARO, and the latest value of the lifetime is retained for eachorigin. </t> <t> Aorigin.</t> <t>A RPL router that propagates an advertisement from a single origin uses the ROVR and Path Sequence from that origin, whereas a router that merges multiple subscriptions uses its own ROVR and Path Sequence and the longest lifetime over the different advertisements. A target is routed as anycast by a parent (or the Root) that received at least one DAO message for that target with the P-Field set to2. </t> <t> As2.</t> <t>As opposed to multicast, the anycast operation describedthereinherein applies to both addresses and prefixes, and the P-Field can be set to 2 for both. An external destination(address(such as an address or prefix) that may be injected as a RPLtargetTarget from multiple border routers should be injected as anycast in RPL to enable load balancing.AIn contrast, a mobile target that is multihomed shouldin contrastbe advertised as unicast over the multiple interfaces to favor the TID comparisonand vs. theinstead of multipath loadbalancing. </t> <t> Forbalancing.</t> <t>For either multicastandor anycast, there can be multiple subscriptions from multiple origins, each using a different value of the ROVR field that identifies the individual subscription. The 6LR maintains a subscription state per value of the ROVRperfor each multicast or anycast address, but it injects the route into RPL only once for eachaddress, and inaddress. In the case of a multicast address, this occurs only if its scope is larger than the link-scope(3(three or more). Since the subscriptions are considered separate, the check on the TID that acts as the subscription sequence only applies to the subscription with the sameROVR. </t> <t> LikeROVR.</t> <t>Like the 6LR, a RPL router in StoringModemode propagates the merged advertisement to its parent(s) in DAO messages once and only once for each address, but it retains a routing table entry for each of the children that advertised theaddress. </t> <t> Whenaddress.</t> <t>When forwarding multicast packetsdownDown the DODAG, the RPL router copies all the children that advertised the address in their DAO messages. In contrast, when forwarding anycast packetsdownDown the DODAG, the RPL routerMUST<bcp14>MUST</bcp14> copy one and only one of the children that advertised the address in their DAOmessages,messages and forward it to one parent if there is no suchchild. </t>child.</t> </section><!-- end section "RPL Anycast Operation" --><sectionanchor="newpf"><name>Newanchor="newpf"> <name>New Registered Address Type Indicator P-Field</name><t> The<t>The new Registered Address Type Indicator (RATInd) is created for use inRPL Target Option,the RTO, the EARO, and the header of EDAR messages. The RATInd indicates whether an address is unicast, multicast, or anycast. The new 2-bit P-Field is defined to transport the RATInd in differentprotocols. </t> <t> Theprotocols.</t> <t>The P-Field can take thefollowing values: </t> <table anchor="pVALS" ><name>P-Field Values</name> <thead> <tr><td>P-Field Value</td><td>Registered Address Type</td></tr> </thead><tbody> <tr><td>0</td><td>Registration for a Unicast Address or prefix</td></tr> <tr><td>1</td><td>Registration for a Multicast Address</td></tr> <tr><td>2</td><td>Registration for an Anycast Address</td></tr> <tr><td>3</td><td>Reserved, MUST NOT be used by the sender.</td></tr> </tbody> </table> <!-- end table "P-Field values" --> <t> Thevalues shown in <xref target="AM2"/>.</t> <t>The intent for the value of 3 is a prefix registration (see <xreftarget="I-D.ietf-6lo-prefix-registration"/>,target="I-D.ietf-6lo-prefix-registration"/>), which is expected to be publishedsoonafter this specification. At the time of this writing, RPL already advertises prefixes, andtreatedtreats unicast addresses asprefgixesprefixes with a length of 128, so it does notreallyneed that new value. On the other hand, 6LoWPAN ND does not,andso the value of 3meaning(meaning prefixregistrationregistration) will not be processed adequately. As aresult: </t>result:</t> <ul><li> When<li>When the value of 3 is received in an RTO (see <xref target="newrtoflg"/>), this valueMUST<bcp14>MUST</bcp14> be ignored by thereceiver, meaning,receiver (meaning it is treated as a value of0,0) but the message is processed normally (as per <xref target="RFC6550"/> and <xreftarget="RFC9010"/>). </li> <li> Intarget="RFC9010"/>).</li> <li>In the case of an EARO (see <xref target="R8505E"/>) or an EDAR (see <xref target="R8505D"/>), the messageMUST<bcp14>MUST</bcp14> be dropped, and the receiving nodeMAY<bcp14>MAY</bcp14> either reply with a status of 12 "Invalid Registration" or remainsilent. </li>silent.</li> </ul></section><!-- New P-Field --></section> <section anchor="newrtoflg"><name>New RPL Target Option P-Field</name><t> <xref<t><xref target="RFC6550"/> recognizes a multicast address by its format (as specified insection 2.7 of<xreftarget="RFC4291"/>)target="RFC4291" sectionFormat="of" section="2.7"/>) and applies the specified multicast operation if the address is recognized as multicast. This specification updates <xref target="RFC6550"/> to add the 2-bit P-Field (see <xref target="newpf"/>) to the RTO to indicate that thetarget addressTarget Address is to be processed as unicast,multicastmulticast, oranycast. </t>anycast.</t> <ul> <li>An RTO that has the P-Field set to 0 is called a unicast RTO.</li> <li>An RTO that has the P-Field set to 1 is called a multicast RTO.</li> <li>An RTO that has the P-Field set to 2 is called an anycast RTO.</li> </ul><t> The<t>The suggested position for the P-Field is 2 counting from 0 to 7 in network order as shown in <xref target="rto-fmt"/>, based onfigureFigure 4 of <xreftarget="RFC9010"/>target="RFC9010"/>, which defines the flags inpositionpositions 0 and1: </t>1:</t> <figureanchor="rto-fmt"><name>Formatanchor="rto-fmt"> <name>Format of the RPL TargetOption</name>Option (RTO)</name> <artwork align="center"> 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 0x05 | Option Length |F|X| P |ROVRsz | Prefix Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Target Prefix (Variable Length) | . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ... Registration Ownership Verifier (ROVR) ... | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ </artwork> </figure><t> New<t>New and updated OptionFields: </t>Field:</t> <dl><dt>P:</dt><dd>2-bit<dt>P:</dt> <dd>This is a 2-bit field; see <xreftarget="newpf"/></dd>target="newpf"/>.</dd> </dl> </section><!-- end section "New RPL Target Option Flags" --></section><!-- end section "Updating RFC 6550" --><sectionanchor="updating"><name>Updatinganchor="updating"> <name>Extending RFC 8505</name><t> This<t>This specification Extends <xref target="RFC8505"/> by adding the concept of a subscription for anycast and multicast addresses and creating a new field called the P-Field in the EARO and in theEDAR/EDACEDAR and EDAC messagestito signal the type ofregistration. </t>registration.</t> <sectionanchor="R8505E"><name>Placinganchor="R8505E"> <name>Placing the New P-Field in the EARO</name><t> Section 4.1 of <xref target="RFC8505"/><t><xref target="RFC8505" sectionFormat="of" section="4.1"/> defines the EARO as an extension to the AROoptiondefined in <xref target="RFC6775"/>. This specification adds a new P-Field that is placed in the EARO flagsthatand is set asfollows: </t>follows:</t> <ul><li> The<li>The P-Field is set to 1 to signal that the Registered Address is a multicast address. When the P-Field is 1 and the R flag is set to 1 as well, the 6LR that conforms to this specification joins the multicaststream, e.g.,stream (e.g., by injecting the address in the RPL multicast support that is extended in this specification for the Non-StoringMode. </li> <li> Themode).</li> <li>The P-Field is set to 2 to signal that the Registered Address is an anycast address. When the P-Field is 2 and the R flag is 1, the 6LR that conforms to this specification injects the anycast address in the routing protocol(s) that it participatesto, e.g.,in (e.g., in the RPL anycast support that is introduced in this specification for both the Storing and Non-StoringModes. </li>modes).</li> </ul><t> <xref<t><xref target="EARO"/> illustrates the P-Field in itssuggested positionsposition (2, counting 0 to 7 in network order in the 8-bitarray), to be confirmed by IANA. </t>array); see <xref target="PF"/> for the IANA registration of P-Field values.</t> <figureanchor="EARO"><name>EAROanchor="EARO"><name>Extended Address Registration Option (EARO) Format</name> <artwork align="center"> 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Status | Opaque | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Rsv| P | I |R|T| TID | Registration Lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ... Registration Ownership Verifier (ROVR) ... | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ </artwork></figure><!-- end figure "EARO Option Format" --> <t> New</figure> <t>New and updated OptionFields: </t>Fields:</t> <dl><dt>Rsv:</dt><dd><dt>Rsv:</dt> <dd>This is a 2-bitfield; reserved, MUSTfield. It is reserved and <bcp14>MUST</bcp14> be set to 0 and ignored by thereceiver</dd> <dt>P:</dt><dd>2-bitreceiver.</dd> <dt>P:</dt> <dd>This is a 2-bit P-Field; see <xreftarget="newpf"/></dd>target="newpf"/>.</dd> </dl> </section><!-- end section "Placing the New P-Field in the EARO" --><sectionanchor="R8505D"><name>Placinganchor="R8505D"> <name>Placing the New P-Field in the EDAR Message</name><t> Section 4 of <xref target="RFC6775"/><t><xref target="RFC6775" sectionFormat="of" section="4"/> provides the same format for DAR and DAC messages but thestatusStatus field is only used in DAC messages and has to be set tozero0 in DAR messages. <xref target="RFC8505"/> extends the DAC message as an EDAC but does not change thestatusStatus field in theEDAR. </t> <t> ThisEDAR.</t> <t>This specification repurposes thestatusStatus field in the EDAR as a Flags field. It adds a new P-Field to the EDAR flags field to match the P-Field in the EARO and signal the new types of registration. The EDAC message is notmodified. </t> <t> <xrefmodified.</t> <t><xref target="EDAR"/> illustrates the P-Field in itssuggestedposition (0, counting 0 to 7 in network order in the 8-bitarray), to be confirmed by IANA. </t>array); see <xref target="EDAR_Message_Flags"/> for the IANA registration of EDAR message flags.</t> <figure anchor="EDAR"><name>Extended Duplicate Address Request (EDAR) Message Format</name> <artwork align="center"> 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type |CodePfx|CodeSfx| Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | P | Reserved | TID | Registration Lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ... Registration Ownership Verifier (ROVR) ... | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Registered Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ </artwork></figure><!-- end figure "EDAR Message Format" --> <t> New</figure> <t>New and updated OptionFields: </t>Fields:</t> <dl><dt>Reserved</dt><dd><dt>Reserved:</dt><dd>This is a 6-bitfield: reserved, MUSTfield. It is reserved and <bcp14>MUST</bcp14> be set to 0 and ignored by thereceiver</dd> <dt>P:</dt><dd>2-bitreceiver.</dd> <dt>P:</dt><dd>This is a 2-bit field; see <xreftarget="newpf"/></dd>target="newpf"/>.</dd> </dl> </section><!-- end section "Placing the New P-Field in the EDAR Message" --><sectionanchor="multireg"><name>Registrationanchor="multireg"> <name>Registration Extensions</name><t> <xref<t><xref target="RFC8505"/> specifies the followingbehaviours: </t>behaviors:</t> <ul><li> A<li>A router that expects to reboot may send a final RA message, upon which nodes should subscribe elsewhere or redo the subscription to the same router upon reboot. In all other cases, a node reboot is silent. When the node comes back to life, existing registration state might be lost if it was not persisted, e.g., in persistentmemory. </li> <li> Thememory.</li> <li>The registration method is specified only for unicastaddresses. </li> <li> Theaddresses.</li> <li>The 6LN must register all itsULAULAs andGUAGUAs with anNS(EARO). </li> <li> TheNS(EARO) message.</li> <li>The 6LN may set the R flag in the EARO to obtain return reachability services by the 6LR, e.g., through ND proxyoperations,operations or by injecting the route in a route-oversubnet. </li> <li> thesubnet.</li> <li>the 6LR maintains a registration state per Registered Address, including an NCE with theLink LayerLink-Layer Address (LLA) of the Registered Node (the 6LNhere). </li>here).</li> </ul><t> This<t>This specification Amendsunethe abovebehaviorbehaviors and Extendsitthem with the followingbehavior: </t>behaviors:</t> <ul> <li>The concept of subscription is introduced for anycast and multicast addresses as an extension to the registration of a unicastaddress registration.address. The respective operations are similar from the perspective of the 6LN, but they show important differences on the router side, which maintains a separate state for each origin and merges them in its ownadvertisements. </li>advertisements.</li> <li><t> New<t>New ARO Statuses are introduced to indicate a "Registration Refresh Request" and an "Invalid Registration" (see <xreftarget="AROstat"/>). </t> <t> Thetarget="AROstat"/>).</t> <t>The former status is used in asynchronous NA(EARO) messages to indicate to peer 6LNs that they are requested to reregister all addresses that were previously registered to the originating node. The NA message may be sent to a unicast or a multicast link-scope address and should be contained within the L2 range where nodes mayeffectivelyhaveregistered/subscribedeffectively registered or, respectively, subscribed to thisrouter, e.g.,router (e.g., a radio broadcastdomain.domain). The latter is generic to any error in theEARO,EARO and isused e.g.,used, for example, to report that the P-Field is not consistent with the Registered Address in NS(EARO) and EDARmessages. </t> <t> Amessages.</t> <t>A router that wishes to refresh itsstate, e.g.,state (e.g., upon reboot or in any situation where it may have missed a registration or lost a registrationstate, SHOULDstate) <bcp14>SHOULD</bcp14> send an asynchronous NA(EARO) with this new status value. Failure to do so will delay the recovery of the networktilluntil the next periodic registration by the attached 6LNs and packets may be losttilluntil then. That asynchronous multicast NA(EARO)MUST<bcp14>MUST</bcp14> be sent to the all-nodeslink scopelink-scope multicast address(ff02::1)(ff02::1), and the TargetMUST<bcp14>MUST</bcp14> be set to thelink locallink-local address that was exposed previously by this node to acceptregistrations. </t> <t> Theregistrations.</t> <t>The TID field in the multicast NA(EARO) message is the one associated to the Target and follows the same rules as the TID in the NS(EARO) message for the sameTarget,Target; seesection 5.2 of<xreftarget="RFC8505"/>,target="RFC8505" sectionFormat="of" section="5.2"/>, which pointsat section 7.2 ofto <xreftarget="RFC6550"/>target="RFC6550" sectionFormat="of" section="7.2"/> for the lollipop mechanism used in the TID operation. It is incremented by the sender each time it sends a new series of NS and/or NA messages with the EARO about the Target. The TID indicates a reboot when it is in the "straight" part of the lollipop, between the initial value and 255. Afterthatthat, the TID remains below 128 as long as the device is alive. An asynchronous multicast NA(EARO) with a TID below 128MUST NOT<bcp14>MUST NOT</bcp14> be considered as indicating areboot. </t> <!-- In an unreliable environment, the asynchronous multicast NA(EARO) message MAY be resent in a fast sequence for reliability, in which case the TID MUST be incremented each time. The multicast NA(EARO) SHOULD be resent enough times for the TID to be issued with the value of 255 so the next NA(EARO) after the initial series is outside the lollipop and not confused with a reboot. A 6LN that has recently processed the multicast NA(EARO) indicating "Registration Refresh Request" ignores the next multicast NA(EARO) with the same status and a newer TID received within the duration of the initial series. --> <t> Thereboot.</t> <t>The asynchronous multicast NA(EARO) indicating a "Registration Refresh Request"MAY<bcp14>MAY</bcp14> be reissued a few times within a short period, to increase the chances that the message is received by all registered nodes despite the unreliable transmissions within the LLN; the TIDMUST<bcp14>MUST</bcp14> be incremented each time. The receiver 6LNMUST<bcp14>MUST</bcp14> consider that multiple NA(EARO) messages indicating a "Registration Refresh Request" from the same 6LR received within that short period with comparable(theirand increasing TID values (i.e., their absolute difference is less thanSEQUENCE_WINDOW,the SEQUENCE_WINDOW; seesection 7.2 of<xreftarget="RFC6550"/>) and increasing TID valuestarget="RFC6550" sectionFormat="of" section="7.2"/>) are in fact indicative of the samerequest; therequest. The 6LNMUST<bcp14>MUST</bcp14> process one and only one of the series of messages. If the TIDs are desynchronized (notcomparable),comparable) or decreased, then the NA(EARO) is considered as a new request and itMUST<bcp14>MUST</bcp14> beprocessed. </t> <t> Theprocessed.</t> <t>The multicast NA(EARO)SHOULD<bcp14>SHOULD</bcp14> be resent enough times for the TID to be issued with the value of 255 so the next NA(EARO) after the initial series is outside the lollipop and is not confused with a reboot. Bydefaultdefault, the TID initial setting after boot is 252, the SEQUENCE_WINDOW is 4, the duration of the short period is 10 seconds, the interval between retries is 1 second, and the number of retries is 3. To reach 255 at boot time, the senderMAY<bcp14>MAY</bcp14> either issue at least 4 NA messages, skip a TID value, or start with a value that is more than 252. The best values for the short period, the number of retries, and the TID initial setting depend on the environment andSHOULD<bcp14>SHOULD</bcp14> beconfigurable. </t>configurable.</t> </li> <li><t> A<t>A new IPv6 ND Consistent UptimeoptionOption (CUO) is introduced to be placed in IPv6 ND messages. The CUO allowsto figurefiguring out the state consistency between the sender and the receiver. For instance, a node that rebooted needs to reset its uptime to 0. ARouterrouter that changed information like a prefix information option has to advertise an incremented state sequence. To that effect, the CUO carries a Node State Sequence Information (NSSI) and a Consistent Uptime. See <xref target="CUO"/> for the optiondetails. </t> <t> Adetails.</t> <t>A node that receives the CUO checks whether it is indicative of a desynchronization between peers. A peer that discovers that a router has changed should reassess which addresses it formed based on the new PIOs from thatrouter,router and resync the state that it installed in therouter, e.g.,router (e.g., the registration state for itsaddresses.addresses). In the process, the peer may attemptto formto:</t> <ul> <li>form new addresses and registerthem, deprecatethem,</li> <li>deprecate old addresses and deregister them using a Lifetime of 0,and reformand</li> <li>reform any potentially loststate, e.g.,state (e.g., by registering again an existing address that it will keepusing. Ausing).</li> </ul> <t>A loss of state is inferred if the Consistent Uptime of the peer is less than the time since the state was installed, or if the NSSI is incremented for aconsistent uptime. </t>Consistent Uptime.</t> </li> <li><t> Registration<t>Registration for multicast and anycast addresses is now supported. The P-Field is added to the EARO to signal when theregistered addressRegistered Address is anycast or multicast.If theThe value of the P-Field is not consistent with the RegisteredAddress, that is if </t>Address if:</t> <ul><li> the<li>the Registered Address is a multicast address(section 2.4 of <xref target="RFC4291"/>)(<xref target="RFC4291" sectionFormat="of" section="2.4"/>) and the P-Field indicates a value that is not 1,or </li><li>theor</li> <li>the Registered Address is not a multicast address and the P-Field indicates a value that is1. </li>1.</li> </ul><t><t>If this occurs, then the message, NS(EARO) or EDAR,MUST<bcp14>MUST</bcp14> be dropped, and the receiving nodeMAY<bcp14>MAY</bcp14> either reply with a status of 12 "Invalid Registration" or remainsilent. </t>silent.</t> </li><li> The<li>The Status field in the EDAR message that was reserved and not used inRFC 8505<xref target="RFC8505"/> is repurposed to transport the flags to signal multicast andanycast. </li> <li> Theanycast.</li> <li>The 6LNMUST<bcp14>MUST</bcp14> also subscribe all the IPv6 multicast addresses that it listens to, and itMUST<bcp14>MUST</bcp14> set the P-Field to 1 in the EARO for those addresses. The one exception is the all-nodes link-scope multicast address ff02::1 <xreftarget="RFC4291"/>target="RFC4291"/>, which is implicitly registered by all nodes, meaning that all nodes are expected to accept messages sent to ff02::1 but are not expected to registerit. </li> <li> Theit.</li> <li>The 6LNMAY<bcp14>MAY</bcp14> set the R flag in the EARO to obtain the delivery of the multicast packets by the6LR, e.g.,6LR (e.g., by MLD proxy operations, or by injecting the address in a route-over subnet or in the Protocol Independent Multicast <xref target="RFC7761"/>protocol. </li> <li> Theprotocol).</li> <li>The 6LNMUST<bcp14>MUST</bcp14> also subscribe all the IPv6 anycast addresses that itsupportssupports, and itMUST<bcp14>MUST</bcp14> set the P-Field in the EARO to 2 for thoseaddresses. </li> <li> Theaddresses.</li> <li>The 6LR and the 6LBR are extended to accept more than one subscription for the same address when it is anycast or multicast, since multiple 6LNs may subscribe to the same address of these types. In both cases, theRegistration Ownership Verifier (ROVR)ROVR in the EAROidentifiesuniquely identifies a registration within the namespace of the RegisteredAddress. </li> <li> TheAddress.</li> <li>The 6LRMUST<bcp14>MUST</bcp14> also consider that all the nodes that registered an address to it (as known by the Source Link-Layer AddressOption)Option (SLLAO)) also registered ff02::1 <xref target="RFC4291"/> to theall nodesall-nodes link-scope multicastaddress ff02::1 <xref target="RFC4291"/>. </li> <li> Theaddress.</li> <li>The 6LRMUST<bcp14>MUST</bcp14> maintain a subscription state per tuple (IPv6 address, ROVR) for both anycast and multicast types ofaddress.addresses. ItSHOULD<bcp14>SHOULD</bcp14> notify the 6LBR with an EDAR message, unless it determined that the 6LBR is legacy and does not support this specification. In turn, the 6LBRMUST<bcp14>MUST</bcp14> maintain a subscription state per tuple (IPv6 address, ROVR) for both anycast and multicast types ofaddress. </li>address.</li> </ul> </section><!-- end section "Registering Extensions"--></section><!-- end section "Updating RFC 8505"--><sectionanchor="updating2"><name>Updatinganchor="updating2"> <name>Extending RFC 9010</name><t> <xref<t><xref target="RFC9010"/> specifies the followingbehaviours: </t>behaviors:</t> <ul><li> The<li>The 6LR has no specified procedure to inject multicast and anycast routes in RPL even though RPL supportsmulticast. </li> <li> Uponmulticast.</li> <li>Upon a registration with the R flag set to 1 in the EARO, the 6LR injects the address in the RPL unicastsupport. </li><li> Uponsupport.</li> <li>Upon receiving a packet directed to a unicast address for which it has an active registration, the 6LR delivers the packet as a unicastlayer-2Layer 2 frame to the LLA of the node that registered the unicastaddress. </li>address.</li> </ul><t> This<t>This specification Extends <xref target="RFC9010"/> by adding the followingbehavior: </t>behavior:</t> <ul><li> Upon<li>Upon a subscription with the R flag and the P-Field both set to 1 in the EARO, if the scope of the multicast address is above link-scope <xref target="RFC7346"/>, then the 6LR injects the address in the RPL multicast support and sets theP fieldP-Field in the RTO to 1 aswell. </li><li> Uponwell.</li> <li>Upon a subscription with the R flag set to 1 and the P-Field set to 2 in the EARO, the 6LR injects the address in the new RPL anycast support and sets the P-Field to 2 in theRTO. </li><li> UponRTO.</li> <li>Upon receiving a packet directed to a multicast address for which it has at least one subscription, the 6LR delivers a copy of the packet as a unicastlayer-2Layer 2 frame to the LLA of each of the nodes that registered to that multicastaddress. </li><li> Uponaddress.</li> <li>Upon receiving a packet directed to an anycast address for which it has at least one subscription, the 6LR delivers a copy of the packet as a unicastlayer-2Layer 2 frame to the LLA of exactly one of the nodes that registered to that multicastaddress. </li>address.</li> </ul> </section><!-- end section "Updating RFC 9010"--><sectionanchor="sec8928"><name>Leveraginganchor="sec8928"> <name>Leveraging RFC 8928</name><t> <xref target="RFC8928"> Address-Protected<t>"Address-Protected Neighbor Discovery for Low-Power and LossyNetworks </xref>Networks" <xref target="RFC8928"/> was defined to protect the ownership of unicast IPv6 addresses that are registered with <xreftarget="RFC8505"/>. </t> <t> Withtarget="RFC8505"/>.</t> <t>With <xref target="RFC8928"/>, it is possible for a node to autoconfigure a pair of public and private keys and use them to sign the registration of addresses that are either autoconfigured or obtained through othermethods. </t> <t> Themethods.</t> <t>The first hop router (the 6LR) may then validate a registration and perform source address validation on packets coming from the sender node (the6LN). </t> <t> Anycast6LN).</t> <t>Anycast and multicast addresses are not owned by one node. Multiple nodes may subscribe to the same address. In that context, the method specified in <xref target="RFC8928"/> cannot be used with autoconfiguredkeypairskey pairs to protect a singleownership. </t> <t> Forownership.</t> <t>For an anycast or a multicast address, it is still possible to leverage <xref target="RFC8928"/> to enforce the right to subscribe. If <xref target="RFC8928"/> is used, akeypair MUSTkey pair <bcp14>MUST</bcp14> be associated with the address before it is deployed, and a ROVRMUST<bcp14>MUST</bcp14> be generated from thatkeypairkey pair as specified in <xref target="RFC8928"/>. The address and the ROVRMUST<bcp14>MUST</bcp14> then be installed in the 6LBR so it can recognize the address and compare the ROVR on the firstsubscription. </t> <t> The keypair MUSTsubscription.</t> <t>The key pair <bcp14>MUST</bcp14> then be provisioned in each node that needs to subscribe to the anycast or multicast address, so the node can follow the steps in <xref target="RFC8928"/> to subscribe to theaddress. </t>address.</t> </section><!-- Leveraging RFC 8929 --><sectionanchor="CUO"><name>Consistentanchor="CUO"> <name>Consistent Uptime Option </name> <t>This specification introduces a new option that characterizes the uptime of the sender. The option may be used by routers in RA messages and by any node in NS, NA, and RS messages. It is used by the receiver to infer whether some state synchronization might belost, e.g.,lost (e.g., due toreboot. </t>reboot).</t> <figureanchor="CUOF"><name>Consistentanchor="CUOF"> <name>Consistent Uptime Option (CUO) Format</name> <artwork align="center"> 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Exponent | Uptime Mantissa | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |S|U| flags | NSSI | Peer NSSI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ </artwork></figure><!-- end figure "Consistent Uptime Option Format" --></figure> <dl><dt> Type: </dt> <dd>To be assigned<dt>Type:</dt> <dd>Assigned byIANA,IANA; see <xreftarget="NDOpt"/> </dd> <dt> Length: </dt> <dd> 1 </dd> <dt> Uptime Exponent: </dt> <dd>6-bittarget="NDOpt"/>.</dd> <dt>Length:</dt><dd>1</dd> <dt>Uptime Exponent:</dt> <dd>A 6-bit unsignedinteger: Theinteger and the Exponent to the base 2 of the uptimeunit </dd> <dt> Uptime Mantissa: </dt> <dd>10-bitunit.</dd> <dt>Uptime Mantissa:</dt> <dd>A 10-bit unsignedinteger: Theinteger and the mantissa of the uptimevalue </dd>value.</dd> <dt>S:</dt><dd><dd>A 1-bitflag,flag set to 1 to indicate that the sender is low-power and may sleep.</dd> <dt>U:</dt><dd><dd>A 1-bitflag,flag set to 1 to indicate that the Peer NSSI field is valid; itMUST<bcp14>MUST</bcp14> be set to 0 when the message is not unicast andMUST<bcp14>MUST</bcp14> be set to 1 when the message is unicast and the sender has an NSSI state for the intended receiver.</dd> <dt>flags:</dt><dd> 6-bit, reserved. MUST<dd>6-bit flags that are reserved and that <bcp14>MUST</bcp14> be set to 0 by the sender and ignored by the receiver.</dd><dt> NSSI: </dt> <dd>12-bit<dt>NSSI:</dt> <dd>A 12-bit unsignedinteger: Theinteger that represents the Node State SequenceInformation, MUSTInformation (NSSI). It <bcp14>MUST</bcp14> be stored by the receiver if it has a dependency on information advertised or stored at the sender.</dd><dt> Peer NSSI: </dt> <dd>12-bit<dt>Peer NSSI:</dt> <dd>A 12-bit unsignedinteger: Echoesinteger that echoes the last known NSSI from the peer.</dd> </dl> <t>The Consistent Uptime indicates how long the sender has been continuously up and running (though possibly sleeping) without loss of state. It is expressed by the Uptime Mantissa in units of 2 to the power of the Uptime Exponent in milliseconds. The receiver derives the boot time of the sender as the current time minus the sender's ConsistentUptime. </t><t> IfUptime.</t> <t>If the boot time of the sender is updated to a newer time, any state that the receiver installed in the sender before the reboot is probably lost. The receiverMUST<bcp14>MUST</bcp14> reassess all the state it installed in the server (e.g., any registration) and reinstall if it is stillneeded. </t><t> Theneeded.</t> <t>The U flag not set in a unicast messagefrom the senderindicates thatitthe sender has lost all state from this node. If the U flag is set, then the Peer NSSI field can be used to assess which changes the sender missed.TheFor the other way around, any state that was installed in the receiver from information by the sender before it rebootedMUST<bcp14>MUST</bcp14> be removed and may or may not be reinstalledlater. </t> <t> Thelater.</t> <t>The value of the uptime is reset to 0 at some point of the sender's reboot sequence, but it may notbestill be 0 when the first message is sent, so the receiver must not expect a value of 0 as the signal of areboot. </t>reboot.</t> <tableanchor="timex" ><name>Consistentanchor="timex"> <name>Consistent Uptime Rough Values</name> <thead><tr><td>Mantissa</td><td>Exponent</td><td>Resolution</td><td>Uptime</td></tr> </thead><tbody> <tr><td>1</td><td>0</td><td>1ms</td><td>1ms</td></tr> <tr><td>5</td><td>10</td><td>1s</td><td>5 seconds</td></tr> <tr><td>2</td><td>15</td><td>30s</td><td>1mn</td></tr> <tr><td>2</td><td>21</td><td>33mn</td><td>1 hour</td></tr><tr> <td>Mantissa</td> <td>Exponent</td> <td>Resolution</td> <td>Uptime</td> </tr> </thead> <tbody> <tr> <td>1</td> <td>0</td> <td>1 ms</td> <td>1 ms</td> </tr> <tr> <td>5</td> <td>10</td> <td>1 s</td> <td>5 seconds</td> </tr> <tr> <td>2</td> <td>15</td> <td>30 s</td> <td>1 mn</td> </tr> <tr> <td>2</td> <td>21</td> <td>33 mn</td> <td>1 hour</td> </tr> </tbody> </table><!-- end table "Consistent Uptime Example Values" +--> <t> The<t>The NSSISHOULD<bcp14>SHOULD</bcp14> be stored in persistent memory by the sender and incremented when it may have missed or lost state about a peer, or when it has updated some state in a fashion that will impact apeer, e.g.,peer (e.g., a host formed a new address or a router advertises a newprefix.prefix). When persisting is not possible, then the NSSI is randomlygenerated. </t><t> Asgenerated.</t> <t>As long as the NSSI remains constant, the cross-dependent state (such as addresses in a host that depend on a prefix in a router) can remain stable, meaning less checks in the receiver. Any change in the value of the NSSI is an indication that the sender updated some state and that the dependent state in the receiver should bereassessed, e.g.,reassessed (e.g., addresses that were formed based on an RA with a previous NSSI should be checked, or new addresses may be formed andregistered. </t><t> </t> </section><!-- Consistent Uptime Option -->registered).</t> </section> <sectionanchor="deploy"><name>Operational considerations</name> <t> Withanchor="deploy"> <name>Operational Considerations</name> <t>With this specification, a RPL DODAG forms a realm, and multiple RPL DODAGs may be federated in a single RPL Instance administratively. This means that a multicast address that needs to span a RPL DODAGMUST<bcp14>MUST</bcp14> use a scope of Realm-Local whereas a multicast address that needs to span a RPL InstanceMUST<bcp14>MUST</bcp14> use a scope of Admin-Local as discussed insection 3 of<xreftarget="RFC7346">"IPv6target="RFC7346" sectionFormat="of" section="3"/>, "IPv6 Multicast AddressScopes"</xref>. </t> <t> <xref target="RFC6052">"IPv6Scopes".</t> <t>"IPv6 Addressing of IPv4/IPv6Translators"</xref>Translators" <xref target="RFC6052"/> enablesto embedembedding IPv4 addresses in IPv6 addresses. The Root of a DODAG may leverage that technique to translate IPv4 traffic in IPv6 and route along the RPL domain. When encapsulating a packet with an IPv4 multicast Destination Address, itMUST<bcp14>MUST</bcp14> use a multicast address with the appropriate scope, Realm-Local orAdmin-Local. </t> <t><xref target="RFC3306">"Unicast-Prefix-basedAdmin-Local.</t> <t>"Unicast-Prefix-based IPv6 MulticastAddresses"</xref>Addresses" <xref target="RFC3306"/> enablesto form 2^32forming 2<sup>32</sup> multicast addresses from a single /64 prefix. If an IPv6 prefix is associated to an Instance or a RPL DODAG, this provides a namespace that can be used in any desired fashion.ItFor instance, it isfor instancepossible for a standard defining organization to form its own registry and allocate 32-bit values from that namespace to network functions or device types. When used within a RPL deployment that is associated with a /64prefixprefix, the IPv6 multicast addresses can be automatically derived from the prefix and the 32-bit value for either a Realm-Local or an Admin-Local multicast address as needed in theconfiguration. </t> <t> Thisconfiguration.</t> <t>This specification introduces the new RPL MOP 5. Operationally speaking, deploying a new RPL MOP means that one cannot update a live network. The network administrator must create a new instance with MOP 5 and migrate nodes to that instance by allowing them to joinit. </t> <t> Init.</t> <t>In a "green field" deployment where all nodes support this specification, it is possible to deploy a single RPL Instance using a multicast MOP for unicast, multicast, and anycastaddresses. </t><t> Inaddresses.</t> <t>In a "brown field" where legacy devices that do not support this specificationco-existcoexist with upgraded devices, it isRECOMMENDED<bcp14>RECOMMENDED</bcp14> to deploy one RPL Instance in anyMode of OperationMOP (typically MOP 1) for unicast that legacy nodes canjoin,join and a separate RPL Instance dedicated to multicast and anycast operations using a multicastMOP. </t><t> ToMOP.</t> <t>To deploy a StoringModemode multicast operation using MOP 3 in a RPL domain, it is required thatthere is enough density ofthe RPL routers that support MOP 3 have enough density to build a DODAG that covers all the potential listeners andincludeincludes the spanning multicast trees that are needed to distribute the multicast flows. This might not be the case when extending the capabilities of an existingnetwork. </t><t> Innetwork.</t> <t>In the case of the new Non-Storing multicast MOP, arguably the new support is only needed at the 6LRs that will accept multicast listeners. It is still required that each listenercanbe able to reach at least one such 6LR, so the upgraded 6LRs must be deployed to cover all the6LN6LNs that need multicastservices. </t><t> Usingservices.</t> <t>Using separate RPL Instances forin the one handunicast trafficand inon theotherone hand and for anycast and multicast traffic on the other hand allowstofor the use of different objectivefunction,functions; onefavoringfavors the link qualityupUp for unicast collection andone favoring downwardsthe other favors Downwards link quality for multicastdistribution. </t><t> Butdistribution.</t> <t>However, this might be impractical in some use cases where the signaling and the state to be installed in the devices are very constrained, the upgraded devices are too sparse, or the devices do not support more multipleinstances. </t><t> Wheninstances.</t> <t>When using a single RPL Instance, MOP 3 expects the Storing Mode of Operation for both unicast and multicast, which is an issue in constrained networks that typically use MOP 1 for unicast. This specification allows a mixed mode that is signaled as MOP 1 in the DIO messages for backward compatibility, where limited multicast and/or anycast is available, under the followingconditions: </t>conditions:</t> <ul><li> There MUST<li>There <bcp14>MUST</bcp14> be enough density of the 6LRs that support the mixed mode to cover all the 6LNs that require multicast or anycast services. In StoringMode,mode, thereMUST<bcp14>MUST</bcp14> be enough density of the 6LRs that support the mixed mode to also form a DODAG to theRoot. </li> <li> TheRoot.</li> <li>The RPL routers that support the mixed mode are configured to operate in accordance with the desired operation in thenetwork. </li> <li> Thenetwork.</li> <li>The MOP signaled in the RPL DIO messages is MOP 1 to enable the legacy nodes to operate asleaves. </li> <li> Theleaves.</li> <li>The support of multicast and/or anycast in the RPL InstanceSHOULD<bcp14>SHOULD</bcp14> be signaled by the 6LRs to the 6LN using a6CIO,6CIO; see <xreftarget="CIO"/>. </li> <li> Alternatively,target="CIO"/>.</li> <li>Alternatively, the support of multicast in the RPL domain can be globally known by other meanssuch asincluding configuration or external information such as support of a version of an industry standard that mandates it. In that case, all the routersMUST<bcp14>MUST</bcp14> support the mixedmode. </li>mode.</li> </ul> </section><!-- end section "Operational considerations" --><sectionanchor="sec"><name>Securityanchor="sec"> <name>Security Considerations</name><t> This<t>This specification Extends <xref target="RFC8505"/> and <xreftarget="RFC9010"/>,target="RFC9010"/> and leverages <xref target="RFC9008"/>. The securitysectionsections in these documents also apply to this document. In particular, the link layerSHOULD<bcp14>SHOULD</bcp14> be sufficiently protected to prevent rogueaccess. </t><t> <xrefaccess.</t> <t><xref target="RFC6550"> RPL </xref> already supports routing on multicast addresses, whereby the endpoint that subscribes to the groupand to do so injectsby injecting the multicast address participatesto RPLas aRPL aware node (RAN).RPL-Aware Node (RAN) in the RPL. Using an extension ofRFC 8505<xref target="RFC8505"/> as opposed to RPL to subscribe the address allows aRPL unaware leafRPL-Unaware Leaf (RUL) to subscribe as well. As noted in <xref target="RFC9010"/>, this provides a better security posture for the RPL network, since the nodes that do not really need to speak RPL, or are not trusted enough to inject RPL messages, can be forbidden from doing so, which bars a number ofattacksattack vectors from within RPL. Acting as an RUL, those nodes may still leverage the RPL network through the capabilities that are opened via ND operations. With thisdraft,specification, a node that needs multicast delivery can now obtain the service in a RPL domain while not being allowed to inject RPLmessages. </t> <t> </t> <t> Comparedmessages.</t> <t>Compared to <xref target="RFC6550"/>, thisdraftspecification enablesto tracktracking the origin of the multicast subscription inside the RPL network. This is a first step to enable a form of Route Ownership Validation (ROV) (see <xref target="RFC6811"/>) in RPL using the ROVR field in the EARO as proof ofownership. </t> <t> <xrefownership.</t> <t><xref target="sec8928"/> leverages <xref target="RFC8928"/> to prevent a rogue nodeto registerfrom registering a unicast address that it does not own. The mechanism could be extended to anycast and multicast addresses if the values of the ROVR they useisare known in advance, but how this is done is not in scope for this specification. One way would be to authorizein advancethe ROVR of the validusers.users in advance. A less preferred waycouldwould be to synchronize the ROVR and TID values across the valid subscribers asapreshared keymaterial. </t> <t> Inmaterial.</t> <t>In the latter case, it could be possible to update the keys associated to an address in all the 6LNs, but the flow is not clearly documented and may not complete in due time for all nodes in LLN use cases. It may be simpler to install an all-new address with new keys over a period of time, and switch the traffic to that address when the migration iscomplete. </t>complete.</t> </section><!-- end section "Security Considerations" --><sectionanchor="back"><name>Backwardanchor="back"> <name>Backward Compatibility</name><t> A<t>A legacy 6LN will not subscribe multicastaddressesaddresses, and the service will be the same when the network is upgraded. A legacy 6LR will not set the X flag in the6CIO6CIO, and an upgraded 6LN will not subscribe multicastaddresses. </t> <t> Uponaddresses.</t> <t>Upon receiving an EDAR message, a legacy 6LBR may not realize that the address being registered is anycast ormulticast,multicast and will return that it is a duplicate in the EDAC status. The 6LRMUST<bcp14>MUST</bcp14> ignore a duplicate status in the EDAC for anycast and multicastaddresses. </t> <t> Asaddresses.</t> <t>As detailed in <xref target="deploy"/>, it is possible to add multicast on an existing MOP 1deployment. </t> <t> Thedeployment.</t> <t>The combination of a multicast address and the P-Field set to 0 in an RTO in a MOP 3 RPL Instance isunderstood byan indication to the receiver that supports this specification (the parent)as an indicationthat the sender (child) does not support thisspecification, butspecification. However, the RTO is accepted and processed as if the P-Field was set to 1 for backward compatibility. </t><t> When<t>When the DODAG is operated in MOP 3, a legacy node will not set the P-Field and still expect multicast service as specified insection 12 of<xreftarget="RFC6550"/>.target="RFC6550" sectionFormat="of" section="12"/>. In MOP33, an RTO that is received with a target that is multicast and the P-Field set to 0MUST<bcp14>MUST</bcp14> be considered as multicast andMUST<bcp14>MUST</bcp14> be processed as if the P-Field is set to1. </t>1.</t> </section><!-- end section "Backward Compatibility" --> <section ><name>IANA<section> <name>IANA Considerations</name><t> Note to RFC Editor, to be removed: please replace "This RFC" throughout this document by the RFC number for this specification once it is allocated; also, requests to IANA must be edited to reflect the IANA actions once performed. </t> <t> Note to IANA, to be removed: the I Field is defined in <xref target="RFC9010"/> but is missing from the registry, so the bit positions must be added for completeness in conformance with the RFC. </t> <t> IANA is requested to make<t>IANA has made changes under the "Internet Control Message Protocol version 6 (ICMPv6) Parameters" <xref target="IANA.ICMP"/> andthe"Routing Protocol for Low Power and Lossy Networks (RPL)" <xref target="IANA.RPL"/> registrygroupings, as follows: </t>groupings; see details in the subsections that follow.</t> <sectionanchor="PF"><name>Newanchor="PF"> <name>New P-FieldvaluesValues Registry</name><t> IANA is requested to create<t>IANA has created a new "P-Fieldvalues"Values" registry under theheading"Internet Control Message Protocol version 6 (ICMPv6) Parameters" registry group to store the expression of theRegistered Address Type IndicatorRATInd as aP-Field. </t> <t> RegistrationP-Field.</t> <t>The registration procedure is"Standards Action"Standards Action <xref target='RFC8126'/>. The initialallocation isallocations are as indicated in <xreftarget="AM2"/>: </t>target="AM2"/>:</t> <tableanchor="AM2" ><name>P-Field values</name>anchor="AM2"> <name>P-Field Values Registry</name> <thead><tr><td>Value</td><td>Registered<tr> <td>Value</td> <td>Registered Address TypeIndicator</td><td>Reference</td></tr> </thead><tbody> <tr><td>0</td><td>RegistrationIndicator</td> <td>Reference</td> </tr> </thead> <tbody> <tr> <td>0</td> <td>Registration for a Unicast Address</td><td>This RFC</td></tr> <tr><td>1</td><td>Registration<td>RFC 9685</td> </tr> <tr> <td>1</td> <td>Registration for a Multicast Address</td><td>This RFC</td></tr> <tr><td>2</td><td>Registration<td>RFC 9685</td> </tr> <tr> <td>2</td> <td>Registration for an Anycast Address</td><td>This RFC</td></tr> <tr><td>3</td><td>Unassigned</td><td>This RFC</td></tr><td>RFC 9685</td> </tr> <tr> <td>3</td> <td>Unassigned</td> <td>RFC 9685</td> </tr> </tbody> </table><!-- end table "P-Field values" --> </section><!-- New P-Field Registry --> <section><name>New</section> <section anchor="EDAR_Message_Flags"> <name>New EDAR Message Flags Registry</name><t> IANA is requested to create<t>IANA has created a new "EDAR Message Flags" registry under theheading"Internet Control Message Protocol version 6 (ICMPv6)Parameters". </t> <t> RegistrationParameters" registry group.</t> <t>The registration procedure is"IETF Review"IETF Review or"IESG Approval"IESG Approval <xref target='RFC8126'/>. The initialallocation isallocations are as indicated in <xreftarget="EDARflags"/>: </t>target="EDARflags"/>:</t> <tableanchor="EDARflags" ><name>EDARanchor="EDARflags"> <name>EDAR Messageflags</name>Flags Registry</name> <thead><tr><td>Bit Number</td><td>Meaning</td><td>Reference</td></tr> </thead><tbody> <tr><td>0..1 (suggested)</td><td> P-Field<tr> <td>Bit Number</td> <td>Meaning</td> <td>Reference</td> </tr> </thead> <tbody> <tr> <td>0-1</td> <td>P-Field (2bits), see <xref target="PF"/> </td><td>This RFC</td></tr> <tr><td>2..7</td><td>Unassigned </td><td></td></tr>bits)</td> <td>RFC 9685, <xref target="PF"/></td> </tr> <tr> <td>2-7</td> <td>Unassigned</td> <td></td> </tr> </tbody> </table><!-- end table "EDAR Message flags" +--></section><!-- end section "New EDAR Message flags Registry --> <section><name>New EARO flags</name> <t> IANA is requested to make additions<section> <name>New Address Registration Option Flags</name> <t>IANA has made an addition to the "Address Registration Option Flags" registry <xref target="IANA.ICMP.ARO.FLG"/>registryunder theheading"Internet Control Message Protocol version 6 (ICMPv6) Parameters" registry group as indicated in <xreftarget="AROflags"/>: </t>target="AROflags"/>:</t> <tableanchor="AROflags" ><name>New ARO flags</name>anchor="AROflags"><name>New Address Registration Option Flags</name> <thead><tr><td>ARO flag</td><td>Meaning</td><td>Reference</td></tr> </thead><tbody> <tr><td>2..3 (suggested)</td><td> P-Field<tr> <td>Bit Number</td> <td>Description</td> <td>Reference</td> </tr> </thead> <tbody> <tr> <td>2-3</td> <td>P-Field (2bits), seebits)</td> <td>RFC 9685, <xreftarget="PF"/></td><td>This RFC</td></tr>target="PF"/></td> </tr> </tbody> </table><!-- end table "New ARO flag" +--></section><!-- end section "New ARO flag --> <section><name>New RTO flags</name> <t> IANA is requested to make additions<section> <name>New RPL Target Option Flags</name> <t>IANA has made an addition to the "RPL Target Option Flags" registry <xref target="IANA.RPL.RTO.FLG"/>registryunder theheading"Routing Protocol for Low Power and Lossy Networks (RPL)" registry group as indicated in <xreftarget="RTOflags"/>: </t>target="RTOflags"/>:</t> <tableanchor="RTOflags" ><name>New RTO flags</name>anchor="RTOflags"><name>New RPL Target Option Flags</name> <thead><tr><td>Bit Number</td><td>Meaning</td><td>Reference</td></tr> </thead><tbody> <tr><td>2..3 (suggested)</td><td> P-Field<tr> <td>Bit Number</td> <td>Capability Description</td> <td>Reference</td> </tr> </thead> <tbody> <tr> <td>2-3</td> <td>P-Field (2bits), seebits)</td> <td>RFC 9685, <xreftarget="PF"/></td><td>This RFC</td></tr>target="PF"/></td> </tr> </tbody> </table><!-- end table "New RTO flags" +--></section><!-- end section "New RTO flags --> <section><name>New<section anchor="RPL_Mode_Op"> <name>New RPL Mode of Operation</name><t> IANA is requested to make<t>IANA has made an addition to the "Mode of Operation" registry <xref target="IANA.RPL.MOP"/>registryunder theheading"Routing Protocol for Low Power and Lossy Networks (RPL)" registry group as indicated in <xreftarget="RMOP"/>: </t>target="RMOP"/>:</t> <tableanchor="RMOP" ><name>Newanchor="RMOP"><name>New RPL Mode of Operation</name> <thead><tr><td>Value</td><td>Description</td><td>Reference</td></tr> </thead><tbody> <tr><td>5 (suggested)</td><td>Non-Storing<tr> <td>Value</td> <td>Description</td> <td>Reference</td> </tr> </thead> <tbody> <tr> <td>5</td> <td>Non-Storing Mode of Operation with ingress replication multicastsupport</td><td>This RFC</td></tr>support</td> <td>RFC 9685</td> </tr> </tbody> </table><!-- end table "New RTO flags" +--></section><!-- end section "New RTO flags --><sectiontitle="Newanchor="New_Cap_Bits"> <name>New 6LoWPAN CapabilityBits"> <t> IANA is requested to makeBit</name> <t>IANA has made an addition to the "6LoWPAN Capability Bits" registry <xref target="IANA.ICMP.6CIO"/>registryunder theheading"Internet Control Message Protocol version 6 (ICMPv6) Parameters" registry group as indicated in <xreftarget="CIOdat"/>: </t>target="CIOdat"/>:</t> <tableanchor="CIOdat" ><name>Newanchor="CIOdat"><name>New 6LoWPAN CapabilityBits</name>Bit</name> <thead><tr><td>Capability Bit</td><td>Meaning</td><td>Reference</td></tr> </thead><tbody> <tr><td>8 (suggested)</td><td>X<tr> <td>Bit</td> <td>Description</td> <td>Reference</td> </tr> </thead> <tbody> <tr> <td>8</td> <td>X flag: Registration for Unicast, Multicast, and Anycast AddressesSupported</td><td>This RFC</td></tr>Supported</td> <td>RFC 9685</td> </tr> </tbody> </table><!-- end table "New 6LoWPAN Capability Bits" --></section><!-- end section "New 6LoWPAN Capability Bits" --> <section title="New<section> <name>New Address Registration Option StatusValues"> <t> IANA is requested to makeValues</name> <t>IANA has made additions to the "Address Registration Option Status Values" registry <xref target="IANA.ICMP.ARO.STAT"/>registryunder theheading"Internet Control Message Protocol version 6 (ICMPv6)Parameters",Parameters" registry group asfollows: </t>indicated in <xref target="AROstat"/>:</t> <tableanchor="AROstat" ><name>Newanchor="AROstat"><name>New Address Registration Option StatusValues"</name>Values</name> <thead><tr><td>Value </td><td>Description</td><td>Reference</td></tr> </thead><tbody> <tr><td>11 (suggested)</td><td>Registration<tr> <td>Value</td> <td>Description</td> <td>Reference</td> </tr> </thead> <tbody> <tr> <td>11</td> <td>Registration RefreshRequest</td><td>This RFC</td></tr> <tr><td>12 (suggested)</td><td>Invalid Registration</td><td>This RFC</td></tr>Request</td> <td>RFC 9685</td> </tr> <tr> <td>12</td> <td>Invalid Registration</td> <td>RFC 9685</td> </tr> </tbody> </table><!-- end table "New Address Registration Option Status Values" --></section><!-- end section "New Address Registration Option Status Values" --> <section title="New<section> <name>New IPv6 Neighbor DiscoveryOption"> <t> IANA is requested to make additionsOption Format</name> <t>IANA has made an addition to the "IPv6 Neighbor Discovery Option Formats" registry under theheading"Internet Control Message Protocol version 6 (ICMPv6)Parameters",Parameters" registry group asfollows: </t>indicated in <xref target="NDOpt"/>:</t> <tableanchor="NDOpt" ><name>Newanchor="NDOpt"> <name>New IPv6 Neighbor DiscoveryOption"</name>Option Format</name> <thead><tr><td>Value </td><td>Description</td><td>Reference</td></tr> </thead><tbody> <tr><td>42 (suggested)</td><td>Consistent<tr> <td>Type</td> <td>Description</td> <td>Reference</td> </tr> </thead> <tbody> <tr> <td>42</td> <td>Consistent UptimeOption</td><td>This RFC</td></tr>Option</td> <td>RFC 9685</td> </tr> </tbody> </table><!-- end table "IPv6 Neighbor Discovery Option" --></section><!-- end section "IPv6 Neighbor Discovery Option" --></section><!-- end section "IANA Considerations" --> <section title="Acknowledgments"> <t> This work is a production of an effective collaboration between the IETF 6lo WG and the Wi-Sun FAN WG. Thanks to all in both WGs who contributed reviews and productive suggestions, in particular Carsten Bormann, Paul Duffy, Klaus Hueske, Adnan Rashid, Rahul Jadhav, Gene Falendysz, Don Sturek, Dario Tedeschi, Saurabh Jain, and Chris Hett, with special thanks to Esko Dijk for his useful WGLC reviews and proposed changes. Also many thanks to Eric Vyncke, Sandy Ginoza, Zaheduzzaman Sarker, Paul Wouters, Roman Danyliw, John Scudder, Dirk Von Hugo, Murray Kucherawy, Kyle Rose, Scott Kelly, and Dan Romascanu for their suggestions and comments during the IETF last call and IESG review cycle. </t> </section> <!-- title="Acknowledgments" --></middle> <back> <displayreference target="IEEE802154"to="IEEE Std 802.15.4"/>to="IEEE-802.15.4"/> <displayreference target="IEEE802151"to="IEEE Std 802.15.1"/>to="IEEE-802.15.1"/> <displayreference target="IEEE80211"to="IEEE Std 802.11"/>to="IEEE-802.11"/> <displayreference target="I-D.kuehlewind-rswg-updates-tag" to="UPDATES-TAG"/> <displayreference target="I-D.ietf-rift-rift" to="RIFT"/> <displayreference target="I-D.ietf-6lo-prefix-registration" to="REGISTRATION"/> <displayreference target="I-D.ietf-6man-ipv6-over-wireless" to="IPv6-OVER-WIRELESS"/> <displayreference target="I-D.thubert-bess-secure-evpn-mac-signaling" to="MAC-SIGNALING"/> <displayreference target="I-D.heile-lpwan-wisun-overview" to="Wi-SUN"/><references title="Normative References"> <!-- RFC --><references> <name>References</name> <references> <name>Normative References</name> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3306.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3306.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4291.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4291.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4861.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4861.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4862.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4862.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6550.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6550.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6775.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6775.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7346.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7346.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7400.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7400.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8200.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8200.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8505.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8505.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8928.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8928.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9010.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9010.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9030.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9030.xml"/> <referenceanchor="IANA.ICMP">anchor="IANA.ICMP" target="https://www.iana.org/assignments/icmpv6-parameters"> <front><title>IANA Registry for ICMPv6</title><title>Internet Control Message Protocol version 6 (ICMPv6) Parameters</title> <author><organization> IANA </organization><organization>IANA</organization> </author><date year=""></date></front><seriesInfo name="IANA," value="https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml"></seriesInfo></reference> <referenceanchor="IANA.ICMP.ARO.FLG">anchor="IANA.ICMP.ARO.FLG" target="https://www.iana.org/assignments/icmpv6-parameters"> <front><title>IANA Registry for the Address<title>Address Registration Option Flags</title> <author><organization> IANA </organization><organization>IANA</organization> </author><date year=""></date></front><seriesInfo name="IANA," value="https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#icmpv6-adress-registration-option-flags"></seriesInfo></reference> <referenceanchor="IANA.ICMP.ARO.STAT">anchor="IANA.ICMP.ARO.STAT" target="https://www.iana.org/assignments/icmpv6-parameters"> <front><title>IANA Registry for the Address<title>Address Registration Option StatusValue</title>Values</title> <author><organization> IANA </organization><organization>IANA</organization> </author><date year=""></date></front><seriesInfo name="IANA," value= "https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#address-registration"></seriesInfo></reference> <referenceanchor="IANA.ICMP.6CIO">anchor="IANA.ICMP.6CIO" target="https://www.iana.org/assignments/icmpv6-parameters"> <front><title>IANA Registry for the 6LoWPAN<title>6LoWPAN Capability Bits</title> <author><organization> IANA </organization><organization>IANA</organization> </author><date year=""></date></front><seriesInfo name="IANA," value="https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#sixlowpan-capability-bits"></seriesInfo></reference> <referenceanchor="IANA.RPL">anchor="IANA.RPL" target="https://www.iana.org/assignments/rpl"> <front><title>IANA Registry<title>Routing Protocol forthe RPL</title>Low Power and Lossy Networks (RPL)</title> <author><organization> IANA </organization><organization>IANA</organization> </author><date year=""></date></front><seriesInfo name="IANA," value="https://www.iana.org/assignments/rpl/rpl.xhtml"></seriesInfo></reference> <referenceanchor="IANA.RPL.RTO.FLG">anchor="IANA.RPL.RTO.FLG" target="https://www.iana.org/assignments/rpl"> <front><title> IANA Sub-Registry for the RTO<title>RPL Target Option Flags</title> <author><organization> IANA </organization><organization>IANA</organization> </author><date year=""></date></front><seriesInfo name="IANA," value="https://www.iana.org/assignments/rpl/rpl.xhtml#rpl-target-option-flags"></seriesInfo></reference> <referenceanchor="IANA.RPL.MOP">anchor="IANA.RPL.MOP" target="https://www.iana.org/assignments/rpl"> <front><title> IANA Sub-Registry for the RPL Mode<title>Mode of Operation</title> <author><organization> IANA </organization><organization>IANA</organization> </author><date year=""></date></front><seriesInfo name="IANA," value="https://www.iana.org/assignments/rpl/rpl.xhtml#MOP"></seriesInfo></reference> </references><references title="Informative References"> <!-- RFC --> <!-- I-D --> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3810.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4919.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6282.xml"/><references> <name>Informative References</name> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7731.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3810.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6811.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4919.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7761.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6282.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6052.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7731.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8929.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6811.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9008.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7761.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-evpn-optimized-ir.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6052.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-rift-rift.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8929.xml"/> <xi:includehref="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-6lo-prefix-registration.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9008.xml"/> <xi:includehref='https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-6man-ipv6-over-wireless.xml'/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9574.xml"/> <!--[draft-kuehlewind-rswg-updates-tag] Editorial state/stream--> <xi:includehref='https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.kuehlewind-update-tag.xml'/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.heile-lpwan-wisun-overview.xml"/><xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.thubert-bess-secure-evpn-mac-signaling.xml"/>href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.kuehlewind-rswg-updates-tag.xml"/> <!--[draft-heile-lpwan-wisun-overview] Expired. Entered the long way to get the correct initials.--> <referenceanchor="IEEE802154">anchor="I-D.heile-lpwan-wisun-overview" target="https://datatracker.ietf.org/doc/html/draft-heile-lpwan-wisun-overview-00"> <front><title>IEEE Std 802.15.4, Part. 15.4: Wireless Medium Access Control (MAC)<title>Wi-SUN FAN Overview</title> <author fullname="ROBERT HEILE" initials="H." surname="Robert"> <organization>Wi-SUN Alliance</organization> </author> <author fullname="Bing (Remy) Liu" initials="B." surname="Liu"> <organization>Huawei Technologies</organization> </author> <author fullname="Mingui Zhang" initials="M." surname="Zhang"> <organization>Huawei Technologies</organization> </author> <author fullname="Charles E. Perkins" initials="C." surname="Perkins"> <organization>Futurewei</organization> </author> <date day="3" month="July" year="2017"/> </front> <seriesInfo name="Internet-Draft" value="draft-heile-lpwan-wisun-overview-00"/> </reference> <!--[draft-thubert-bess-secure-evpn-mac-signaling] Expired. Long way to get editor role.--> <reference anchor="I-D.thubert-bess-secure-evpn-mac-signaling" target="https://datatracker.ietf.org/doc/html/draft-thubert-bess-secure-evpn-mac-signaling-04"> <front> <title>Secure EVPN MAC Signaling</title> <author fullname="Pascal Thubert" initials="P." surname="Thubert" role="editor"/> <author fullname="Tony Przygienda" initials="T." surname="Przygienda"> <organization>Juniper Networks, Inc</organization> </author> <author fullname="Jeff Tantsura" initials="J." surname="Tantsura"> <organization>Microsoft</organization> </author> <date day="13" month="September" year="2023"/> </front> <seriesInfo name="Internet-Draft" value="draft-thubert-bess-secure-evpn-mac-signaling-04"/> </reference> <!--[draft-ietf-6man-ipv6-over-wireles] IESG state: I-D exists. Long way to get editor role.--> <reference anchor="I-D.ietf-6man-ipv6-over-wireless" target="https://datatracker.ietf.org/doc/html/draft-ietf-6man-ipv6-over-wireless-06"> <front> <title>Architecture andPhysical Layer (PHY) SpecificationsFramework for IPv6 over Non-Broadcast Access</title> <author fullname="Pascal Thubert" initials="P." surname="Thubert" role="editor"/> <author fullname="Michael Richardson" initials="M." surname="Richardson"> <organization>Sandelman Software Works</organization> </author> <date day="23" month="May" year="2024"/> </front> <seriesInfo name="Internet-Draft" value="draft-ietf-6man-ipv6-over-wireless-06"/> </reference> <!--[draft-ietf-6lo-prefix-registration] IESG state: I-D exists. Long way to get editor role.--> <reference anchor="I-D.ietf-6lo-prefix-registration" target="https://datatracker.ietf.org/doc/html/draft-ietf-6lo-prefix-registration-06"> <front> <title>IPv6 Neighbor Discovery Prefix Registration</title> <author fullname="Pascal Thubert" initials="P." surname="Thubert" role="editor"/> <date day="9" month="November" year="2024"/> </front> <seriesInfo name="Internet-Draft" value="draft-ietf-6lo-prefix-registration-06"/> </reference> <!--[draft-ietf-rift-rift-24] in RFC Editor state. Long way to get editor roles.--> <reference anchor="I-D.ietf-rift-rift" target="https://datatracker.ietf.org/doc/html/draft-ietf-rift-rift-24"> <front> <title>RIFT: Routing in Fat Trees</title> <author fullname="Tony Przygienda" initials="A." surname="Przygienda" role="editor"> <organization>Juniper Networks</organization> </author> <author fullname="Jordan Head" initials="J." surname="Head" role="editor"> <organization>Juniper Networks</organization> </author> <author fullname="Alankar Sharma" initials="A." surname="Sharma"> <organization>Hudson River Trading</organization> </author> <author fullname="Pascal Thubert" initials="P." surname="Thubert"> <organization>Individual</organization> </author> <author fullname="Bruno Rijsman" initials="B." surname="Rijsman"> <organization>Individual</organization> </author> <author fullname="Dmitry Afanasiev" initials="D." surname="Afanasiev"> <organization>Yandex</organization> </author> <date day="23" month="May" year="2024"/> </front> <seriesInfo name="Internet-Draft" value="draft-ietf-rift-rift-24"/> </reference> <reference anchor="IEEE802154" target="https://ieeexplore.ieee.org/document/9144691"> <front> <title>IEEE Standard for Low-Rate WirelessPersonal Area Networks </title>Networks</title> <author><organization>IEEE standard for Information Technology</organization><organization>IEEE</organization> </author><date/></front> <seriesInfo name="DOI" value="10.1109/IEEESTD.2020.9144691"/> <seriesInfo name="IEEE Std" value="802.15.4-2020"/> </reference> <reference anchor="IEEE80211"target="https://ieeexplore.ieee.org/document/9363693" >target="https://ieeexplore.ieee.org/document/9363693"> <front><title> IEEE Standard 802.11 - IEEE<title>IEEE Standard for InformationTechnology - TelecommunicationsTechnology--Telecommunications andinformation exchangeInformation Exchange betweensystemsSystems - Local andmetropolitan area networks - Specific requirementsMetropolitan Area Networks--Specific Requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)Specifications. </title>Specifications</title> <author><organization>IEEE standard for Information Technology</organization><organization>IEEE</organization> </author><date/></front> <seriesInfo name="DOI" value="10.1109/IEEESTD.2021.9363693"/> <seriesInfo name="IEEE Std" value="802.11-2020"/> </reference> <referenceanchor="IEEE802151">anchor="IEEE802151" target="https://ieeexplore.ieee.org/document/1490827"> <front><title> IEEE<title>IEEE Standard for InformationTechnology - Telecommunications and Information Exchange Between Systemstechnology - Local andMetropolitan Area Networksmetropolitan area networks - SpecificRequirements.requirements - Part15.1:15.1a: Wireless Medium Access Control (MAC) and Physical Layer (PHY)Specificationsspecifications for Wireless Personal Area Networks(WPANs) </title>(WPAN)</title> <author><organization> IEEE standard for Information Technology </organization><organization>IEEE</organization> </author><date/></front> <seriesInfo name="IEEE Std" value="802.15.1-2005"/> <seriesInfo name="DOI" value="10.1109/IEEESTD.2005.96290"/> </reference> </references> </references> <section numbered="false"> <name>Acknowledgments</name> <t>This work is a production of an effective collaboration between the IETF 6lo WG and the Wi-Sun FAN WG. Thanks to all in both WGs who contributed reviews and productive suggestions, in particular: <contact fullname="Carsten Bormann"/>, <contact fullname="Paul Duffy, Klaus Hueske"/>, <contact fullname="Adnan Rashid"/>, <contact fullname="Rahul Jadhav"/>, <contact fullname="Gene Falendysz"/>, <contact fullname="Don Sturek"/>, <contact fullname="Dario Tedeschi"/>, <contact fullname="Saurabh Jain"/>, <contact fullname="and Chris Hett"/>, with special thanks to <contact fullname="Esko Dijk"/> for his useful WGLC reviews and proposed changes. Also many thanks to <contact fullname="Éric Vyncke"/>, <contact fullname="Sandy Ginoza"/>, <contact fullname="Zaheduzzaman Sarker"/>, <contact fullname="Paul Wouters"/>, <contact fullname="Roman Danyliw"/>, <contact fullname="John Scudder"/>, <contact fullname="Dirk Von Hugo"/>, <contact fullname="Murray Kucherawy"/>, <contact fullname="Kyle Rose"/>, <contact fullname="Scott Kelly"/>, and <contact fullname="Dan Romascanu"/> for their suggestions and comments during the IETF last call and IESG review cycle.</t> </section> </back> </rfc>