BLE Mesh架构:
在mesh架构堆栈底部,有一层名为蓝牙低功耗 。实际上,这并非仅是mesh架构的其中一层,而是完整的蓝牙低功耗协议栈,是提供基础无线通信功能所必需的,这些功能可为位于其上的mesh架构所用。应该清楚的是,mesh系统有赖于蓝牙低功耗协议栈的可用性。
1、模型层(Model Layer)
定义用于标准化典型用户场景操作的模型,并在蓝牙Mesh模型规范或其他更高层规范中定义。 高层模型规范的示例包括用于Lighting(照明)和Sensor的模型。
2、基础模型层(Foundation Model Layer)
定义配置和管理Mesh网络所需的状态,消息和模型。
3、访问层(Access Layer)
访问层负责定义应用如何利用上层传输层,包括:
| 序号 | 描述 |
|---|---|
| 1 | 定义应用数据的格式 |
| 2 | 定义并控制在上层传输层中执行的应用数据的加密和解密 |
| 3 | 在将数据上传到堆栈之前,对来自上层传输层的数据进行验证,判断其是否适用于该网络和应用 |
4、上层传输层(Upper Transport Layer)
| 序号 | 描述 |
|---|---|
| 1 | 负责对传入和传出访问层的应用数据进行加密、解密和认证(authentication) |
| 2 | 负责传输控制消息,这些消息内部生成、并发送于不同对等节点的上层传输层之间,包括与友谊和心跳相关的消息 |
| 序号 | 消息分类 | 描述 |
|---|---|---|
| 1 | 访问消息 |
(1)定义了应用数据的格式(2) 应用**(App Key)或者设备**(Device Key)用于加密和认证信息 |
| 2 | 控制消息 |
(1)用于创建和管理友谊和心跳操作 |
5、底层传输层(Lower Transport Layer)
| 序号 | 描述 |
|---|---|
| 1 | 从上层传输层接收PDU,并将其发送到对等设备的底层传输层 |
| 2 | 对太长的PDUs进行分段(Segmentation)和重组(Reassembly) |
6、网络层(Network Layer)
| 序号 | 描述 |
|---|---|
| 1 | 定义如何将传输消息寻址到一个或多个元素,以及允许承载层传送传输层PDU的mesh消息格式 |
| 2 | 决定是否中继/转发消息,接收消息以进行进一步处理,还是拒绝消息 |
| 3 | 定义如何加密和认证(authentication)网络消息 |
7、承载层(Bearer Layer)
定义如何在节点之间传输网络消息。定义了两个承载层,即广告承载层和GATT承载层。
| 序号 | 承载层 | 描述 |
|---|---|---|
| 1 | 广告承载层 |
利用 BLE 的GAP广播和扫描功能来传送和接收Mesh PDU |
| 2 | GATT承载层 |
允许不支持广告承载层的设备间接地与mesh网络中的节点进行通信,使用的协议为代理协议 |