作用:节点使用安全网络信标来识别子网及其安全状态。可以用来更新Key和Iv Index。
数据包结构:
数据包格式:
大小 | 含义 | |
Beacon Type
| 1 | 安全网络信标(0x01) |
Flags
| 1 | 包含密钥刷新标志和IV更新标志 |
Network ID
| 8 | 包含网络ID的值 |
IV Index
| 4 | 包含当前的IV索引 |
Authentication Value
| 8 | 通过身份验证安全网络信标 |
Flags 字段的含义:
比特位 | 含义 |
0 | 密钥刷新标志0: False 1: True |
1 | IV更新标志0:正常操作1:IV更新激活 |
2-7 | 保留以备将来使用 |
网络ID字段包含此网络的网络ID。
IV索引字段包含该网状网络的当前IV索引。
身份验证值字段的计算定义如下:身份验证值=AES-CMACBeaconKey(标志||网络ID || IV索引)[0–7]。
具体流程:
当在已知子网上接收到安全网络信标时,节点应监控IV索引更新和关键刷新过程。
可以为节点所属的每个子网发送安全网络信标,以识别子网并通知IV索引更新和键刷新过程。
中继节点和友节点应该发送信标,其他节点可以发送信标。发送两个连续信标之间的时间称为信标间隔。一个实现可以定义信标间隔和一个后退过程,以防止其他节点用太多的信标超载网络。预期的行为是,每个节点大约每10秒为一个给定的子网接收一个信标。
为了确定信标间隔,节点应该连续观察信标,并在给定的观察周期内保持单个子网的信标数量的滚动计数。信标时间间隔应使用以下公式来确定:
信标间隔=观测周期*(观察信标数+ 1)/预期信标数
以秒为单位的观察周期通常应该是典型的信标间隔的两倍。每个子网都有一个单独的安全网络信标,因此,每个子网的预期信标数量、观察信标数量和观察周期可能是不同的。
观测到的信标数是该子网在观测期间观测到的信标数。
预期的信标数量是观测周期除以10秒。