蓝牙mesh协议架构
蓝牙mesh协议架构
mesh协议层架构图
图:mesh系统架构
承载层(Bearer Layer)
Bearer Layer 定义了Mesh节点怎么传递网络消息的。定义了两种Bearer,广播advertising bearer 和GATT bearer 。
Advertising Bearer 利用的是BLE GAP广播包的advertising 和scanning
的功能来传递接收mesh的报文。
The GATT Bearer 允许不支持Advertising Bearer的设备间接的与mesh节点进行通讯。怎么通讯呢?使用前面讲的代理(Proxy Protocol)。Proxy Protocol是封装在GATT里面,当然会用特别定义的GATT characteristics。上一讲我们讲到了Proxy Feature,支持Proxy Feature的Proxy Node也就是代理节点,因为可以同时支持两种Bearer Layer,所以可以作为mesh节点和非mesh节点的中间桥梁。
网络层(Network Layer)
网络层定义了几件事情, 一个是定义了多种网络地址类型,我之前有说过关于Mesh地址的内容。二是定义了网络层的格式,打通传输层(Transport layer)和承载层(Bearer layer);三是定义了一些输入输出Filter,决定哪些消息需要转发,处理还是拒绝。四是定义了网络消息的加密和认证。
底层传输层(Lower Transport Layer)
这层做的事情很简单,就是拆拆拼拼。把太长的传输层的包拆成若干个分给网络层,把短的网络层的包再组成一个长的传输层的PDU(Protocol Data Unit)。
上层传输层(Upper Transport Layer)
上层传输层主要是负责加密,揭秘和应用数据授权。一句话,消息的安全性和机密性就是有这一层负责的。还有就是会定义一些节点间在这一层的一些会话,比如Friend功能,心跳包(Heartbeats)。
访问层(Access Layer)
访问层主要负责:1.定义更高层的应用如何跟upper transport layer通讯。2.定义应用数据的格式。3.定义和控制upper transport layer应用数据的加解密。4.在把应用数据扔到上层之前,会检查校验接收过来的应用数据是否合法。
基础Model层(Foundation Models Layer)
基础model层定义访问层(access layer)的状态,消息,模型配置和mesh网络管理。
Model层(Model Layer)
Model层定义了典型的用户场景标准化操作的相关models(相关的models定义在Bluetooth Mesh Model specification文档中)。更高层次模型规范的例子包括照明和传感器的模型。
————————————————
版权声明:本文为CSDN博主「Jim_天河」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/JaLLs/java/article/details/88865194