BLE 蓝牙mash系统架构

BLE 蓝牙mash系统架构

  • 1. 概述
  • 2. 承载层(bearer layer)
  • 3. 网络层(network layer)
  • 4. 底层传输层(lower transport layer)
  • 5. 上层传输层(upper transport layer)
  • 6. 接入层(access layer)
  • 7. 基础模型层(foundation model layer)
  • 8. 模型层(model layer)

1. 概述

蓝牙mesh的体系结构也是mash的网络层级分布如图1所示,一共有8层。网络结构的最底层还是BLE,这一层是整个BLE协议栈。也就是说蓝牙mesh还是利用BLE进行实际上的信息通信的。接下来将自底向上分别介绍各个层。
BLE 蓝牙mash系统架构_第1张图片

2. 承载层(bearer layer)

发送和接收mesh消息需要底层协议的支持,承载层定义了如何使用底层BLE协议栈传输网络PDU。目前定义了两个承载层:广播承载层和GATT承载层。
广播承载层利用BLE GAP广播和扫描特性来发送和接收mesh PDU。
对于不支持广播承载层的设备,可以利用GATT承载层通过使用代理协议和mesh网络中节点进行通信。
代理协议封装在GATT操作中,包括特殊定义的GATT特性。mesh代理节点可以通过实现上述GATT特性,来支持GATT承载层和广播承载层。这样就可以在两种承载层之间进行转换和中继消息。

3. 网络层(network layer)

网络层定义了多种消息地址类型和网络消息格式,这样传输层的PDU就可以通过承载层传输了。它可以支持多个承载层。每个承载层可以有多个网络接口,如用于一个节点不同元素间通信的本地接口。
网络层决定了用哪一种网络接口来传输消息。来自承载层的消息需要先经过一个输入滤波器,来判断消息是否需要传入网络层进行进一步处理。同理输出消息也需要先经过一个输出滤波器,来决定消息是否要传递到承载层。
另外,还可以通过网络层来实现代理和中继特性。

4. 底层传输层(lower transport layer)

底层传输层可以将来自上层传输层的PDU发送到对端设备的底层传输层。它还可以进行PDU的分段和重组(这一点和BLE协议栈的L2CAP类似)。对于不能放入单个PDU传输的长数据包,底层传输层会对PDU分段,并将其放入多个PDU进行传输。当其他设备的底层传输层收到数据包后将其重新组合,放入单个上层传输层的PDU,再向上传输。

5. 上层传输层(upper transport layer)

上层传输层可以将来自或发往接入层的应用数据进行加密、解密和认证。在不同节点之间,上层传输层还负责“传输控制消息”的生成和发送。传输控制消息和下文提到的“友谊”和“心跳”有关。

6. 接入层(access layer)

接入层定义了应用如何使用上层传输层,包括:

  • 定义应用数据格式
  • 定义和控制上层传输层的数据加密和解密过程
  • 验证从上层传输层来的数据是否对应正确的网络和应用,如果正确则将其传入基础模型层。

7. 基础模型层(foundation model layer)

基础模型层负责涉及mesh网络配置和管理的基础模型的实现。

8. 模型层(model layer)

模型层定义了模型的实现以及模型规范中定义的行为、消息、状态、状态绑定等实现。

你可能感兴趣的:(嵌入式相关,网络)