Internet DRAFT - draft-thubert-6lo-multicast-registration
draft-thubert-6lo-multicast-registration
6lo P. Thubert, Ed.
Internet-Draft Cisco Systems
Updates: 6550, 8505, 9010 (if approved) 8 October 2021
Intended status: Standards Track
Expires: 11 April 2022
IPv6 Neighbor Discovery Multicast Address Registration
draft-thubert-6lo-multicast-registration-02
Abstract
This document updates RFC 8505 to enable the address registration of
IPv6 anycast and multicast addresses to a 6LR and updates RFC 6550
(RPL) add a new Non-Storing multicast mode and support for anycast
addresses. This document also 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 11 April 2022.
Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved.
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 Simplified BSD License text
as described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Simplified BSD License.
Thubert Expires 11 April 2022 [Page 1]
Internet-Draft Multicast Address Registration October 2021
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Requirements Language . . . . . . . . . . . . . . . . . . 4
2.2. References . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Glossary . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Extending RFC 7400 . . . . . . . . . . . . . . . . . . . . . 8
5. Updating RFC 6550 . . . . . . . . . . . . . . . . . . . . . . 8
5.1. Updating MOP 3 . . . . . . . . . . . . . . . . . . . . . 8
5.2. New Non-Storing Multicast MOP . . . . . . . . . . . . . . 9
5.3. RPL Anycast Operation . . . . . . . . . . . . . . . . . . 9
5.4. New RPL Target Option Flags . . . . . . . . . . . . . . . 10
6. Updating RFC 8505 . . . . . . . . . . . . . . . . . . . . . . 11
6.1. New EARO flag . . . . . . . . . . . . . . . . . . . . . . 11
6.2. Registering Extensions . . . . . . . . . . . . . . . . . 12
7. Updating RFC 9010 . . . . . . . . . . . . . . . . . . . . . . 12
8. Deployment considerations . . . . . . . . . . . . . . . . . . 13
9. Security Considerations . . . . . . . . . . . . . . . . . . . 15
10. Backward Compatibility . . . . . . . . . . . . . . . . . . . 15
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
11.1. New RTO flags . . . . . . . . . . . . . . . . . . . . . 16
11.2. New RPL Mode of Operation . . . . . . . . . . . . . . . 16
11.3. New EARO flags . . . . . . . . . . . . . . . . . . . . . 16
11.4. New 6LoWPAN Capability Bits . . . . . . . . . . . . . . 17
12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 17
13. Normative References . . . . . . . . . . . . . . . . . . . . 17
14. Informative References . . . . . . . . . . . . . . . . . . . 19
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 21
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.
Thubert Expires 11 April 2022 [Page 2]
Internet-Draft Multicast Address Registration October 2021
The "Routing Protocol for Low Power and Lossy Networks" [RFC6550]
(RPL) to provide 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)
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.
Thubert Expires 11 April 2022 [Page 3]
Internet-Draft Multicast Address Registration October 2021
"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 registration 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 register
the multicast addresses they listen to.
This specification extends [RFC8505] and [RFC9010] to add the
capability for the 6LN to register multicast addresses and for the
6LR to inject them in the RPL multicast support.
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.
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].
Thubert Expires 11 April 2022 [Page 4]
Internet-Draft Multicast Address Registration October 2021
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
LLN Low-Power and Lossy Network
NA Neighbor Advertisement
NCE Neighbor Cache Entry
ND Neighbor Discovery
NS Neighbor Solicitation
ROVR Registration Ownership Verifier
RA Router Advertisement
RS Router Solicitation
TID Transaction ID
3. Overview
[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 with [RFC8505].
This specification also extends [RFC6550] and [RFC9010] in the case
of a route-over multilink subnet based on the RPL routing protocol.
A 6LR that implements the RPL extensions specified therein MUST also
implement [RFC9010].
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.
Thubert Expires 11 April 2022 [Page 5]
Internet-Draft Multicast Address Registration October 2021
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 mesh [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 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.
With this specification, the 6LNs can now register for the multicast
addresses they listen to, using a new M flag in the EARO to signal a
registration for a multicast address. Multiple 6LN can register for
the same multicast address to the same 6LR. Note the use of the term
"for", a node registers the unicast addresses that it owns, but
registers for multicast addresses that it listens to.
If the R flag is set in the registration of one or more 6LNs for the
same multicast address, the 6LR injects the multicast address in the
RPL multicast support, based on the longest registration lifetime
across those 6LNs.
Thubert Expires 11 April 2022 [Page 6]
Internet-Draft Multicast Address Registration October 2021
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 registered for it as
the leaves.
As prescribed in section 12 of [RFC6550], the 6LR forward the
multicast packets as individual unicast MAC frames to each child that
advertised the multicast address in its DAO message. In most LLNs a
broadcast is unreliable (no ack) and forces a listener to remain
awake, so it is expected that the 6LR also delivers the multicast
packet as individual unicast MAC frames to each of the 6LNs that
registered for the multicast address.
In the new RPL "Non-Storing Mode of Operation with multicast support"
that is introduced here, the DAO messages register multicast
addresses as Targets, though never as Transit. The multicast
distribution is hub-and-spoke from the Root to all the 6LRs that are
transit for the multicast address, using the same source-routing
header as for unicast targets attached to the 6LR, but for the
ultimate entry that is the multicast address.
With this specification, the 6LNs can also register for the anycast
addresses they listen to, using a new A flag in the EARO to signal a
registration for an anycast address. Multiple 6LN can register for
the same anycast address to the same 6LR, but the RPL routing ensures
that only one of the 6LN gets the particular packet.
It is also possible to leverage this specification between the 6LN
and the 6LR for the registration of an anycast or a multicast
addresses in networks that are not necessarily LLNs, and/or where the
routing protocol between the 6LR and above is not necessarily RPL.
For instance, it is possible to operate a RPL Instance in the new
"Non-Storing Mode of Operation with multicast support" 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 6LR sends a unicast DAO
message to the Root; in that case, the Root can filter the
multicast messages for which there is no listener and only flood
the relevant multicasts.
* In a simpler variation, the 6LNs do not set the R flag and the
Root floods all the multicast packets over the whole DODAG.
Thubert Expires 11 April 2022 [Page 7]
Internet-Draft Multicast Address Registration October 2021
4. Extending RFC 7400
This specification defines a new capability bit for use in the 6CIO
as defined by "6LoWPAN-GHC: Generic Header Compression for IPv6 over
Low-Power Wireless Personal Area Networks (6LoWPANs)" [RFC7400] and
extended in [RFC8505] for use in IPv6 ND messages.
The new "Registration for Multicast Address Supported" (M) flag
indicates to the 6LN that the 6LR accepts multicast address
registrations as specified in this document and will ensure that
packets for the multicast Registered Address will be routed to the
6LNs that registered with the R flag set.
Figure 2 illustrates the M 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 |M|A|D|L|B|P|E|G|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: New Capability Bits in the 6CIO
New Option Field:
M 1-bit flag: "Registration for Multicast and Anycast Addresses
Supported"
5. Updating RFC 6550
5.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,
Thubert Expires 11 April 2022 [Page 8]
Internet-Draft Multicast Address Registration October 2021
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 8.
5.2. New Non-Storing Multicast MOP
This specification adds a "Non-Storing Mode of Operation with
multicast support" (MOP to be assigned by IANA) whereby the non-
storing Mode DAO to the Root may contain multicast addresses in the
RTO, whereas the Transit Information Option (TIO) can not. In that
case, the RPL Root copies the multicast packet to each 6LR that is a
transit for the multicast target, using the same source routing
header as for unicast address of a RPL Unaware Leaf (RUL) attached to
that 6LR.
For a packet that is generated by the Root, this means that the Root
builds a source routing header as discussed 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 discussed in section 8.2.4 of
[RFC9008].
For this new mode as well, this specification allows to enable the
operation in a MOP 1 brown field, more in Section 8.
5.3. RPL Anycast Operation
With multicast, the address has a recognizable format, and a
multicast packet is to be delivered to all the registered listeners.
In contrast with anycast, the format of the address may not be
distinguishable from unicast. In fact, an external destination
(address or prefix) that may be injected from multiple border routers
MUST be injected as anycast in RPL.
For both multicast and anycast, there is no concept of duplication,
and there might be multiple registrations from multiple parties, each
using a different value of the ROVR field that identifies that
registration. The 6LR MUST conserve one registration per value of
the ROVR per multicast or anycast address, but inject the route into
RPL only once for each address. Since the registrations are
considered separate, the check on the TID that acts as registration
sequence only applies to the registration with the same ROVR.
The 6LRs that inject multicast and anycast routes into RPL may not be
synchronized to advertise same value of the Path Sequence in the RPL
TIO. It results that the value the Path Sequence is irrelevant when
the target is anycast or multicast, and that it MUST be ignored.
Like the 6LR, a RPL router in Storing Mode propagates the route to
Thubert Expires 11 April 2022 [Page 9]
Internet-Draft Multicast Address Registration October 2021
its parent(s) in DAO messages once and only once for each address,
but it MUST retain a routing table entry for each of the children
that advertised the address. Note that typically the router
advertises the multicast and anycast addresses only to its preferred
parents, in which case the resulting routes form a tree down the
DODAG.
When forwarding multicast packets down the DODAG, the RPL router MUST
copy 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. Typically this is done
through MAC-Layer unicast which makes the operation more reliable.
5.4. New RPL Target Option Flags
[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 M and A flags to the RTO
to indicate that the target address is to be processed as multicast
or anycast, respectively.
An RTO that has the M flag set is called a multicast RTO. An RTO
that has the A flag set is called an anycast RTO. An RTO that has
neither M nor A flag set is called a unicast RTO. The M and A flags
are mutually exclusive and MUST NOT be both set.
The suggested position for the A and M flags are 2 and 3 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|A|M|ROVRsz | Prefix Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Target Prefix (Variable Length) |
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
... Registration Ownership Verifier (ROVR) ...
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: Format of the RPL Target Option
Thubert Expires 11 April 2022 [Page 10]
Internet-Draft Multicast Address Registration October 2021
6. Updating RFC 8505
6.1. New EARO flag
Section 4.1 of [RFC8505] defines the EARO as an extension to the ARO
option defined in [RFC6775].
This specification adds a new M flag to the EARO flags field to
signal that the Registered Address is a multicast address. When both
the M and the R flags are set, 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.
This specification adds a new A flag to the EARO flags field to
signal that the Registered Address is an anycast address. When both
the A and the R flags are set, 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 A and M flags in their suggested positions
(2 and 3, respectively, counting 0 to 7 in network order in the 8-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 | Status | Opaque |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Rsv|A|M| 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
A 1-bit flag: "Registration for Anycast Address"
M 1-bit flag: "Registration for Multicast Address"
Thubert Expires 11 April 2022 [Page 11]
Internet-Draft Multicast Address Registration October 2021
6.2. Registering Extensions
With [RFC8505]:
* 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.
* 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:
* Registration for multicast and anycast addresses is now supported.
* The 6LN MUST also register all the IPv6 multicast addresses that
it listens to and it MUST set the M flag 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 register all the IPv6 anycast addresses that it
supports and it MUST set the A flag in the EARO for those
addresses.
* The Registration Ownership Verifier (ROVR) in the EARO identifies
uniquely a registration within the namespace of the Registered
Address. The 6LR MUST maintain a registration state per tuple
(IPv6 address, ROVR) for both anycast and multicast types of
address, since multiple 6LNs may register for the same address of
these types.
7. 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.
Thubert Expires 11 April 2022 [Page 12]
Internet-Draft Multicast Address Registration October 2021
* 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 registration with the R and the M flags set to 1 in the
EARO, the 6LR injects the address in the RPL multicast support.
* Upon receiving a packet directed to a multicast address for which
it has at least one registration, 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.
8. 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 form a multicast address and use 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
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.
Thubert Expires 11 April 2022 [Page 13]
Internet-Draft Multicast Address Registration October 2021
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:
* 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.
Thubert Expires 11 April 2022 [Page 14]
Internet-Draft Multicast Address Registration October 2021
* 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 4.
* 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.
9. 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.
10. Backward Compatibility
A legacy 6LN will not register multicast addresses and the service
will be the same when the network is upgraded. A legacy 6LR will not
set the M flag in the 6CIO and an upgraded 6LN will not register
multicast addresses.
As detailed in Section 8, it is possible to add multicast on an
existing MOP 1 deployment,
The combination of a multicast address and the M flag 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 M flag was set for backward
compatibility.
When the DODAG is operated in MOP 3, a legacy node will not set the M
flag 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 M bit set to 0 MUST be considered as multicast and
MUST be processed as if the M flag is set.
11. 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 RFC 9010 but
we failed to insert it in the subregistry and the flags appear as
unspecified though they are.
Thubert Expires 11 April 2022 [Page 15]
Internet-Draft Multicast Address Registration October 2021
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]
registries, as follows:
11.1. New RTO flags
IANA is requested to make additions to the "RPL Target Option Flags"
[IANA.RPL.RTO.FLG] subregistry of the "Routing Protocol for Low Power
and Lossy Networks (RPL)" registry as indicated in Table 1:
+---------------+---------------------------------------+-----------+
| Bit Number | Meaning | Reference |
+---------------+---------------------------------------+-----------+
| 2 (suggested) | A flag: Target is an Anycast Address | This RFC |
+---------------+---------------------------------------+-----------+
| 3 (suggested) | M flag: Target is a Multicast | This RFC |
| | Address | |
+---------------+---------------------------------------+-----------+
Table 1: New RTO flags
11.2. New RPL Mode of Operation
IANA is requested to make an addition to the "Mode of Operation"
[IANA.RPL.MOP] subregistry of the "Routing Protocol for Low Power and
Lossy Networks (RPL)" registry as indicated in Table 2:
+---------------+-------------------------------+-----------+
| Value | Description | Reference |
+---------------+-------------------------------+-----------+
| 5 (suggested) | Non-Storing Mode of Operation | This RFC |
| | with multicast support | |
+---------------+-------------------------------+-----------+
Table 2: New RPL Mode of Operation
11.3. New EARO flags
IANA is requested to make additions to the "Address Registration
Option Flags" [IANA.ICMP.ARO.FLG] of the "Internet Control Message
Protocol version 6 (ICMPv6) Parameters" registry as indicated in
Table 3:
Thubert Expires 11 April 2022 [Page 16]
Internet-Draft Multicast Address Registration October 2021
+---------------+-----------------------+-----------+
| ARO flag | Meaning | Reference |
+---------------+-----------------------+-----------+
| 2 (suggested) | A flag: Registration | This RFC |
| | for Anycast Address | |
+---------------+-----------------------+-----------+
| 3 (suggested) | M flag: Registration | This RFC |
| | for Multicast Address | |
+---------------+-----------------------+-----------+
| 4 and 5 | "I" Field | RFC 8505 |
+---------------+-----------------------+-----------+
Table 3: New ARO flags
11.4. New 6LoWPAN Capability Bits
IANA is requested to make an addition to the "6LoWPAN Capability
Bits" [IANA.ICMP.6CIO] subregistry subregistry of the "Internet
Control Message Protocol version 6 (ICMPv6) Parameters" registry as
indicated in Table 4:
+----------------+------------------------------------+-----------+
| Capability Bit | Meaning | Reference |
+----------------+------------------------------------+-----------+
| 8 (suggested) | M flag: Registration for Multicast | This RFC |
| | and Anycast Addresses Supported | |
+----------------+------------------------------------+-----------+
Table 4: New 6LoWPAN Capability Bits
12. Acknowledgments
13. 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 11 April 2022 [Page 17]
Internet-Draft Multicast Address Registration October 2021
[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 11 April 2022 [Page 18]
Internet-Draft Multicast Address Registration October 2021
[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.
14. 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>.
[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>.
Thubert Expires 11 April 2022 [Page 19]
Internet-Draft Multicast Address Registration October 2021
[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>.
[Wi-SUN] Heile, B., (Remy), B. L., Zhang, M., and C. E. Perkins,
"Wi-SUN FAN Overview", Work in Progress, Internet-Draft,
draft-heile-lpwan-wisun-overview-00, 3 July 2017,
<https://datatracker.ietf.org/doc/html/draft-heile-lpwan-
wisun-overview-00>.
[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>.
Thubert Expires 11 April 2022 [Page 20]
Internet-Draft Multicast Address Registration October 2021
[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 11 April 2022 [Page 21]