rfc9685.original   rfc9685.txt 
6lo P. Thubert, Ed. Internet Engineering Task Force (IETF) P. Thubert, Ed.
Internet-Draft 16 May 2024 Request for Comments: 9685 November 2024
Updates: 4861, 6550, 6553, 8505, 9010 (if Updates: 4861, 6550, 6553, 8505, 9010
approved) Category: Standards Track
Intended status: Standards Track ISSN: 2070-1721
Expires: 17 November 2024
IPv6 Neighbor Discovery Multicast and Anycast Address Listener Listener Subscription for IPv6 Neighbor Discovery Multicast and Anycast
Subscription Addresses
draft-ietf-6lo-multicast-registration-19
Abstract Abstract
This document updates the 6LoWPAN extensions to IPv6 Neighbor This document updates the 6LoWPAN extensions to IPv6 Neighbor
Discovery (RFC 4861, RFC 8505) to enable a listener to subscribe to Discovery (specified in RFCs 4861 and 8505) to enable a listener to
an IPv6 anycast or multicast address; the document updates the subscribe to an IPv6 anycast or multicast address. This document
Routing Protocol for Low-Power and Lossy Networks (RFC 6550, RFC also updates the Routing Protocol for Low-Power and Lossy Networks
6553) to add a new Non-Storing Multicast Mode and a new support for (RPL) (specified in RFCs 6550 and 6553) to add a new Non-Storing
anycast addresses in Storing and Non-Storing Modes. This document multicast mode and new support for anycast addresses in Storing and
extends RFC 9010 to enable a 6LoWPAN Router to inject the anycast and Non-Storing modes. This document extends RFC 9010 to enable a
multicast addresses in RPL. 6LoWPAN Router (6LR) to inject the anycast and multicast addresses in
RPL.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on 17 November 2024. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9685.
Copyright Notice Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
Please review these documents carefully, as they describe your rights carefully, as they describe your rights and restrictions with respect
and restrictions with respect to this document. Code Components to this document. Code Components extracted from this document must
extracted from this document must include Revised BSD License text as include Revised BSD License text as described in Section 4.e of the
described in Section 4.e of the Trust Legal Provisions and are Trust Legal Provisions and are provided without warranty as described
provided without warranty as described in the Revised BSD License. in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Terminology
2.1. Requirements Language . . . . . . . . . . . . . . . . . . 5 2.1. Requirements Language
2.2. References . . . . . . . . . . . . . . . . . . . . . . . 5 2.2. Terminology from Relevant RFCs
2.3. Glossary . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3. Abbreviations
2.4. New terms . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4. New Terms
3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3. Overview
4. Updating RFC 4861 . . . . . . . . . . . . . . . . . . . . . . 13 4. Amending RFC 4861
5. Updating RFC 7400 . . . . . . . . . . . . . . . . . . . . . . 13 5. Extending RFC 7400
6. Updating RFC 6550 . . . . . . . . . . . . . . . . . . . . . . 13 6. Amending RFC 6550
6.1. Mandating the ROVR field . . . . . . . . . . . . . . . . 14 6.1. Mandating the ROVR Field
6.2. Updating MOP 3 . . . . . . . . . . . . . . . . . . . . . 15 6.2. Updating MOP 3
6.3. New Non-Storing Multicast MOP . . . . . . . . . . . . . . 16 6.3. New Non-Storing Multicast MOP
6.4. RPL Anycast Operation . . . . . . . . . . . . . . . . . . 17 6.4. RPL Anycast Operation
6.5. New Registered Address Type Indicator P-Field . . . . . . 18 6.5. New Registered Address Type Indicator P-Field
6.6. New RPL Target Option P-Field . . . . . . . . . . . . . . 19 6.6. New RPL Target Option P-Field
7. Updating RFC 8505 . . . . . . . . . . . . . . . . . . . . . . 20 7. Extending RFC 8505
7.1. Placing the New P-Field in the EARO . . . . . . . . . . . 20 7.1. Placing the New P-Field in the EARO
7.2. Placing the New P-Field in the EDAR Message . . . . . . . 21 7.2. Placing the New P-Field in the EDAR Message
7.3. Registration Extensions . . . . . . . . . . . . . . . . . 22 7.3. Registration Extensions
8. Updating RFC 9010 . . . . . . . . . . . . . . . . . . . . . . 25 8. Extending RFC 9010
9. Leveraging RFC 8928 . . . . . . . . . . . . . . . . . . . . . 26 9. Leveraging RFC 8928
10. Consistent Uptime Option . . . . . . . . . . . . . . . . . . 27 10. Consistent Uptime Option
11. Operational considerations . . . . . . . . . . . . . . . . . 29 11. Operational Considerations
12. Security Considerations . . . . . . . . . . . . . . . . . . . 31 12. Security Considerations
13. Backward Compatibility . . . . . . . . . . . . . . . . . . . 32 13. Backward Compatibility
14. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32 14. IANA Considerations
14.1. New P-Field values Registry . . . . . . . . . . . . . . 33 14.1. New P-Field Values Registry
14.2. New EDAR Message Flags Registry . . . . . . . . . . . . 33 14.2. New EDAR Message Flags Registry
14.3. New EARO flags . . . . . . . . . . . . . . . . . . . . . 34 14.3. New Address Registration Option Flags
14.4. New RTO flags . . . . . . . . . . . . . . . . . . . . . 34 14.4. New RPL Target Option Flags
14.5. New RPL Mode of Operation . . . . . . . . . . . . . . . 34 14.5. New RPL Mode of Operation
14.6. New 6LoWPAN Capability Bits . . . . . . . . . . . . . . 35 14.6. New 6LoWPAN Capability Bit
14.7. New Address Registration Option Status Values . . . . . 35 14.7. New Address Registration Option Status Values
14.8. New IPv6 Neighbor Discovery Option . . . . . . . . . . . 35 14.8. New IPv6 Neighbor Discovery Option Format
15. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 36 15. References
16. Normative References . . . . . . . . . . . . . . . . . . . . 36 15.1. Normative References
17. Informative References . . . . . . . . . . . . . . . . . . . 38 15.2. Informative References
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 41 Acknowledgments
Author's Address
1. Introduction 1. Introduction
The design of Low Power and Lossy Networks (LLNs) is generally The design of Low-Power and Lossy Networks (LLNs) is generally
focused on saving energy, which is the most constrained resource of focused on saving energy, which is the most constrained resource of
all. Other design constraints, such as a limited memory capacity, all. Other design constraints, such as a limited memory capacity,
duty cycling of the LLN devices and low-power lossy transmissions, duty cycling of the LLN devices, and low-power lossy transmissions,
derive from that primary concern. The radio (both transmitting or derive from that primary concern. The radio (when both transmitting
simply listening) is a major energy drain and the LLN protocols must or simply listening) is a major energy drain, and the LLN protocols
be adapted to allow the nodes to remain sleeping with the radio must be adapted to allow the nodes to remain sleeping with the radio
turned off at most times. turned off at most times.
The "Routing Protocol for Low Power and Lossy Networks" [RFC6550] "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks"
(RPL) provides IPv6 [RFC8200] routing services within such [RFC6550] provides IPv6 [RFC8200] routing services within such
constraints. To save signaling and routing state in constrained constraints. To save signaling and routing state in constrained
networks, the RPL routing is only performed along a Destination- networks, the RPL routing is only performed along a Destination-
Oriented Directed Acyclic Graph (DODAG) that is optimized to reach a Oriented Directed Acyclic Graph (DODAG) that is optimized to reach a
Root node, as opposed to along the shortest path between 2 peers, Root node, as opposed to along the shortest path between two peers,
whatever that would mean in each LLN. which may be a fuzzy concept anyway in a radio LLN.
This trades the quality of peer-to-peer (P2P) paths for a vastly This stretches the routes between RPL nodes inside the DODAG for a
reduced amount of control traffic and routing state that would be vastly reduced amount of control traffic and routing state that would
required to operate an any-to-any shortest path protocol. be required to operate an any-to-any shortest path protocol.
Additionally, broken routes may be fixed lazily and on-demand, based Additionally, broken routes may be fixed lazily and on-demand based
on dataplane inconsistency discovery, which avoids wasting energy in on data plane inconsistency discovery, which avoids wasting energy in
the proactive repair of unused paths. the proactive repair of unused paths.
RPL uses Destination Advertisement Object (DAO) messages to establish RPL uses Destination Advertisement Object (DAO) messages to establish
Downward routes. DAO messages are an optional feature for Downward routes. DAO messages are an optional feature for
applications that require point-to-multipoint (P2MP) or point-to- applications that require point-to-multipoint (P2MP) or point-to-
point (P2P) traffic. RPL supports two modes of Downward traffic: point (P2P) traffic. RPL supports two modes of Downward traffic:
Storing (fully stateful) or Non-Storing (fully source routed); see Storing (fully stateful) or Non-Storing (fully source routed); see
Section 9 of [RFC6550]. The mode is signaled in the Mode of Section 9 of [RFC6550]. The mode is signaled in the Mode of
Operation (MOP) field in the DODAG Information Object (DIO) messages Operation (MOP) field in the DODAG Information Object (DIO) messages
and applies to the whole RPL Instance. and applies to the whole RPL Instance.
Any given RPL Instance is either storing or non-storing. In both Any given RPL Instance is either Storing or Non-Storing. In both
cases, P2P packets travel Up toward a DODAG root then Down to the cases, P2P packets travel Up toward a DODAG root then Down to the
final destination (unless the destination is on the Upward route). final destination (unless the destination is on the Upward route).
In the Non-Storing case, the packet will travel all the way to a 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 DODAG root before traveling Down. In the Storing case, the packet
may be directed Down towards the destination by a common ancestor of may be directed Down towards the destination by a common ancestor of
the source and the destination prior to reaching a DODAG root. the source and the destination prior to reaching a DODAG root.
Section 12 of [RFC6550] details the "Storing Mode of Operation with Section 12 of [RFC6550] details the Storing Mode of Operation with
multicast support" with source-independent multicast routing in RPL. multicast support with source-independent multicast routing in RPL.
The classical "IPv6 Neighbor Discovery (IPv6 ND) Protocol" [RFC4861] The classical Neighbor Discovery (ND) protocol [RFC4861] [RFC4862]
[RFC4862] was defined for serial links and shared transit media such was defined for serial links and shared transit media such as
as Ethernet at a time when broadcast was cheap on those media while Ethernet at a time when broadcast on those media types was cheap,
memory for neighbor cache was expensive. It was thus designed as a while memory for neighbor cache was expensive. It was thus designed
reactive protocol that relies on caching and multicast operations for as a reactive protocol that relies on caching and multicast
the Address Discovery (aka Lookup) and Duplicate Address Detection operations for the Address Discovery (aka lookup) and Duplicate
(DAD) of IPv6 unicast addresses. Those multicast operations Address Detection (DAD) of IPv6 unicast addresses. Those multicast
typically impact every node on-link when at most one is really operations typically impact every node on-link when at most one is
targeted, which is a waste of energy, and imply that all nodes are really targeted. This is a waste of energy and implies that all
awake to hear the request, which is inconsistent with power saving nodes are awake to hear the request, which is inconsistent with
(sleeping) modes. power-saving (sleeping) modes.
The original 6LoWPAN ND, "Neighbor Discovery Optimizations for The original specification for 6LoWPAN ND, "Neighbor Discovery
6LoWPAN networks" [RFC6775], was introduced to avoid the excessive Optimization for IPv6 over Low-Power Wireless Personal Area Networks
use of multicast messages and enable IPv6 ND for operations over (6LoWPANs)" [RFC6775], was introduced to avoid the excessive use of
energy-constrained nodes. [RFC6775] changes the classical IPv6 ND multicast messages and enable IPv6 ND for operations over energy-
model to proactively establish the Neighbor Cache Entry (NCE) constrained nodes. [RFC6775] changes the classical IPv6 ND model to
associated to the unicast address of a 6LoWPAN Node (6LN) in the proactively establish the Neighbor Cache Entry (NCE) associated to
6LoWPAN Router(s) (6LR) that serve(s) it. To that effect, [RFC6775] the unicast address of a 6LoWPAN Node (6LN) in one or more 6LoWPAN
defines a new Address Registration Option (ARO) that is placed in Routers (6LRs) that serve it. To that effect, [RFC6775] defines a
unicast Neighbor Solicitation (NS) and Neighbor Advertisement (NA) new Address Registration Option (ARO) that is placed in unicast
messages between the 6LN and the 6LR. Neighbor Solicitation (NS) and Neighbor Advertisement (NA) messages
between the 6LN and the 6LR.
"Registration Extensions for 6LoWPAN Neighbor Discovery" [RFC8505] "Registration Extensions for IPv6 over Low-Power Wireless Personal
updates [RFC6775] into a generic Address Registration mechanism that Area Network (6LoWPAN) Neighbor Discovery" [RFC8505] updates
can be used to access services such as routing and ND proxy and [RFC6775] so that a generic Address Registration mechanism can be
introduces the Extended Address Registration Option (EARO) for that used to access services such as routing and ND proxy and introduces
purpose. This provides a routing-agnostic interface for a host to the Extended Address Registration Option (EARO) for that purpose.
request that the router injects a unicast IPv6 address in the local This provides a routing-agnostic interface for a host to request that
routing protocol and provide return reachability for that address. the router injects a unicast IPv6 address in the local routing
protocol and provides return reachability for that address.
"Routing for RPL Leaves" [RFC9010] provides the router counterpart of "Routing for RPL (Routing Protocol for Low-Power and Lossy Networks)
the mechanism for a host that implements [RFC8505] to inject its Leaves" [RFC9010] provides the router counterpart of the mechanism
unicast Unique Local Addresses (ULAs) and Global Unicast Addresses for a host that implements [RFC8505] to inject its unicast Unique
(GUAs) in RPL. But though RPL also provides multicast routing, Local Addresses (ULAs) and Global Unicast Addresses (GUAs) in RPL.
6LoWPAN ND supports only the registration of unicast addresses and Although RPL also provides multicast routing, 6LoWPAN ND supports
there is no equivalent of [RFC9010] to specify the 6LR behavior upon only the registration of unicast addresses, and there is no
the subscription of one or more multicast address(es). equivalent of [RFC9010] to specify the 6LR behavior upon the
subscription of one or more multicast addresses.
The "Multicast Listener Discovery Version 2 (MLDv2) for IPv6" "Multicast Listener Discovery Version 2 (MLDv2) for IPv6" [RFC3810]
[RFC3810] enables the router to learn which node listens to which enables the router to learn which node listens to which multicast
multicast address, but as the classical IPv6 ND protocol, MLD relies address, but as the classical IPv6 ND protocol, MLD relies on
on multicasting Queries to all nodes, which is unfit for low power multicasting queries to all nodes, which is unfit for low-power
operations. As for IPv6 ND, it makes sense to let the 6LNs control operations. As for IPv6 ND, it makes sense to let the 6LNs control
when and how they maintain the state associated to their multicast 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 addresses in the 6LR, e.g., during their own wake time. In the case
of a constrained node that already implements [RFC8505] for unicast of a constrained node that already implements [RFC8505] for unicast
reachability, it makes sense to extend to that support to subscribe reachability, it makes sense to extend that support to subscribe the
the multicast addresses they listen to. multicast addresses they listen to.
This specification Extends [RFC8505] and [RFC9010] to add the This specification Extends [RFC8505] and [RFC9010] by adding the
capability for the 6LN to subscribe anycast and multicast addresses capability for the 6LN to subscribe anycast and multicast addresses
and for the 6LR to inject them in RPL when appropriate. Note that 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 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 guaranteed that any given packet is delivered once and only once. If
a breakage happens along the preferred parent tree that is normally a breakage happens along the preferred parent tree that is normally
used for multicast forwarding, the packet going up may be rerouted to used for multicast forwarding, the packet going Up may be rerouted to
an alternate parent, leading to potential failures and duplications, an alternate parent, leading to potential failures and duplications,
whereas a packet going down will not be delivered in the subtree. It whereas a packet going Down will not be delivered in the subtree. It
is up to the Upper Layer Protocols to cope with both situations. is up to the Upper Layer Protocols (ULPs) to cope with both
situations.
2. Terminology 2. Terminology
2.1. Requirements Language 2.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in
14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
In addition, the terms "Extends" and "Amends" are used as a more In addition, "Extends" and "Amends" are used as more specific terms
specific term for "Updates" per [I-D.kuehlewind-update-tag] section 3 for "Updates" per Section 3 of [UPDATES-TAG] as follows:
as follows:
Amends/Amended by: This tag pair is used with an amending RFC that Amends/Amended by: This tag pair is used with an amending RFC that
changes the amended RFC. This could include bug fixes, changes the amended RFC. This could include bug fixes,
behavior changes etc. This is intended to specify mandatory behavior changes, etc. This is intended to specify mandatory
changes to the protocol. The goal of this tag pair is to changes to the protocol. The goal of this tag pair is to
signal to anyone looking to implement the amended RFC that signal to anyone looking to implement the amended RFC that
they MUST also implement the amending RFC. they MUST also implement the amending RFC.
Extends/Extended by: This tag pair is used with an extending RFC Extends/Extended by: This tag pair is used with an extending RFC
that defines an optional addition to the extended RFC. This that defines an optional addition to the extended RFC. This
can be used by documents that use existing extension points or can be used by documents that use existing extension points or
clarifications that do not change existing protocol behavior. clarifications that do not change existing protocol behavior.
This signals to implementers and protocol designers that there This signals to implementers and protocol designers that there
are changes to the extended RFC that they need to consider but are changes to the extended RFC that they need to consider but
not necessarily implement. not necessarily implement.
2.2. References 2.2. Terminology from Relevant RFCs
This document uses terms and concepts that are discussed in: This document uses terms and concepts that are discussed in:
* "Neighbor Discovery for IP version 6" [RFC4861] and "IPv6 * "Neighbor Discovery for IP version 6 (IPv6)" [RFC4861],
Stateless address Autoconfiguration" [RFC4862],
* Routing Protocol for Low-Power and Lossy Networks [RFC6550], * "IPv6 Stateless Address Autoconfiguration" [RFC4862],
* Neighbor Discovery Optimization for Low-Power and Lossy Networks
[RFC6775], as well as
* "Registration Extensions for 6LoWPAN Neighbor Discovery" [RFC8505] * "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks"
and [RFC6550],
* "Neighbor Discovery Optimization for IPv6 over Low-Power Wireless
Personal Area Networks (6LoWPANs)" [RFC6775],
* "Registration Extensions for IPv6 over Low-Power Wireless Personal
Area Network (6LoWPAN) Neighbor Discovery" [RFC8505], and
* "Using RPI Option Type, Routing Header for Source Routes, and * "Using RPI Option Type, Routing Header for Source Routes, and
IPv6-in-IPv6 Encapsulation in the RPL Data Plane" [RFC9008]. IPv6-in-IPv6 Encapsulation in the RPL Data Plane" [RFC9008].
2.3. Glossary 2.3. Abbreviations
This document uses the following acronyms: This document uses the following abbreviations:
6BBR 6LoWPAN Backbone Router 6CIO: Capability Indication Option
6CIO Capability Indication Option
6LBR 6LoWPAN Border Router
6LN 6LoWPAN Node
6LR 6LoWPAN Router
AMC Address Mapping Confirmation
AMR Address Mapping Request
ARO Address Registration Option
DAC Duplicate Address Confirmation
DAD Duplicate Address Detection
DAO Destination Advertisement Object
DAR Duplicate Address Request
DIO DODAG Information Object
DMB Direct MAC Broadcast
DODAG Destination-Oriented Directed Acyclic Graph
EARO Extended Address Registration Option
EDAC Extended Duplicate Address Confirmation
EDAR Extended Duplicate Address Request
IR Ingress Replication
LLN Low-Power and Lossy Network
MOP Mode of Operation
NA Neighbor Advertisement
NCE Neighbor Cache Entry
ND Neighbor Discovery
NS Neighbor Solicitation
RA Router Advertisement
ROVR Registration Ownership Verifier, pronounced "rover"
RPL Routing Protocol for Low-Power and Lossy Networks, pronounced
"ripple"
RS Router Solicitation
RTO RPL Target Option
TID Transaction ID
TIO Transit Information Option
2.4. New terms 6LBR: 6LoWPAN Border Router
6LN: 6LoWPAN Node
6LR: 6LoWPAN Router
ARO: Address Registration Option
DAC: Duplicate Address Confirmation
DAD: Duplicate Address Detection
DAO: Destination Advertisement Object
DAR: Duplicate Address Request
DIO: DODAG Information Object
DMB: Direct MAC Broadcast
DODAG: Destination-Oriented Directed Acyclic Graph
EARO: Extended Address Registration Option
EDAC: Extended Duplicate Address Confirmation
EDAR: Extended Duplicate Address Request
IR: Ingress Replication
LLN: Low-Power and Lossy Network
MLD: Multicast Listener Discovery
MOP: Mode of Operation
NA: Neighbor Advertisement
NCE: Neighbor Cache Entry
ND: Neighbor Discovery
NS: Neighbor Solicitation
RA: Router Advertisement
RAN: RPL-Aware Node
ROVR: Registration Ownership Verifier (pronounced "rover")
RPL: Routing Protocol for Low-Power and Lossy Networks (pronounced
"ripple")
RS: Router Solicitation
RTO: RPL Target Option
RUL: RPL-Unaware Leaf
TID: Transaction ID
TIO: Transit Information Option
2.4. New Terms
This document introduces the following terms: This document introduces the following terms:
Origin The node that issued an anycast or multicast advertisement, Origin: The node that issued an anycast or multicast advertisement,
either in the form of an NS(EARO) or as a DAO(TIO, RTO) in the form of either an NS(EARO) or a DAO(TIO, RTO) message.
Merge/merging The action of receiving multiple anycast or multicast
Merge/merging: The action of receiving multiple anycast or multicast
advertisements, either internally from self, in the form of an advertisements, either internally from self, in the form of an
NS(EARO), or as a DAO(TIO, RTO), and generating a single NS(EARO) message, or as a DAO(TIO, RTO) message, and
DAO(TIO, RTO). The RPL router maintains a state per origin generating a single DAO(TIO, RTO). The RPL router maintains a
for each advertised address, and merges the advertisements for state per origin for each advertised address and merges the
all subscriptions for the same address in a single advertisements for all subscriptions for the same address in a
advertisement. A RPL router that merges multicast single advertisement. A RPL router that merges multicast
advertisements from different origins becomes the origin of advertisements from different origins becomes the origin of
the merged advertisement and uses its own values for the Path the merged advertisement and uses its own values for the Path
Sequence and Registration Ownership Verifier (ROVR) fields. Sequence and Registration Ownership Verifier (ROVR) fields.
Subscribe/subscription The special form of registration that
leverages NS(EARO) to register (subscribe to) a multicast or Subscribe/subscription: The special form of registration that
an anycast address. leverages NS(EARO) to register (or subscribe to) a multicast
or an anycast address.
3. Overview 3. Overview
This specification Extends [RFC8505] and inherits from [RFC8928] to This specification Extends [RFC8505] to provide a registration method
provide a registration method - called subscription in this case - (called "subscription" in this case) for anycast and multicast
for anycast and multicast address. [RFC8505] is agnostic to the addresses. The specification inherits the proof of ownership defined
routing protocol in which the address may be redistributed. in [RFC8928] that already protects the address registration in
[RFC8505] to also protect the new subscription mechanism. [RFC8505]
is agnostic to the routing protocol in which the address may be
redistributed.
As opposed to unicast addresses, there might be multiple As opposed to unicast addresses, there might be multiple
registrations from multiple parties for the same address. The router registrations from multiple parties for the same address. The router
retains one registration per party per multicast or anycast address, retains one registration per party for each multicast or anycast
but injects the route into the routing protocol only once for each address but injects the route into the routing protocol only once for
address, asynchronously to the registration. On the other hand, the each address. The injection happens asynchronously to the
validation exchange with the registrar (6LBR) is still needed if the registration. On the other hand, the validation exchange with the
router checks the right for the host to listen to the anycast or registrar (6LBR) is still needed if the router checks the right for
multicast address. the host to listen to the anycast or multicast address.
Figure 1 depicts the registration of an anycast or a multicast Figure 1 depicts the registration of an anycast or a multicast
address. As shown, the 6LBR receives and accepts multiple Extended address. As shown, the 6LBR receives and accepts multiple EDAR
DAR messages for the same address, and the address being registered messages for the same address, and the address being registered by
by multiple nodes is not treated as a duplication. multiple nodes is not treated as a duplication.
6LoWPAN Node 6LR 6LBR 6LoWPAN Node 6LR 6LBR
(host1) (router) (registrar) (host1) (router) (registrar)
| | | | | |
| DMB link | | | DMB link | |
| | | | | |
| ND-Classic RS | | | ND-Classic RS | |
|----------------->| | |----------------->| |
|------------> | | |------------> | |
|------------------------> | |------------------------> |
| ND-Classic RA | | | ND-Classic RA | |
|<-----------------| | |<-----------------| |
| | | | | |
| NS(EARO) | | | NS(EARO) | |
|----------------->| | |----------------->| |
| | Extended DAR | | | EDAR |
| |-------------->| | |-------------->|
| | | | | |
| | Extended DAC | | | EDAC |
| |<--------------| | |<--------------|
| NA(EARO) | | NA(EARO) |
|<-----------------|<inject route> -> |<-----------------|<inject route> ->
| | | |
... ...
(host2) (router) 6LBR (host2) (router) 6LBR
| NS(EARO) | | | NS(EARO) | |
|----------------->| | |----------------->| |
| | | | | |
| | Extended DAR | | | EDAR |
| |-------------->| | |-------------->|
| | | | | |
| | Extended DAC | | | EDAC |
| |<--------------| | |<--------------|
| NA(EARO) | | | NA(EARO) | |
|<-----------------| | |<-----------------| |
... ...
(host1) (router) (host1) (router)
| NS(EARO) | | | NS(EARO) | |
|----------------->| | |----------------->| |
| | | | | |
| NA(EARO) | | | NA(EARO) | |
|<-----------------| | |<-----------------| |
... ...
| |<maintain route> -> | |<maintain route> ->
... ...
Figure 1: Registration Flow for an anycast or multicast Address Figure 1: Registration Flow for an Anycast or Multicast Address
In classical networks, [RFC8505] may be used for an ND proxy In classical networks, [RFC8505] may be used for an ND proxy
operation as specified in [RFC8929], or redistributed in a full- operation as specified in [RFC8929] or redistributed in a full-
fledged routing protocol such as might be done in BGP for Ethernet fledged routing protocol such as what might be done in BGP for
VPN [I-D.thubert-bess-secure-evpn-mac-signaling] or in the Routing In Ethernet VPN [MAC-SIGNALING] or in the Routing in Fat Trees (RIFT)
Fat Trees (RIFT) protocol [I-D.ietf-rift-rift]. The device mobility protocol [RIFT]. The device mobility can be gracefully supported as
can be gracefully supported as long as the routers can exchange and long as the routers can exchange and make sense of the sequence
make sense of the sequence counter in the TID field of the EARO. counter in the TID field of the EARO.
In the case of LLNs, RPL [RFC6550] is the routing protocol of choice In the case of LLNs, RPL [RFC6550] is the routing protocol of choice
and [RFC9010] specifies how the unicast address advertised with and [RFC9010] specifies how the unicast address advertised with
[RFC8505] is redistributed in RPL. This specification also provides [RFC8505] is redistributed in RPL. This specification also provides
RPL extensions for anycast and multicast address operation and RPL extensions for anycast and multicast address operation and
redistribution. In the RPL case and unless specified otherwise, the redistribution. In the RPL case, and unless specified otherwise, the
behavior of the 6LBR that acts as RPL Root, of the intermediate behavior is the same as it is for unicast for the 6LBR that acts as
routers down the RPL graph, of the 6LR that act as access routers and RPL Root, the intermediate routers Down the RPL graph, the 6LRs that
of the 6LNs that are the RPL-unaware destinations, is the same as for act as access routers, and the 6LNs that are the RPL-unaware
unicast. In particular, forwarding a packet happens as specified in destinations. In particular, forwarding a packet happens as
section 11 of [RFC6550], including loop avoidance and detection, specified in Section 11 of [RFC6550], including loop avoidance and
though in the case of multicast multiple copies might be generated. detection, though in the multicast case, multiple copies might be
generated.
[RFC8505] is a pre-requisite to this specification. A node that [RFC8505] is a prerequisite to this specification. A node that
implements this MUST also implement [RFC8505]. This specification implements this MUST also implement [RFC8505]. This specification
modifies existing options and updates the associated behaviors to modifies existing options and updates the associated behaviors to
enable the Registration for Multicast Addresses as an extension to enable the registration for multicast addresses as an extension to
[RFC8505]. As with the unicast address registration, the [RFC8505]. As with the registration of a unicast address, the
subscription to anycast and multicast addresses between a node and subscription to anycast and multicast addresses between a node and
its router(s) is agnostic (meaning, independent, unaware of) to the its router(s) is agnostic (meaning it is independent) from the
routing protocol in which this information may be redistributed or routing protocol in which this information may be redistributed or
aggregated by the router to other routers, though protocol extensions aggregated by the router to other routers. However, protocol
would be needed in the protocol when multicast services are not extensions would be needed in the protocol when multicast services
available. are not available.
This specification also Extends [RFC6550] and [RFC9010] in the case This specification also Extends [RFC6550] and [RFC9010] to add
of a route-over multilink subnet based on the RPL routing protocol, multicast ingress replication (IR) in Non-Storing mode and anycast
to add multicast ingress replication in Non-Storing Mode and anycast support in both Storing and Non-Storing modes in the case of a route-
support in both Storing and Non-Storing modes. A 6LR that implements over multilink subnet based on the RPL routing protocol. A 6LR that
the RPL extensions specified herein MUST also implement [RFC9010]. implements the RPL extensions specified herein MUST also implement
[RFC9010].
Figure 2 illustrates the classical situation of an LLN as a single Figure 2 illustrates the typical scenario of an LLN as a single IPv6
IPv6 Subnet, with a 6LoWPAN Border Router (6LBR) that acts as Root subnet, with a 6LBR that acts as Root for RPL operations and
for RPL operations and maintains a registry of the active maintains a registry of the active registrations as an abstract data
registrations as an abstract data structure called an Address structure called an "Address Registrar" for 6LoWPAN ND.
Registrar for 6LoWPAN ND.
The LLN may be a hub-and-spoke access link such as (Low-Power) Wi-Fi The LLN may be a hub-and-spoke access link such as (Low-Power) Wi-Fi
[IEEE Std 802.11] and Bluetooth (Low Energy) [IEEE Std 802.15.1], or [IEEE-802.11] and (Low-Energy) Bluetooth [IEEE-802.15.1] or a Route-
a Route-Over LLN such as the Wi-SUN [Wi-SUN] and 6TiSCH [RFC9030] Over LLN such as the Wi-SUN [Wi-SUN] and IPv6 over the TSCH mode of
meshes that leverages 6LoWPAN [RFC4919] [RFC6282] and RPL [RFC6550] IEEE 802.15.4 (6TiSCH) [RFC9030] meshes that leverage 6LoWPAN
over [IEEE Std 802.15.4]. [RFC4919] [RFC6282] and RPL [RFC6550] over IEEE 802.15.4
[IEEE-802.15.4].
| |
----+-------+------------ ----+-------+------------
| Wire side | Wire side
+------+ +------+
| 6LBR | | 6LBR |
|(Root)| |(Root)|
+------+ +------+
o o o Wireless side o o o Wireless side
o o o o o o o o o o o o
skipping to change at page 10, line 32 skipping to change at line 488
o o o o o |6LR| o o o o o |6LR|
o o o o o +---+ o o o o o +---+
o o o o o o z o o o o o o z
o o oo o o +---+ o o oo o o +---+
o |6LN| o |6LN|
+---+ +---+
Figure 2: Wireless Mesh Figure 2: Wireless Mesh
A leaf acting as a 6LN registers its unicast addresses to a RPL A leaf acting as a 6LN registers its unicast addresses to a RPL
router acting as a 6LR, using a layer-2 unicast NS message with an router acting as a 6LR using a Layer 2 unicast NS message with an
EARO as specified in [RFC8505]. The registration state is EARO as specified in [RFC8505]. The registration state is
periodically renewed by the Registering Node, before the lifetime periodically renewed by the Registering Node before the lifetime
indicated in the EARO expires. As for unicast IPv6 addresses, the indicated in the EARO expires. As for unicast IPv6 addresses, the
6LR uses an EDAR/EDAC exchange with the 6LBR to notify the 6LBR of 6LR uses an EDAR and then an EDAC exchange with the 6LBR to notify
the presence of the listeners. the 6LBR of the presence of the listeners.
This specification updates the EARO with a new two-bit field, the This specification updates the EARO with a new 2-bit field, the
P-Field, as detailed in Section 7.1. The existing R flag that P-Field, as detailed in Section 7.1. The existing R flag that
requests reachability for the registered address gets new behavior. requests reachability for the Registered Address gets new behavior.
With this extension the 6LNs can now subscribe to the anycast and With this extension, the 6LNs can now subscribe to the anycast and
multicast addresses they listen to, using a new P-Field in the EARO multicast addresses they listen to, using a new P-Field in the EARO
to signal that the registration is for a multicast address. Multiple to signal that the registration is for a multicast address. Multiple
6LNs may subscribe the same multicast address to the same 6LR. Note 6LNs may subscribe the same multicast address to the same 6LR. Note
the use of the term "subscribe": using the EARO registration the use of the term "subscribe": this means that when using the EARO
mechanism, a node registers the unicast addresses that it owns, but registration mechanism, a node registers the unicast addresses that
subscribes to the multicast addresses that it listens to. it owns but subscribes to the multicast addresses that it listens to.
With this specification, the 6LNs can also subscribe the anycast With this specification, the 6LNs can also subscribe the anycast
addresses they accept, using a new P-Field in the EARO to signal that addresses they accept using a new P-Field in the EARO to signal that
the registration is for an anycast address. As for multicast, the registration is for an anycast address. For multicast addresses,
multiple 6LNs may subscribe the same anycast address to the same 6LR. multiple 6LNs may subscribe the same anycast address to the same 6LR.
If the R flag is set in the subscription of one or more 6LNs for the 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 same address, the 6LR injects the anycast addresses and multicast
addresses of a scope larger than link-scope in RPL, based on the addresses of a scope larger than the link-scope in RPL, based on the
longest subscription lifetime across the active subscriptions for the longest subscription lifetime across the active subscriptions for the
address. address.
In the RPL "Storing Mode of Operation with multicast support", the In the RPL Storing Mode of Operation with multicast support
DAO messages for the multicast address percolate along the RPL (Section 12 of [RFC6550]), the DAO messages for the multicast address
preferred parent tree and mark a subtree that becomes the multicast percolate along the RPL-preferred parent tree and mark a subtree that
tree for that multicast address, with 6LNs that subscribed to the becomes the multicast tree for that multicast address, with 6LNs that
address as the leaves. As prescribed in section 12 of [RFC6550], the subscribed to the address as the leaves. As prescribed in Section 12
6LR forwards a multicast packet as an individual unicast MAC frame to of [RFC6550], the 6LR forwards a multicast packet as an individual
each peer along the multicast tree, except to the node it received unicast Medium Access Control (MAC) frame to each peer along the
the packet from. multicast tree, except to the node it received the packet from.
In the new RPL "Non-Storing Mode of Operation with multicast support" In the new RPL Non-Storing Mode of Operation with ingress replication
that is introduced here, the DAO messages announce the multicast multicast support that is introduced here, the DAO messages announce
addresses as Targets though never as Transit. The multicast the multicast addresses as Targets, and never as Transits. The
distribution is an ingress replication whereby the Root encapsulates multicast distribution is an IR whereby the Root encapsulates the
the multicast packets to all the 6LRs that are transit for the multicast packets to all the 6LRs that are transit for the multicast
multicast address, using the same source-routing header as for address, using the same source-routing header as for unicast targets
unicast targets attached to the respective 6LRs. attached to the respective 6LRs.
LLN links are typically Direct MAC Broadcast (DMB) (more in LLN links are typically Direct MAC Broadcast (DMB) (see more in
[I-D.ietf-6man-ipv6-over-wireless]) with no emulation to increase [IPv6-OVER-WIRELESS]) with no emulation to increase range (over
range (over multiple radio hops) or reliability. In such links, multiple radio hops) or reliability. In such links, broadcasting is
broadcasting is unreliable and asynchronous transmissions force a unreliable and asynchronous transmissions force a listener to remain
listener to remain awake, so asynchronous broadcasting is generally awake, so asynchronous broadcasting is generally inefficient. Thus,
inefficient. The expectation is thus that whenever possible, the the expectation is that whenever possible, the 6LRs deliver the
6LRs deliver the multicast packets as individual unicast MAC frames multicast packets as individual unicast MAC frames to each of the
to each of the 6LNs that subscribed to the multicast address. On the 6LNs that subscribed to the multicast address. On the other hand, in
other hand, in a network where nodes do not sleep, asynchronous a network where nodes do not sleep, asynchronous broadcasting may
broadcasting may still help recovering faster when state is lost. still help recovering faster when state is lost.
With this specification, anycast addresses can be injected in RPL in With this specification, anycast addresses can be injected in RPL in
both Storing and Non-Storing modes. In Storing Mode the RPL router both Storing and Non-Storing modes. In Storing mode, the RPL router
accepts DAO from multiple children for the same anycast address, but accepts DAO messages from multiple children for the same anycast
only forwards a packet to one of the children. In Non-Storing Mode, address, but it only forwards a packet to one of the children. In
the Root maintains the list of all the RPL nodes that announced the Non-Storing mode, the Root maintains the list of all the RPL nodes
anycast address as Target, but forwards a given packet to only one of that announced the anycast address as Target, but it forwards a given
them. packet to only one of them.
Operationally speaking, deploying a new MOP means that one cannot Operationally speaking, deploying a new MOP means that one cannot
update a live network. The network administrator must create a new update a live network. The network administrator must create a new
instance with MOP 5 and migrate nodes to that instance by allowing instance with MOP 5 and migrate nodes to that instance by allowing
them to join it. them to join it.
For backward compatibility, this specification allows to build a For backward compatibility, this specification allows building a
single DODAG signaled as MOP 1, that conveys anycast, unicast, and single DODAG signaled as MOP 1 that conveys anycast, unicast, and
multicast packets using the same source routing mechanism; more in multicast packets using the same source-routing mechanism; see more
Section 11. in Section 11.
It is also possible to leverage this specification between the 6LN It is also possible to leverage this specification between the 6LN
and the 6LR for the registration of unicast, anycast and multicast and the 6LR for the registration of unicast, anycast, and multicast
IPv6 addresses in networks that are not necessarily LLNs, and/or IPv6 addresses in networks that are not necessarily LLNs and/or where
where the routing protocol between the 6LR and above is not the routing protocol between the 6LR and its peer routers is not
necessarily RPL. In that case, the distribution of packets between necessarily RPL. In that case, the distribution of packets between
the 6LR and the 6LNs may effectively rely on a broadcast or multicast the 6LR and the 6LNs may effectively rely on a broadcast or multicast
support at the lower layer, e.g., using this specification as a support at the lower layer (e.g., using this specification as a
replacement to MLD in an Ethernet bridged domain and still using replacement to MLD in an Ethernet-bridged domain and still using
either plain MAC-layer broadcast or snooping this protocol to control either a plain MAC-layer broadcast or snooping of this protocol to
the flooding. It may also rely on overlay services to optimize the control the flooding). It may also rely on overlay services to
impact of Broadcast, Unknown, and Multicast (BUM) over a fabric, e.g. optimize the impact of Broadcast, Unknown, and Multicast (BUM)
registering with [I-D.thubert-bess-secure-evpn-mac-signaling] and traffic over a fabric, e.g., registering with [MAC-SIGNALING] and
forwarding with [I-D.ietf-bess-evpn-optimized-ir]. forwarding with [RFC9574].
For instance, it is possible to operate a RPL Instance in the new For instance, it is possible to operate a RPL Instance in the new
"Non-Storing Mode of Operation with multicast support" (while Non-Storing Mode of Operation with ingress replication multicast
possibly signaling a MOP of 1) and use "Multicast Protocol for support (while possibly signaling a MOP of 1) and use "Multicast
Low-Power and Lossy Networks (MPL)" [RFC7731] for the multicast Protocol for Low-Power and Lossy Networks (MPL)" [RFC7731] for the
operation. MPL floods the DODAG with the multicast messages multicast operation. MPL floods the DODAG with the multicast
independently of the RPL DODAG topologies. Two variations are messages independently of the RPL DODAG topologies. Two variations
possible: are possible:
* In one possible variation, all the 6LNs set the R flag in the EARO * 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 for a multicast target, upon which the 6LRs send a unicast DAO
message to the Root; the Root filters out the multicast messages message to the Root; the Root filters out the multicast messages
for which there is no listener and only floods when there is. for which there is no listener and only floods when a listener
exists.
* In a simpler variation, the 6LNs do not set the R flag and the * In a simpler variation, the 6LNs do not set the R flag and the
Root floods all the multicast packets over the whole DODAG. Using Root floods all the multicast packets over the whole DODAG. Using
configuration, it is also possible to control the behavior of the a configuration mechanism, it is also possible to control the
6LR to ignore the R flag and either always or never send the DAO behavior of the 6LR to ignore the R flag. It can be configured to
message, and/or to control the Root and specify which groups it either always or never send the DAO message and/or to control the
should flood or not flood. Root and specify which groups it should flood or not flood.
Note that if the configuration instructs the 6LR not to send the DAO, Note that if the configuration instructs the 6LR not to send the DAO
then MPL can really by used in conjunction with RPL Storing Mode as message, then MPL can be used in conjunction with the RPL Storing
well. mode as well.
4. Updating RFC 4861 4. Amending RFC 4861
Section 7.1 of [RFC4861] requires to silently discard NS and NA Section 7.1 of [RFC4861] requires silently discarding NS and NA
packets when the Target Address is a multicast address. This packets when the Target Address is a multicast address. This
specification Amends [RFC4861] by allowing to advertise multicast and specification Amends [RFC4861] by allowing the advertisement of
anycast addresses in the Target Address field when the NS message is multicast and anycast addresses in the Target Address field when the
used for a registration, per section 5.5 of [RFC8505]. NS message is used for a registration, per Section 5.5 of [RFC8505].
5. Updating RFC 7400 5. Extending RFC 7400
This specification Extends "6LoWPAN-GHC: Generic Header Compression This specification Extends "6LoWPAN-GHC: Generic Header Compression
for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)" for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)"
[RFC7400] by defining a new capability bit for use in the 6CIO. [RFC7400] by defining a new capability bit for use in the 6CIO.
[RFC7400] was already extended by [RFC8505] for use in IPv6 ND [RFC7400] was already extended by [RFC8505] for use in IPv6 ND
messages. messages.
The new "Registration for xcast Address Supported" (X) flag indicates The new "Registration for Unicast, Multicast, and Anycast Addresses
to the 6LN that the 6LR accepts unicast, multicast, and anycast Supported" X flag indicates to the 6LN that the 6LR accepts unicast,
address registrations as specified in this document and will ensure multicast, and anycast address registrations as specified in this
that packets for the Registered Address will be routed to the 6LNs document and will ensure that packets for the Registered Address will
that registered with the R flag set appropriately. be routed to the 6LNs that registered with the R flag set
appropriately.
Figure 3 illustrates the X flag in its suggested position (8, Figure 3 illustrates the X flag in its position (8, counting 0 to 15
counting 0 to 15 in network order in the 16-bit array), to be in network order in the 16-bit array); see Section 14.6 for the IANA
confirmed by IANA. registration of capability bits.
0 1 2 3 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 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| | Type | Length = 1 | Reserved |X|A|D|L|B|P|E|G|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: New Capability Bits in the 6CIO Figure 3: New Capability Bits in the 6CIO
New Option Field: New Option Field:
X 1-bit flag: "Registration for Unicast, Multicast, and Anycast X: This is a 1-bit flag for "Registration for Unicast, Multicast,
Addresses Supported" and Anycast Addresses Supported".
6. Updating RFC 6550 6. Amending RFC 6550
This specification Amends [RFC6550] to mandate the use of the ROVR This specification Amends [RFC6550] to mandate the use of the ROVR
field as the indication of the origin of a Target advertisement in field as the indication of the origin of a Target advertisement in
the RPL DAO messages, as specified as an option in section 6.1 of RPL DAO messages, as specified as an option in Section 6.1 of
[RFC9010]. [RFC9010].
This specification Extends [RFC6550] with a new P-Field in the RPL This specification Extends [RFC6550] with a new P-Field in the RPL
Target Option. Target Option (RTO).
The specification also Amends the behaviors of the Modes of Operation The specification also Amends the behaviors of the Modes of Operation
MOP 1 and MOP 3, and Extends [RFC6550] with a new MOP 5. MOP 1 and MOP 3 and Extends [RFC6550] with a new MOP 5.
6.1. Mandating the ROVR field 6.1. Mandating the ROVR Field
For anycast and multicast advertisements (in NS or DAO messages), For anycast and multicast advertisements (in NS or DAO messages),
multiple origins may subscribe to the same address, in which case the multiple origins may subscribe to the same address, in which case the
multiple advertisements from the different or unknown origins are multiple advertisements from the different or unknown origins are
merged by the common parent; in that case, the common parent becomes merged by the common parent; in that case, the common parent becomes
the origin of the merged advertisements and uses its own ROVR value. the origin of the merged advertisements and uses its own ROVR value.
On the other hand, a parent that propagates an advertisement from a On the other hand, a parent that propagates an advertisement from a
single origin uses the original ROVR in the propagated RTO, as it single origin uses the original ROVR in the propagated RTO, as it
does for unicast address advertisements, so the origin is recognised does for unicast address advertisements, so the origin is recognized
across multiple hops. across multiple hops.
[RFC6550] uses the Path Sequence in the Transit Information Option [RFC6550] uses the Path Sequence in the Transit Information Option
(TIO) to retain only the freshest unicast route and remove stale (TIO) to retain only the freshest unicast route and remove the stale
ones, e.g., in the case of mobility. [RFC9010] copies the TID from ones, e.g., in the case of mobility. [RFC9010] copies the
the EARO into the Path Sequence, and the ROVR field into the Transaction ID (TID) from the EARO into the Path Sequence and the
associated RPL Target Option (RTO). This way, it is possible to ROVR field into the associated RTO. This way, it is possible to
identify both the registering node and the order of registration in identify both the Registering Node and the order of registration in
RPL for each individual advertisement, so the most recent path and RPL for each individual advertisement, so the most recent path and
lifetime values are used. lifetime values are used.
This specification Extends [RFC6550] to require that, for anycast and This specification Extends [RFC6550] for anycast and multicast
multicast advertisements, the Path Sequence is used between and only advertisements to require that the Path Sequence be used between, and
between advertisements for the same Target and from the same origin only between, advertisements for the same Target and from the same
(i.e, with the same ROVR value); in that case, only the freshest origin (i.e., with the same ROVR value). In that case, only the
advertisement is retained. But the freshness comparison cannot apply freshest advertisement is retained, but the freshness comparison
if the origin is not determined (i.e., the origin did not support cannot apply if the origin is not determined (i.e., the origin did
this specification). not support this specification).
[RFC6550] uses the Path Lifetime in the TIO to indicate the remaining [RFC6550] uses the Path Lifetime in the TIO to indicate the remaining
time for which the advertisement is valid for unicast route time for which the advertisement is valid for unicast route
determination, and a Path Lifetime value of 0 invalidates that route. determination, and a Path Lifetime value of 0 invalidates that route.
[RFC9010] maps the Address Registration lifetime in the EARO and the [RFC9010] maps the Address Registration lifetime in the EARO and the
Path Lifetime in the TIO so they are comparable when both forms of Path Lifetime in the TIO so they are comparable when both forms of
advertisements are received. advertisements are received.
The RPL router that merges multiple advertisements for the same The RPL router that merges multiple advertisements for the same
anycast or multicast addresses MUST use and advertise the longest anycast or multicast addresses MUST use and advertise the longest
remaining lifetime across all the origins of the advertisements for remaining lifetime across all the origins of the advertisements for
that address. When the lifetime expires, the router sends a no-path that address. When the lifetime expires, the router sends a no-path
DAO (i.e., the lifetime is 0) using the same value for ROVR value as DAO message (i.e., the lifetime is 0) using the same value for the
for the previous advertisements, that is either self or the single ROVR value as for the previous advertisements. This value refers to
descendant that advertised the Target. either the single descendant that advertised the Target if there is
only one or the router itself if there is more than one.
Note that the Registration Lifetime, TID and ROVR fields are also Note that the Registration Lifetime, TID, and ROVR fields are also
placed in the EDAR message so the state created by EDAR is 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. For comparable with that created upon an NS(EARO) or a DAO message. For
simplicity the text below mentions only NS(EARO) but applies also to simplicity, the text below mentions only NS(EARO) but it also applies
EDAR. to EDAR.
6.2. Updating MOP 3 6.2. Updating MOP 3
RPL supports multicast operations in the "Storing Mode of Operation RPL supports multicast operations in the Storing Mode of Operation
with multicast support" (MOP 3) which provides source-independent with multicast support (MOP 3), which provides source-independent
multicast routing in RPL, as prescribed in section 12 of [RFC6550]. multicast routing in RPL, as prescribed in Section 12 of [RFC6550].
MOP 3 is a storing Mode of Operation. This operation builds a MOP 3 is a Storing Mode of Operation. This operation builds a
multicast tree within the RPL DODAG for each multicast address. This multicast tree within the RPL DODAG for each multicast address. This
specification provides additional details for the MOP 3 operation. specification provides additional details for the MOP 3.
The expectation in MOP 3 is that the unicast traffic also follows the The expectation in MOP 3 is that the unicast traffic also follows the
Storing Mode of Operation. But this is rarely the case in LLN Storing Mode of Operation. However, this is rarely the case in LLN
deployments of RPL where the "Non-Storing Mode of Operation" (MOP 1) deployments of RPL where the Non-Storing Mode of Operation (MOP 1) is
is the norm. Though it is preferred to build separate RPL Instances, 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 one in MOP 1 and one in MOP 3, this specification allows hybrid use
of the Storing Mode for multicast and Non-Storing Mode for unicast in of the Storing mode for multicast and the Non-Storing mode for
the same RPL Instance, as is elaborated in more detail in Section 11. unicast in the same RPL Instance, as is elaborated in more detail in
Section 11.
For anycast and multicast advertisements, including MOP 3, the ROVR For anycast and multicast advertisements, including MOP 3, the ROVR
field is placed in the RPL Target Option as specified in [RFC9010] field is placed in the RTO as specified in [RFC9010] for both MOP 3
for both MOP 3 and MOP 5 as it is for unicast advertisements. and MOP 5 as it is for unicast advertisements.
Though it was implicit with [RFC6550], this specification clarifies Though it was implicit with [RFC6550], this specification clarifies
that the freshness comparison based on the Path Sequence is not used that the freshness comparison based on the Path Sequence is not used
when the origin cannot be determined, which is the case there. The when the origin cannot be determined, which occurs in the case of
multiple subscriptions of a multicast or unicast address. The
comparison is to be used only between advertisements from the same comparison is to be used only between advertisements from the same
origin, which is either an individual subscriber, or a descendant origin, which is either an individual subscriber or a descendant that
that merged multiple advertisements. merged multiple advertisements.
A RPL router maintains a remaining Path Lifetime for each DAO that it A RPL router maintains a remaining Path Lifetime for each DAO message
receives for a multicast target, and sends its own DAO for that that it receives for a multicast target and sends its own DAO message
target with the longest remaining lifetime across its listening for that target with the longest remaining lifetime across its
children. If the router has only one descendant listening, it listening children. If the router has only one descendant listening,
propagates the TID and ROVR as received. Conversely, if the router it propagates the TID and ROVR as received. Conversely, if the
merges multiple advertisements (including possibly one for itself as router merges multiple advertisements (possibly including one for
a listener), the router uses its own ROVR and TID values. This itself as a listener), the router uses its own ROVR and TID values.
implies a possible transition of ROVR and TID values when the number This implies a possible transition of ROVR and TID values when the
of listening children changes from one to more or back to one, which number of listening children changes from one to more or back to one,
should not be considered as an error or a change of ownership by the which should not be considered as an error or a change of ownership
parents above. by the parents above.
6.3. New Non-Storing Multicast MOP 6.3. New Non-Storing Multicast MOP
This specification adds a "Non-Storing Mode of Operation with ingress This specification adds a Non-Storing Mode of Operation with ingress
replication multicast support" (MOP to be assigned by IANA) whereby replication multicast support RPL (as assigned by IANA; see
the non-storing Mode DAO to the Root may advertise a multicast Section 14.5) whereby the Non-Storing Mode DAO to the Root may
address in the RPL Target Option (RTO), whereas the Transit advertise a multicast address in the RTO, whereas the TIO cannot.
Information Option (TIO) cannot.
In that mode, the RPL Root performs an ingress replication (IR) In that mode, the RPL Root performs an IR operation on the multicast
operation on the multicast packets, meaning that it transmits one packets. This means that it transmits one copy of each multicast
copy of each multicast packet to each 6LR that is a transit for the packet to each 6LR that is a transit for the multicast target, using
multicast target, using the same source routing header and the same source-routing header and encapsulation as it would for a
encapsulation as it would for a unicast packet for a RPL Unaware Leaf unicast packet for a RPL-Unaware Leaf (RUL) attached to that 6LR.
(RUL) attached to that 6LR.
For the intermediate routers, the packet appears as any source routed For the intermediate routers, the packet appears as any source-routed
unicast packet. The difference shows only at the 6LR, that unicast packet. The difference shows only at the 6LR, which
terminates the source routed path and forwards the multicast packet terminates the source-routed path and forwards the multicast packet
to all 6LNs that registered for the multicast address. to all 6LNs that registered for the multicast address.
For a packet that is generated by the Root, this means that the Root For a packet that is generated by the Root, the Root builds a source-
builds a source routing header as shown in section 8.1.3 of routing header as shown in Section 8.1.3 of [RFC9008], but for which
[RFC9008], but for which the last and only the last address is the last and only the last address is multicast. For a packet that
multicast. For a packet that is not generated by the Root, the Root is not generated by the Root, the Root encapsulates the multicast
encapsulates the multicast packet as per section 8.2.4 of [RFC9008]. packet as per Section 8.2.4 of [RFC9008]. In that case, the outer
In that case, the outer header is purely unicast, and the header is purely unicast, and the encapsulated packet is purely
encapsulated packet is purely multicast. multicast.
For anycast and multicast advertisements in NA (at the 6LR) and DAO For anycast and multicast advertisements in NA messages (at the 6LR)
(at the Root) messages, as discussed in Section 6.2, the freshness and DAO messages (at the Root), as discussed in Section 6.2, the
comparison based on the TID field is applied only between messages freshness comparison based on the TID field is applied only between
from the same origin, as determined by the same value in the ROVR messages from the same origin, as determined by the same value in the
field. ROVR field.
The Root maintains a remaining Path Lifetime for each advertisement The Root maintains a remaining Path Lifetime for each advertisement
it receives, and the 6LRs generate the DAO for multicast addresses it receives, and a 6LR generates the DAO message for multicast
with the longest remaining lifetime across its registered 6LNs, using addresses with the longest remaining lifetime across its registered
its own ROVR and TID when multiple 6LNs subscribed, or if this 6LR is 6LNs, using its own ROVR and TID when multiple 6LNs have subscribed
one of the subscribers. or when the 6LR is a subscriber.
For this new mode as well, this specification allows to enable the This specification allows enabling the operation in a MOP 1 brown
operation in a MOP 1 brown field, more in Section 11. field for this new mode as well; see more in Section 11.
6.4. RPL Anycast Operation 6.4. RPL Anycast Operation
With multicast, the address has a recognizable format, and a With multicast, the address has a recognizable format, and a
multicast packet is to be delivered to all the active subscribers. multicast packet is to be delivered to all the active subscribers.
In contrast, the format of an anycast address is not distinguishable In contrast, the format of an anycast address is not distinguishable
from that of unicast. A legacy node may issue a DAO message without from that of a unicast address. A legacy node may issue a DAO
setting the P-Field to 2, the unicast behavior may apply to anycast message without setting the P-Field to 2; the unicast behavior may
traffic within a portion of the network, but the packets will still apply to anycast traffic within a portion of the network, but the
be delivered. That message will be undistinguishable from a unicast packets will still be delivered. That message will be
advertisement and the anycast behavior in the dataplane can only undistinguishable from a unicast advertisement, and the anycast
happen if all the nodes that advertise the same anycast address are behavior in the data plane can only happen if all the nodes that
synchronized with the same TID. That way, the multiple paths can advertise the same anycast address are synchronized with the same
remain in the RPL DODAG. TID. That way, the multiple paths can remain in the RPL DODAG.
With the P-Field set to 2, this specification alleviates the issue of With the P-Field set to 2, this specification alleviates the issue of
synchronizing the TIDs and ROVR fields. As for multicast, the synchronizing the TIDs and ROVR fields. As for multicast, the
freshness comparison based on the TID (in EARO) and the Path Sequence freshness comparison based on the TID (in the EARO) and the Path
(in TIO) is ignored unless the messages have the same origin, as Sequence (in the TIO) is ignored unless the messages have the same
inferred by the same ROVR in RTO and/or EARO, and the latest value of origin; this is inferred by the same ROVR in the RTO and/or the EARO,
the lifetime is retained for each origin. and the latest value of the lifetime is retained for each origin.
A RPL router that propagates an advertisement from a single origin A RPL router that propagates an advertisement from a single origin
uses the ROVR and Path Sequence from that origin, whereas a router uses the ROVR and Path Sequence from that origin, whereas a router
that merges multiple subscriptions uses its own ROVR and Path that merges multiple subscriptions uses its own ROVR and Path
Sequence and the longest lifetime over the different advertisements. Sequence and the longest lifetime over the different advertisements.
A target is routed as anycast by a parent (or the Root) that received 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 to 2. at least one DAO message for that target with the P-Field set to 2.
As opposed to multicast, the anycast operation described therein As opposed to multicast, the anycast operation described herein
applies to both addresses and prefixes, and the P-Field can be set to applies to both addresses and prefixes, and the P-Field can be set to
2 for both. An external destination (address or prefix) that may be 2 for both. An external destination (such as an address or prefix)
injected as a RPL target from multiple border routers should be that may be injected as a RPL Target from multiple border routers
injected as anycast in RPL to enable load balancing. A mobile target should be injected as anycast in RPL to enable load balancing. In
that is multihomed should in contrast be advertised as unicast over contrast, a mobile target that is multihomed should be advertised as
the multiple interfaces to favor the TID comparison and vs. the unicast over the multiple interfaces to favor the TID comparison
multipath load balancing. instead of multipath load balancing.
For either multicast and anycast, there can be multiple subscriptions For either multicast or anycast, there can be multiple subscriptions
from multiple origins, each using a different value of the ROVR field from multiple origins, each using a different value of the ROVR field
that identifies the individual subscription. The 6LR maintains a that identifies the individual subscription. The 6LR maintains a
subscription state per value of the ROVR per multicast or anycast subscription state per value of the ROVR for each multicast or
address, but injects the route into RPL only once for each address, anycast address, but it injects the route into RPL only once for each
and in the case of a multicast address, only if its scope is larger address. In the case of a multicast address, this occurs only if its
than link-scope (3 or more). Since the subscriptions are considered scope is larger than the link-scope (three or more). Since the
separate, the check on the TID that acts as subscription sequence subscriptions are considered separate, the check on the TID that acts
only applies to the subscription with the same ROVR. as the subscription sequence only applies to the subscription with
the same ROVR.
Like the 6LR, a RPL router in Storing Mode propagates the merged Like the 6LR, a RPL router in Storing mode propagates the merged
advertisement to its parent(s) in DAO messages once and only once for 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 each address, but it retains a routing table entry for each of the
children that advertised the address. children that advertised the address.
When forwarding multicast packets down the DODAG, the RPL router When forwarding multicast packets Down the DODAG, the RPL router
copies all the children that advertised the address in their DAO copies all the children that advertised the address in their DAO
messages. In contrast, when forwarding anycast packets down the messages. In contrast, when forwarding anycast packets Down the
DODAG, the RPL router MUST copy one and only one of the children that DODAG, the RPL router MUST copy one and only one of the children that
advertised the address in their DAO messages, and forward to one advertised the address in their DAO messages and forward it to one
parent if there is no such child. parent if there is no such child.
6.5. New Registered Address Type Indicator P-Field 6.5. New Registered Address Type Indicator P-Field
The new Registered Address Type Indicator (RATInd) is created for use The new Registered Address Type Indicator (RATInd) is created for use
in RPL Target Option, the EARO, and the header of EDAR messages. The in the RTO, the EARO, and the header of EDAR messages. The RATInd
RATInd indicates whether an address is unicast, multicast, or indicates whether an address is unicast, multicast, or anycast. The
anycast. The new 2-bit P-Field is defined to transport the RATInd in new 2-bit P-Field is defined to transport the RATInd in different
different protocols. protocols.
The P-Field can take the following values:
+---------------+----------------------------------------------+
| P-Field Value | Registered Address Type |
+---------------+----------------------------------------------+
| 0 | Registration for a Unicast Address or prefix |
+---------------+----------------------------------------------+
| 1 | Registration for a Multicast Address |
+---------------+----------------------------------------------+
| 2 | Registration for an Anycast Address |
+---------------+----------------------------------------------+
| 3 | Reserved, MUST NOT be used by the sender. |
+---------------+----------------------------------------------+
Table 1: P-Field Values The P-Field can take the values shown in Table 2.
The intent for the value of 3 is a prefix registration (see The intent for the value of 3 is a prefix registration (see
[I-D.ietf-6lo-prefix-registration], which is expected to be published [REGISTRATION]), which is expected to be published after this
soon after this specification. At the time of this writing, RPL specification. At the time of this writing, RPL already advertises
already advertises prefixes, and treated unicast addresses as prefixes, and treats unicast addresses as prefixes with a length of
prefgixes with a length of 128, so it does not really need that new 128, so it does not need that new value. On the other hand, 6LoWPAN
value. On the other hand, 6LoWPAN ND does not, and the value of 3 ND does not, so the value of 3 (meaning prefix registration) will not
meaning prefix registration will not be processed adequately. As a be processed adequately. As a result:
result:
* When the value of 3 is received in an RTO (see Section 6.6), this * When the value of 3 is received in an RTO (see Section 6.6), this
value MUST be ignored by the receiver, meaning, treated as a value value MUST be ignored by the receiver (meaning it is treated as a
of 0, but the message is processed normally (as per [RFC6550] and value of 0) but the message is processed normally (as per
[RFC9010]). [RFC6550] and [RFC9010]).
* In the case of an EARO (see Section 7.1) or an EDAR (see * In the case of an EARO (see Section 7.1) or an EDAR (see
Section 7.2), the message MUST be dropped, and the receiving node Section 7.2), the message MUST be dropped, and the receiving node
MAY either reply with a status of 12 "Invalid Registration" or MAY either reply with a status of 12 "Invalid Registration" or
remain silent. remain silent.
6.6. New RPL Target Option P-Field 6.6. New RPL Target Option P-Field
[RFC6550] recognizes a multicast address by its format (as specified [RFC6550] recognizes a multicast address by its format (as specified
in section 2.7 of [RFC4291]) and applies the specified multicast in Section 2.7 of [RFC4291]) and applies the specified multicast
operation if the address is recognized as multicast. This operation if the address is recognized as multicast. This
specification updates [RFC6550] to add the 2-bit P-Field (see specification updates [RFC6550] to add the 2-bit P-Field (see
Section 6.5) to the RTO to indicate that the target address is to be Section 6.5) to the RTO to indicate that the Target Address is to be
processed as unicast, multicast or anycast. processed as unicast, multicast, or anycast.
* An RTO that has the P-Field set to 0 is called a unicast RTO. * An RTO that has the P-Field set to 0 is called a unicast RTO.
* An RTO that has the P-Field set to 1 is called a multicast RTO. * An RTO that has the P-Field set to 1 is called a multicast RTO.
* An RTO that has the P-Field set to 2 is called an anycast RTO. * An RTO that has the P-Field set to 2 is called an anycast RTO.
The suggested position for the P-Field is 2 counting from 0 to 7 in The suggested position for the P-Field is 2 counting from 0 to 7 in
network order as shown in Figure 4, based on figure 4 of [RFC9010] network order as shown in Figure 4, based on Figure 4 of [RFC9010],
which defines the flags in position 0 and 1: which defines the flags in positions 0 and 1:
0 1 2 3 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 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 | | Type = 0x05 | Option Length |F|X| P |ROVRsz | Prefix Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| Target Prefix (Variable Length) | | Target Prefix (Variable Length) |
. . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
... Registration Ownership Verifier (ROVR) ... ... Registration Ownership Verifier (ROVR) ...
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: Format of the RPL Target Option Figure 4: Format of the RPL Target Option (RTO)
New and updated Option Fields: New and updated Option Field:
P: 2-bit field; see Section 6.5 P: This is a 2-bit field; see Section 6.5.
7. Updating RFC 8505 7. Extending RFC 8505
This specification Extends [RFC8505] by adding the concept of This specification Extends [RFC8505] by adding the concept of a
subscription for anycast and multicast addresses and creating a new subscription for anycast and multicast addresses and creating a new
field called the P-Field in the EARO and the EDAR/EDAC messages ti field called the P-Field in the EARO and in the EDAR and EDAC
signal the type of registration. messages to signal the type of registration.
7.1. Placing the New P-Field in the EARO 7.1. Placing the New P-Field in the EARO
Section 4.1 of [RFC8505] defines the EARO as an extension to the ARO Section 4.1 of [RFC8505] defines the EARO as an extension to the ARO
option defined in [RFC6775]. This specification adds a new P-Field defined in [RFC6775]. This specification adds a new P-Field that is
placed in the EARO flags that is set as follows: placed in the EARO flags and is set as follows:
* The P-Field is set to 1 to signal that the Registered Address is a * 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 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 1 as well, the 6LR that conforms to this specification joins the
multicast stream, e.g., by injecting the address in the RPL multicast stream (e.g., by injecting the address in the RPL
multicast support that is extended in this specification for Non- multicast support that is extended in this specification for the
Storing Mode. Non-Storing mode).
* The P-Field is set to 2 to signal that the Registered Address is * 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, 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 the 6LR that conforms to this specification injects the anycast
address in the routing protocol(s) that it participates to, e.g., address in the routing protocol(s) that it participates in (e.g.,
in the RPL anycast support that is introduced in this in the RPL anycast support that is introduced in this
specification for both Storing and Non-Storing Modes. specification for both the Storing and Non-Storing modes).
Figure 5 illustrates the P-Field in its suggested positions (2, Figure 5 illustrates the P-Field in its position (2, counting 0 to 7
counting 0 to 7 in network order in the 8-bit array), to be confirmed in network order in the 8-bit array); see Section 14.1 for the IANA
by IANA. registration of P-Field values.
0 1 2 3 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 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 | | Type | Length | Status | Opaque |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Rsv| P | I |R|T| TID | Registration Lifetime | |Rsv| P | I |R|T| TID | Registration Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
... Registration Ownership Verifier ... ... Registration Ownership Verifier (ROVR) ...
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: EARO Option Format Figure 5: Extended Address Registration Option (EARO) Format
New and updated Option Fields: New and updated Option Fields:
Rsv: 2-bit field; reserved, MUST be set to 0 and ignored by the Rsv: This is a 2-bit field. It is reserved and MUST be set to 0 and
receiver ignored by the receiver.
P: 2-bit P-Field; see Section 6.5 P: This is a 2-bit P-Field; see Section 6.5.
7.2. Placing the New P-Field in the EDAR Message 7.2. Placing the New P-Field in the EDAR Message
Section 4 of [RFC6775] provides the same format for DAR and DAC Section 4 of [RFC6775] provides the same format for DAR and DAC
messages but the status field is only used in DAC messages and has to messages but the Status field is only used in DAC messages and has to
be set to zero in DAR messages. [RFC8505] extends the DAC message as be set to 0 in DAR messages. [RFC8505] extends the DAC message as an
an EDAC but does not change the status field in the EDAR. EDAC but does not change the Status field in the EDAR.
This specification repurposes the status field in the EDAR as a Flags This specification repurposes the Status field in the EDAR as a Flags
field. It adds a new P-Field to the EDAR flags field to match the 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 P-Field in the EARO and signal the new types of registration. The
EDAC message is not modified. EDAC message is not modified.
Figure 6 illustrates the P-Field in its suggested position (0, Figure 6 illustrates the P-Field in its position (0, counting 0 to 7
counting 0 to 7 in network order in the 8-bit array), to be confirmed in network order in the 8-bit array); see Section 14.2 for the IANA
by IANA. registration of EDAR message flags.
0 1 2 3 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 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 | | Type |CodePfx|CodeSfx| Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| P | Reserved | TID | Registration Lifetime | | P | Reserved | TID | Registration Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
... Registration Ownership Verifier (ROVR) ... ... Registration Ownership Verifier (ROVR) ...
skipping to change at page 21, line 44 skipping to change at line 1006
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
+ + + +
| | | |
+ Registered Address + + Registered Address +
| | | |
+ + + +
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: Extended Duplicate Address Request Message Format Figure 6: Extended Duplicate Address Request (EDAR) Message Format
New and updated Option Fields: New and updated Option Fields:
Reserved 6-bit field: reserved, MUST be set to 0 and ignored by the Reserved: This is a 6-bit field. It is reserved and MUST be set to
receiver 0 and ignored by the receiver.
P: 2-bit field; see Section 6.5 P: This is a 2-bit field; see Section 6.5.
7.3. Registration Extensions 7.3. Registration Extensions
[RFC8505] specifies the following behaviours: [RFC8505] specifies the following behaviors:
* A router that expects to reboot may send a final RA message, upon * A router that expects to reboot may send a final RA message, upon
which nodes should subscribe elsewhere or redo the subscription to which nodes should subscribe elsewhere or redo the subscription to
the same router upon reboot. In all other cases, a node reboot is the same router upon reboot. In all other cases, a node reboot is
silent. When the node comes back to life, existing registration silent. When the node comes back to life, existing registration
state might be lost if it was not persisted, e.g., in persistent state might be lost if it was not persisted, e.g., in persistent
memory. memory.
* The registration method is specified only for unicast addresses. * The registration method is specified only for unicast addresses.
* The 6LN must register all its ULA and GUA with an NS(EARO). * The 6LN must register all its ULAs and GUAs with an NS(EARO)
message.
* The 6LN may set the R flag in the EARO to obtain return * The 6LN may set the R flag in the EARO to obtain return
reachability services by the 6LR, e.g., through ND proxy reachability services by the 6LR, e.g., through ND proxy
operations, or by injecting the route in a route-over subnet. operations or by injecting the route in a route-over subnet.
* the 6LR maintains a registration state per Registered Address, * the 6LR maintains a registration state per Registered Address,
including an NCE with the Link Layer Address (LLA) of the including an NCE with the Link-Layer Address (LLA) of the
Registered Node (the 6LN here). Registered Node (the 6LN here).
This specification Amends une above behavior and Extends it with the This specification Amends the above behaviors and Extends them with
following behavior: the following behaviors:
* The concept of subscription is introduced for anycast and * The concept of subscription is introduced for anycast and
multicast addresses as an extension to the unicast address multicast addresses as an extension to the registration of a
registration. The respective operations are similar from the unicast address. The respective operations are similar from the
perspective of the 6LN, but show important differences on the perspective of the 6LN, but they show important differences on the
router side, which maintains a separate state for each origin and router side, which maintains a separate state for each origin and
merges them in its own advertisements. merges them in its own advertisements.
* New ARO Statuses are introduced to indicate a "Registration * New ARO Statuses are introduced to indicate a "Registration
Refresh Request" and an "Invalid Registration" (see Table 9). Refresh Request" and an "Invalid Registration" (see Table 8).
The former status is used in asynchronous NA(EARO) messages to The former status is used in asynchronous NA(EARO) messages to
indicate to peer 6LNs that they are requested to reregister all indicate to peer 6LNs that they are requested to reregister all
addresses that were previously registered to the originating node. addresses that were previously registered to the originating node.
The NA message may be sent to a unicast or a multicast link-scope 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 address and should be contained within the L2 range where nodes
may effectively have registered/subscribed to this router, e.g., a may have effectively registered or, respectively, subscribed to
radio broadcast domain. The latter is generic to any error in the this router (e.g., a radio broadcast domain). The latter is
EARO, and is used e.g., to report that the P-Field is not generic to any error in the EARO and is used, for example, to
consistent with the Registered Address in NS(EARO) and EDAR report that the P-Field is not consistent with the Registered
messages. Address in NS(EARO) and EDAR messages.
A router that wishes to refresh its state, e.g., upon reboot or in A router that wishes to refresh its state (e.g., upon reboot or in
any situation where it may have missed a registration or lost a any situation where it may have missed a registration or lost a
registration state, SHOULD send an asynchronous NA(EARO) with this registration state) SHOULD send an asynchronous NA(EARO) with this
new status value. Failure to do so will delay the recovery of the new status value. Failure to do so will delay the recovery of the
network till the next periodic registration by the attached 6LNs network until the next periodic registration by the attached 6LNs
and packets may be lost till then. That asynchronous multicast and packets may be lost until then. That asynchronous multicast
NA(EARO) MUST be sent to the all-nodes link scope multicast NA(EARO) MUST be sent to the all-nodes link-scope multicast
address (ff02::1) and Target MUST be set to the link local address address (ff02::1), and the Target MUST be set to the link-local
that was exposed previously by this node to accept registrations. address that was exposed previously by this node to accept
registrations.
The TID field in the multicast NA(EARO) is the one associated to The TID field in the multicast NA(EARO) message is the one
the Target and follows the same rules as the TID in the NS(EARO) associated to the Target and follows the same rules as the TID in
for the same Target, see section 5.2 of [RFC8505], which points at the NS(EARO) message for the same Target; see Section 5.2 of
section 7.2 of [RFC6550] for the lollipop mechanism used in the [RFC8505], which points to Section 7.2 of [RFC6550] for the
TID operation. It is incremented by the sender each time it sends lollipop mechanism used in the TID operation. It is incremented
a new series of NS and/or NA with the EARO about the Target. The by the sender each time it sends a new series of NS and/or NA
TID indicates a reboot when it is in the "straight" part of the messages with the EARO about the Target. The TID indicates a
lollipop, between the initial value and 255. After that the TID reboot when it is in the "straight" part of the lollipop, between
remains below 128 as long as the device is alive. An asynchronous the initial value and 255. After that, the TID remains below 128
multicast NA(EARO) with a TID below 128 MUST NOT be considered as as long as the device is alive. An asynchronous multicast
indicating a reboot. NA(EARO) with a TID below 128 MUST NOT be considered as indicating
a reboot.
The asynchronous multicast NA(EARO) indicating a "Registration The asynchronous multicast NA(EARO) indicating a "Registration
Refresh Request" MAY be reissued a few times within a short Refresh Request" MAY be reissued a few times within a short
period, to increase the chances that the message is received by period, to increase the chances that the message is received by
all registered nodes despite the unreliable transmissions within all registered nodes despite the unreliable transmissions within
the LLN; the TID MUST be incremented each time. The receiver 6LN the LLN; the TID MUST be incremented each time. The receiver 6LN
MUST consider that multiple NA(EARO) messages indicating a MUST consider that multiple NA(EARO) messages indicating a
"Registration Refresh Request" from the same 6LR received within "Registration Refresh Request" from the same 6LR received within
that short period with comparable (their absolute difference is that short period with comparable and increasing TID values (i.e.,
less than SEQUENCE_WINDOW, see section 7.2 of [RFC6550]) and their absolute difference is less than the SEQUENCE_WINDOW; see
increasing TID values are in fact indicative of the same request; Section 7.2 of [RFC6550]) are in fact indicative of the same
the 6LN MUST process one and only one of the series of messages. request. The 6LN MUST process one and only one of the series of
If the TIDs are desynchronized (not comparable), or decreased, messages. If the TIDs are desynchronized (not comparable) or
then the NA(EARO) is considered as a new request and it MUST be decreased, then the NA(EARO) is considered as a new request and it
processed. MUST be processed.
The multicast NA(EARO) SHOULD be resent enough times for the TID 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 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 initial series is outside the lollipop and is not confused with a
reboot. By default the TID initial setting after boot is 252, the reboot. By default, the TID initial setting after boot is 252,
SEQUENCE_WINDOW is 4, the duration of the short period is 10 the SEQUENCE_WINDOW is 4, the duration of the short period is 10
seconds, the interval between retries is 1 second, and the number seconds, the interval between retries is 1 second, and the number
of retries is 3. To reach 255 at boot time, the sender MAY either of retries is 3. To reach 255 at boot time, the sender MAY either
issue at least 4 NA messages, skip a TID value, or start with a 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 value that is more than 252. The best values for the short
period, the number of retries, and the TID initial setting depend period, the number of retries, and the TID initial setting depend
on the environment and SHOULD be configurable. on the environment and SHOULD be configurable.
* A new IPv6 ND Consistent Uptime option (CUO) is introduced to be * A new IPv6 ND Consistent Uptime Option (CUO) is introduced to be
placed in IPv6 ND messages. The CUO allows to figure the state placed in IPv6 ND messages. The CUO allows figuring out the state
consistency between the sender and the receiver. For instance, a consistency between the sender and the receiver. For instance, a
node that rebooted needs to reset its uptime to 0. A Router that node that rebooted needs to reset its uptime to 0. A router that
changed information like a prefix information option has to changed information like a prefix information option has to
advertise an incremented state sequence. To that effect, the CUO advertise an incremented state sequence. To that effect, the CUO
carries a Node State Sequence Information (NSSI) and a Consistent carries a Node State Sequence Information (NSSI) and a Consistent
Uptime. See Section 10 for the option details. Uptime. See Section 10 for the option details.
A node that receives the CUO checks whether it is indicative of a A node that receives the CUO checks whether it is indicative of a
desynchronization between peers. A peer that discovers that a desynchronization between peers. A peer that discovers that a
router has changed should reassess which addresses it formed based router has changed should reassess which addresses it formed based
on the new PIOs from that router, and resync the state that it on the new PIOs from that router and resync the state that it
installed in the router, e.g., the registration state for its installed in the router (e.g., the registration state for its
addresses. In the process, the peer may attempt to form new addresses). In the process, the peer may attempt to:
addresses and register them, deprecate old addresses and
deregister them using a Lifetime of 0, and reform any potentially - form new addresses and register them,
lost state, e.g., by registering again an existing address that it
will keep using. A loss of state is inferred if the Consistent - deprecate old addresses and deregister them using a Lifetime of
Uptime of the peer is less than the time since the state was 0, and
installed, or the NSSI is incremented for a consistent uptime.
- reform any potentially lost state (e.g., by registering again
an existing address that it will keep using).
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 a Consistent Uptime.
* Registration for multicast and anycast addresses is now supported. * Registration for multicast and anycast addresses is now supported.
The P-Field is added to the EARO to signal when the registered The P-Field is added to the EARO to signal when the Registered
address is anycast or multicast. If the value of the P-Field is Address is anycast or multicast. The value of the P-Field is not
not consistent with the Registered Address, that is if consistent with the Registered Address if:
- the Registered Address is a multicast address (section 2.4 of - the Registered Address is a multicast address (Section 2.4 of
[RFC4291]) and the P-Field indicates a value that is not 1, or [RFC4291]) and the P-Field indicates a value that is not 1, or
- the Registered Address is not a multicast address and the - the Registered Address is not a multicast address and the
P-Field indicates a value that is 1. P-Field indicates a value that is 1.
then the message, NS(EARO) or EDAR, MUST be dropped, and the If this occurs, then the message, NS(EARO) or EDAR, MUST be
receiving node MAY either reply with a status of 12 "Invalid dropped, and the receiving node MAY either reply with a status of
Registration" or remain silent. 12 "Invalid Registration" or remain silent.
* The Status field in the EDAR message that was reserved and not * The Status field in the EDAR message that was reserved and not
used in RFC 8505 is repurposed to transport the flags to signal used in [RFC8505] is repurposed to transport the flags to signal
multicast and anycast. multicast and anycast.
* The 6LN MUST also subscribe all the IPv6 multicast addresses that * The 6LN MUST also subscribe all the IPv6 multicast addresses that
it listens to, and it MUST set the P-Field to 1 in the EARO for it listens to, and it MUST set the P-Field to 1 in the EARO for
those addresses. The one exception is the all-nodes link-scope those addresses. The one exception is the all-nodes link-scope
multicast address ff02::1 [RFC4291] which is implicitly registered multicast address ff02::1 [RFC4291], which is implicitly
by all nodes, meaning that all nodes are expected to accept registered by all nodes, meaning that all nodes are expected to
messages sent to ff02::1 but are not expected to register it. accept messages sent to ff02::1 but are not expected to register
it.
* The 6LN MAY set the R flag in the EARO to obtain the delivery of * The 6LN MAY set the R flag in the EARO to obtain the delivery of
the multicast packets by the 6LR, e.g., by MLD proxy operations, the multicast packets by the 6LR (e.g., by MLD proxy operations,
or by injecting the address in a route-over subnet or in the or by injecting the address in a route-over subnet or in the
Protocol Independent Multicast [RFC7761] protocol. Protocol Independent Multicast [RFC7761] protocol).
* The 6LN MUST also subscribe all the IPv6 anycast addresses that it * The 6LN MUST also subscribe all the IPv6 anycast addresses that it
supports and it MUST set the P-Field in the EARO to 2 for those supports, and it MUST set the P-Field in the EARO to 2 for those
addresses. addresses.
* The 6LR and the 6LBR are extended to accept more than one * The 6LR and the 6LBR are extended to accept more than one
subscription for the same address when it is anycast or multicast, subscription for the same address when it is anycast or multicast,
since multiple 6LNs may subscribe to the same address of these since multiple 6LNs may subscribe to the same address of these
types. In both cases, the Registration Ownership Verifier (ROVR) types. In both cases, the ROVR in the EARO uniquely identifies a
in the EARO identifies uniquely a registration within the registration within the namespace of the Registered Address.
namespace of the Registered Address.
* The 6LR MUST also consider that all the nodes that registered an * The 6LR MUST also consider that all the nodes that registered an
address to it (as known by the Source Link-Layer Address Option) address to it (as known by the Source Link-Layer Address Option
also registered to the all nodes link-scope multicast address (SLLAO)) also registered ff02::1 [RFC4291] to the all-nodes link-
ff02::1 [RFC4291]. scope multicast address.
* The 6LR MUST maintain a subscription state per tuple (IPv6 * The 6LR MUST maintain a subscription state per tuple (IPv6
address, ROVR) for both anycast and multicast types of address. address, ROVR) for both anycast and multicast types of addresses.
It SHOULD notify the 6LBR with an EDAR message, unless it It SHOULD notify the 6LBR with an EDAR message, unless it
determined that the 6LBR is legacy and does not support this determined that the 6LBR is legacy and does not support this
specification. In turn, the 6LBR MUST maintain a subscription specification. In turn, the 6LBR MUST maintain a subscription
state per tuple (IPv6 address, ROVR) for both anycast and state per tuple (IPv6 address, ROVR) for both anycast and
multicast types of address. multicast types of address.
8. Updating RFC 9010 8. Extending RFC 9010
[RFC9010] specifies the following behaviours: [RFC9010] specifies the following behaviors:
* The 6LR has no specified procedure to inject multicast and anycast * The 6LR has no specified procedure to inject multicast and anycast
routes in RPL though RPL supports multicast. routes in RPL even though RPL supports multicast.
* Upon a registration with the R flag set to 1 in the EARO, the 6LR * Upon a registration with the R flag set to 1 in the EARO, the 6LR
injects the address in the RPL unicast support. injects the address in the RPL unicast support.
* Upon receiving a packet directed to a unicast address for which it * Upon receiving a packet directed to a unicast address for which it
has an active registration, the 6LR delivers the packet as a has an active registration, the 6LR delivers the packet as a
unicast layer-2 frame to the LLA of the node that registered the unicast Layer 2 frame to the LLA of the node that registered the
unicast address. unicast address.
This specification Extends [RFC9010] by adding the following This specification Extends [RFC9010] by adding the following
behavior: behavior:
* Upon a subscription with the R flag and the P-Field both set to 1 * 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- in the EARO, if the scope of the multicast address is above link-
scope [RFC7346], then the 6LR injects the address in the RPL scope [RFC7346], then the 6LR injects the address in the RPL
multicast support and sets the P field in the RTO to 1 as well. multicast support and sets the P-Field in the RTO to 1 as well.
* Upon a subscription with the R set to 1 and the P-Field set to 2 * Upon a subscription with the R flag set to 1 and the P-Field set
in the EARO, the 6LR injects the address in the new RPL anycast to 2 in the EARO, the 6LR injects the address in the new RPL
support and sets the P-Field to 2 in the RTO. anycast support and sets the P-Field to 2 in the RTO.
* Upon receiving a packet directed to a multicast address for which * Upon receiving a packet directed to a multicast address for which
it has at least one subscription, the 6LR delivers a copy of the it has at least one subscription, the 6LR delivers a copy of the
packet as a unicast layer-2 frame to the LLA of each of the nodes packet as a unicast Layer 2 frame to the LLA of each of the nodes
that registered to that multicast address. that registered to that multicast address.
* Upon receiving a packet directed to an anycast address for which * Upon receiving a packet directed to an anycast address for which
it has at least one subscription, the 6LR delivers a copy of the it has at least one subscription, the 6LR delivers a copy of the
packet as a unicast layer-2 frame to the LLA of exactly one of the packet as a unicast Layer 2 frame to the LLA of exactly one of the
nodes that registered to that multicast address. nodes that registered to that multicast address.
9. Leveraging RFC 8928 9. Leveraging RFC 8928
Address-Protected Neighbor Discovery for Low-Power and Lossy Networks "Address-Protected Neighbor Discovery for Low-Power and Lossy
[RFC8928] was defined to protect the ownership of unicast IPv6 Networks" [RFC8928] was defined to protect the ownership of unicast
addresses that are registered with [RFC8505]. IPv6 addresses that are registered with [RFC8505].
With [RFC8928], it is possible for a node to autoconfigure a pair of With [RFC8928], it is possible for a node to autoconfigure a pair of
public and private keys and use them to sign the registration of public and private keys and use them to sign the registration of
addresses that are either autoconfigured or obtained through other addresses that are either autoconfigured or obtained through other
methods. methods.
The first hop router (the 6LR) may then validate a registration and The first hop router (the 6LR) may then validate a registration and
perform source address validation on packets coming from the sender perform source address validation on packets coming from the sender
node (the 6LN). node (the 6LN).
Anycast and multicast addresses are not owned by one node. Multiple Anycast and multicast addresses are not owned by one node. Multiple
nodes may subscribe to the same address. In that context, the method nodes may subscribe to the same address. In that context, the method
specified in [RFC8928] cannot be used with autoconfigured keypairs to specified in [RFC8928] cannot be used with autoconfigured key pairs
protect a single ownership. to protect a single ownership.
For an anycast or a multicast address, it is still possible to For an anycast or a multicast address, it is still possible to
leverage [RFC8928] to enforce the right to subscribe. If [RFC8928] leverage [RFC8928] to enforce the right to subscribe. If [RFC8928]
is used, a keypair MUST be associated with the address before it is is used, a key pair MUST be associated with the address before it is
deployed, and a ROVR MUST be generated from that keypair as specified deployed, and a ROVR MUST be generated from that key pair as
in [RFC8928]. The address and the ROVR MUST then be installed in the specified in [RFC8928]. The address and the ROVR MUST then be
6LBR so it can recognize the address and compare the ROVR on the installed in the 6LBR so it can recognize the address and compare the
first subscription. ROVR on the first subscription.
The keypair MUST then be provisioned in each node that needs to The key pair MUST then be provisioned in each node that needs to
subscribe to the anycast or multicast address, so the node can follow subscribe to the anycast or multicast address, so the node can follow
the steps in [RFC8928] to subscribe to the address. the steps in [RFC8928] to subscribe to the address.
10. Consistent Uptime Option 10. Consistent Uptime Option
This specification introduces a new option that characterizes the This specification introduces a new option that characterizes the
uptime of the sender. The option may be used by routers in RA 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 messages and by any node in NS, NA, and RS messages. It is used by
the receiver to infer whether some state synchronization might be the receiver to infer whether some state synchronization might be
lost, e.g., due to reboot. lost (e.g., due to reboot).
0 1 2 3 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 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 | | Type | Length | Exponent | Uptime Mantissa |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S|U| flags | NSSI | Peer NSSI | |S|U| flags | NSSI | Peer NSSI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7: Consistent Uptime Option Format Figure 7: Consistent Uptime Option (CUO) Format
Type: To be assigned by IANA, see Table 10 Type: Assigned by IANA; see Table 9.
Length: 1 Length: 1
Uptime Exponent: 6-bit unsigned integer: The Exponent to the base 2 Uptime Exponent: A 6-bit unsigned integer and the Exponent to the
of the uptime unit base 2 of the uptime unit.
Uptime Mantissa: 10-bit unsigned integer: The mantissa of the uptime Uptime Mantissa: A 10-bit unsigned integer and the mantissa of the
value uptime value.
S: 1-bit flag, set to 1 to indicate that the sender is low-power and S: A 1-bit flag set to 1 to indicate that the sender is low-power
may sleep. and may sleep.
U: 1-bit flag, set to 1 to indicate that the Peer NSSI field is U: A 1-bit flag set to 1 to indicate that the Peer NSSI field is
valid; it MUST be set to 0 when the message is not unicast and valid; it MUST be set to 0 when the message is not unicast and
MUST be set to 1 when the message is unicast and the sender has an MUST be set to 1 when the message is unicast and the sender has an
NSSI state for the intended receiver. NSSI state for the intended receiver.
flags: 6-bit, reserved. MUST be set to 0 by the sender and ignored flags: 6-bit flags that are reserved and that MUST be set to 0 by
by the receiver. the sender and ignored by the receiver.
NSSI: 12-bit unsigned integer: The Node State Sequence Information, NSSI: A 12-bit unsigned integer that represents the Node State
MUST be stored by the receiver if it has a dependency on Sequence Information (NSSI). It MUST be stored by the receiver if
information advertised or stored at the sender. it has a dependency on information advertised or stored at the
sender.
Peer NSSI: 12-bit unsigned integer: Echoes the last known NSSI from Peer NSSI: A 12-bit unsigned integer that echoes the last known NSSI
the peer. from the peer.
The Consistent Uptime indicates how long the sender has been The Consistent Uptime indicates how long the sender has been
continuously up and running (though possibly sleeping) without loss continuously up and running (though possibly sleeping) without loss
of state. It is expressed by the Uptime Mantissa in units of 2 to of state. It is expressed by the Uptime Mantissa in units of 2 to
the power of the Uptime Exponent milliseconds. The receiver derives the power of the Uptime Exponent in milliseconds. The receiver
the boot time of the sender as the current time minus the sender's derives the boot time of the sender as the current time minus the
Consistent Uptime. sender's Consistent Uptime.
If the boot time of the sender is updated to a newer time, any state 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 that the receiver installed in the sender before the reboot is
probably lost. The receiver MUST reassess all the state it installed probably lost. The receiver MUST reassess all the state it installed
in the server (e.g., any registration) and reinstall if it is still in the server (e.g., any registration) and reinstall if it is still
needed. needed.
The U flag not set in a unicast message from the sender indicates The U flag not set in a unicast message indicates that the sender has
that it has lost all state from this node. If the U flag is set, lost all state from this node. If the U flag is set, then the Peer
then the Peer NSSI field can be used to assess which changes the NSSI field can be used to assess which changes the sender missed.
sender missed. The other way around, any state that was installed in For the other way around, any state that was installed in the
the receiver from information by the sender before it rebooted MUST receiver from information by the sender before it rebooted MUST be
be removed and may or may not be reinstalled later. removed and may or may not be reinstalled later.
The value of the uptime is reset to 0 at some point of the sender's The value of the uptime is reset to 0 at some point of the sender's
reboot sequence, but may not be still 0 when the first message is reboot sequence, but it may not still be 0 when the first message is
sent, so the receiver must not expect a value of 0 as the signal of a sent, so the receiver must not expect a value of 0 as the signal of a
reboot. reboot.
+----------+----------+------------+-----------+ +----------+----------+------------+-----------+
| Mantissa | Exponent | Resolution | Uptime | | Mantissa | Exponent | Resolution | Uptime |
+----------+----------+------------+-----------+ +----------+----------+------------+-----------+
| 1 | 0 | 1ms | 1ms | | 1 | 0 | 1 ms | 1 ms |
+----------+----------+------------+-----------+ +----------+----------+------------+-----------+
| 5 | 10 | 1s | 5 seconds | | 5 | 10 | 1 s | 5 seconds |
+----------+----------+------------+-----------+ +----------+----------+------------+-----------+
| 2 | 15 | 30s | 1mn | | 2 | 15 | 30 s | 1 mn |
+----------+----------+------------+-----------+ +----------+----------+------------+-----------+
| 2 | 21 | 33mn | 1 hour | | 2 | 21 | 33 mn | 1 hour |
+----------+----------+------------+-----------+ +----------+----------+------------+-----------+
Table 2: Consistent Uptime Rough Values Table 1: Consistent Uptime Rough Values
The NSSI SHOULD be stored in persistent memory by the sender and The NSSI SHOULD be stored in persistent memory by the sender and
incremented when it may have missed or lost state about a peer, or incremented when it may have missed or lost state about a peer, or
has updated some state in a fashion that will impact a peer, e.g., a when it has updated some state in a fashion that will impact a peer
host formed a new address or a router advertises a new prefix. When (e.g., a host formed a new address or a router advertises a new
persisting is not possible, then the NSSI is randomly generated. prefix). When persisting is not possible, then the NSSI is randomly
generated.
As long as the NSSI remains constant, the cross-dependent state (such 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 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 remain stable, meaning less checks in the receiver. Any change in
the value of the NSSI is an indication that the sender updated some the value of the NSSI is an indication that the sender updated some
state and that the dependent state in the receiver should be state and that the dependent state in the receiver should be
reassessed, e.g., addresses that were formed based on an RA with a reassessed (e.g., addresses that were formed based on an RA with a
previous NSSI should be checked, or new addresses may be formed and previous NSSI should be checked, or new addresses may be formed and
registered. registered).
11. Operational considerations 11. Operational Considerations
With this specification, a RPL DODAG forms a realm, and multiple RPL With this specification, a RPL DODAG forms a realm, and multiple RPL
DODAGs may be federated in a single RPL Instance administratively. DODAGs may be federated in a single RPL Instance administratively.
This means that a multicast address that needs to span a RPL DODAG This means that a multicast address that needs to span a RPL DODAG
MUST use a scope of Realm-Local whereas a multicast address that MUST use a scope of Realm-Local whereas a multicast address that
needs to span a RPL Instance MUST use a scope of Admin-Local as needs to span a RPL Instance MUST use a scope of Admin-Local as
discussed in section 3 of "IPv6 Multicast Address Scopes" [RFC7346]. discussed in Section 3 of [RFC7346], "IPv6 Multicast Address Scopes".
"IPv6 Addressing of IPv4/IPv6 Translators" [RFC6052] enables to embed "IPv6 Addressing of IPv4/IPv6 Translators" [RFC6052] enables
IPv4 addresses in IPv6 addresses. The Root of a DODAG may leverage embedding IPv4 addresses in IPv6 addresses. The Root of a DODAG may
that technique to translate IPv4 traffic in IPv6 and route along the leverage that technique to translate IPv4 traffic in IPv6 and route
RPL domain. When encapsulating a packet with an IPv4 multicast along the RPL domain. When encapsulating a packet with an IPv4
Destination Address, it MUST use a multicast address with the multicast Destination Address, it MUST use a multicast address with
appropriate scope, Realm-Local or Admin-Local. the appropriate scope, Realm-Local or Admin-Local.
"Unicast-Prefix-based IPv6 Multicast Addresses" [RFC3306] enables to "Unicast-Prefix-based IPv6 Multicast Addresses" [RFC3306] enables
form 2^32 multicast addresses from a single /64 prefix. If an IPv6 forming 2^32 multicast addresses from a single /64 prefix. If an
prefix is associated to an Instance or a RPL DODAG, this provides a IPv6 prefix is associated to an Instance or a RPL DODAG, this
namespace that can be used in any desired fashion. It is for provides a namespace that can be used in any desired fashion. For
instance possible for a standard defining organization to form its instance, it is possible for a standard defining organization to form
own registry and allocate 32-bit values from that namespace to its own registry and allocate 32-bit values from that namespace to
network functions or device types. When used within a RPL deployment network functions or device types. When used within a RPL deployment
that is associated with a /64 prefix the IPv6 multicast addresses can that is associated with a /64 prefix, the IPv6 multicast addresses
be automatically derived from the prefix and the 32-bit value for 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 either a Realm-Local or an Admin-Local multicast address as needed in
the configuration. the configuration.
This specification introduces the new RPL MOP 5. Operationally This specification introduces the new RPL MOP 5. Operationally
speaking, deploying a new RPL MOP means that one cannot update a live speaking, deploying a new RPL MOP means that one cannot update a live
network. The network administrator must create a new instance with network. The network administrator must create a new instance with
MOP 5 and migrate nodes to that instance by allowing them to join it. MOP 5 and migrate nodes to that instance by allowing them to join it.
In a "green field" deployment where all nodes support this In a "green field" deployment where all nodes support this
specification, it is possible to deploy a single RPL Instance using a specification, it is possible to deploy a single RPL Instance using a
multicast MOP for unicast, multicast, and anycast addresses. multicast MOP for unicast, multicast, and anycast addresses.
In a "brown field" where legacy devices that do not support this In a "brown field" where legacy devices that do not support this
specification co-exist with upgraded devices, it is RECOMMENDED to specification coexist with upgraded devices, it is RECOMMENDED to
deploy one RPL Instance in any Mode of Operation (typically MOP 1) deploy one RPL Instance in any MOP (typically MOP 1) for unicast that
for unicast that legacy nodes can join, and a separate RPL Instance legacy nodes can join and a separate RPL Instance dedicated to
dedicated to multicast and anycast operations using a multicast MOP. multicast and anycast operations using a multicast MOP.
To deploy a Storing Mode multicast operation using MOP 3 in a RPL To deploy a Storing mode multicast operation using MOP 3 in a RPL
domain, it is required that there is enough density of RPL routers domain, it is required that the RPL routers that support MOP 3 have
that support MOP 3 to build a DODAG that covers all the potential enough density to build a DODAG that covers all the potential
listeners and include the spanning multicast trees that are needed to listeners and includes the spanning multicast trees that are needed
distribute the multicast flows. This might not be the case when to distribute the multicast flows. This might not be the case when
extending the capabilities of an existing network. extending the capabilities of an existing network.
In the case of the new Non-Storing multicast MOP, arguably the new In the case of the new Non-Storing multicast MOP, arguably the new
support is only needed at the 6LRs that will accept multicast support is only needed at the 6LRs that will accept multicast
listeners. It is still required that each listener can reach at listeners. It is still required that each listener be able to reach
least one such 6LR, so the upgraded 6LRs must be deployed to cover at least one such 6LR, so the upgraded 6LRs must be deployed to cover
all the 6LN that need multicast services. all the 6LNs that need multicast services.
Using separate RPL Instances for in the one hand unicast traffic and Using separate RPL Instances for unicast traffic on the one hand and
in the other hand anycast and multicast traffic allows to use for anycast and multicast traffic on the other hand allows for the
different objective function, one favoring the link quality up for use of different objective functions; one favors the link quality Up
unicast collection and one favoring downwards link quality for for unicast collection and the other favors Downwards link quality
multicast distribution. for multicast distribution.
But this might be impractical in some use cases where the signaling However, this might be impractical in some use cases where the
and the state to be installed in the devices are very constrained, signaling and the state to be installed in the devices are very
the upgraded devices are too sparse, or the devices do not support constrained, the upgraded devices are too sparse, or the devices do
more multiple instances. not support more multiple instances.
When using a single RPL Instance, MOP 3 expects the Storing Mode of When using a single RPL Instance, MOP 3 expects the Storing Mode of
Operation for both unicast and multicast, which is an issue in Operation for both unicast and multicast, which is an issue in
constrained networks that typically use MOP 1 for unicast. This constrained networks that typically use MOP 1 for unicast. This
specification allows a mixed mode that is signaled as MOP 1 in the specification allows a mixed mode that is signaled as MOP 1 in the
DIO messages for backward compatibility, where limited multicast and/ DIO messages for backward compatibility, where limited multicast and/
or anycast is available, under the following conditions: or anycast is available, under the following conditions:
* There MUST be enough density of 6LRs that support the mixed mode * There MUST be enough density of the 6LRs that support the mixed
to cover all the 6LNs that require multicast or anycast services. mode to cover all the 6LNs that require multicast or anycast
In Storing Mode, there MUST be enough density of 6LRs that support services. In Storing mode, there MUST be enough density of the
the mixed mode to also form a DODAG to the Root. 6LRs that support the mixed mode to also form a DODAG to the Root.
* The RPL routers that support the mixed mode are configured to * The RPL routers that support the mixed mode are configured to
operate in accordance with the desired operation in the network. operate in accordance with the desired operation in the network.
* The MOP signaled in the RPL DIO messages is MOP 1 to enable the * The MOP signaled in the RPL DIO messages is MOP 1 to enable the
legacy nodes to operate as leaves. legacy nodes to operate as leaves.
* The support of multicast and/or anycast in the RPL Instance SHOULD * The support of multicast and/or anycast in the RPL Instance SHOULD
be signaled by the 6LRs to the 6LN using a 6CIO, see Section 5. be signaled by the 6LRs to the 6LN using a 6CIO; see Section 5.
* Alternatively, the support of multicast in the RPL domain can be * Alternatively, the support of multicast in the RPL domain can be
globally known by other means such as configuration or external globally known by other means including configuration or external
information such as support of a version of an industry standard information such as support of a version of an industry standard
that mandates it. In that case, all the routers MUST support the that mandates it. In that case, all the routers MUST support the
mixed mode. mixed mode.
12. Security Considerations 12. Security Considerations
This specification Extends [RFC8505] and [RFC9010], and leverages This specification Extends [RFC8505] and [RFC9010] and leverages
[RFC9008]. The security section in these documents also apply to [RFC9008]. The security sections in these documents also apply to
this document. In particular, the link layer SHOULD be sufficiently this document. In particular, the link layer SHOULD be sufficiently
protected to prevent rogue access. protected to prevent rogue access.
RPL [RFC6550] already supports routing on multicast addresses, RPL [RFC6550] already supports routing on multicast addresses,
whereby the endpoint that subscribes to the group and to do so whereby the endpoint that subscribes to the group by injecting the
injects the multicast address participates to RPL as a RPL aware node multicast address participates as a RPL-Aware Node (RAN) in the RPL.
(RAN). Using an extension of RFC 8505 as opposed to RPL to subscribe Using an extension of [RFC8505] as opposed to RPL to subscribe the
the address allows a RPL unaware leaf (RUL) to subscribe as well. As address allows a RPL-Unaware Leaf (RUL) to subscribe as well. As
noted in [RFC9010], this provides a better security posture for the noted in [RFC9010], this provides a better security posture for the
RPL network, since the nodes that do not really need to speak RPL, or 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 are not trusted enough to inject RPL messages, can be forbidden from
doing so, which bars a number of attacks vectors from within RPL. doing so, which bars a number of attack vectors from within RPL.
Acting as RUL, those nodes may still leverage the RPL network through Acting as an RUL, those nodes may still leverage the RPL network
the capabilities that are opened via ND operations. With this draft, through the capabilities that are opened via ND operations. With
a node that needs multicast delivery can now obtain the service in a this specification, a node that needs multicast delivery can now
RPL domain while not being allowed to inject RPL messages. obtain the service in a RPL domain while not being allowed to inject
RPL messages.
Compared to [RFC6550], this draft enables to track the origin of the Compared to [RFC6550], this specification enables tracking the origin
multicast subscription inside the RPL network. This is a first step of the multicast subscription inside the RPL network. This is a
to enable a form of Route Ownership Validation (ROV) (see [RFC6811]) first step to enable a form of Route Ownership Validation (ROV) (see
in RPL using the ROVR field in the EARO as proof of ownership. [RFC6811]) in RPL using the ROVR field in the EARO as proof of
ownership.
Section 9 leverages [RFC8928] to prevent a rogue node to register a Section 9 leverages [RFC8928] to prevent a rogue node from
unicast address that it does not own. The mechanism could be registering a unicast address that it does not own. The mechanism
extended to anycast and multicast addresses if the values of the ROVR could be extended to anycast and multicast addresses if the values of
they use is known in advance, but how this is done is not in scope the ROVR they use are known in advance, but how this is done is not
for this specification. One way would be to authorize in advance the in scope for this specification. One way would be to authorize the
ROVR of the valid users. A less preferred way could be to ROVR of the valid users in advance. A less preferred way would be to
synchronize the ROVR and TID values across the valid subscribers as a synchronize the ROVR and TID values across the valid subscribers as
preshared key material. preshared key material.
In the latter case, it could be possible to update the keys 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 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 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 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 over a period of time, and switch the traffic to that address when
the migration is complete. the migration is complete.
13. Backward Compatibility 13. Backward Compatibility
A legacy 6LN will not subscribe multicast addresses and the service A legacy 6LN will not subscribe multicast addresses, and the service
will be the same when the network is upgraded. A legacy 6LR will not will be the same when the network is upgraded. A legacy 6LR will not
set the X flag in the 6CIO and an upgraded 6LN will not subscribe set the X flag in the 6CIO, and an upgraded 6LN will not subscribe
multicast addresses. multicast addresses.
Upon an EDAR message, a legacy 6LBR may not realize that the address Upon receiving an EDAR message, a legacy 6LBR may not realize that
being registered is anycast or multicast, and return that it is the address being registered is anycast or multicast and will return
duplicate in the EDAC status. The 6LR MUST ignore a duplicate status that it is a duplicate in the EDAC status. The 6LR MUST ignore a
in the EDAC for anycast and multicast addresses. duplicate status in the EDAC for anycast and multicast addresses.
As detailed in Section 11, it is possible to add multicast on an As detailed in Section 11, it is possible to add multicast on an
existing MOP 1 deployment. existing MOP 1 deployment.
The combination of a multicast address and the P-Field set to 0 in an The combination of a multicast address and the P-Field set to 0 in an
RTO in a MOP 3 RPL Instance is understood by the receiver that RTO in a MOP 3 RPL Instance is an indication to the receiver that
supports this specification (the parent) as an indication that the supports this specification (the parent) that the sender (child) does
sender (child) does not support this specification, but the RTO is not support this specification. However, the RTO is accepted and
accepted and processed as if the P-Field was set to 1 for backward processed as if the P-Field was set to 1 for backward compatibility.
compatibility.
When the DODAG is operated in MOP 3, a legacy node will not set the When the DODAG is operated in MOP 3, a legacy node will not set the
P-Field and still expect multicast service as specified in section 12 P-Field and still expect multicast service as specified in Section 12
of [RFC6550]. In MOP 3 an RTO that is received with a target that is of [RFC6550]. In MOP 3, an RTO that is received with a target that
multicast and the P-Field set to 0 MUST be considered as multicast is multicast and the P-Field set to 0 MUST be considered as multicast
and MUST be processed as if the P-Field is set to 1. and MUST be processed as if the P-Field is set to 1.
14. IANA Considerations 14. IANA Considerations
Note to RFC Editor, to be removed: please replace "This RFC" IANA has made changes under the "Internet Control Message Protocol
throughout this document by the RFC number for this specification version 6 (ICMPv6) Parameters" [IANA.ICMP] and "Routing Protocol for
once it is allocated; also, requests to IANA must be edited to Low Power and Lossy Networks (RPL)" [IANA.RPL] registry groupings;
reflect the IANA actions once performed. see details in the subsections that follow.
Note to IANA, to be removed: the I Field is defined in [RFC9010] but
is missing from the registry, so the bit positions must be added for
completeness in conformance with the RFC.
IANA is requested to make changes under the "Internet Control Message
Protocol version 6 (ICMPv6) Parameters" [IANA.ICMP] and the "Routing
Protocol for Low Power and Lossy Networks (RPL)" [IANA.RPL] registry
groupings, as follows:
14.1. New P-Field values Registry 14.1. New P-Field Values Registry
IANA is requested to create a new "P-Field values" registry under the IANA has created a new "P-Field Values" registry under the "Internet
heading "Internet Control Message Protocol version 6 (ICMPv6) Control Message Protocol version 6 (ICMPv6) Parameters" registry
Parameters" to store the expression of the Registered Address Type group to store the expression of the RATInd as a P-Field.
Indicator as a P-Field.
Registration procedure is "Standards Action" [RFC8126]. The initial The registration procedure is Standards Action [RFC8126]. The
allocation is as indicated in Table 3: initial allocations are as indicated in Table 2:
+-------+--------------------------------------+-----------+ +-------+--------------------------------------+-----------+
| Value | Registered Address Type Indicator | Reference | | Value | Registered Address Type Indicator | Reference |
+-------+--------------------------------------+-----------+ +-------+--------------------------------------+-----------+
| 0 | Registration for a Unicast Address | This RFC | | 0 | Registration for a Unicast Address | RFC 9685 |
+-------+--------------------------------------+-----------+ +-------+--------------------------------------+-----------+
| 1 | Registration for a Multicast Address | This RFC | | 1 | Registration for a Multicast Address | RFC 9685 |
+-------+--------------------------------------+-----------+ +-------+--------------------------------------+-----------+
| 2 | Registration for an Anycast Address | This RFC | | 2 | Registration for an Anycast Address | RFC 9685 |
+-------+--------------------------------------+-----------+ +-------+--------------------------------------+-----------+
| 3 | Unassigned | This RFC | | 3 | Unassigned | RFC 9685 |
+-------+--------------------------------------+-----------+ +-------+--------------------------------------+-----------+
Table 3: P-Field values Table 2: P-Field Values Registry
14.2. New EDAR Message Flags Registry 14.2. New EDAR Message Flags Registry
IANA is requested to create a new "EDAR Message Flags" registry under IANA has created a new "EDAR Message Flags" registry under the
the heading "Internet Control Message Protocol version 6 (ICMPv6) "Internet Control Message Protocol version 6 (ICMPv6) Parameters"
Parameters". registry group.
Registration procedure is "IETF Review" or "IESG Approval" [RFC8126]. The registration procedure is IETF Review or IESG Approval [RFC8126].
The initial allocation is as indicated in Table 4: The initial allocations are as indicated in Table 3:
+------------------+------------------------------------+-----------+ +------------+------------------+------------------------+
| Bit Number | Meaning | Reference | | Bit Number | Meaning | Reference |
+------------------+------------------------------------+-----------+ +------------+------------------+------------------------+
| 0..1 (suggested) | P-Field (2 bits), | This RFC | | 0-1 | P-Field (2 bits) | RFC 9685, Section 14.1 |
| | see Section 14.1 | | +------------+------------------+------------------------+
+------------------+------------------------------------+-----------+ | 2-7 | Unassigned | |
| 2..7 | Unassigned | | +------------+------------------+------------------------+
+------------------+------------------------------------+-----------+
Table 4: EDAR Message flags Table 3: EDAR Message Flags Registry
14.3. New EARO flags 14.3. New Address Registration Option Flags
IANA is requested to make additions to the "Address Registration IANA has made an addition to the "Address Registration Option Flags"
Option Flags" [IANA.ICMP.ARO.FLG] registry under the heading registry [IANA.ICMP.ARO.FLG] under the "Internet Control Message
"Internet Control Message Protocol version 6 (ICMPv6) Parameters" as Protocol version 6 (ICMPv6) Parameters" registry group as indicated
indicated in Table 5: in Table 4:
+------------------+------------------------------------+-----------+ +------------+------------------+------------------------+
| ARO flag | Meaning | Reference | | Bit Number | Description | Reference |
+------------------+------------------------------------+-----------+ +------------+------------------+------------------------+
| 2..3 (suggested) | P-Field (2 bits), | This RFC | | 2-3 | P-Field (2 bits) | RFC 9685, Section 14.1 |
| | see Section 14.1 | | +------------+------------------+------------------------+
+------------------+------------------------------------+-----------+
Table 5: New ARO flags Table 4: New Address Registration Option Flags
14.4. New RTO flags 14.4. New RPL Target Option Flags
IANA is requested to make additions to the "RPL Target Option Flags" IANA has made an addition to the "RPL Target Option Flags" registry
[IANA.RPL.RTO.FLG] registry under the heading "Routing Protocol for [IANA.RPL.RTO.FLG] under the "Routing Protocol for Low Power and
Low Power and Lossy Networks (RPL)" as indicated in Table 6: Lossy Networks (RPL)" registry group as indicated in Table 5:
+------------------+------------------------------------+-----------+ +------------+------------------------+------------------------+
| Bit Number | Meaning | Reference | | Bit Number | Capability Description | Reference |
+------------------+------------------------------------+-----------+ +------------+------------------------+------------------------+
| 2..3 (suggested) | P-Field (2 bits), | This RFC | | 2-3 | P-Field (2 bits) | RFC 9685, Section 14.1 |
| | see Section 14.1 | | +------------+------------------------+------------------------+
+------------------+------------------------------------+-----------+
Table 6: New RTO flags Table 5: New RPL Target Option Flags
14.5. New RPL Mode of Operation 14.5. New RPL Mode of Operation
IANA is requested to make an addition to the "Mode of Operation" IANA has made an addition to the "Mode of Operation" registry
[IANA.RPL.MOP] registry under the heading "Routing Protocol for Low [IANA.RPL.MOP] under the "Routing Protocol for Low Power and Lossy
Power and Lossy Networks (RPL)" as indicated in Table 7: Networks (RPL)" registry group as indicated in Table 6:
+---------------+---------------------------------------+-----------+ +-------+---------------------------------------+-----------+
| Value | Description | Reference | | Value | Description | Reference |
+---------------+---------------------------------------+-----------+ +-------+---------------------------------------+-----------+
| 5 | Non-Storing Mode of Operation with | This RFC | | 5 | Non-Storing Mode of Operation with | RFC 9685 |
| (suggested) | ingress replication multicast support | | | | ingress replication multicast support | |
+---------------+---------------------------------------+-----------+ +-------+---------------------------------------+-----------+
Table 7: New RPL Mode of Operation Table 6: New RPL Mode of Operation
14.6. New 6LoWPAN Capability Bits 14.6. New 6LoWPAN Capability Bit
IANA is requested to make an addition to the "6LoWPAN Capability IANA has made an addition to the "6LoWPAN Capability Bits" registry
Bits" [IANA.ICMP.6CIO] registry under the heading "Internet Control [IANA.ICMP.6CIO] under the "Internet Control Message Protocol version
Message Protocol version 6 (ICMPv6) Parameters" as indicated in 6 (ICMPv6) Parameters" registry group as indicated in Table 7:
Table 8:
+-------------+-----------------------------+-----------+ +-----+--------------------------------------------+-----------+
| Capability | Meaning | Reference | | Bit | Description | Reference |
| Bit | | | +-----+--------------------------------------------+-----------+
+-------------+-----------------------------+-----------+ | 8 | X flag: Registration for Unicast, | RFC 9685 |
| 8 | X flag: Registration for | This RFC | | | Multicast, and Anycast Addresses Supported | |
| (suggested) | Unicast, Multicast, and | | +-----+--------------------------------------------+-----------+
| | Anycast Addresses Supported | |
+-------------+-----------------------------+-----------+
Table 8: New 6LoWPAN Capability Bits Table 7: New 6LoWPAN Capability Bit
14.7. New Address Registration Option Status Values 14.7. New Address Registration Option Status Values
IANA is requested to make additions to the "Address Registration IANA has made additions to the "Address Registration Option Status
Option Status Values" [IANA.ICMP.ARO.STAT] registry under the heading Values" registry [IANA.ICMP.ARO.STAT] under the "Internet Control
"Internet Control Message Protocol version 6 (ICMPv6) Parameters", as Message Protocol version 6 (ICMPv6) Parameters" registry group as
follows: indicated in Table 8:
+----------------+------------------------------+-----------+ +-------+------------------------------+-----------+
| Value | Description | Reference | | Value | Description | Reference |
+----------------+------------------------------+-----------+ +-------+------------------------------+-----------+
| 11 (suggested) | Registration Refresh Request | This RFC | | 11 | Registration Refresh Request | RFC 9685 |
+----------------+------------------------------+-----------+ +-------+------------------------------+-----------+
| 12 (suggested) | Invalid Registration | This RFC | | 12 | Invalid Registration | RFC 9685 |
+----------------+------------------------------+-----------+ +-------+------------------------------+-----------+
Table 9: New Address Registration Option Status Values" Table 8: New Address Registration Option Status
Values
14.8. New IPv6 Neighbor Discovery Option 14.8. New IPv6 Neighbor Discovery Option Format
IANA is requested to make additions to the "IPv6 Neighbor Discovery IANA has made an addition to the "IPv6 Neighbor Discovery Option
Option Formats" registry under the heading "Internet Control Message Formats" registry under the "Internet Control Message Protocol
Protocol version 6 (ICMPv6) Parameters", as follows: version 6 (ICMPv6) Parameters" registry group as indicated in
Table 9:
+----------------+--------------------------+-----------+ +------+--------------------------+-----------+
| Value | Description | Reference | | Type | Description | Reference |
+----------------+--------------------------+-----------+ +------+--------------------------+-----------+
| 42 (suggested) | Consistent Uptime Option | This RFC | | 42 | Consistent Uptime Option | RFC 9685 |
+----------------+--------------------------+-----------+ +------+--------------------------+-----------+
Table 10: New IPv6 Neighbor Discovery Option" Table 9: New IPv6 Neighbor Discovery Option
Format
15. Acknowledgments 15. References
This work is a production of an effective collaboration between the 15.1. Normative References
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.
16. Normative References [IANA.ICMP]
IANA, "Internet Control Message Protocol version 6
(ICMPv6) Parameters",
<https://www.iana.org/assignments/icmpv6-parameters>.
[IANA.ICMP.6CIO]
IANA, "6LoWPAN Capability Bits",
<https://www.iana.org/assignments/icmpv6-parameters>.
[IANA.ICMP.ARO.FLG]
IANA, "Address Registration Option Flags",
<https://www.iana.org/assignments/icmpv6-parameters>.
[IANA.ICMP.ARO.STAT]
IANA, "Address Registration Option Status Values",
<https://www.iana.org/assignments/icmpv6-parameters>.
[IANA.RPL] IANA, "Routing Protocol for Low Power and Lossy Networks
(RPL)", <https://www.iana.org/assignments/rpl>.
[IANA.RPL.MOP]
IANA, "Mode of Operation",
<https://www.iana.org/assignments/rpl>.
[IANA.RPL.RTO.FLG]
IANA, "RPL Target Option Flags",
<https://www.iana.org/assignments/rpl>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC3306] Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6 [RFC3306] Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6
Multicast Addresses", RFC 3306, DOI 10.17487/RFC3306, Multicast Addresses", RFC 3306, DOI 10.17487/RFC3306,
August 2002, <https://www.rfc-editor.org/info/rfc3306>. August 2002, <https://www.rfc-editor.org/info/rfc3306>.
skipping to change at page 38, line 10 skipping to change at line 1787
[RFC9010] Thubert, P., Ed. and M. Richardson, "Routing for RPL [RFC9010] Thubert, P., Ed. and M. Richardson, "Routing for RPL
(Routing Protocol for Low-Power and Lossy Networks) (Routing Protocol for Low-Power and Lossy Networks)
Leaves", RFC 9010, DOI 10.17487/RFC9010, April 2021, Leaves", RFC 9010, DOI 10.17487/RFC9010, April 2021,
<https://www.rfc-editor.org/info/rfc9010>. <https://www.rfc-editor.org/info/rfc9010>.
[RFC9030] Thubert, P., Ed., "An Architecture for IPv6 over the Time- [RFC9030] Thubert, P., Ed., "An Architecture for IPv6 over the Time-
Slotted Channel Hopping Mode of IEEE 802.15.4 (6TiSCH)", Slotted Channel Hopping Mode of IEEE 802.15.4 (6TiSCH)",
RFC 9030, DOI 10.17487/RFC9030, May 2021, RFC 9030, DOI 10.17487/RFC9030, May 2021,
<https://www.rfc-editor.org/info/rfc9030>. <https://www.rfc-editor.org/info/rfc9030>.
[IANA.ICMP] 15.2. Informative References
IANA, "IANA Registry for ICMPv6", IANA,
https://www.iana.org/assignments/icmpv6-parameters/
icmpv6-parameters.xhtml.
[IANA.ICMP.ARO.FLG]
IANA, "IANA Registry for the Address Registration Option
Flags", IANA, https://www.iana.org/assignments/icmpv6-
parameters/icmpv6-parameters.xhtml#icmpv6-adress-
registration-option-flags.
[IANA.ICMP.ARO.STAT] [IEEE-802.11]
IANA, "IANA Registry for the Address Registration Option IEEE, "IEEE Standard for Information Technology--
Status Value", IANA, https://www.iana.org/assignments/ Telecommunications and Information Exchange between
icmpv6-parameters/icmpv6-parameters.xhtml#address- Systems - Local and Metropolitan Area Networks--Specific
registration. Requirements - Part 11: Wireless LAN Medium Access Control
(MAC) and Physical Layer (PHY) Specifications",
DOI 10.1109/IEEESTD.2021.9363693, IEEE Std 802.11-2020,
<https://ieeexplore.ieee.org/document/9363693>.
[IANA.ICMP.6CIO] [IEEE-802.15.1]
IANA, "IANA Registry for the 6LoWPAN Capability Bits", IEEE, "IEEE Standard for Information technology - Local
IANA, https://www.iana.org/assignments/icmpv6-parameters/ and metropolitan area networks - Specific requirements -
icmpv6-parameters.xhtml#sixlowpan-capability-bits. Part 15.1a: Wireless Medium Access Control (MAC) and
Physical Layer (PHY) specifications for Wireless Personal
Area Networks (WPAN)", IEEE Std 802.15.1-2005,
DOI 10.1109/IEEESTD.2005.96290,
<https://ieeexplore.ieee.org/document/1490827>.
[IANA.RPL] IANA, "IANA Registry for the RPL", [IEEE-802.15.4]
IANA, https://www.iana.org/assignments/rpl/rpl.xhtml. IEEE, "IEEE Standard for Low-Rate Wireless Networks",
DOI 10.1109/IEEESTD.2020.9144691, IEEE Std 802.15.4-2020,
<https://ieeexplore.ieee.org/document/9144691>.
[IANA.RPL.RTO.FLG] [IPv6-OVER-WIRELESS]
IANA, "IANA Sub-Registry for the RTO Flags", IANA, Thubert, P., Ed. and M. Richardson, "Architecture and
https://www.iana.org/assignments/rpl/rpl.xhtml#rpl-target- Framework for IPv6 over Non-Broadcast Access", Work in
option-flags. Progress, Internet-Draft, draft-ietf-6man-ipv6-over-
wireless-06, 23 May 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-6man-
ipv6-over-wireless-06>.
[IANA.RPL.MOP] [MAC-SIGNALING]
IANA, "IANA Sub-Registry for the RPL Mode of Operation", Thubert, P., Ed., Przygienda, T., and J. Tantsura, "Secure
IANA, https://www.iana.org/assignments/rpl/rpl.xhtml#MOP. EVPN MAC Signaling", Work in Progress, Internet-Draft,
draft-thubert-bess-secure-evpn-mac-signaling-04, 13
September 2023, <https://datatracker.ietf.org/doc/html/
draft-thubert-bess-secure-evpn-mac-signaling-04>.
17. Informative References [REGISTRATION]
Thubert, P., Ed., "IPv6 Neighbor Discovery Prefix
Registration", Work in Progress, Internet-Draft, draft-
ietf-6lo-prefix-registration-06, 9 November 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-6lo-
prefix-registration-06>.
[RFC3810] Vida, R., Ed. and L. Costa, Ed., "Multicast Listener [RFC3810] Vida, R., Ed. and L. Costa, Ed., "Multicast Listener
Discovery Version 2 (MLDv2) for IPv6", RFC 3810, Discovery Version 2 (MLDv2) for IPv6", RFC 3810,
DOI 10.17487/RFC3810, June 2004, DOI 10.17487/RFC3810, June 2004,
<https://www.rfc-editor.org/info/rfc3810>. <https://www.rfc-editor.org/info/rfc3810>.
[RFC4919] Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6 [RFC4919] Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6
over Low-Power Wireless Personal Area Networks (6LoWPANs): over Low-Power Wireless Personal Area Networks (6LoWPANs):
Overview, Assumptions, Problem Statement, and Goals", Overview, Assumptions, Problem Statement, and Goals",
RFC 4919, DOI 10.17487/RFC4919, August 2007, RFC 4919, DOI 10.17487/RFC4919, August 2007,
<https://www.rfc-editor.org/info/rfc4919>. <https://www.rfc-editor.org/info/rfc4919>.
[RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X.
Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052,
DOI 10.17487/RFC6052, October 2010,
<https://www.rfc-editor.org/info/rfc6052>.
[RFC6282] Hui, J., Ed. and P. Thubert, "Compression Format for IPv6 [RFC6282] Hui, J., Ed. and P. Thubert, "Compression Format for IPv6
Datagrams over IEEE 802.15.4-Based Networks", RFC 6282, Datagrams over IEEE 802.15.4-Based Networks", RFC 6282,
DOI 10.17487/RFC6282, September 2011, DOI 10.17487/RFC6282, September 2011,
<https://www.rfc-editor.org/info/rfc6282>. <https://www.rfc-editor.org/info/rfc6282>.
[RFC7731] Hui, J. and R. Kelsey, "Multicast Protocol for Low-Power
and Lossy Networks (MPL)", RFC 7731, DOI 10.17487/RFC7731,
February 2016, <https://www.rfc-editor.org/info/rfc7731>.
[RFC6811] Mohapatra, P., Scudder, J., Ward, D., Bush, R., and R. [RFC6811] Mohapatra, P., Scudder, J., Ward, D., Bush, R., and R.
Austein, "BGP Prefix Origin Validation", RFC 6811, Austein, "BGP Prefix Origin Validation", RFC 6811,
DOI 10.17487/RFC6811, January 2013, DOI 10.17487/RFC6811, January 2013,
<https://www.rfc-editor.org/info/rfc6811>. <https://www.rfc-editor.org/info/rfc6811>.
[RFC7731] Hui, J. and R. Kelsey, "Multicast Protocol for Low-Power
and Lossy Networks (MPL)", RFC 7731, DOI 10.17487/RFC7731,
February 2016, <https://www.rfc-editor.org/info/rfc7731>.
[RFC7761] Fenner, B., Handley, M., Holbrook, H., Kouvelas, I., [RFC7761] Fenner, B., Handley, M., Holbrook, H., Kouvelas, I.,
Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent
Multicast - Sparse Mode (PIM-SM): Protocol Specification Multicast - Sparse Mode (PIM-SM): Protocol Specification
(Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March (Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March
2016, <https://www.rfc-editor.org/info/rfc7761>. 2016, <https://www.rfc-editor.org/info/rfc7761>.
[RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X.
Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052,
DOI 10.17487/RFC6052, October 2010,
<https://www.rfc-editor.org/info/rfc6052>.
[RFC8929] Thubert, P., Ed., Perkins, C.E., and E. Levy-Abegnoli, [RFC8929] Thubert, P., Ed., Perkins, C.E., and E. Levy-Abegnoli,
"IPv6 Backbone Router", RFC 8929, DOI 10.17487/RFC8929, "IPv6 Backbone Router", RFC 8929, DOI 10.17487/RFC8929,
November 2020, <https://www.rfc-editor.org/info/rfc8929>. November 2020, <https://www.rfc-editor.org/info/rfc8929>.
[RFC9008] Robles, M.I., Richardson, M., and P. Thubert, "Using RPI [RFC9008] Robles, M.I., Richardson, M., and P. Thubert, "Using RPI
Option Type, Routing Header for Source Routes, and IPv6- Option Type, Routing Header for Source Routes, and IPv6-
in-IPv6 Encapsulation in the RPL Data Plane", RFC 9008, in-IPv6 Encapsulation in the RPL Data Plane", RFC 9008,
DOI 10.17487/RFC9008, April 2021, DOI 10.17487/RFC9008, April 2021,
<https://www.rfc-editor.org/info/rfc9008>. <https://www.rfc-editor.org/info/rfc9008>.
[I-D.ietf-bess-evpn-optimized-ir] [RFC9574] Rabadan, J., Ed., Sathappan, S., Lin, W., Katiyar, M., and
Rabadan, J., Sathappan, S., Lin, W., Katiyar, M., and A. A. Sajassi, "Optimized Ingress Replication Solution for
Sajassi, "Optimized Ingress Replication Solution for Ethernet VPNs (EVPNs)", RFC 9574, DOI 10.17487/RFC9574,
Ethernet VPN (EVPN)", Work in Progress, Internet-Draft, May 2024, <https://www.rfc-editor.org/info/rfc9574>.
draft-ietf-bess-evpn-optimized-ir-12, 25 January 2022,
<https://datatracker.ietf.org/doc/html/draft-ietf-bess-
evpn-optimized-ir-12>.
[I-D.ietf-rift-rift] [RIFT] Przygienda, A., Ed., Head, J., Ed., Sharma, A., Thubert,
Przygienda, T., Head, J., Sharma, A., Thubert, P., P., Rijsman, B., and D. Afanasiev, "RIFT: Routing in Fat
Rijsman, B., and D. Afanasiev, "RIFT: Routing in Fat
Trees", Work in Progress, Internet-Draft, draft-ietf-rift- Trees", Work in Progress, Internet-Draft, draft-ietf-rift-
rift-23, 1 May 2024, rift-24, 23 May 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-rift- <https://datatracker.ietf.org/doc/html/draft-ietf-rift-
rift-23>. rift-24>.
[I-D.ietf-6lo-prefix-registration]
Thubert, P., "IPv6 Neighbor Discovery Prefix
Registration", Work in Progress, Internet-Draft, draft-
ietf-6lo-prefix-registration-02, 13 February 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-6lo-
prefix-registration-02>.
[I-D.ietf-6man-ipv6-over-wireless]
Thubert, P. and M. Richardson, "Architecture and Framework
for IPv6 over Non-Broadcast Access", Work in Progress,
Internet-Draft, draft-ietf-6man-ipv6-over-wireless-05, 20
November 2023, <https://datatracker.ietf.org/doc/html/
draft-ietf-6man-ipv6-over-wireless-05>.
[I-D.kuehlewind-update-tag] [UPDATES-TAG]
Kühlewind, M. and S. Krishnan, "Definition of new tags for Kühlewind, M. and S. Krishnan, "Definition of new tags for
relations between RFCs", Work in Progress, Internet-Draft, relations between RFCs", Work in Progress, Internet-Draft,
draft-kuehlewind-update-tag-04, 12 July 2021, draft-kuehlewind-rswg-updates-tag-02, 8 July 2024,
<https://datatracker.ietf.org/doc/html/draft-kuehlewind- <https://datatracker.ietf.org/doc/html/draft-kuehlewind-
update-tag-04>. rswg-updates-tag-02>.
[Wi-SUN] Robert, H., Liu, B. R., Zhang, M., and C. E. Perkins, "Wi- [Wi-SUN] Robert, H., Liu, B., Zhang, M., and C. Perkins, "Wi-SUN
SUN FAN Overview", Work in Progress, Internet-Draft, FAN Overview", Work in Progress, Internet-Draft, draft-
draft-heile-lpwan-wisun-overview-00, 3 July 2017, heile-lpwan-wisun-overview-00, 3 July 2017,
<https://datatracker.ietf.org/doc/html/draft-heile-lpwan- <https://datatracker.ietf.org/doc/html/draft-heile-lpwan-
wisun-overview-00>. wisun-overview-00>.
[I-D.thubert-bess-secure-evpn-mac-signaling] Acknowledgments
Thubert, P., Przygienda, T., and J. Tantsura, "Secure EVPN
MAC Signaling", Work in Progress, Internet-Draft, draft-
thubert-bess-secure-evpn-mac-signaling-04, 13 September
2023, <https://datatracker.ietf.org/doc/html/draft-
thubert-bess-secure-evpn-mac-signaling-04>.
[IEEE Std 802.15.4]
IEEE standard for Information Technology, "IEEE Std
802.15.4, Part. 15.4: Wireless Medium Access Control (MAC)
and Physical Layer (PHY) Specifications for Low-Rate
Wireless Personal Area Networks".
[IEEE Std 802.11]
IEEE standard for Information Technology, "IEEE Standard
802.11 - IEEE Standard for Information Technology -
Telecommunications and information exchange between
systems Local and metropolitan area networks - Specific
requirements - Part 11: Wireless LAN Medium Access Control
(MAC) and Physical Layer (PHY) Specifications.",
<https://ieeexplore.ieee.org/document/9363693>.
[IEEE Std 802.15.1] This work is a production of an effective collaboration between the
IEEE standard for Information Technology, "IEEE Standard IETF 6lo WG and the Wi-Sun FAN WG. Thanks to all in both WGs who
for Information Technology - Telecommunications and contributed reviews and productive suggestions, in particular:
Information Exchange Between Systems - Local and Carsten Bormann, Paul Duffy, Klaus Hueske, Adnan Rashid, Rahul
Metropolitan Area Networks - Specific Requirements. - Part Jadhav, Gene Falendysz, Don Sturek, Dario Tedeschi, Saurabh Jain, and
15.1: Wireless Medium Access Control (MAC) and Physical Chris Hett, with special thanks to Esko Dijk for his useful WGLC
Layer (PHY) Specifications for Wireless Personal Area reviews and proposed changes. Also many thanks to Éric Vyncke, Sandy
Networks (WPANs)". 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.
Author's Address Author's Address
Pascal Thubert (editor) Pascal Thubert (editor)
06330 Roquefort-les-Pins 06330 Roquefort-les-Pins
France France
Email: pascal.thubert@gmail.com Email: pascal.thubert@gmail.com
 End of changes. 289 change blocks. 
951 lines changed or deleted 973 lines changed or added

This html diff was produced by rfcdiff 1.48.