IPv6 Neighbor Discovery Multicast Address Listener Subscription
draft-ietf-6lo-multicast-registration-11
The information below is for an old version of the document.
| Document | Type |
This is an older version of an Internet-Draft that was ultimately published as RFC 9685.
|
|
|---|---|---|---|
| Author | Pascal Thubert | ||
| Last updated | 2022-10-24 (Latest revision 2022-10-13) | ||
| Replaces | draft-thubert-6lo-multicast-registration | ||
| RFC stream | Internet Engineering Task Force (IETF) | ||
| Formats | |||
| Reviews |
INTDIR Telechat review
(of
-18)
by Dirk Von Hugo
Ready w/nits
TSVART IETF Last Call review
(of
-16)
by Kyle Rose
On the right track
GENART IETF Last Call review
(of
-16)
by Dan Romascanu
Ready w/issues
IOTDIR Telechat Review due 2024-04-30
Requested
|
||
| Additional resources | Mailing list discussion | ||
| Stream | WG state | WG Document | |
| Document shepherd | (None) | ||
| IESG | IESG state | Became RFC 9685 (Proposed Standard) | |
| Consensus boilerplate | Unknown | ||
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-ietf-6lo-multicast-registration-11
6lo P. Thubert, Ed.
Internet-Draft Cisco Systems
Updates: 4861, 6550, 6553, 8505, 9010 (if 24 October 2022
approved)
Intended status: Standards Track
Expires: 27 April 2023
IPv6 Neighbor Discovery Multicast Address Listener Subscription
draft-ietf-6lo-multicast-registration-11
Abstract
This document updates RFC 8505 to enable a listener to subscribe an
IPv6 anycast or multicast address; the draft updates RFC 6550 (RPL)
to add a new Non-Storing Multicast Mode and a new support for anycast
addresses in Storing and Non-Storing Modes. This document extends
RFC 9010 to enable the 6LR to inject the anycast and multicast
addresses in RPL.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 27 April 2023.
Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved.
Thubert Expires 27 April 2023 [Page 1]
Internet-Draft Multicast Address Registration October 2022
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Requirements Language . . . . . . . . . . . . . . . . . . 4
2.2. References . . . . . . . . . . . . . . . . . . . . . . . 5
2.3. Glossary . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4. New terms . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. Updating RFC 4861 . . . . . . . . . . . . . . . . . . . . . . 10
5. Extending RFC 7400 . . . . . . . . . . . . . . . . . . . . . 10
6. Updating RFC 6550 . . . . . . . . . . . . . . . . . . . . . . 11
6.1. Updating MOP 3 . . . . . . . . . . . . . . . . . . . . . 12
6.2. New Non-Storing Multicast MOP . . . . . . . . . . . . . . 13
6.3. RPL Anycast Operation . . . . . . . . . . . . . . . . . . 14
6.4. New P-Field . . . . . . . . . . . . . . . . . . . . . . . 15
6.5. New RPL Target Option P-Field . . . . . . . . . . . . . . 15
7. Updating RFC 8505 . . . . . . . . . . . . . . . . . . . . . . 16
7.1. Placing the New P field in the EARO . . . . . . . . . . . 16
7.2. Placing the New P field in the EDAR Message . . . . . . . 17
7.3. Registering Extensions . . . . . . . . . . . . . . . . . 18
8. Updating RFC 9010 . . . . . . . . . . . . . . . . . . . . . . 21
9. Leveraging RFC 8928 . . . . . . . . . . . . . . . . . . . . . 21
10. Consistent Uptime Option . . . . . . . . . . . . . . . . . . 22
11. Deployment considerations . . . . . . . . . . . . . . . . . . 24
12. Security Considerations . . . . . . . . . . . . . . . . . . . 26
13. Backward Compatibility . . . . . . . . . . . . . . . . . . . 27
14. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27
14.1. New P-Field Registry . . . . . . . . . . . . . . . . . . 27
14.2. New EDAR Message Flags Registry . . . . . . . . . . . . 28
14.3. New EARO flags . . . . . . . . . . . . . . . . . . . . . 28
14.4. New RTO flags . . . . . . . . . . . . . . . . . . . . . 29
14.5. New RPL Mode of Operation . . . . . . . . . . . . . . . 29
14.6. New 6LoWPAN Capability Bits . . . . . . . . . . . . . . 29
14.7. New Address Registration Option Status Values . . . . . 30
14.8. New IPv6 Neighbor Discovery Option . . . . . . . . . . . 30
15. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 30
16. Normative References . . . . . . . . . . . . . . . . . . . . 30
17. Informative References . . . . . . . . . . . . . . . . . . . 32
Thubert Expires 27 April 2023 [Page 2]
Internet-Draft Multicast Address Registration October 2022
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 34
1. Introduction
The design of Low Power and Lossy Networks (LLNs) is generally
focused on saving energy, which is the most constrained resource of
all. Other design constraints, such as a limited memory capacity,
duty cycling of the LLN devices and low-power lossy transmissions,
derive from that primary concern. The radio (both transmitting or
simply listening) is a major energy drain and the LLN protocols must
be adapted to allow the nodes to remain sleeping with the radio
turned off at most times.
The "Routing Protocol for Low Power and Lossy Networks" [RFC6550]
(RPL) provides IPv6 [RFC8200] routing services within such
constraints. To save signaling and routing state in constrained
networks, the RPL routing is only performed along a Destination-
Oriented Directed Acyclic Graph (DODAG) that is optimized to reach a
Root node, as opposed to along the shortest path between 2 peers,
whatever that would mean in each LLN.
This trades the quality of peer-to-peer (P2P) paths for a vastly
reduced amount of control traffic and routing state that would be
required to operate an any-to-any shortest path protocol.
Additionally, broken routes may be fixed lazily and on-demand, based
on dataplane inconsistency discovery, which avoids wasting energy in
the proactive repair of unused paths.
Section 12 of [RFC6550] details the "Storing Mode of Operation with
multicast support" with source-independent multicast routing in RPL.
The classical "IPv6 Neighbor Discovery (IPv6 ND) Protocol" [RFC4861]
[RFC4862] was defined for serial links and shared transit media such
as Ethernet at a time when broadcast was cheap on those media while
memory for neighbor cache was expensive. It was thus designed as a
reactive protocol that relies on caching and multicast operations for
the Address Discovery (aka Lookup) and Duplicate Address Detection
(DAD) of IPv6 unicast addresses. Those multicast operations
typically impact every node on-link when at most one is really
targeted, which is a waste of energy, and imply that all nodes are
awake to hear the request, which is inconsistent with power saving
(sleeping) modes.
The original 6LoWPAN ND, "Neighbor Discovery Optimizations for
6LoWPAN networks" [RFC6775], was introduced to avoid the excessive
use of multicast messages and enable IPv6 ND for operations over
energy-constrained nodes. [RFC6775] changes the classical IPv6 ND
model to proactively establish the Neighbor Cache Entry (NCE)
Thubert Expires 27 April 2023 [Page 3]
Internet-Draft Multicast Address Registration October 2022
associated to the unicast address of a 6LoWPAN Node (6LN) in the a
6LoWPAN Router(s) (6LR) that serves it. To that effect, [RFC6775]
defines a new Address Registration Option (ARO) that is placed in
unicast Neighbor Solicitation (NS) and Neighbor Advertisement (NA)
messages between the 6LN and the 6LR.
"Registration Extensions for 6LoWPAN Neighbor Discovery" [RFC8505]
updates [RFC6775] into a generic Address Registration mechanism that
can be used to access services such as routing and ND proxy and
introduces the Extended Address Registration Option (EARO) for that
purpose. This provides a routing-agnostic interface for a host to
request that the router injects a unicast IPv6 address in the local
routing protocol and provide return reachability for that address.
"Routing for RPL Leaves" [RFC9010] provides the router counterpart of
the mechanism for a host that implements [RFC8505] to inject its
unicast Unique Local Addresses (ULAs) and Global Unicast Addresses
(GUAs) in RPL. But though RPL also provides multicast routing,
6LoWPAN ND supports only the registration of unicast addresses and
there is no equivalent of [RFC9010] to specify the 6LR behavior upon
the subscription of one or more multicast address.
The "Multicast Listener Discovery Version 2 (MLDv2) for IPv6"
[RFC3810] enables the router to learn which node listens to which
multicast address, but as the classical IPv6 ND protocol, MLD relies
on multicasting Queries to all nodes, which is unfit for low power
operations. As for IPv6 ND, it makes sense to let the 6LNs control
when and how they maintain the state associated to their multicast
addresses in the 6LR, e.g., during their own wake time. In the case
of a constrained node that already implements [RFC8505] for unicast
reachability, it makes sense to extend to that support to subscribe
the multicast addresses they listen to.
This specification extends [RFC8505] and [RFC9010] to add the
capability for the 6LN to subscribe anycast and multicast addresses
and for the 6LR to inject them in RPL when appropriate.
2. Terminology
2.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
Thubert Expires 27 April 2023 [Page 4]
Internet-Draft Multicast Address Registration October 2022
In addition, the terms "Extends" and "Amends" are used as per
[I-D.kuehlewind-update-tag] section 3.
2.2. References
This document uses terms and concepts that are discussed in:
* "Neighbor Discovery for IP version 6" [RFC4861] and "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]
and
* "Using RPI Option Type, Routing Header for Source Routes, and
IPv6-in-IPv6 Encapsulation in the RPL Data Plane" [RFC9008].
2.3. Glossary
This document uses the following acronyms:
6BBR 6LoWPAN Backbone Router
6BBR 6LoWPAN Border Router
6LN 6LoWPAN Node
6LR 6LoWPAN Router
6CIO Capability Indication Option
AMC Address Mapping Confirmation
AMR Address Mapping Request
ARO Address Registration Option
DAC Duplicate Address Confirmation
DAD Duplicate Address Detection
DAR Duplicate Address Request
EARO Extended Address Registration Option
EDAC Extended Duplicate Address Confirmation
EDAR Extended Duplicate Address Request
DODAG Destination-Oriented Directed Acyclic Graph
IR Ingress Replication
LLN Low-Power and Lossy Network
NA Neighbor Advertisement
NCE Neighbor Cache Entry
ND Neighbor Discovery
NS Neighbor Solicitation
ROVR Registration Ownership Verifier
RTO RPL Target Option
RA Router Advertisement
RS Router Solicitation
Thubert Expires 27 April 2023 [Page 5]
Internet-Draft Multicast Address Registration October 2022
TID Transaction ID
TIO Transit Information Option
2.4. New terms
This document introduces the following terms:
Origin The node that issued an anycast or multicast advertisement,
either in the form of a NS(EARO) or as a DAO(TIO, RTO)
Merge/merging The action of receiving multiple anycast or multicast
advertisements, either internally from self, in the form of a
NS(EARO), or as a DAO(TIO, RTO), and generating a single
DAO(TIO, RTO). The 6RPL router maintains a state per origin
for each advertised address, and merges the advertisements for
all subsriptions for the same address in a single
advertisement. A RPL router that merges becomes the origin of
the merged advertisement and uses its own values for the Path
Sequence and ROVR fields.
Subscribe/subscription The speciel form of registration that
leverages NS(EARO) to register (subscribe) a multicast or an
anycast address.
3. Overview
This specification inherits from [RFC6550], [RFC8505], and [RFC9010]
to provide additional capabilities for anycast and multicast. Unless
specified otherwise therein, the behavior of the 6LBR that acts as
RPL Root, of the intermediate routers down the RPL graph, of the 6LR
that act as access routers and of the 6LNs that are the RPL-unaware
destinations, is the same as for unicast. In particular, forwarding
a packet happens as specified in section 11 of [RFC6550], including
loop avoidance and detection, though in the case of multicast
multiple copies might be generated.
[RFC8505] is a pre-requisite to this specification. A node that
implements this MUST also implement [RFC8505]. This specification
does not introduce a new option; it modifies existing options and
updates the associated behaviors to enable the Registration for
Multicast Addresses as an extension to [RFC8505].
This specification also extends [RFC6550] and [RFC9010] in the case
of a route-over multilink subnet based on the RPL routing protocol,
to add multicast ingress replication in Non-Storing Mode and anycast
support in both Storing and Non-Storing modes. A 6LR that implements
the RPL extensions specified therein MUST also implement [RFC9010].
Thubert Expires 27 April 2023 [Page 6]
Internet-Draft Multicast Address Registration October 2022
Figure 1 illustrates the classical situation of an LLN as a single
IPv6 Subnet, with a 6LoWPAN Border Router (6LBR) that acts as Root
for RPL operations and maintains a registry of the active
registrations as an abstract data structure called an Address
Registrar for 6LoWPAN ND.
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
a Route-Over LLN such as the Wi-SUN and 6TiSCH meshes [Wi-SUN] that
leverages 6LoWPAN [RFC4919][RFC6282] and RPL [RFC6550] over [IEEE Std
802.15.4].
|
----+-------+------------
| Wire side
+------+
| 6LBR |
|(Root)|
+------+
o o o Wireless side
o o o o o o
o o o o o o o
o o o LLN o +---+
o o o o o |6LR|
o o o o o +---+
o o o o o o z
o o oo o o +---+
o |6LN|
+---+
Figure 1: Wireless Mesh
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
EARO as specified in [RFC8505]. The registration state is
periodically renewed by the Registering Node, before the lifetime
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
the presence of the listeners.
Thubert Expires 27 April 2023 [Page 7]
Internet-Draft Multicast Address Registration October 2022
This specification updates the EARO with a new two bit fields, the P
field, as detailed in Section 7.1. The existing R flag that requests
reachability for the registered address gets new behavior. 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 to signal
that the registration is for a multicast address. Multiple 6LN may
subscribe to the same multicast address to the same 6LR. Note the
use of the term "subscribe": using the EARO registration mechanism, a
node registers the unicast addresses that it owns, but subscribes to
the multicast addresses that it listens to.
With this specification, the 6LNs can also subscribe the anycast
addresses they accept, using a new P field in the EARO to signal that
the registration is for an anycast address. As for multicast,
multiple 6LN 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
same address, the 6LR injects the anycast addresses and multicast
addresses of a scope larger than link-scope in RPL, based on the
longest subscription lifetime across the active subscriptions for the
address.
In the RPL "Storing Mode of Operation with multicast support", the
DAO messages for the multicast address percolate along the RPL
preferred parent tree and mark a subtree that becomes the multicast
tree for that multicast address, with 6LNs that subscribed to the
address as the leaves. As prescribed in section 12 of [RFC6550], the
6LR forwards a multicast packet as an individual unicast MAC frame to
each peer along the multicast tree, excepting to the node it received
the packet from.
In the new RPL "Non-Storing Mode of Operation with multicast support"
that is introduced here, the DAO messages announce the multicast
addresses as Targets though never as Transit. The multicast
distribution is an ingress replication whereby the Root encapsulates
the multicast packets to all the 6LRs that are transit for the
multicast address, using the same source-routing header as for
unicast targets attached to the respective 6LRs.
Broadcasting is typically unreliable in LLNs (no ack) and forces a
listener to remain awake, so it generally discouraged. The
expectation is thus that in either mode, the 6LRs deliver the
multicast packets as individual unicast MAC frames to each of the
6LNs that subscribed to the multicast address.
With this specification, anycast addresses can be injected in RPL in
both Storing and Non-Storing modes. In Storing Mode the RPL router
accepts DAO from multiple children for the same anycast address, but
Thubert Expires 27 April 2023 [Page 8]
Internet-Draft Multicast Address Registration October 2022
only forwards a packet to one of the children. In Non-Storing Mode,
the Root maintains the list of all the RPL nodes that announced the
anycast address as Target, but forwards a given packet to only one of
them.
For backward compatibility, this specification allows to build a
single DODAG signaled as MOP 1, that conveys anycast, unicast and
multicast packets using the same source routing mechanism, more in
Section 11.
It is also possible to leverage this specification between the 6LN
and the 6LR for the registration of unicast, anycast and multicast
IPv6 addresses in networks that are not necessarily LLNs, and/or
where the routing protocol between the 6LR and above is not
necessarily RPL. In that case, the distribution of packets between
the 6LR and the 6LNs may effectively rely on a broadcast or multicast
support at the lower layer, e.g., using this specification as a
replacement to MLD in an Ethernet bridged domain and still using
either plain MAC-layer broadcast or snooping this protocol to control
the flooding. It may also rely on overlay services to optimize the
impact of Broadcast, Unknown and Multicast (BUM) over a fabric, e.g.
registering with [I-D.thubert-bess-secure-evpn-mac-signaling] and
forwarding with [I-D.ietf-bess-evpn-optimized-ir].
For instance, it is possible to operate a RPL Instance in the new
"Non-Storing Mode of Operation with multicast support" (while
possibly signaling a MOP of 1) and use "Multicast Protocol for
Low-Power and Lossy Networks (MPL)" [RFC7731] for the multicast
operation. MPL floods the DODAG with the multicast messages
independently of the RPL DODAG topologies. Two variations are
possible:
* In one possible variation, all the 6LNs set the R flag in the EARO
for a multicast target, upon which the 6LRs send a unicast DAO
message to the Root; the Root filters out the multicast messages
for which there is no listener and only floods when there is.
* 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
configuration, it is also possible to control the behavior of the
6LR to ignore the R flag and either always or never send the DAO
message, and/or to control the Root and specify which groups it
should flood or not flood.
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
well.
Thubert Expires 27 April 2023 [Page 9]
Internet-Draft Multicast Address Registration October 2022
4. Updating RFC 4861
Section 7.1 of [RFC4861] requires to silently discard NS and NA
packets when the Target Address is a multicast address. This
specification Amends [RFC4861] by allowing to advertise multicast and
anycast addresses in the Target Address field when the NS message is
used for a registration, per section 5.5 of [RFC8505].
5. Extending RFC 7400
This specification Extends "6LoWPAN-GHC: Generic Header Compression
for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)"
[RFC7400] by defining a new capability bit for use in the 6CIO.
[RFC7400] was already extended by [RFC8505] for use in IPv6 ND
messages.
The new "Registration for xcast Address Supported" (X) flag indicates
to the 6LN that the 6LR accepts unicast, multicast, and anycast
address registrations as specified in this document and will ensure
that packets for the Registered Address will be routed to the 6LNs
that registered with the R flag set appropriately.
Figure 2 illustrates the X flag in its suggested position (8,
counting 0 to 15 in network order in the 16-bit array), to be
confirmed by IANA.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length = 1 | Reserved |X|A|D|L|B|P|E|G|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: New Capability Bits in the 6CIO
New Option Field:
X 1-bit flag: "Registration for Unicast, Multicast, and Anycast
Addresses Supported"
Thubert Expires 27 April 2023 [Page 10]
Internet-Draft Multicast Address Registration October 2022
6. Updating RFC 6550
[RFC6550] uses the Path Sequence in the Transit Information Option
(TIO) to retain only the freshest unicast route and remove stale
ones, e.g., in the case of mobility. [RFC9010] copies the TID from
the EARO into the Path Sequence, and the ROVR field into the
associated RPL Target Option (RTO). This way, it is possible to
identify both the registering node and the order of registration in
RPL for each individual advertisement, so the most recent path and
lifetime values are used.
This specification requires the use of the ROVR field as the
indication of the origin of a Target advertisement in the RPL DAO
messages, as specified in section 6.1 of [RFC9010]. For anycast and
multicast advertisements (in NS or DAO messages), multiple origins
may subscribe to the same address, in which case the multiple
advertisements from the different or unknown origins are merged by
the common parent; in that case, the common parent becomes the origin
of the merged advertisements and uses its own ROVR value. On the
other hand, a parent that propagates an advertisement from a single
origin uses the original ROVR in the propagated RTO, as it does for
unicast address advertisements, so the origin is recognised across
multiple hops.
This specification Extends [RFC6550] to require that, for anycast and
multicast advertisements, the Path Sequence is used between and only
between advertisements for the same Target and from the same origin
(i.e, with the same ROVR value); in that case, only the freshest
advertisement is retained. But the freshness comparison cannot apply
if the origin is not determined (i.e., the origin did not support
this specification).
[RFC6550] uses the Path Lifetime in the TIO to indicate the remaining
time for which the advertisement is valid for unicast route
determination, and a Path Lifetime value of 0 invalidates that route.
[RFC9010] maps the Address Registration lifetime in the EARO and the
Path Lifetime in the TIO so they are comparable when both forms of
advertisements are received.
The RPL router that merges multiple advertisement for the same
anycast or multicast addresses must use and advertise the longest
remaining lifetime across all the origins of the advertisements for
that address. When the lifetime expires, the router sends a no-path
DAO (i.e. the lifetime is 0) using the same value for ROVR value as
for the previous advertisements, that is either self or the single
descendant that advertised the Target.
Thubert Expires 27 April 2023 [Page 11]
Internet-Draft Multicast Address Registration October 2022
Note that the Registration Lifetime, TID and ROVR fields are also
placed in the EDAR message so the state created by EDAR is also
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
EDAR.
6.1. Updating MOP 3
RPL supports multicast operations in the "Storing Mode of Operation
with multicast support" (MOP 3) which provides source-independent
multicast routing in RPL, as prescribed in section 12 of [RFC6550].
MOP 3 is a storing Mode of Operation. This operation builds a
multicast tree within the RPL DODAG for each multicast address. This
specification provides additional details for the MOP 3 operation.
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
deployments of RPL where the "Non-Storing Mode of Operation" (MOP 1)
is the norm. Though it is preferred to build separate RPL Instances,
one in MOP 1 and one in MOP 3, this specification allows to hybrid
the Storing Mode for multicast and Non-Storing Mode for unicast in
the same RPL Instance, more in Section 11.
For anycast and multicast advertisements, including MOP 3, the ROVR
field is placed in the RPL Target Option as specified in [RFC9010]
for both MOP 3 and MOP 5 as it is for unicast advertisements.
Though it was implicit with [RFC6550], this specification clarifies
that the freshness comparison based on the Path Sequence is not used
when the origin cannot be determined, which is the case there. The
comparison is to be used only between advertisements from the same
origin, which is either an individual subscriber, or a descendant
that merged multiple advertisements.
A RPL router maintains a remaining Path Lifetime for each DAO that it
receives for a multicast target, and sends its own DAO for that
target with the longest remaining lifetime across its listening
children. If the router has only one descendant listening, it
propagates the TID and ROVR as received. Conversely, if the router
merges multiple advertisements (including possibly one for self as a
listener), the router uses its own ROVR and TID values.
Thubert Expires 27 April 2023 [Page 12]
Internet-Draft Multicast Address Registration October 2022
6.2. New Non-Storing Multicast MOP
This specification adds a "Non-Storing Mode of Operation with ingress
replication multicast support" (MOP to be assigned by IANA) whereby
the non-storing Mode DAO to the Root may advertise a multicast
address in the RPL Target Option (RTO), whereas the Transit
Information Option (TIO) cannot.
In that mode, the RPL Root performs an ingress replication (IR)
operation on the multicast packets, meaning that it transmits one
copy of each multicast packet to each 6LR that is a transit for the
multicast target, using the same source routing header and
encapsulation as it would for a unicast packet for a RPL Unaware Leaf
(RUL) attached to that 6LR.
For the intermediate routers, the packet appears as any source routed
unicast packet. The difference shows only at the 6LR, that
terminates the source routed path and forwards the multicast packet
to all 6LNs that registered for the multicast address.
For a packet that is generated by the Root, this means that the Root
builds a source routing header as shown in section 8.1.3 of
[RFC9008], but for which the last and only the last address is
multicast. For a packet that is not generated by the Root, the Root
encapsulates the multicast packet as per section 8.2.4 of [RFC9008].
In that case, the outer header is purely unicast, and the
encapsulated packet is purely multicast.
For anycast and multicast advertisements in NA (at the 6LR) and DAO
(at the Root) messages, as discussed in Section 6.1, the freshness
comparison based on the TID field is applied only between messages
from the same origin, as determined by the same value in the ROVR
field.
The Root maintains a remaining Path Lifetime for each advertisement
it receives, and the 6LRs generate the DAO for multicast addresses
with the longest remaining lifetime across its registered 6LNs, using
its own ROVR and TID when multiple 6LNs subscribed, or if this 6LR is
one of the subscribers.
For this new mode as well, this specification allows to enable the
operation in a MOP 1 brown field, more in Section 11.
Thubert Expires 27 April 2023 [Page 13]
Internet-Draft Multicast Address Registration October 2022
6.3. RPL Anycast Operation
With multicast, the address has a recognizable format, and a
multicast packet is to be delivered to all the active subscribers.
In contrast, the format of an anycast address is not distinguishable
from that of unicast. A legacy node may issue a DAO message without
setting the P field to 2, the unicast behavior may apply to anycast
traffic in a subDAGs. That message will be undistinguishable from a
unicast advertisement and the anycast behavior in the dataplane can
only happen if all the nodes that advertise the same anycast address
are synchronized with the same TID. That way, the multiple paths can
remain in the RPL DODAG.
With the P field set to 2, this specification alleviates the issue of
synchronizing the TIDs and ROVR fields. As for multicast, the
freshness comparison based on the TID (in EARO) and the Path Sequence
(in TIO) is ignored unless the messages have the same origin, as
inferred by the same ROVR in RTO and/or EARO, and the latest value of
the lifetime is retained for each origin.
A RPL router that propagates an advertisement from a single origin
uses the ROVR and Path Sequence from that origin, whereas a router
that merges multiple subscriptions uses its own ROVR and Path
Sequence and the longest lifetime over the different advertisements.
A target is routed as anycast by a parent (or the Root) that received
at least one DAO message for that target with the P field set to 2.
As opposed to multicast, the anycast operation described therein
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
injected as a RPL target from multiple border routers should be
injected as anycast in RPL to enable load balancing. A mobile target
that is multihomed should in contrast be advertised as unicast over
the multiple interfaces to favor the TID comparison and vs. the
multipath load balancing.
For either multicast and anycast, there can be multiple subscriptions
from multiple origins, each using a different value of the ROVR field
that identifies the individual subscription. The 6LR maintains a
subscription state per value of the ROVR per multicast or anycast
address, but inject the route into RPL only once for each address,
and in the case of a multicast address, only if its scope is larger
than link-scope (3 or more). Since the subscriptions are considered
separate, the check on the TID that acts as subscription sequence
only applies to the subscription with the same ROVR.
Thubert Expires 27 April 2023 [Page 14]
Internet-Draft Multicast Address Registration October 2022
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
each address, but it retains a routing table entry for each of the
children that advertised the address.
When forwarding multicast packets down the DODAG, the RPL router
copies all the children that advertised the address in their DAO
messages. In contrast, when forwarding anycast packets down the
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
parent if there is no such child.
6.4. New P-Field
The new P-field is created for use in RPL Target Option, EARO, and
EDAR messages. The P-Field is a 2-bits field, capable of storing 4
values, and used to indicate the type of advertisement.
The P field can take the following values:
+-------+--------------------------------------------------------+
| Value | Meaning |
+-------+--------------------------------------------------------+
| 0 | Registration for a Unicast Address |
+-------+--------------------------------------------------------+
| 1 | Registration for a Multicast Address |
+-------+--------------------------------------------------------+
| 2 | Registration for an Anycast Address |
+-------+--------------------------------------------------------+
| 3 | Reserved, MUST be set to 0 and ignored by the receiver |
+-------+--------------------------------------------------------+
Table 1: P-field Values
6.5. New RPL Target Option P-Field
[RFC6550] recognizes a multicast address by its format (as specified
in section 2.7 of [RFC4291]) and applies the specified multicast
operation if the address is recognized as multicast. This
specification updates [RFC6550] to add the 2-bits P field (see
Section 6.4) to the RTO to indicate that the target address is to be
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 1 is called a multicast RTO.
* An RTO that has the P field set to 2 is called an anycast RTO.
Thubert Expires 27 April 2023 [Page 15]
Internet-Draft Multicast Address Registration October 2022
The suggested position for the P field is 2 counting from 0 to 7 in
network order as shown in Figure 3, based on figure 4 of [RFC9010]
which defines the flags in position 0 and 1:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x05 | Option Length |F|X| P |ROVRsz | Prefix Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Target Prefix (Variable Length) |
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
... Registration Ownership Verifier (ROVR) ...
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: Format of the RPL Target Option
New and updated Option Fields:
P: 2-bit field; see Section 6.4
7. Updating RFC 8505
7.1. Placing the New P field in the EARO
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 to the EARO flags is set to 1
to signal that the Registered Address is a multicast address. When
the P field is 1 and the R flag is set to 1 as well, the 6LR that
conforms to this specification joins the multicast stream, e.g., by
injecting the address in the RPL multicast support which is extended
in this specification for Non-Storing Mode.
The new P field to the EARO flags is set to 2 to signal that the
Registered Address is an anycast address. When the P field is 2 and
the R flag is 1, the 6LR that conforms to this specification injects
the anycast address in the RPL anycast support that is introduced in
this specification for both Storing and Non-Storing Modes.
Figure 4 illustrates the P field in its suggested positions (2,
counting 0 to 7 in network order in the 8-bit array), to be confirmed
by IANA.
Thubert Expires 27 April 2023 [Page 16]
Internet-Draft Multicast Address Registration October 2022
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Status | Opaque |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Rsv| P | I |R|T| TID | Registration Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
... Registration Ownership Verifier ...
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: EARO Option Format
New and updated Option Fields:
Rsv: 2-bit field; reserved, MUST be set to 0 and ignored by the
receiver
P: 2-bit field; see Section 6.4
7.2. Placing the New P field in the EDAR Message
Section 4 of [RFC6775] provides the same format for DAR and DAC
messages but the status field is only used in DAC message and has to
set to zero in DAC messages. [RFC8505] extends the DAC message as an
EDAC but does not change the status field in the EDAR.
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 P
field in the EARO and signal the new types of registration. The EDAC
message is not modified.
Figure 5 illustrates the P field in its suggested position (0,
counting 0 to 7 in network order in the 8-bit array), to be confirmed
by IANA.
Thubert Expires 27 April 2023 [Page 17]
Internet-Draft Multicast Address Registration October 2022
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type |CodePfx|CodeSfx| Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| P | Reserved | TID | Registration Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
... Registration Ownership Verifier (ROVR) ...
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Registered Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: Extended Duplicate Address Request Message Format
New and updated Option Fields:
Reserved 6-bit field: reserved, MUST be set to 0 and ignored by the
receiver
P: 2-bit field; see Section 6.4
7.3. Registering Extensions
With [RFC8505]:
* A router that expects to reboot may send a final RA message, upon
which nodes should subscribe elsewhere or redo the subscription to
the same router upon reboot. In all other cases, a node reboot is
silent. When the node comes back to life, existing registration
state might be lost if it was not persisted, e.g., in persistent
memory.
* Only unicast addresses can be registered.
* The 6LN must register all its ULA and GUA with a NS(EARO).
* The 6LN may set the R flag in the EARO to obtain return
reachability services by the 6LR, e.g., through ND proxy
operations, or by injecting the route in a route-over subnet.
Thubert Expires 27 April 2023 [Page 18]
Internet-Draft Multicast Address Registration October 2022
* the 6LR maintains a registration state per Registered Address,
including an NCE with the Link Layer Address (LLA) of the
Registered Node (the 6LN here).
This specification adds the following behavior:
* The concept of subscription is introduced for anycast and
multicast addresses as an extension to the unicast address
registration. The respective operations are similar from the
perspective of the 6LN, but show important differences on the
router side, which maintains a separate state for each origin and
merges them in its own advertisements.
* A new ARO Status is introduced to indicate a "Registration Refresh
Request" (see Table 9).
This status is used in asynchronous NA(EARO) messages to indicate
to peer 6LNs that they are requested to reregister all addresses
that were previously registered to the originating node. The NA
message may be sent to a unicast or a multicast link-scope address
and should be contained within the L2 range where nodes may
effectively have registered/subscribed to this router, e.g., a
radio broadcast domain.
A device that wishes to refresh its state, e.g., upon reboot if it
may have lost some registration state, SHOULD send an asynchronous
NA(EARO) with this new status value. That asynchronous NA(ARO)
SHOULD be sent to the all-nodes link scope multicast address
(FF02::1) and Target MUST be set to the link local address that
was exposed previously by this node to accept registrations, and
the TID MUST be set to 0.
In an unreliable environment, the multicast NA(EARO) message may
be resent in a fast sequence, in which case the TID must be
incremented each time. A 6LN that has recently processed the
NA(ARO) ignores the NA(EARO) with a newer TID received within the
duration of the fast sequence. That duration depends on the
environent and has to be configured. By default, it is of 10
seconds.
* A new IPv6 ND Consistent Uptime option (CUO) is introduced to be
placed in IPv6 ND messages. The CUO indicates allows to figure
the state consistency between the sender and the receiver. For
instance, a node that rebooted needs to reset its uptime to 0. A
Router that changed information like a prefix information option
has to advertise an incremented state sequence. To that effect,
the CUO carries a Node State Sequence Information (NSSI) and a
Node Uptime. See Section 10 for the option details.
Thubert Expires 27 April 2023 [Page 19]
Internet-Draft Multicast Address Registration October 2022
A node that receives the CUO checks whether it is indicative of a
desynchronization between peers. A peer that discovers that a
router has changed should reassess which addresses it formed based
on the new PIOs from that router, and resync the state that it
installed in the router, e.g., the registration state for its
addresses. In the process, the peer may attempt to form new
address and register them, deprecate old addresses and deregister
them using a Lifetime of 0, and reform any potentially lost state,
e.g., by re-registering an existing address that it will keep
using. A loss of state is inferred if the Node Uptime of the peer
is less than the time since the state was installed, or the NSSI
is incremented for a consistent uptime.
* Registration for multicast and anycast addresses is now supported.
The P field is added to the EARO to signal when the registered
address is anycast or multicast.
* The Status field in the EDAR message that was reserved and not
used in RFC 8505 is repurposed to transport the flags to signal
multicast and anycast.
* The 6LN MUST also subscribe all the IPv6 multicast addresses that
it listens to but the all-nodes link-scope multicast address
FF02::1 [RFC4291] which is implicitly registered, and it MUST set
the P field to 1 in the EARO for those addresses.
* 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,
or by injecting the address in a route-over subnet or in the
Protocol Independent Multicast [RFC7761] protocol.
* 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
addresses.
* The 6LR and the 6LBR are extended to accept more than one
subscription for the same address when it is anycast or multicast,
since multiple 6LNs may subscribe to the same address of these
types. In both cases, the Registration Ownership Verifier (ROVR)
in the EARO identifies uniquely a registration within the
namespace of the Registered Address.
* The 6LR MUST also consider that all the nodes that registered an
address to it (as known by the SLLAO) also registered to the all
nodes link-scope multicast address FF02::1 [RFC4291].
Thubert Expires 27 April 2023 [Page 20]
Internet-Draft Multicast Address Registration October 2022
* The 6LR MUST maintain a subscription state per tuple (IPv6
address, ROVR) for both anycast and multicast types of address.
It SHOULD notify the 6LBR with an EDAR message, unless it
determined that the 6LBR is legacy and does not support this
specification. In turn, the 6LBR MUST maintain a subscription
state per tuple (IPv6 address, ROVR) for both anycast and
multicast types of address.
8. Updating RFC 9010
With [RFC9010]:
* The 6LR injects only unicast routes in RPL
* Upon a registration with the R flag set to 1 in the EARO, the 6LR
injects the address in the RPL unicast support.
* Upon receiving a packet directed to a unicast address for which it
has an active registration, the 6LR delivers the packet as a
unicast layer-2 frame to the LLA the nodes that registered the
unicast address.
This specification adds the following behavior:
* Upon a subscription with the R flag and the P field both set to 1
in the EARO, if the scope of the multicast address is above link-
scope [RFC7346], then the 6LR injects the address in the RPL
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
in the EARO, the 6LR injects the address in the new RPL anycast
support and sets the P field to 2 in the RTO.
* Upon receiving a packet directed to a multicast address for which
it has at least one subscription, the 6LR delivers a copy of the
packet as a unicast layer-2 frame to the LLA of each of the nodes
that registered to that multicast address.
* Upon receiving a packet directed to a anycast address for which 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
nodes that registered to that multicast address.
9. Leveraging RFC 8928
Address-Protected Neighbor Discovery for Low-Power and Lossy Networks
[RFC8928] was defined to protect the ownership of unicast IPv6
addresses that are registered with [RFC8505].
Thubert Expires 27 April 2023 [Page 21]
Internet-Draft Multicast Address Registration October 2022
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
addresses that are either autoconfigured or obtained through other
methods.
The first hop router (the 6LR) may then validate a registration and
perform source address validation on packets coming from the sender
node (the 6LN).
Anycast and multicast addresses are not owned by one node. Multiple
nodes may subscribe to the same address. Also, anycast and multicast
addresses are not used to source traffic. In that context, the
method specified in [RFC8928] cannot be used with autoconfigured
keypairs to protect a single ownership.
For an anycast or a multicast address, it is still possible to
leverage [RFC8928] to enforce the right to subscribe. If [RFC8928]
is used, a keypair MUST be associated with the address before it is
deployed, and a ROVR MUST be generated from that keypair as specified
in [RFC8928]. The address and the ROVR MUST then be installed in the
6LBR so it can recognize the address and compare the ROVR on the
first subscription.
The keypair MUST then be provisioned in each node that needs to
subscribe to the anycast or multicast address, so the node can follow
the steps in [RFC8928] to subscribe the address.
10. Consistent Uptime Option
This specification introduces a new option that characterizes the
uptime of the sender. The option may be used by routers in RA
messages and by any node in NA, NA, and RS messages. It is used by
the receiver to infer whether some state synchronization might be
lost, e.g., due to reboot.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Exponent | Uptime Mantissa |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S|U| flags | NSSI | Peer NSSI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: Consistent Uptime Option Format
Type To be assigned by IANA, see Table 10
Length 1
Thubert Expires 27 April 2023 [Page 22]
Internet-Draft Multicast Address Registration October 2022
S 1-bit flag, set to 1 to indicate that the sender is low-power and
may sleep.
U 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
MUST be set to 1 when the message is unicast and the sender has an
NSSI state for the intended receiver.
flags 6-bit, reserved. MUST be set to 0 by the sender and ignored
by the receiver.
NSSI 12-bits unsigned integer: The Node State Sequence Information,
MUST be stored by the receiver if it has a dependency on
information advertised or stored at the sender.
Peer NSSI 12-bits unsigned integer: Echoes the last known NSSI from
the peer.
Uptime Exponent 6-bits unsigned integer: The 2-exponent of the
uptime unit
Uptime Mantissa 10-bits unsigned integer: The mantissa of the uptime
value
The Node Uptime indicates how long the sender has been continuously
up and running without loss of state. It is expressed by the Uptime
Mantissa in units of 2 at the power of the Uptime Exponent
milliseconds. The receiver derives the boot time of the sender as
the current Epoch the sender's Node Uptime. If the sender rebooted
since last time state was installed, any state that was installed in
the sender before it rebooted needs to be reassessed and reinstalled
if it is still needed. Any state that was installed in the receiver
from information by the sender before it rebooted must be removed and
may or may not be reinstalled later.
The value if 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
sent, so the receiver must not expect a value of 0 as the signal of a
reboot.
Thubert Expires 27 April 2023 [Page 23]
Internet-Draft Multicast Address Registration October 2022
+----------+----------+------------+-----------+
| Mantissa | Exponent | Resolution | Uptime |
+----------+----------+------------+-----------+
| 1 | 0 | 1ms | 1ms |
+----------+----------+------------+-----------+
| 5 | 10 | 1s | 5 seconds |
+----------+----------+------------+-----------+
| 2 | 15 | 30s | 1mn |
+----------+----------+------------+-----------+
| 2 | 21 | 33mn | 1 hour |
+----------+----------+------------+-----------+
Table 2: Node Uptime Rough Values
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
has updated some state in a fashion that will that impact a peer,
e.g., a host formed a new address or a router advertises a new
prefix. When persisting is not possible, then the NSSI is randomly
generated loss.
Any change in the value of the NSSI from a node is an indication that
the node updated some state and that the needful state should be
reinstalled, e.g., addresses that where formed based on an RA with a
previous NSSI should be reassessed, and the registration state
updated in the peer.
11. Deployment considerations
With this specification, a RPL DODAG forms a realm, and multiple RPL
DODAGs may federated in a single RPL Instance administratively. 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 needs to
span a RPL Instance MUST use a scope of Admin-Local as discussed in
section 3 of "IPv6 Multicast Address Scopes" [RFC7346].
"IPv6 Addressing of IPv4/IPv6 Translators" [RFC6052] enables to embed
IPv4 addresses in IPv6 addresses. The Root of a DODAG may leverage
that technique to translate IPv4 traffic in IPv6 and route along the
RPL domain. When encapsulating an packet with an IPv4 multicast
Destination Address, it MUST use a multicast address with the
appropriate scope, Realm-Local or Admin-Local.
"Unicast-Prefix-based IPv6 Multicast Addresses" [RFC3306] enables to
form 2^32 multicast addresses from a single /64 prefix. If an IPv6
prefix is associated to an Instance or a RPL DODAG, this provides a
namespace that can be used in any desired fashion. It is for
Thubert Expires 27 April 2023 [Page 24]
Internet-Draft Multicast Address Registration October 2022
instance possible for a standard defining organization to form its
own registry and allocate 32-bit values from that namespace to
network functions or device types. When used within a RPL deployment
that is associated with a /64 prefix the IPv6 multicast addresses can
be automatically derived from the prefix and the 32-bit value for
either a Realm-Local or an Admin-Local multicast address as needed in
the configuration.
IN a "green field" deployment where all nodes support this
specification, it is possible to deploy a single RPL Instance using a
multicast MOP for unicast, multicast and anycast addresses.
In a "brown field" where legacy devices that do not support this
specification co-exist with upgraded devices, it is RECOMMENDED to
deploy one RPL Instance in any Mode of Operation (typically MOP 1)
for unicast that legacy nodes can join, and a separate RPL Instance
dedicated to multicast and anycast operations using a multicast MOP.
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
that support MOP 3 to build a DODAG that covers all the potential
listeners and include the spanning multicast trees that are needed to
distribute the multicast flows. This might not be the case when
extending the capabilities of an existing network.
In the case of the new Non-Storing multicast MOP, arguably the new
support is only needed at the 6LRs that will accept multicast
listeners. It is still required that each listener can reach at
least one such 6LR, so the upgraded 6LRs must be deployed to cover
all the 6LN that need multicast services.
Using separate RPL Instances for in the one hand unicast traffic and
in the other hand anycast and multicast traffic allows to use
different objective function, one favoring the link quality up for
unicast collection and one favoring downwards link quality for
multicast distribution.
But this might be impractical in some use cases where the signaling
and the state to be installed in the devices are very constrained,
the upgraded devices are too sparse, or the devices do not support
more multiple instances.
When using a single RPL Instance, MOP 3 expects the Storing Mode of
Operation for both unicast and multicast, which is an issue in
constrained networks that typically use MOP 1 for unicast. This
specification allows a mixed mode that is signaled as MOP 1 in the
DIO messages for backward compatibility, where limited multicast and/
or anycast is available, under the following conditions:
Thubert Expires 27 April 2023 [Page 25]
Internet-Draft Multicast Address Registration October 2022
* There MUST be enough density of 6LRs that support the mixed mode
to cover the all the 6LNs that require multicast or anycast
services. In Storing Mode, there MUST be enough density or 6LR
that support the mixed mode to also form a DODAG to the Root.
* The RPL routers that support the mixed mode and are configured to
operate in in accordance with the desired operation in the
network.
* The MOP signaled in the RPL DODAG Information Object (DIO)
messages is MOP 1 to enable the legacy nodes to operate as leaves.
* 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.
* Alternatively, the support of multicast in the RPL domain can be
globally known by other means such as configuration or external
information such as support of a version of an industry standard
that mandates it. In that case, all the routers MUST support the
mixed mode.
12. Security Considerations
This specification extends [RFC8505], and the security section of
that document also applies to this document. In particular, the link
layer SHOULD be sufficiently protected to prevent rogue access.
Section 9 leverages [RFC8928] to prevent an rogue node to register a
unicast address that it does not own. The mechanism could be
extended to anycast and multicast addresses if the values of the ROVR
they use is known in advance, but how this is done is not in scope
for this specification. One way would be to authorize in a advance
the ROVR of the valid users. A less preferred way could be to
synchronize the ROVR and TID values across the valid subscribers as a
preshared key material.
In the latter case, it could be possible to update the keys
associated to an address in all the 6LNs, but the flow is not clearly
documented and may not complete in due time for all nodes in LLN use
cases. It may be simpler to install a all-new address with new keys
over a period of time, and switch the traffic to that address when
the migration is complete.
Thubert Expires 27 April 2023 [Page 26]
Internet-Draft Multicast Address Registration October 2022
13. Backward Compatibility
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
set the P field in the 6CIO and an upgraded 6LN will not subscribe
multicast addresses.
Upon an EDAR message, a legacy 6LBR may not realize that the address
being registered is anycast or multicast, and return that it is
duplicate in the EDAC status. The 6LR MUST ignore a duplicate status
in the EDAR for anycast and multicast addresses.
As detailed in Section 11, it is possible to add multicast on an
existing MOP 1 deployment.
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
supports this specification (the parent) as an indication that the
sender (child) does not support this specification, but the RTO is
accepted and processed as if the P field was set to 1 for backward
compatibility.
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
of [RFC6550]. In MOP 3 an RTO that is received with a target that 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.
14. IANA Considerations
Note to RFC Editor, to be removed: please replace "This RFC"
throughout this document by the RFC number for this specification
once it is allocated. Also, the I Field is defined in [RFC9010] but
is missing from the registry, so the bit positions must be added for
completeness.
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 Registry
IANA is requested to create a new "P-field values" registry under the
heading "Internet Control Message Protocol version 6 (ICMPv6)
Parameters" as indicated in Table 3:
Thubert Expires 27 April 2023 [Page 27]
Internet-Draft Multicast Address Registration October 2022
+-------+--------------------------------------+-----------+
| Value | Meaning | Reference |
+-------+--------------------------------------+-----------+
| 0 | Registration for a Unicast Address | This RFC |
+-------+--------------------------------------+-----------+
| 1 | Registration for a Multicast Address | This RFC |
+-------+--------------------------------------+-----------+
| 2 | Registration for an Anycast Address | This RFC |
+-------+--------------------------------------+-----------+
| 3 | Unassigned | This RFC |
+-------+--------------------------------------+-----------+
Table 3: P-field values
14.2. New EDAR Message Flags Registry
IANA is requested to create a new "EDAR Message Flags" registry under
the heading "Internet Control Message Protocol version 6 (ICMPv6)
Parameters" as indicated in Table 4:
+------------------+------------------------------------+-----------+
| Bit Number | Meaning | Reference |
+------------------+------------------------------------+-----------+
| 0..1 (suggested) | P-field (2 bits), | This RFC |
| | see Section 14.1 | |
+------------------+------------------------------------+-----------+
| 2..7 | Unassigned | |
+------------------+------------------------------------+-----------+
Table 4: EDAR Message flags
14.3. New EARO flags
IANA is requested to make additions to the "Address Registration
Option Flags" [IANA.ICMP.ARO.FLG] registry under the heading
"Internet Control Message Protocol version 6 (ICMPv6) Parameters" as
indicated in Table 5:
+------------------+------------------------------------+-----------+
| ARO flag | Meaning | Reference |
+------------------+------------------------------------+-----------+
| 2..3 (suggested) | P-field (2 bits), | This RFC |
| | see Section 14.1 | |
+------------------+------------------------------------+-----------+
| 4 and 5 | "I" Field | RFC 8505 |
+------------------+------------------------------------+-----------+
Table 5: New ARO flags
Thubert Expires 27 April 2023 [Page 28]
Internet-Draft Multicast Address Registration October 2022
14.4. New RTO flags
IANA is requested to make additions to the "RPL Target Option Flags"
[IANA.RPL.RTO.FLG] registry under the heading "Routing Protocol for
Low Power and Lossy Networks (RPL)" as indicated in Table 6:
+------------------+------------------------------------+-----------+
| Bit Number | Meaning | Reference |
+------------------+------------------------------------+-----------+
| 2..3 (suggested) | P-field (2 bits), | This RFC |
| | see Section 14.1 | |
+------------------+------------------------------------+-----------+
Table 6: New RTO flags
14.5. New RPL Mode of Operation
IANA is requested to make an addition to the "Mode of Operation"
[IANA.RPL.MOP] registry under the heading "Routing Protocol for Low
Power and Lossy Networks (RPL)" as indicated in Table 7:
+---------------+---------------------------------------+-----------+
| Value | Description | Reference |
+---------------+---------------------------------------+-----------+
| 5 | Non-Storing Mode of Operation with | This RFC |
| (suggested) | ingress replication multicast support | |
+---------------+---------------------------------------+-----------+
Table 7: New RPL Mode of Operation
14.6. New 6LoWPAN Capability Bits
IANA is requested to make an addition to the "6LoWPAN Capability
Bits" [IANA.ICMP.6CIO] registry under the heading "Internet Control
Message Protocol version 6 (ICMPv6) Parameters" as indicated in
Table 8:
+-------------+-----------------------------+-----------+
| Capability | Meaning | Reference |
| Bit | | |
+-------------+-----------------------------+-----------+
| 8 | X flag: Registration for | This RFC |
| (suggested) | Unicast, Multicast, and | |
| | Anycast Addresses Supported | |
+-------------+-----------------------------+-----------+
Table 8: New 6LoWPAN Capability Bits
Thubert Expires 27 April 2023 [Page 29]
Internet-Draft Multicast Address Registration October 2022
14.7. New Address Registration Option Status Values
IANA has made additions to the "Address Registration Option Status
Values" registry under the heading "Internet Control Message Protocol
version 6 (ICMPv6) Parameters", as follows:
+----------------+------------------------------+-----------+
| Value | Description | Reference |
+----------------+------------------------------+-----------+
| 11 (suggested) | Registration Refresh Request | This RFC |
+----------------+------------------------------+-----------+
Table 9: New Address Registration Option Status Values"
14.8. New IPv6 Neighbor Discovery Option
IANA has made additions to the "IPv6 Neighbor Discovery Option
Formats" registry under the heading "Internet Control Message
Protocol version 6 (ICMPv6) Parameters", as follows:
+----------------+--------------------+-----------+
| Value | Description | Reference |
+----------------+--------------------+-----------+
| 42 (suggested) | Node Uptime Option | This RFC |
+----------------+--------------------+-----------+
Table 10: New IPv6 Neighbor Discovery Option"
15. Acknowledgments
16. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC3306] Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6
Multicast Addresses", RFC 3306, DOI 10.17487/RFC3306,
August 2002, <https://www.rfc-editor.org/info/rfc3306>.
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 4291, DOI 10.17487/RFC4291, February
2006, <https://www.rfc-editor.org/info/rfc4291>.
Thubert Expires 27 April 2023 [Page 30]
Internet-Draft Multicast Address Registration October 2022
[RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
"Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
DOI 10.17487/RFC4861, September 2007,
<https://www.rfc-editor.org/info/rfc4861>.
[RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
Address Autoconfiguration", RFC 4862,
DOI 10.17487/RFC4862, September 2007,
<https://www.rfc-editor.org/info/rfc4862>.
[RFC6550] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J.,
Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur,
JP., and R. Alexander, "RPL: IPv6 Routing Protocol for
Low-Power and Lossy Networks", RFC 6550,
DOI 10.17487/RFC6550, March 2012,
<https://www.rfc-editor.org/info/rfc6550>.
[RFC6775] Shelby, Z., Ed., Chakrabarti, S., Nordmark, E., and C.
Bormann, "Neighbor Discovery Optimization for IPv6 over
Low-Power Wireless Personal Area Networks (6LoWPANs)",
RFC 6775, DOI 10.17487/RFC6775, November 2012,
<https://www.rfc-editor.org/info/rfc6775>.
[RFC7346] Droms, R., "IPv6 Multicast Address Scopes", RFC 7346,
DOI 10.17487/RFC7346, August 2014,
<https://www.rfc-editor.org/info/rfc7346>.
[RFC7400] Bormann, C., "6LoWPAN-GHC: Generic Header Compression for
IPv6 over Low-Power Wireless Personal Area Networks
(6LoWPANs)", RFC 7400, DOI 10.17487/RFC7400, November
2014, <https://www.rfc-editor.org/info/rfc7400>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", STD 86, RFC 8200,
DOI 10.17487/RFC8200, July 2017,
<https://www.rfc-editor.org/info/rfc8200>.
[RFC8505] Thubert, P., Ed., Nordmark, E., Chakrabarti, S., and C.
Perkins, "Registration Extensions for IPv6 over Low-Power
Wireless Personal Area Network (6LoWPAN) Neighbor
Discovery", RFC 8505, DOI 10.17487/RFC8505, November 2018,
<https://www.rfc-editor.org/info/rfc8505>.
Thubert Expires 27 April 2023 [Page 31]
Internet-Draft Multicast Address Registration October 2022
[RFC8928] Thubert, P., Ed., Sarikaya, B., Sethi, M., and R. Struik,
"Address-Protected Neighbor Discovery for Low-Power and
Lossy Networks", RFC 8928, DOI 10.17487/RFC8928, November
2020, <https://www.rfc-editor.org/info/rfc8928>.
[RFC9010] Thubert, P., Ed. and M. Richardson, "Routing for RPL
(Routing Protocol for Low-Power and Lossy Networks)
Leaves", RFC 9010, DOI 10.17487/RFC9010, April 2021,
<https://www.rfc-editor.org/info/rfc9010>.
[IANA.ICMP]
IANA, "IANA Registry for ICMPv6", IANA,
https://www.iana.org/assignments/icmpv6-parameters/
icmpv6-parameters.xhtml.
[IANA.ICMP.ARO.FLG]
IANA, "IANA Sub-Registry for the ARO Flags", IANA,
https://www.iana.org/assignments/icmpv6-parameters/
icmpv6-parameters.xhtml#icmpv6-adress-registration-option-
flags.
[IANA.ICMP.6CIO]
IANA, "IANA Sub-Registry for the 6LoWPAN Capability Bits",
IANA, https://www.iana.org/assignments/icmpv6-parameters/
icmpv6-parameters.xhtml#sixlowpan-capability-bits.
[IANA.RPL] IANA, "IANA Registry for the RPL",
IANA, https://www.iana.org/assignments/rpl/rpl.xhtml.
[IANA.RPL.RTO.FLG]
IANA, "IANA Sub-Registry for the RTO Flags", IANA,
https://www.iana.org/assignments/rpl/rpl.xhtml#rpl-target-
option-flags.
[IANA.RPL.MOP]
IANA, "IANA Sub-Registry for the RPL Mode of Operation",
IANA, https://www.iana.org/assignments/rpl/rpl.xhtml#mop.
17. Informative References
[RFC3810] Vida, R., Ed. and L. Costa, Ed., "Multicast Listener
Discovery Version 2 (MLDv2) for IPv6", RFC 3810,
DOI 10.17487/RFC3810, June 2004,
<https://www.rfc-editor.org/info/rfc3810>.
Thubert Expires 27 April 2023 [Page 32]
Internet-Draft Multicast Address Registration October 2022
[RFC4919] Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6
over Low-Power Wireless Personal Area Networks (6LoWPANs):
Overview, Assumptions, Problem Statement, and Goals",
RFC 4919, DOI 10.17487/RFC4919, August 2007,
<https://www.rfc-editor.org/info/rfc4919>.
[RFC6282] Hui, J., Ed. and P. Thubert, "Compression Format for IPv6
Datagrams over IEEE 802.15.4-Based Networks", RFC 6282,
DOI 10.17487/RFC6282, September 2011,
<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>.
[RFC7761] Fenner, B., Handley, M., Holbrook, H., Kouvelas, I.,
Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent
Multicast - Sparse Mode (PIM-SM): Protocol Specification
(Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March
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>.
[RFC9008] Robles, M.I., Richardson, M., and P. Thubert, "Using RPI
Option Type, Routing Header for Source Routes, and IPv6-
in-IPv6 Encapsulation in the RPL Data Plane", RFC 9008,
DOI 10.17487/RFC9008, April 2021,
<https://www.rfc-editor.org/info/rfc9008>.
[I-D.ietf-bess-evpn-optimized-ir]
Rabadan, J., Sathappan, S., Lin, W., Katiyar, M., and A.
Sajassi, "Optimized Ingress Replication Solution for
Ethernet VPN (EVPN)", Work in Progress, Internet-Draft,
draft-ietf-bess-evpn-optimized-ir-12, 25 January 2022,
<https://www.ietf.org/archive/id/draft-ietf-bess-evpn-
optimized-ir-12.txt>.
[I-D.kuehlewind-update-tag]
Kuehlewind, M. and S. Krishnan, "Definition of new tags
for relations between RFCs", Work in Progress, Internet-
Draft, draft-kuehlewind-update-tag-04, 12 July 2021,
<https://www.ietf.org/archive/id/draft-kuehlewind-update-
tag-04.txt>.
Thubert Expires 27 April 2023 [Page 33]
Internet-Draft Multicast Address Registration October 2022
[Wi-SUN] Heile, B., (Remy), B. L., Zhang, M., and E. Charles
Perkins, "Wi-SUN FAN Overview", Work in Progress,
Internet-Draft, draft-heile-lpwan-wisun-overview-00, 3
July 2017, <https://www.ietf.org/archive/id/draft-heile-
lpwan-wisun-overview-00.txt>.
[I-D.thubert-bess-secure-evpn-mac-signaling]
Thubert, P., Przygienda, T., and J. Tantsura, "Secure EVPN
MAC Signaling", Work in Progress, Internet-Draft, draft-
thubert-bess-secure-evpn-mac-signaling-03, 31 January
2022, <https://www.ietf.org/archive/id/draft-thubert-bess-
secure-evpn-mac-signaling-03.txt>.
[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]
IEEE standard for Information Technology, "IEEE Standard
for Information Technology - Telecommunications and
Information Exchange Between Systems - Local and
Metropolitan Area Networks - Specific Requirements. - Part
15.1: Wireless Medium Access Control (MAC) and Physical
Layer (PHY) Specifications for Wireless Personal Area
Networks (WPANs)".
Author's Address
Pascal Thubert (editor)
Cisco Systems, Inc
Building D
45 Allee des Ormes - BP1200
06254 Mougins - Sophia Antipolis
France
Phone: +33 497 23 26 34
Email: pthubert@cisco.com
Thubert Expires 27 April 2023 [Page 34]