IPv6 Neighbor Discovery Multicast Address Listener Registration draft-ietf-6lo-multicast-registration-02
IPv6邻近发现多播地址监听注册
Abstract
This document updates RFC 8505 to enable a listener to register an IPv6 anycast or and subscribe to an IPv6 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.
这个文档更新于RFC8505,为了使得一个监听器可以去监听一个IPv6任播或者订阅一个IPv6多播地址;本草案更新了RFC6550,增加了一个新的非存储的多播模式和一种新的对于任播地址存储或不存储的模式支持方案。这个文档扩展了RFC9010,使得6LR能够在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 12 May 2022.
Copyright Notice
Copyright © 2021 IETF Trust and the persons identified as the document authors. All rights reserved.
Thubert Expires 12 May 2022 [Page 1]
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.
Table of Contents
-
Introduction 3
-
Terminology 4
2.1. Requirements Language 4
2.2. References 5
2.3. Glossary 5 -
Overview 6
-
Extending RFC 7400 9
-
Updating RFC 6550 10
5.1. Updating MOP 3 10
5.2. New Non-Storing Multicast MOP 10
5.3. RPL Anycast Operation 11
5.4. New RPL Target Option Flags 12 -
Updating RFC 8505 12
6.1. New EARO flag 13
6.2. New EDAR Message Flag field 14
6.3. Registering Extensions 15 -
Updating RFC 9010 16
-
Deployment considerations 17
-
Security Considerations 19
-
Backward Compatibility 19
-
IANA Considerations 19
11.1. New EDAR Message Flags Subregistry 20
11.2. New EARO flags 20
11.3. New RTO flags 20
11.4. New RPL Mode of Operation 21
11.5. New 6LoWPAN Capability Bits 21 -
Acknowledgments 21
-
Normative References 21
-
Informative References 23
Author’s Address 25 -
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.
低功耗和低损耗网络的设计大体上集中于节省能量,这是在所有资源中最受限的方面。其他设计包括,比如内存容量有限,LLN设备的工作循环和低功率损耗传输,都来自于这个主要关注的问题。无线电(包括发射或者只是收听)是一个主要的能量损耗并且LLN协议必须进行调整以允许所有节点在大多数时间关闭无线电的情况下保持休眠状态。
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.
低功耗和有损网络的路由协议提供了IPv6在这样的限制中路由服务。为了在受限的网络中保存信号以及路由状态,RPL路由仅沿面向有限无环图(DODAG)执行,这图可以通过优化去到达一个根节点,而不是沿着两个同等的节点之间的最短路,无论这在每个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.
RFC6550的第12节细致描述了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.
典型的IPv6邻居发现协议被定义为串行链路和共享传输介质例如以太网,当时广播很便宜而邻居缓存的内存很贵。所以它被设计为动态的协议,可以依赖于缓存和多播操作来识别IPv6单播地址的地址发现(也称为查找)和重复地址检测(DAD)。这些多播操作通常会影响每一个链路上的节点,实际上只有最多是一个节点是目标这是一种资源浪费,并且这将唤醒所有节点监听请求,这和能量节约模型相违背。
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.
原本的6LoWPAN ND,对于6LoWPAN网络发现邻居优化是被引入去避免过多的使用多播信息并且在能量受限的节点上启用IPv6 ND。RFC6775改变了传统的IPv6 ND模型,以积极地创建与为其提供服务的6LoWPAN 路由器 (6LR) 中的 6LoWPAN 节点 (6LN) 的单播地址关联的邻居缓存条目 (NCE)。因此,RFC6775定义了一个新的地址注册选项(ARO),这将会被放于定义在6LN和6LR之间的单播邻居请求(NS)并且邻居通告(NS)消息中。
“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.
6LoWPAN邻居发现的注册扩展(RFC8505)更新了RFC6775转化为可用于访问路由和ND代理等服务的通用地址注册机制,并引入了为了这个目的额外引入了扩展地址注册选项(EARO)。这为主机提供了一个与路由无关的接口,可以请求路由在本地路由协议中注入一个多播IPv6地址并且给地址提供返回可达性。
“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.
在RPL中,RPL叶子结点的路由为注入单播唯一本地地址和全局单播地址(GUAs)的主机提供了路由机制。但是尽管RPL也提供了多播路由,6LoWPAN ND支持仅仅是单播地址的注册以及没有等效的指定注册一个或者多个多播地址时6LR的行为。
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.
针对于IPv6的多播监听发现(MLDv2)可以使得路由去学习哪个节点正在监听哪个多播地址,但是作为经典的IPv6 ND协议,MLD支持到所有节点的多播查询,这对于一个低功耗操作是不合适的。至于IPv6 ND,让6LNs控制它们在6LR中维护与其多播地址关联状态的时间和方式是有意义的,例如,在它们自己的唤醒时间。在这种已经对于单播可达性进行了应用并受限的节点上,去扩展注册它们所监听的多播地址的支持是有意义的。
This specification extends [RFC8505] and [RFC9010] to add the capability for the 6LN to register anycast and multicast addresses and for the 6LR to inject them in RPL.
这个规范扩展了RFC8505和RFC9010,为6LN添加了注册任播和多播地址的功能以及为6LR在RPL中注入它们的功能。
- 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.
本文档中的关键词"必须"、“不得”、“必需”、“应”、“不得”、“不应”、“不应”、“建议”、“不建议”、"可能"和"可选"应按BCP 14所述进行解释,when, and only when, 他们出现在所有大写中,如展示的这样。
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 TID Transaction ID
TIO Transit Information Option
- Overview
This specification inherits from [RFC6550], [RFC8505], and [RFC8505] 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 RFC-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.
这个规范来源于RFC6550,RFC8505以及RFC8505,为任播和多播提供额外的功能。除非其中另有规定,则6LRBR作为根节点的行为,RPL图中中间路由器的行为,作为访问路由器的6LR的行为以及RFC未感知到目的地的6LN的行为都是和单播行为一样。普遍来说,转发一个数据包被规定在RFC6550的11节中,包括了循环避免处理和检测,但在多播的情况下还是会可能产生多个副本。
[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].
RFC8505是此规范的先决条件。实现此目的的节点也必须实现RFC8505。这个规范不能引入一个新的选项;它修改了已存在的选项并且更新了相关的行为这使得多播地址的注册在RFC8505中成为了一个扩展。
This specification also extends [RFC6550] and [RFC9010] in the case of a 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].
这个规范也扩展了基于RPL路由协议RFC6550以及RFC9010,增加了多播入口复制在无存储模式以及任播支持在存储或者非存储模型并且在存储或者非存储模型中支持任播。一个实现了其中指定RPL扩展的6LR也必须实现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.
图1说明了LLN作为一个单独的IPv6子网传统情况,其中6LoWPAN边界路由作为RPL操作的根节点并且作为一个成为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].
LLN可能是一个辐射状的可接近链路例如(低功耗)Wi-Fi(IEEE Std 802.11)和蓝牙(低功耗)(IEEE Std 802.15.1)或者路由LLN,如Wi-SUN网络利用6LoWPAN(RFC4919)(RFC6282)和基于IEEE Std 802.15.4的RPL(6550)。
|
----±------±-----------
| 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 and anycast addresses 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/EDAR exchange with the 6LBR to notify the 6LBR of the presence of the listeners.
充当6LN的叶子注册其单播,任播地址为充当6LR的RPL路由器使用具有EARO的第2层单播NS消息在RFC8505中。注册节点会在EARO中指示的生存期之前周期性通过注册节点续订注册状态。作为IPv6地址单播地址,6LR使用一个EDAR/EDAR与6LR交换来通知6LBR监听者的存在。
With this specification, the 6LNs can now subscribe to the multicast addresses they listen to, using a new M flag 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.
在这个规范下,6LN可以订阅他们所监听的多播地址,在EARO中使用一个新的M标识位来指示注册是针对多播地址的。多个6LR可以对一样的6LR订阅同样的多播地址。标注单词subscribe的使用方法:使用EARO注册机制,一个节点注册了它自己的单播地址,但是订阅他所监听的多播地址。
With this specification, the 6LNs can also register the anycast addresses they accept, using a new A flag in the EARO to signal that the registration is for an anycast address. As for multicast, multiple 6LN may register the same anycast address to the same 6LR.
使用这个规范,6LN也可以注册他们接受的任播地址,在EARO中使用一个新的A标识位来表示注册是针对一个任播地址。至于多播,多个6LN可以针对相同的6LR注册相同的任播地址。
If the R flag is set in the registration of one or more 6LNs for the same address, the 6LR injects the anycast and multicast addresses in RPL, based on the longest registration lifetime across the active registrations for the address.
如果R标识位被一个或多个具有相同地址的6LN在注册中设置,那么6LR将会基于该地址活动注册的最长注册生存期,在RPL中注入任播和多播地址。
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.
在RPL“具有多播支持的存储操作模式”,对于多播地址的DAO消息沿着RPL首选父树进行传播,并且标记一个子树,该子树将为了多播地址成为一个多播树,使用一个订阅了地址的6LNs作为叶子。按照RFC6550的第12节的规定,6LR将一个私密的单播MAC帧作为一个多播数据包转发给多播树上的每一个兄弟节点,但除了那些它接收数据包的节点。
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.
在此介绍的新的RPL“具有多播支持的非存储式操作模型”,其中DAO消息宣布了多播地址作为目标虽然从不会这样进行传输。多播分布是一个入口复制,凭此根节点对所有进行多播地址传输的6LR封装了多播数据包,通过使用与附加到相关的6LR上的单播目标相同的源路由头部。
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.
广播是典型的不信任LLN并且强制一个监听始终是活跃的,因此它总是不被鼓励的。我们期望是在这两种模式下,6LR对每一个订阅了多播地址的6LN都使用私人的单播MAC帧传播多播数据包。
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 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.
使用这个规范,可以在RPL存储式以及非存储式的模式中注入任播地址。在存储式模型中,RPL路由从多个具有相同的任播地址的子节点接收DAO,但是只对一个子结点发送一个数据包。在非存储模式下,根节点拥有一个RPL节点列表,这个列表保存了所有任播地址作为目标,但是只会向他们其中的一个节点发送数据包。
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 8.
为了向后兼容,这个规范允许去建立一个单独的被标识位MOP1的DODAG,这个标识符使用相同的源目的路由机制代表任播,单播和多播数据包,详情在第8节。
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.
还可以利用6LN和6LR之间的此规范来注册不一定是LLN网络中的单播,任播以及多播的IPv6地址,并且或者6LR及以上的路由协议不一定要是RPL。在这种情况下,在6LR以及6LN之间的数据包的分发可能会非常依赖底层对于广播或者多播的支持。
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:
举个例子,可以在新的无存储操作模式下支持多播的情况下操作RPL实例(同时可能发出MOP为1的信号)并使用“低功耗和有损网络”(MLP)用于多播操作。MPL使用独立于RPL DODAG拓扑结构的多播消息淹没DODAG。有两种情况是可能的:
-
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.
-
一个可能的情况是,为了一个多播目标,在EARO中的所有的6LN都设置R标识位,6LR在其上向根节点发送一个单播DAO消息;根节点过滤掉没有监听者的多播消息并且仅在有监听者的时候才会有消息泛滥。
-
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.
-
在一个简单的变化中,6LN没有设置R标识位并且根节点会淹没整个DODAG上的所有多播数据包。使用配置,控制6LR的行为去忽略R标识位也是可能的,并且要么总是发送DAO消息要么从不发送,并且或者去控制根节点并指定它应该泛洪的或者不泛洪的组。
Note that if the configuration instructs the 6LR not to send the DAO, then MPL can really by used in conjunction with RPL Storing Mode as well.
注意,如果配置指示6LR不要发送DAO,然后MPL也可和RPL存储模式结合使用得很好。
- 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.
这个规范定义了一个在6CIO新的可用的bit位,也被在6LoWPAN-GHC中定义:在低功耗的无线个人区域网络(6LoWPANs)上对于IPv6的通用表头压缩并扩展在RFC8505中用于IPv6 ND消息。
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.
新的“支持的多播地址注册”(M)标识符向6LN指示6LR接收本文档指定的多播地址注册,并将确认多播注册地址数据包将会被路由到R标识符设置了已经注册的6LN上。
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.
Figure 2: New Capability Bits in the 6CI
New Option Field:
M 1-bit flag: “Registration for Multicast and Anycast Addresses Supported”
- 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.
RPL支持具有多播直尺的存储式操作模型中的多播操作,该操作在RPL中提供了独立于源的多播路由,这在RFC6550的第12节中被规定。
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 8.
在MOP3中的期望是单播流量也遵循存储操作模式。但是在RPL的LLN部署中这种情况很少见,其中非存储操作模式才是常见的。尽管去建立一个分开的RPL实例是首选,一个在MOP 1一个在MOP 3中,这个规范允许在一个RPL实例中去混合对于多播的存储模式以及对于单播的非存储模式,详情在第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 RPL Target Option (RTO), whereas the Transit Information Option (TIO) cannot.
这个规范增加了一个具有多播支持的非存储操作模式(MOP由IANA进行分配),凭此,到根节点的非存储模式的DAO可能在RPL目标选项(RTO)中包含了多播地址,然而传输信息选项(TIO)却不能这样。
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.
在这个模式下,RPL根节点在多播数据包上执行一个入口复制(IR)操作,意味着它传输了每个多播数据包到每个6LR的复制版本,这对于多播目标是一个传输,使用与连接到该6RL的RPL休眠叶子节点相同源路由头部和封装方式作为一个单播数据包。
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.
对于中转路由器,该数据包显示为任何源路由的单播数据包。只有在6LR上才会显示出不同,6LR终止源路由路径并向所有注册了多播地址的6LN转发多播数据包。
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.
对于每一个来源于根节点的数据包,这意味着根节点创建了一个源路由头部信息,这将在RFC9008中的8.1.3进行介绍,但其最后且唯一最后一个地址是多播。对于一个不是由根节点生成的数据包,根节点分片封装了多播数据包在RFC9008中进行了解释。在这种情况下,外部报头是纯粹的单播并且封装了的数据包也是单纯的多播。
For this new mode as well, this specification allows to enable the operation in a MOP 1 brown field, more in Section 8.
对于新的模式也是,这个规范允许在MOP1棕色字段中启用该操作,详情在第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 active subscribers. In contrast with anycast, the format of the address is not distinguishable from that of unicast. A legacy node may issue a DAO message without setting the A flag, the unicast behaviour may apply to anycast traffic in a subDAGs. A target is routed as anycast by a parent (or the Root) that received at least one DAO message for that target with the A flag set to 1. As for multicast, the freshness comparison cannot apply to an anycast target, and the TID field is ignored.
使用多播时,地址必须有一个可识别的格式,并且一个多播数据包会被发送给所有的活跃的订阅节点。与任播不同,多播地址的格式与单播的格式没有区别。一个子节点或许会发送一个DAO信息并不设置A标识符的值,单播行为在子DAO中可能会应用到任播流量。目标由父节点作为任播路由,该父节点需要接收到至少一条DAO消息并且目标的A标识符已经被设置为1.至于多播,新鲜度比较不能应用于任播目标,并且TID字段将被忽略。
As opposed to multicast, the anycast operation described therein applies to both addresses and prefixes, and the A flag can be set 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 comparision and vs. the multipath load balancing.
与多播比较,任播操作其中描述了任意转换操作同时适用于地址以及前缀,并且A标识符可以被这两者设置。一个来自于多个边界路由器的可能当作RPL目标注入的外部目的地(地址或者前缀)应该被当作任播注入RPL使得负载平衡。
For either multicast and anycast, there can be multiple registrations from multiple parties, each using a different value of the ROVR field that identifies the individual registration. The 6LR MUST maintain a registration state 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.
不管是多播还是任播,对于多个方面会有多个注册,每一个注册使用标识单个注册的ROVR字段的不同值。6LR必须为每一个具有多播或者任播地址的ROVR值维持一个注册状态,但是每一个地址都只向RPL注入一次路由。因为注册被认为是单独行为,在作为一个注册队列的TIP上的检验仅仅适用于使用相同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 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.
在RPL中注入了多播和任播路由的6LR可能不会同步在RPLTIO中具有相同值的路径队列。这将导致当目标时任播或者多播时路径队列的值是无关的,并且它也必须被忽略。像6LR,一个在存储模式下的RPL路由每次都给他的父节点在DAO消息中生成了路由,并且是每个地址仅仅发送一次,但它必须为每一个发布地址的子节点保留一个路由表入口。
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.
在DODAG下传播多播数据包时,RPL路由会复制所有的在他们的DAO消息中申明了地址的子节点。相比较,当在DODAG下传播任播数据包时,RPL路由一定会复制一个并只复制一个在他们的DAO消息中申明了地址的子节点,并且如果其没有子节点就转发到一个父节点。
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.
RFC6550通过它自己的数据格式识别多播地址并且如果地址没有被识别为多播则使用指定的多播操作。这个指定在RFC6550中进行了更新,增加了一个RTO中的M和A标识位为了表明目标地址是分别被加工成了多播或者任播地址。
An RTO that has the M flag set to 1 is called a multicast RTO. An RTO that has the A flag set to 1 is called an anycast RTO. An RTO that has both the A and the M flags set to 0 is called an unicast RTO. With this specification, the M and A flags are mutually exclusive and MUST NOT be both set to 1. The capability to set both flags is reserved and an RTO that is received with both flags set MUST be ignored.
一个M标识位被设置为1的RTO被称为多播RTO。一个A标识位被设置为1的RTO被称为任播RTO。一个A和M标识位都被设置为0的RTO被称为单播RTO。使用该规范,M和A是互斥的并且不可能被同时设置为1.设置两个标识位的能力是被预留的并且必须忽略两个标识符都被设置了的RTO。
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:
A和M标志的建议位置是2和3,按网络顺序从0到7计数。
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
- 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.
此规范在EARO字段中增加了一个新的M标识位去标识一个注册地址是否为多播地址。当M和R标识位都被设置,符合此规范的6LR将会加入多播数据流,例如通过在RPL多播支持中注入地址这在本规范中扩展为非存储模式。
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.
此规范在EARO标识位字段中增加了一个新的A标识位去识别注册地址是一个任播地址。当同时设置了M和R,符合此规范的6LR在RPL任播支持中加入任播地址,在本规范中将会介绍存储模式以及非存储模式。
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”
6.2. New EDAR Message Flag field
Section 4 of [RFC6775] provides the same format for DAR and DAC messages by 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.
RFC6775的4节给DAR和DAC提供了相同的数据格式,通过不仅仅在DAC消息中使用状态字段并且也需要在DAC消息中设置为0。RFC8505将DAC消息扩展为一个EDAC但是不会去更改EDAR中的状态字段。
This specification repurposes the status field in the EDAR and a Flags field. It adds a new M flag to the EDAR flags field to signal that the Registered Address is a multicast address and a new A flag to signal that the Registered Address is an anycast address. As for EARO, the flags are mutually exclusive.
此规范改用了EDAR中的状态字段和标识字段。它在EDAR的标识字段中增加了一个新的M标识位去识别注册地址是否为多播地址和一个新的A标识符去识别注册地址是否为一个任播地址。在EARO中的,两个标识符是互斥的。
Figure 5 illustrates the A and M flags in their suggested positions (0 and 1, 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 |CodePfx|CodeSfx| Checksum |
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±+
|A|M| Reserved | TID | Registration Lifetime |
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±+
| |
… Registration Ownership Verifier (ROVR) …
| |
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±+
| |
-
+
| |
- Registered Address +
| | -
+
| |
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±+
Figure 5: Extended Duplicate Address Message Format New and updated Option Fields:
Reserved 6-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”
6.3. Registering Extensions With [RFC8505]:
-
Only unicast addresses can be registered.
-
只可以注册单播地址
-
The 6LN must register all its ULA and GUA with a NS(EARO).
-
6LN必须使用NS注册它所有的ULA和GUA。
-
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.
-
6LN必须在EARO中设置R标识位以获得6LR服务可达信息,例如,通过ND代理操作或者通过在一个路由子网中注入路由。
-
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).
-
6LR包含了每个注册地址的注册状态,包括一个注册节点的LLA的NCE
This specification adds the following behavior:
-
Registration for multicast and anycast addresses is now supported.
New flags are added to the EARO to signal when the registered address is anycast or multicast.
现在支持多播和任播地址的注册。EARO中添加了新的标识位去标识注册地址是任播还是多播。 -
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.
-
EDAR消息中的状态字节被保留并且在RFC8505中使用的被重用于到信号多播和任播的传输标志。
-
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.
-
6LN必须注册它所监听的所有IPv6多播地址并且它必须在EARO中为这些地址设置M标识位。
-
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.
-
6LR将会在EARO中设置R标识位以获取通过6LR传输的多播数据包,例如通过MLD代理操作或者通过在子网或独立协议的多播协议中注入地址。
-
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.
-
6LN也必须注册所有的IPv6任播地址,这个地址必须在EARO中为这些地址设置了A标识符。
-
The 6LR and the 6LBR are extended to accept more than one registration 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.
-
当6LR和6LBR进行任意播播或多播时,可以接受多个注册,因为多个6LNs可以订阅这些类型的相同地址。在这两种情况下,EARO中的注册所有权验证器(ROVR)将在注册地址的名称空间中唯一地标识一个注册。
-
The 6LR MUST maintain a registration 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 registration state per tuple (IPv6 address, ROVR) for both anycast and multicast types of address.
-
6LR必须为任意播播和多播类型的地址保持每个元组(IPv6地址,ROVR)的注册状态。它应该用EDAR消息通知6LBR,除非它确定6LBR是先前的,不支持此规范。反过来,6LBR必须为任意播组和多播类型的地址保持每个元组(IPv6地址,ROVR)的注册状态。
- Updating RFC 9010 With [RFC9010]:
-
The 6LR injects only unicast routes in RPL
-
6LR在RPL中只注入单播路由
-
Upon a registration with the R flag set to 1 in the EARO, the 6LR injects the address in the RPL unicast support.
-
在EARO中R标志设置为1时,6LR在RPL单播支持中注入地址。
-
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.
-
在接收到指向一个具有活动注册的单播地址的包时,6LR将该包作为单播第2层的帧将注册该单播地址的节点发送给LLA。
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 and sets the M flag in the RTO.
-
在EARO中注册R和M标志设置为1后,6LR在RPL多播支持中注入地址,并在RTO中设置M标志。
-
Upon a registration with the R and the A flags set to 1 in the EARO, the 6LR injects the address in the new RPL anycast support and sets the A flag in the RTO.
-
在EARO注册中将R和A标识符设置为1,6LR将在新的RPL任播支持中注入地址并且在RTO中将设置A标识位。
-
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.
-
在接收到指向一个至少已经有一个注册信息的多播地址的包时,6LR将该包的副本作为单播第2层帧发送到已经注册了多播地址的每一个节点上的LLA。
-
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 exactly one of the nodes that registered to that multicast address.
-
在接收到指向一个至少已经有一个注册信息的多播地址的包时,6LR将该包的副本作为单播第2层帧发送到已经注册了多播地址的恰好一个节点上的LLA。
- 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].
在这个规范下,一个RPL DODAG形成了一个新的领域,并且多个RPL DODAG可以在管理上联合单个RPL实例。这意味着一个需要跨越一个RPL DODAG的多播地址必须使用本地区域作用范围,而需要跨越RPL实例的多播地址必须使用Admin-Local的作用域,如“IPv6多播地址范围 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.
“IPv4或者IPv6转换器的IPv6寻址”能够在IPv6的地址中嵌入IPv4地址。DODAG的根节点可以利用这个技术来IPv6中的IPv4流量并且沿着RPL域进行路由。当使用IPv4多播目的地地址封装数据包时,它必须使用一个多播地址格式以及使用合适的范围比如Real-Local或者是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.
“基于单播前缀的IPv6多播地址”[RFC3306]允许从单个64前缀形成2的32次方个多播地址。如果IPv6前缀与实例或RPLDODAG有关,则这将提供一个可以被任何所需方式使用的命名空间。例如,标准定义组织可以形成自己的注册表,并将该名称空间的32位值分配给网络功能或设备类型。当在与/64前缀相关联的RPL部署中使用时,IPv6多播地址可以根据配置需要自动从前缀和32位值或管理员本地多播地址。
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.
在一个所有节点都支持此规范的可行字段部署中,可以使用一个多播MOP作为单播,多播或者任播部署单个RPL实例。
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.
在不支持此规范的遗留设备以及新设备共存的“棕色领域”中,建议为旧版节点可以加入的单播部署任何操作模式(通常是MOP1)中的一个RPL实例,以及一个分开的RPL实例使用多播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.
为了在RPL域下使用MOP 3去部署一个存储模式多播操作,需要支持MOP 3的RPL路由足够多,以创建一个DODAG覆盖所有潜在的监听者并且分发多播流所需的跨多播树。当扩展现有网络的功能时,情况可能不一样。
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.
使用新的非存储多播 MOP情况下,按理说,新的支持仅仅是在6LR将要接收多播监听者时需要。但是每一个监听者都必须可以到达类似于6LR的节点,因此,必须部署更新的6LR以覆盖到所有需要多播服务的6LN。
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.
一方面在单播流量中使用独立的RPL实例和另一方面任播以及多播流量允许使用不同的客观函数,一个支持单播收集的链路质量,一个支持多播分发的向下链路质量。
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:
当使用单个RPL实例时,MOP3希望同时使用单播和多播的存储操作模式,这在通常使用MOP1进行单播的约束网络中是一个问题。本规范允许一种混合模式,在DIO消息中标记为MOP1,以便向后兼容,在以下条件下,有限的多播和/或任播都可用:
-
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.
-
支持混合模式的6LR密度必须是足够的,以覆盖所有需要多播或者任播服务的6LN。在存储模式下,必须有足够的密度或者6LR支持混合模式,给根节点形成一个DODAG。
-
The RPL routers that support the mixed mode and are configured to operate in accordance with the desired operation in the network.
-
支持混合模式并根据网络所需操作配置运行的RPL路由
-
The MOP signaled in the RPL DODAG Information Object (DIO) messages is MOP 1 to enable the legacy nodes to operate as leaves.
-
RPL DODAG信息对象中标识的MOP为MOP 1,为了使继承节点可以像叶子节点一样操作。
-
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.
-
在RPL实例中对于多播或任播的支持应该通过6LR使用6CIO向6LN发出信号,参见第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.
-
或者,可以例如配置文件或者外部信息,如支持强制要求的行业标准版本全局了解RPL域对于多播的支持。在这种情况下,所有的路由必须支持混合模式。
- 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.
此规范扩展了RFC8505,并且这个文档的安全部分也被应用到此文档。尤其,链路层应该得到充分的保护以防止恶意访问。
- 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.
一个继承的6LN应该不可能注册多播地址并且当网络更新后服务也应该是一致的。一个继承的6LR将不能在6CIO中设置M标识符并且一个更新的6LN也不能注册多播地址。
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.
在EDAR消息上,一个继承的6LBR或许无法判断被注册的地址是任播还是多播,并且返回它在EDAC状态下的重复项。
As detailed in Section 8, it is possible to add multicast on an existing MOP 1 deployment.
如第8节中的详细内容所述,可以在现有的MOP 1部署上添加多播。
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.
接受此规范的接收方(父级)将多播地址与在MOP3 RPL实例中的RTO设置M为0的组合理解为表示发送方(子级)不支持此规范,但接收和处理RTO就好像向后兼容的设置了M标识符。
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.
当DODAG在MOP3中运行时,一个继承节点将不能设置M标识符并且一直希望有在RFC655012节中定义的多播服务。在MOP 3中一个接收到的目标为多播并且M标识位设置为0的RTO必须被视为多播以及必须像设置M标识位一样进行处理。
- 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 subregistry, 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] registries, as follows:
11.1. New EDAR Message Flags Subregistry
IANA is requested to create a new “EDAR Message Flags” subregistry of the “Internet Control Message Protocol version 6 (ICMPv6) Parameters” registry as indicated in Table 1:
±--------------±--------------------------------------±----------+
| Bit Number | Meaning | Reference |
±--------------±--------------------------------------±----------+
| 0 (suggested) | A flag: Registered | This RFC |
| | Address is Anycast | |
±--------------±--------------------------------------±----------+
| 1 (suggested) | M flag: Registered | This RFC |
| | Address is Multicast | |
±--------------±--------------------------------------±----------+
Table 1: EDAR Message flags
11.2. 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 2:
±--------------±----------------------±----------+
| 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 2: New ARO flags
11.3. 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 3:
±--------------±--------------------------------------±----------+
| Bit Number | Meaning | Reference |
±--------------±--------------------------------------±----------+
| 2 (suggested) | A flag: Registered | This RFC |
| | Address is Anycast | |
±--------------±--------------------------------------±----------+
| 3 (suggested) | M flag: Registered | This RFC |
| | Address is Multicast | |
±--------------±--------------------------------------±----------+
Table 3: New RTO flags
11.4. 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 4:
±--------------±------------------------------±----------+
| Value | Description | Reference |
±--------------±------------------------------±----------+
| 5 (suggested) | Non-Storing Mode of Operation | This RFC |
| | with multicast support | |
±--------------±------------------------------±----------+
Table 4: New RPL Mode of Operation
11.5. 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 5:
±---------------±-----------------------------------±----------+
| Capability Bit | Meaning | Reference |
±---------------±-----------------------------------±----------+
| 8 (suggested) | M flag: Registration for Multicast | This RFC |
| | and Anycast Addresses Supported | |
±---------------±-----------------------------------±----------+
Table 5: New 6LoWPAN Capability Bits
-
Acknowledgments
-
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.
[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.
[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.
- 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.
[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.
[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