码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【无标题】


    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进行实际上的信息通信的。接下来将自底向上分别介绍各个层。
    图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)

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

  • 相关阅读:
    win10安装Oracle11g全网最细教程(一次成功)
    【深度学习环境配置】windows出现出现‘git‘ 不是内部或外部命令,也不是可运行的程序
    从一坨代码说起
    计算机毕业设计Java交通非现场执法系统(源码+系统+mysql数据库+lw文档)
    【Matlab笔记_15】正则表达式之特殊字符文本位置提取
    利用Axios封装及泛型实现定制化HTTP请求处理
    【前端打怪升级日志之CSS篇】position定位
    React路由
    Spring 创建 Bean 全过程
    springboot+vue+elementui影城选座管理系统
  • 原文地址:https://blog.csdn.net/panpan_jiang1/article/details/126499082
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号