关联支配集

网状网络扩展器必须形成关联支配集 (CDS),这意味着:
- 任意两个网状网络扩展器之间都存在仅包含网状网络扩展器的路径。
- Thread 网络中的任何一个网状网络扩展器都可以完全在网状网络扩展器集合内到达任何其他网状网络扩展器。
- Thread 网络中的每个终端设备都直接连接到网状网络扩展器。
分布式算法会维护 CDS,以确保最低级别的冗余。每个设备最初都以终端设备(子设备)的身份连接到网络。随着 Thread 网络状态的变化,该算法会添加或移除网状网络扩展器以维护 CDS。
Thread 会添加网状网络扩展器,以:
- 在网络低于 16 个网状网络扩展器的阈值时增加覆盖范围
- 提高路径多样性
- 保持最低级别的冗余
- 扩展连接并支持更多子设备
Thread 会移除网状网络扩展器(将其切换为备用扩展器功能设备 (ECD)),以:
- 使路由状态低于 32 个网状网络扩展器的上限
- 在需要时允许网络其他部分中的新网状网络扩展器
升级到网状网络扩展器
连接到 Thread 网络后,作为扩展器功能设备的子设备可以选择成为网状网络扩展器。在启动 MLE 关联请求流程之前,子设备会向领导者发送地址请求消息,请求路由器 ID。如果领导者接受,它会回复路由器 ID,子设备会将自己升级为网状网络扩展器。
然后,MLE 关联请求流程用于与相邻的网状网络扩展器建立双向网状网络扩展器关联。
1. 关联请求
关联请求是网状网络扩展器向 Thread 网络中的所有其他网状网络扩展器发出的请求。首次成为网状网络扩展器时,设备会向
ff02::2 发送多播关联请求。之后,在通过 MLE 广告发现其他网状网络扩展器后,设备会发送单播关联请求。
| 关联请求消息内容 | |
|---|---|
| 版本 | Thread 协议版本 |
| 挑战 | 测试关联响应的及时性,以防范重放 攻击 |
| 源 地址 | 发送者的 RLOC16 |
| 领导者 数据 | 有关网状网络扩展器的领导者的信息,存储在发送者(RLOC, 分区 ID、分区权重)上 |
2. 关联接受和请求
关联接受和请求是关联接受和关联请求消息的组合。Thread 在 MLE 关联请求流程中使用此优化,将消息数量从 4 条减少到 3 条。
3. 关联接受
关联接受是对来自相邻网状网络扩展器的关联请求的单播响应,其中提供了有关自身的信息并接受与相邻网状网络扩展器的关联。
| 关联接受消息内容 | |
|---|---|
| 版本 | Thread 协议版本 |
| 响应 | 测试关联响应的及时性,以防范重放 攻击 |
| 关联帧 计数器 | 发送者上的 802.15.4 帧计数器 |
| MLE 帧 计数器 | 发送者上的 MLE 帧计数器 |
| 源 地址 | 发送者的 RLOC16 |
| 领导者 数据 | 有关网状网络扩展器的领导者的信息,存储在发送者(RLOC, 分区 ID、分区权重)上 |
降级为备用扩展器功能设备
当网状网络扩展器降级为备用扩展器功能设备时,其网状网络扩展器关联会断开,设备会启动 MLE 连接流程以建立子父关联。
如需详细了解 MLE 连接流程,请参阅加入现有网络。
单向接收关联
在某些情况下,可能需要建立单向接收关联。
网状网络扩展器重置后,相邻的网状网络扩展器可能仍与重置的网状网络扩展器具有有效的接收关联。在这种情况下,重置的网状网络扩展器会发送关联请求消息,以重新建立现有的网状网络扩展器关联。
终端设备可能还希望与相邻的非父级网状网络扩展器建立接收关联,以提高多播可靠性。我们将在介绍多播路由时详细了解这一点。
回顾
您学到的内容:
- Thread 网络中的网状网络扩展器必须形成关联支配集 (CDS)
- 扩展器功能设备 (ECD) 可以升级为网状网络扩展器,也可以降级为备用 ECD,以维护 CDS
- MLE 关联请求流程用于建立网状网络扩展器关联