蓝牙mesh 数据包的结构(IVI,NID,CTL,TTL,SEQ,SRC,DST,TPDU,NetMIC)

文章目录

      • 1、网络层 协议数据单元(PDU)
          • (1)IVI - 初始化矢量索引(Initialization Vector Index)
          • (2)NID - 网络ID(Network ID)
          • (3)CTL - 控制(Network Control)
          • (4)TTL - 生存时间(Time to Live)
          • (5)SEQ - 序列号(Sequence Number)
          • (6)SRC - 源地址,DST - 目标地址
          • (7)TransportPDU - 传输协议数据单元
          • (8)NetMIC - 网络消息完整校验值(Message Integrity Check for Network)

蓝牙mesh数据包的结构,如图所示:
蓝牙mesh 数据包的结构(IVI,NID,CTL,TTL,SEQ,SRC,DST,TPDU,NetMIC)_第1张图片

1、网络层 协议数据单元(PDU)

序号 Field Name(字段名) Bits 描述
1 IVI 1 IV索引的最小值位
2 NID 7 网络ID,Network ID
网络密钥(NetKey)派生的值,用于标识用于保护此PDU的加密密钥隐私密钥
3 CTL 1 网络控制(Network Control)
4 TTL 7 生存时间(Time To Live)
5 SEQ 24 序列号(Sequence Number)
6 SRC 16 源地址(Source Address)
7 DST 16 目的地址(Destination Address)
8 TransportPDU 96~12812~16个字节) 传输 协议数据单元
9 NetMIC 326448个字节) 网络 消息完整校验值(Message Integrity Check for Network)
(1)IVI - 初始化矢量索引(Initialization Vector Index)

在这里插入图片描述

序号 描述
1 1-bit
2 IV索引的最小值位
(2)NID - 网络ID(Network ID)

在这里插入图片描述

序号 描述
1 7-bit
2 决定使用哪个mesh网络传递数据
3 删除和该信息矛盾的请求
4 网络身份有(2^121)个网络密钥
(3)CTL - 控制(Network Control)

在这里插入图片描述
CTL字段是1-bit值,用于确定消息是否包含访问消息或者控制消息

序号 CTL Field 描述
1 0 NetMIC32-bit值,并且底层传输PDU包含访问消息,传输 pdu 限制在16 字节
2 1 NetMIC64-bit值,并且底层传输PDU包含控制消息,传输 pdu 限制在12 字节
序号 消息分类 描述
1 访问消息 (1)定义了应用数据的格式
(2)应用密钥(App Key)或者设备密钥(Device Key)用于加密认证信息
2 控制消息 (1)用于创建和管理友谊心跳操作
(4)TTL - 生存时间(Time to Live)

在这里插入图片描述
TTL字段是7-bit字段:

序号 描述
1 0 不会被中继
2 1 不会被中继
3 2~126 可能已被中继,并且可以被中继
4 127 可以中继(最大值)
(5)SEQ - 序列号(Sequence Number)

在这里插入图片描述

序号 描述
1 24-bit
2 每个mesh的信息的SEQ必须不同
3 要有源地址, 唯一身份识别 mesh 信息
(6)SRC - 源地址,DST - 目标地址

在这里插入图片描述
SRC - 源地址(Source Address)

序号 描述
1 16-bit
2 识别信息 原始源
3 必须是一个单广播地址

DST - 目标地址(Destination Address)

序号 描述
1 16-bit
2 定义了这条消息的目的地
3 可以是一个单播地址虚拟地址分组地址或者广播地址
4 目标地址 使用网络密钥(NetKey)加密

Mesh 地址:

序号 地址类型 范围 描述
1 Unassigned(未分配) 0x0000 没有分配地址(无发布或订阅时被特定使用)
2 Unicast(单播) 0x0001 ~ 0x7FFF 分配给每个元素的唯一地址,一共32767个
3 Virtual(虚拟) 0x8000 ~ 0xBFFF 一个或一组设备的虚拟地址
4 Group(组) 0xC000 ~ 0xFEFF 一组mesh节点的地址(发布或订阅时被特定使用)
5 Broadcast(广播) 0xFFFF 网络中的每一个节点
(7)TransportPDU - 传输协议数据单元

在这里插入图片描述

序号 描述
1 12-16个字节
2 包含了底层传输层的信息
3 CTL决定了传输PDU的大小
CTL=0,传输PDU 限制在16字节;CTL=1,传输PDU 限制在12字节)
4 传输PDU时使用了网络密钥(NetKey)进行加密
(8)NetMIC - 网络消息完整校验值(Message Integrity Check for Network)

在这里插入图片描述

序号 描述
1 32-bit64-bit
CTL=0(访问消息),NetMIC32-bit值,传输 pdu 限制在16 字节;
CTL=1(控制消息),NetMIC64-bit值,传输 pdu 限制在12 字节
2 认证符合网络密钥(NetKey)的节点发出的消息

你可能感兴趣的:(BLE,Mesh)