跳到主要内容

16. 可互操作实现的要求摘要 (Summary of Requirements for Interoperable Implementations)

本节总结基本互操作性, 并引用以三种主要模式之一运行的 RPL 实现的规范性文本. 实现预期支持无 Downward 路由, 仅 Non-Storing 模式, 或仅 Storing 模式. 第四种模式, 即作为叶节点运行, 也是可能的.

符合本规范的实现可以根据应用场景包含不同能力子集. 实现者支持与应用场景要求一致的互操作性级别非常重要. 为此, 可以在本规范之外提供进一步指导 (例如作为适用性声明), 并且可以理解, 在某些情况下此类进一步指导可能覆盖本规范的部分内容.

16.1. 通用要求 (Common Requirements)​

在一般情况下, 当 RPL LLN 中所有节点协同使用相同的 MOP, OF, 度量和约束, 因而能够作为 RPL 路由器运行时, 可以达到最高级别的互操作性. 当节点无法成为 RPL 路由器时, 它可能能够以更受限的方式作为 RPL 叶节点互操作.

所有 RPL 实现都需要支持使用在数据分组内传输的 RPL Packet Information (第 11.2 节). [RFC6553] 中描述了一种此类机制.

RPL 实现需要支持使用邻居不可达检测 (Neighbor Unreachability Detection, NUD) 或等效机制来维护相邻 RPL 节点的可达性 (第 8.2.1 节). 替代机制可以针对实现的受限能力进行优化, 例如来自链路层的提示.

本规范提供获取 PIO 并进而形成 IPv6 地址的方法. 使用该机制时, 可能需要通过外部过程执行地址解析和重复地址检测, 例如 IPv6 ND [RFC4861] 或 6LoWPAN ND [6LOWPAN-ND].

16.2. 作为 RPL 叶节点运行 (仅叶节点) (Operation as a RPL Leaf Node (Only))​

  • 叶节点 (仅叶节点) 的实现永远不作为 RPL 路由器参与. 叶节点的可互操作实现按第 8.5 节总结的方式运行.

  • 不要求支持特定 MOP 编码, 但如果叶节点发送 DAO 消息以建立 Downward 路由, 则叶节点应以与 MOP 指示的运行模式一致的方式执行.

  • 不要求支持特定 OF.

  • 总之, 叶节点通常不发出 DIO 消息, 但可以发出 DAO 和 DIS 消息. 叶节点接受 DIO 消息, 但通常忽略 DAO 和 DIS 消息.

16.3. 作为 RPL 路由器运行 (Operation as a RPL Router)​

如果没有进一步指导可用, 则 RPL 路由器实现 MUST 至少支持无度量 OF0 [RFC6552].

为了保持一致运行, RPL 路由器实现需要支持 DODAG 正在使用的 MOP.

所有 RPL 路由器都需要实现 Trickle [RFC6206].

16.3.1. 支持 Upward 路由 (仅 Upward) (Support for Upward Routes (Only))​

仅支持 Upward 路由的 RPL 路由器实现支持以下内容:

  • Upward 路由 (第 8 节)

  • MOP 编码 0 (第 20.3 节)

  • 总之, 发出 DIO 和 DIS 消息, 不发出 DAO 消息. 接受 DIO 和 DIS 消息, 忽略 DAO 消息.

16.3.2. 支持 Upward 路由和 Non-Storing 模式下的 Downward 路由 (Support for Upward Routes and Downward Routes in Non-Storing Mode)​

支持 Upward 路由以及 Non-Storing 模式下 Downward 路由的 RPL 路由器实现支持以下内容:

  • Upward 路由 (第 8 节)

  • Downward 路由 (Non-Storing) (第 9 节)

  • MOP 编码 1 (第 20.3 节)

  • 源路由 Downward 流量 ([RFC6554])

  • 总之, 发出 DIO 和 DIS 消息, 并向 DODAG 根发出 DAO 消息. 接受 DIO 和 DIS 消息, DODAG 根以外的节点忽略 DAO 消息. 不通过本规范描述的方法支持组播, 但可以通过某些替代方法支持组播.

16.3.3. 支持 Upward 路由和 Storing 模式下的 Downward 路由 (Support for Upward Routes and Downward Routes in Storing Mode)​

支持 Upward 路由以及 Storing 模式下 Downward 路由的 RPL 路由器实现支持以下内容:

  • Upward 路由 (第 8 节)

  • Downward 路由 (Storing) (第 9 节)

  • MOP 编码 2 (第 20.3 节)

  • 总之, 发出 DIO, DIS 和 DAO 消息. 接受 DIO, DIS 和 DAO 消息. 不通过本规范描述的方法支持组播, 但可以通过某些替代方法支持组播.

16.3.3.1. 基本组播方案的可选支持 (Optional Support for Basic Multicast Scheme)​

Storing 模式实现可以通过以下补充增强以支持基本组播:

  • 基本组播支持 (第 12 节)

  • MOP 编码 3 (第 20.3 节)

16.4. 留待未来规范处理的事项 (Items for Future Specification)​

若干事项留待未来规范处理, 包括但不限于以下内容:

  • 如何附接非 RPL 节点, 例如 IPv6 主机, 例如如何至少向附接节点一致分发 PIO 材料.

  • 如果使用 authenticated 模式, 如何获取认证材料以支持该模式 (第 10.3 节).

  • 多个并发实例上的运行细节.

  • 高级配置机制, 例如 RPLInstanceID 的配置, Objective Function 的参数化, 以及用于控制安全的参数. (预期此类机制可能扩展 DIO, 作为跨 DODAG 分发信息的一种方式).