跳到主要内容

6.3. DODAG 信息对象 (DODAG Information Object, DIO)

DODAG 信息对象 (DODAG Information Object, DIO) 携带允许节点发现 RPL 实例, 学习其配置参数, 选择 DODAG 父节点集合, 并维护 DODAG 的信息.

6.3.1. DIO 基本对象格式 (Format of the DIO Base Object)

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RPLInstanceID |Version Number | Rank |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|G|0| MOP | Prf | DTSN | Flags | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ DODAGID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option(s)...
+-+-+-+-+-+-+-+-+

图 14: DIO 基本对象
  • Grounded (G): Grounded 'G' 标志指示所通告的 DODAG 是否能够满足应用定义的目标. 如果该标志被设置, 则 DODAG 为 grounded. 如果该标志被清零, 则 DODAG 为 floating.

  • Mode of Operation (MOP): Mode of Operation (MOP) 字段标识 RPL 实例的运行模式, 该模式由 DODAG 根以管理方式配置并分发. 所有加入 DODAG 的节点必须能够遵守 MOP, 才能作为路由器完整参与. 否则, 它们只能作为叶节点加入. MOP 按下图编码:

MOP描述
0RPL 不维护 Downward 路由
1Non-Storing 运行模式
2无组播支持的 Storing 运行模式
3支持组播的 Storing 运行模式
所有其他值均未分配

值 0 表示目的地通告消息被禁用, 且 DODAG 仅维护 Upward 路由.

图 15: Mode of Operation (MOP) 编码

  • DODAGPreference (Prf): 一个 3 位无符号整数, 定义该 DODAG 的根相对于同一实例内其他 DODAG 根的优先程度. DAGPreference 范围从 0x00 (最低优先级) 到 0x07 (最高优先级). 默认值为 0 (最低优先级). 第 8.2 节描述 DAGPreference 如何影响 DIO 处理.

  • Version Number: 8 位无符号整数, 由 DODAG 根设置为 DODAGVersionNumber. 第 8.2 节描述 DODAGVersionNumber 的规则以及它们如何影响 DIO 处理.

  • Rank: 16 位无符号整数, 指示发送 DIO 消息的节点的 DODAG Rank. 第 8.2 节描述如何设置 Rank 以及它如何影响 DIO 处理.

  • RPLInstanceID: 8 位字段, 由 DODAG 根设置, 指示该 DODAG 属于哪个 RPL 实例.

  • Destination Advertisement Trigger Sequence Number (DTSN): 8 位无符号整数, 由发出 DIO 消息的节点设置. 目的地通告触发序列号 (Destination Advertisement Trigger Sequence Number, DTSN) 标志作为维护 Downward 路由过程的一部分使用. 该过程的细节见第 9 节.

  • Flags: 8 位未使用字段, 保留供标志使用. 发送方 MUST 将该字段初始化为零, 接收方 MUST 忽略该字段.

  • Reserved: 8 位未使用字段. 发送方 MUST 将该字段初始化为零, 接收方 MUST 忽略该字段.

  • DODAGID: 128 位 IPv6 地址, 由 DODAG 根设置, 用于唯一标识 DODAG. DODAGID MUST 是属于该 DODAG 根的可路由 IPv6 地址.

  • DIO Base 的 未分配位 为保留位. 发送时 MUST 将其设置为零, 接收时 MUST 忽略.

6.3.2. 安全 DIO (Secure DIO)

安全 DIO 消息遵循图 7 中的格式, 其中基本格式是图 14 所示的 DIO 消息.

6.3.3. DIO 选项 (DIO Options)

DIO 消息 MAY 携带有效选项.

本规范允许 DIO 消息携带以下选项:

  • 0x00 Pad1
  • 0x01 PadN
  • 0x02 DAG Metric Container
  • 0x03 Routing Information
  • 0x04 DODAG Configuration
  • 0x08 Prefix Information