目录
一、什么是BLE Mesh Lower Transport Layer下传输层?
一、什么是BLE Mesh Lower Transport Layer下传输层?
BLE mesh下传输层的作用是对上层传输层的消息进行分段和重组,以适应BLE的物理层和链路层的限制。以及将网络层接收到的分段消息重组为完整的消息。下传输层可以处理两种类型的消息:分段消息和未分段消息。
- 分段消息是指上层传输层的消息长度超过BLE的最大载荷,需要被分成多个分段,每个分段包含一些额外的信息,如消息的序号、总数、大小等,以便接收方能够正确地重组消息。
- 未分段消息是指上层传输层的消息长度小于或等于BLE的最大载荷,不需要被分段,只需要添加一些简单的信息,如消息的类型、加密方式等,以便接收方能够正确地解析消息。
下传输层还负责对分段消息进行确认和重传,以保证消息的可靠性和完整性。下传输层使用一种管理型网络泛洪的方式,让具有中继特性的节点可以转发收到的消息,扩大消息的传播范围,同时采用消息缓存和生存时间等机制,避免消息的重复和无限循环。
二、未分段消息
未分段消息是指不需要分段的传输层消息,它们包括两种类型:
- 未分段接入层消息(Unsegmented Access Message),用于传输来自访问层的应用消息或配置消息,它们的长度为6-16字节,由一个1字节的控制字段和一个5-15字节的上层传输层接入消息PDU组成。控制字段中的SEG位为0,表示未分段,AKF位表示是否使用AppKey加密,AID位表示AppKey ID。
- 未分段控制消息(Unsegmented Control Message),用于传输来自上层传输层的控制消息,如心跳消息、友谊消息和分段确认消息,它们的长度为1-12字节,由一个1字节的控制字段和一个0-11字节的参数字段组成。控制字段中的SEG位为0,表示未分段,Opcode位表示控制消息的类型。
未分段消息的优点是传输效率高,不需要分段和重组的过程,也不需要确认重传的机制,但是它们的缺点是不能传输超过网络层PDU大小限制的消息,也不能利用分段消息的安全特性,如每个分段使用不同的网络层MIC。
2.1 未分段接入层消息
Field |
Size (bits) |
Notes |
SEG |
1 |
表示是否为分段消息,未分段消息的值为0。 |
AKF |
1 |
表示是否使用AppKey加密,值为1表示使用AppKey,值为0表示使用DevKey。 |
AID |
6 |
表示AppKey ID,当AKF为1时有效,用于识别加密的AppKey。 |
Upper Transport Access PDU |
40 to 120 |
表示上层传输层接入消息的PDU,包含OpCode、参数和TransMIC。 |
2.2 未分段控制层消息
Field |
Size (bits) |
Notes |