蓝牙Mesh基础(6)Lower Transport(下层传输层)
下层传输层
功能
- 分段----当上层传输层的PDU长度超过限制后就需要将PDU分段下发到网络层。协议中规定:Upper Transport Access PDU (access消息)超过12 byte时便分段;Upper Transport Control PDU(控制消息)超过8 byte时便分段
- 重组----和分段相对,重组是收到来自网络层上传的分段消息时,将分段的消息进行重组,之后上传给上层传输层
- Friend Queue----朋友队列,网络中发送给LPN节点的消息暂存在这里,当LPN醒来并索要消息是时发送给LPN
字节续:大端
Lower Transport PDU
PDU中最高位为SEG,用于标识是不是分段消息(0-不分段;1-分段)。来自上层传输层的消息有两种,access消息和控制消息,根据每种消息是否分段可以划分成4中PDU类型:①Unsegmented Access Message;②Segmented Access Message;③Unsegmented Control Message;④Segmented Control Message
-
Unsegmented Access Message
PDUj结构如下图所示:
PDU共有四个字段,每个字段的大小和解释如下表所示:
AKF和AID由上层传输层根据加密access消息的appkey或者devicekey设置 -
Segmented Access Message
PDU结构如下图所示:
共有8个字段,每个字段的大小和解释如表所示: -
Unsegmented Control Message
PDU结构如下图所示:
共有3个字段,每个字段的大小和解释如下表所示:
Opcode----操作码,model开发的时候也会用到,这里用于标识不同的控制消息,每种控制消息都有唯一的一个操作码。协议中定义的控制消息操作码主要是用于fiendship建立管理和heartbeat的。如下图所示(摘自协议73页): -
Segmented Control Message
PDU结构如下图所示:
共有7个字段,每个字段的大小和解释如下表所示: