SIG BLE MESH 视频 教程https://edu.csdn.net/course/detail/27321
前言:
本文的内容都是博主自己猜测和联想的,存在一些漏洞和偏差再所难免。我不是标题党,大家细细品下面的内容。
1、BLE SIG MESH 网络框架图
上图是SIG MESH官方文章的一个截图,是不是看上起很蒙,这和OSI模型或者TCP/IP模型一样啊,我大学的时候背的滚瓜烂熟。哈哈!!然而我们真的了解么?我们真的可能了解每一层做了什么,比如传输层分包重组,但是我们真的了解设计这个协议背后的深层次的原因或者说是哲学么?接下来我们看看快递员为什么清楚通信协议
2、通信协议背后的哲学意义(BELSIG MESH的协议栈对比实际运输图)
下面通信协议的所有的解释都是符合BLE SIG MESH的规范,其他的网路模型请自行类比解释
看上图,通信协议他的本质目标是不是有效且安全把信息从一个地方传输到到另一个地方?不妨想想我们的快递运输是不是也是把一个物件有效且安全的运输到目的地呢?我们细细的品品他们2个本后的哲学意义是不是一直的呢?
应用层:
- 快递我们运输的是苹果
- 通信协议的应用层是一个消息比如开灯,灯的亮度
传输层:
- 快递是把一堆苹果打包成一个个包裹,这样既有效的运输,也保证看不见盒子的内容。
- 通信协议的运输层有2层意思:分包和信协议中由于要传送的payload的太大超过ble物理层单次能发送的最大长度,不得不分包一致。打包后苹果看不见了这对应通信协议中的app key加密和解密
网路层
- 快递是在盒子上贴一个标签纸,有明文和非明文的,明文的写了要寄到地址和收件的名字电话等,非明文是需要扫描枪才能知道要寄给谁。
- 通讯协议网路层也是需要添加一个目的地址,为了保证安全采用网路key进行加密解密。
物理层
- 快递运输可以是卡车、飞机、电动车
- 通信协议是蓝牙(ble)的广播通道和数据通道,术语advertising bearer 和 GATT bearer
大家看看上图再结合我描述的内容发现是不是很有道理呢,甚至网路拓扑都能惊人的一致。所以说快递员其实挺懂网路协议的。
3、BLE SIG MESH 网络各层次的具体内容
3.1 model layer
这个层次定义标准化定义一些用户典型的操作,比如灯、传感器、场景的相关操作模型
3.2 Foundation Model layer
这个层次定义了mesh基本配置的模型,比如配置这个节点是否具有relay功能,给这个节点添加删除appkey
3.3 access layer
这个层次定义了上层模型使用的消息格式(opcode + payload),比如开关model 使用的消息是(0x80 ,{0,1}),定义应用层的数据格式,控制transport加密使用的key等
3.4 upper transport layer
对应用层的数据进行加密解密
3.5 lower transport layer
对应用层的数据进行分段重组
3.6 network layer
添加目的地在,确定是否需要中继,对网络层数据进行加密和解密
3.7 bearer layer
选择数据传输的物理通道,广播通道和数据通道,术语advertising bearer 和 GATT bearer
上面对BLE SIG MESH 协议的解释没有那么具体,具体的细节内容可参考:
Bluetooth SIG MESH 协议从零到深入
https://edu.csdn.net/lecturer/board/27321