跳到主要内容

1. 简介

Routing Protocol for Low-Power and Lossy Networks (RPL) [RPL] 是一种 Distance Vector protocol, 非常适合用于多种低能耗 Internet of Things (IoT) networks. 在这些网络中, 受限节点无法维护完整拓扑视图, 且可接受拉长的路径, 以避免维护最短路径所需的信令和状态开销. 此外, RPL 是 anisotropic 的, 这意味着其运行取决于链路方向: 从 Root 向下或朝 Root 向上, default route 向下通告, more-specific paths 沿一组受限链路向上通告.

RPL 形成 Destination-Oriented Directed Acyclic Graphs (DODAGs), 其中 Root 通常充当 border router, 用于将 RPL domain 连接到 IP backbone. DODAG 内的 routers 沿图向 Root 上行以到达 default route, 并向 RPL domain 中的 destinations 下行以到达 more-specific routes. 作为前提, 本规范预期已存在一个 RPL Instance, 以及关联的 DODAG 和 RPL Root, 分别称为 main Instance, main DODAG 和 main Root. main Instance 以 RPL Non-Storing Mode of Operation (MOP) 运行.

根据本规范, 一个称为 Path Computation Element (PCE) 的抽象 routing function (例如位于中央控制器中或与 main Root 共置) 与 main Root 交互, 以计算 main Instance 中节点之间的额外路径. 在 Non-Storing Mode 中, 需要传递给 PCE 的基础拓扑信息, 即 main DODAG 的知识, 已经在 Root 处可用. 本规范引入 protocol extensions, 使用 sibling relationships 丰富 Root 可用的拓扑信息; 这些 sibling relationships 可用, 但未被用于形成 main DODAG.

基于使用情况, path length 以及节点中 battery levels 和 reservable buffers 等可用资源知识, 具有系统全局可见性的 PCE 可以针对应用需求优化计算出的 routes, 包括提供 path redundancy 的能力. 本规范还引入 protocol extensions, 使 Root 能够代表 PCE 在 RPL domain 中投射 (即从远程位置通告) 计算出的路径, 作为 Projected Routes (也称 P-Routes).

P-Route 可以以 Storing 或 Non-Storing Mode 安装, 可能产生混合情况, 即 P-Route 运行的 Mode 不同于 RPL main Instance 的 Mode. P-Routes 可以用作独立 segments, 通过利用沿 main RPL DODAG 向下的 loose source routing operations 来减小 Source Routing Headers (SRHs) 的大小. P-Route 也可以用作 protection path, 并且可以与其他 P-Routes 组合和交织, 形成称为 Track 的 recovery graph. Track 作为单独的 RPL Instance 发信号, 该 RPL Instance 与 main RPL Instance 相关联, 使形成 Track 的 RPL routers 也是 main DODAG 的成员. Track 使用自己的 RIB 提供 underlay shortcuts; 该 RIB 独立于 main Instance 的 RIB, 并具有更高优先级.