1. Mesh Secure Network Beacon 核心原理剖析
Secure Network Beacon是蓝牙Mesh网络中一种特殊的不可连接广播包(non-connectable undirected advertising),它在设备完成配网后持续发送。与普通蓝牙广播不同,这种信标不用于设备发现,而是承载着维持Mesh网络安全同步的关键信息。
1.1 信标的数据结构解析
根据蓝牙Mesh规范v1.1,Secure Network Beacon的完整数据结构如下(以实际抓包数据为例):
c复制17 2b 01 00 d9 be cc c4 cc 48 79 28 00 00 00 00 95 be 0e 86 b5 a5 4a 90
各字段的详细拆解:
-
Length (1字节)
- 值:0x17 (23字节)
- 说明:表示后续有效数据的长度
-
AD Type (1字节)
- 值:0x2B
- 对应宏定义:
#define MESH_ADV_TYPE_BEACON 0x2B - 作用:标识这是Mesh信标类型
-
Beacon Type (1字节)
- 值:0x01
- 枚举定义:
c复制typedef enum { UNPROVISION_BEACON = 0, // 未配网信标 SECURE_BEACON, // 安全网络信标 BEACON_TESTCASE=0x80, // 测试用例 BEACON_RFU, // 保留 } BEACON_ADV_TYPE;
-
Flags (1字节)
- 值:0x00
- 位域含义:
- Bit 0: IV Update状态(1=正在进行IV更新)
- Bit 1: Key Refresh状态(1=正在进行密钥刷新)
- Bit 2-7: 保留位
-
Network ID (8字节)
- 示例值:0xd9 be cc c4 cc 48 79 28
