BLE 蓝牙mash系统架构

1. 概述

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

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)

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值