Internet-Draft Multicast Address Registration September 2021
Thubert Expires 3 April 2022 [Page]
Workgroup:
6lo
Updates:
6550, 8505, 9010 (if approved)
Published:
Intended Status:
Standards Track
Expires:
Author:
P. Thubert, Ed.
Cisco Systems

IPv6 Neighbor Discovery Multicast Address Registration

Abstract

This document updates RFC 8505 in order to enable the registration by a 6LN of an IPv6 multicast address to a 6LR. This document also extends RFC 9010 to enable the 6LR to inject the address in the RPL multicast support.

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 3 April 2022.

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 is a major energy drain and the protocol signaling must be adapted to optimize their transmissions and avoid any waste.

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 a given 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 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.

"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 Glocal 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 a 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 address 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 specify a simple extension to that code 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.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 implement 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 of 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.

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  o   6LR
   o o  o o   o  o  z
    o   o   o o       z
          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 samme 6LR. Note the use of the term "for", the nodes registers the unicast addresses 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. The DAO messages for the multicast address percolate along the RPL preferred parent tree in storing mode of operation and form a subtree for that multicast address with 6LNs that registered for it as the leaves.

As prescribed in section 12 of [RFC6550], the RPL routers forward the multicast packets as individual unicast MAC frames to each child that advertised the multicast address in its DAO message . The same way, the 6LR delivers the multicast packet as individual unicast MAC frames to each of the 6LNs that registered for the multicast address.

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 of 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 of Multicast Address Supported"

5. Updating RFC 6550

RPL supports multicast operation 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 is needed to build a multicast tree within the RPL DODAG for each multicast Address.

The expectation is that the unicast traffic also follows the Storing Mode of Operation. But this is rarely the case in current 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 9 .

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 this specification joins the multicast stream, e.g., by injecting the address in the RPL multicast support.

Figure 3 illustrates the M flag in its suggested position (4, counting 0 to 8 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     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |Rsvd |M| I |R|T|     TID       |     Registration Lifetime     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
 ...             Registration Ownership Verifier                 ...
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: EARO Option Format

New Option Field:

M
1-bit flag: "Registration of Multicast Address Supported"

6.2. Multicast Registration

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 behaviour:

  • Registration of multicast 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 6LR maintains a registration state per tuple (IPv6 address, LLA) since multiple 6LNs may listen to the same multicast address.

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.
  • 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 behaviour:

  • 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. Backward Compatibility

A legacy 6LN will not register multicast address 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.

9. Deployment considerations

To deploy this specification in a RPL domain, it is REQUIRED that there is enough density of RPL routers that support MOP 3 to build the spanning multicast trees that are needed to distribute the multicast flows.

It is generally 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 operations and operating in MOP 3. This allows to use a different objective function for both direction, favouring the link quality up for unicast collection and down 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. 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 (MOP 1 fo runicast and MOP 3 for multicast) under the following conditions:

  • All the RPL routers support the mixed mode and are configured to operate in that mode/
  • The MOP signaled in the RPL DODAG Information Object (DIO) messages is MOP 1 to enable the legacy nodes to operate as leaves.
  • T The support of multicast in the RPL Instance SHOULD be signaled by the 6LR to the 6LN using a 6CIO, see Section 4.
  • Altrenatively, the support of multicast in the RPL domain can be known by other means such as configuration or external information such as support of a version of an industry standard that mandates it.

10. 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.

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.

IANA is requested to make a number of changes under the "Internet Control Message Protocol version 6 (ICMPv6) Parameters" registry, as follows.

11.1. New ARO flag

IANA is requested to make additions to the Address Registration Option flags subregistry as follows:

Table 1: New ARO flag
ARO flag Meaning Reference
4 and 5 "I" Field RFC 8505
3 (suggested) M flag: Registration of Multicast Address This RFC

11.2. New 6LoWPAN Capability Bits

IANA is requested to make an addition to the Subregistry for "6LoWPAN Capability Bits" subregistry as follows:

Table 2: New 6LoWPAN Capability Bits
Capability Bit Meaning Reference
8 (suggested) M flag: Registration of Multicast Address Supported This RFC

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, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC4861]
Narten, T., Nordmark, E., Simpson, W., and H. Soliman, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, DOI 10.17487/RFC4861, , <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, , <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, , <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, , <https://www.rfc-editor.org/info/rfc6775>.
[RFC7400]
Bormann, C., "6LoWPAN-GHC: Generic Header Compression for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)", RFC 7400, DOI 10.17487/RFC7400, , <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, , <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, , <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, , <https://www.rfc-editor.org/info/rfc8505>.
[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, , <https://www.rfc-editor.org/info/rfc9010>.

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, , <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, , <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, , <https://www.rfc-editor.org/info/rfc6282>.
[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, , <https://www.rfc-editor.org/info/rfc7761>.
[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, , <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, , <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>.
[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