跳到主要内容

3.5. Rank 属性 (Rank Properties)

节点的 Rank 是该节点在某个 DODAG 版本中位置的标量表示. Rank 用于避免和检测环路, 因此必须展现某些属性. Rank 的精确计算留给目标函数处理. 即使 Rank 的具体计算由目标函数决定, Rank 也必须实现与目标函数无关的通用属性.

特别是, 沿着 DODAG 版本朝向 DODAG 目的地前进时, 节点的 Rank 必须单调递减. 从这个角度看, Rank 可以视为节点在某个 DODAG 版本中的位置或半径的标量表示.

目标函数如何计算 Rank 的细节超出本规范范围, 尽管该计算可能依赖于父节点, 链路度量, 节点度量, 以及节点配置和策略等因素. 更多信息见第 14 节.

Rank 不是路径成本, 尽管它的值可以从路径度量派生并受其影响. Rank 具有自身属性, 这些属性不一定适用于所有度量:

  • 类型: Rank 是一个抽象数值.

  • 功能: Rank 表达某个节点在 DODAG 版本中相对于邻居的相对位置, 不一定能很好地指示或适当地表达到根的距离或路径成本.

  • 稳定性: Rank 的稳定性决定路由拓扑的稳定性. RECOMMENDED 使用某种抑制或过滤机制来保持拓扑稳定. 因此, Rank 不一定像某些链路或节点度量那样快速变化. 新的 DODAG 版本是一个很好的机会, 可用于协调 DODAG 版本内随时间形成的度量与 Rank 之间的差异.

  • 属性: Rank 以严格单调方式递增, 可用于验证从根出发或朝向根的前进过程. 带宽或抖动等度量不一定表现出这种属性.

  • 抽象性: Rank 没有物理单位, 而是每跳增量的一个范围, 其中每个增量的分配由目标函数决定.

根据 RPL 环路避免策略, Rank 值会用于 DODAG 父节点选择. 一旦添加了父节点, 并且节点在 DODAG 内的 Rank 值已经被通告, 为了避免环路, 该节点后续在 DODAG 父节点选择以及在 DODAG 内移动方面的选择会受到限制.