当前位置: 首页 > news >正文

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录

    • 节点的功能
    • 承载层(GATT/Adv)
      • 局限性:
    • 拓扑关系
    • 定向转发机制
      • 定向转发意义
  • CG

节点的功能

        节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration Server 模型所定义(见原文2.3.13. 特性和功能):

  • 中继功能 – 通过广告承载接收和重新传输网状消息以支持更大的网络的能力。
  • 代理功能 – 能够在 GATT 和广告承载之间接收和重新传输网状消息。
  • 低功耗功能 – 能够以显著降低的接收器占空比在网状网络中运行,仅与支持 Friend 功能的节点结合使用。
  • Friend 功能 – 通过存储发往这些节点的消息来帮助支持 Low Power 功能的节点运行的能力。
  • 某些节点支持 “Friend” 功能,这意味着它们可以与其他低功耗节点建立“友谊”关系。
  • 支持 Friend 功能的节点可以为 Low Power Nodes(低功耗节点) 缓存消息,让低功耗节点不需要一直监听无线信道,从而节省电量。

承载层(GATT/Adv)

蓝牙Mesh(Bluetooth Mesh) 网络中,GATT BearerAdvertising Bearer(简称 Adv Bearer) 是两种不同的消息传输方式(即“承载层”,Bearer,持票人;持有者;送信人;传播者)

  • Advertising Bearer 是蓝牙Mesh网络默认使用的通信方式,基于BLE的广播机制。
  • GATT Bearer 主要用于传统BLE设备(如手机)接入Mesh网络,通过GATT连接进行通信。
对比项Advertising BearerGATT Bearer
是否必须支持是(所有 Mesh 节点必须支持)否(可选)
是否需要连接是(需与 Proxy Node 建立 GATT 连接)
是否支持广播
是否支持分段否(由 Proxy Node 处理)
适用对象所有 Mesh 节点BLE 设备(如手机)
通信方式广播/泛洪单播(GATT 连接)

局限性:

  • Advertising Bearer的数据包大小有限(通常不超过 39 字节有效载荷)。如果消息太大,会被分段处理,增加传输延迟。
  • GATT Bearer 仅支持单播通信,效率低于广播承载。不支持自动重传和分段功能,因此依赖于 Proxy Node 处理。

拓扑关系

在这里插入图片描述

节点类型描述
Q, R, SRelay Node具备转发消息能力,将接收到的消息重新广播出去,以扩大网络覆盖范围
N支持 Friend未启用 Friendship
O, PFriend Node为 Low Power Nodes 提供消息缓存
I, J, KLow Power Node一般用于电池供电设备;使用 P 作为 Friend
L, MLow Power Node一般用于电池供电设备;使用 O 作为 Friend
TGATT Proxy Client通过 S 接入网络
SProxy Node为 T 提供 GATT 到 Mesh 的桥接
  • 虽然节点 N 支持 Friend 功能,但它并没有与任何低功耗节点建立连接或缓存消息,所以它不算真正的 Friend Node。

  • 节点 O 和 P 是真正的 Friend Node,因为它们有对应的 Low Power Nodes 与之建立连接。

  • 例如,如果要从 T 向 L 发送一条消息,T 将通过 GATT 承载方式把该消息发送给节点 S。节点 S 将使用广播承载方式重新广播这条消息。节点 H、R、N 和 O 处于节点 S 的无线通信范围内,因此它们都会接收到这条消息。由于节点 O 是 L 的好友节点,它会将这条消息缓存起来。如果该消息是分段的消息,O 会在底层传输层回复一个确认(acknowledgment)。一段时间后,L 会轮询节点 O 以检查是否有新消息,这样 O 就会将最初由 T 发送的消息转发给 L。
    在这里插入图片描述

定向转发机制

在这里插入图片描述

  • 节点 M 是一个 低功耗节点(Low Power Node),它不能持续监听网络。
  • 它与节点 O 建立了“友谊”关系(Friendship),所以节点 O 会为它缓存消息,并代表它发送或接收数据。
    • 节点 O 不仅是 Friend Node,还支持 Directed Friend 功能,即它可以主动为低功耗节点建立一条优化的、指向特定目标的路径。
    • 它为节点 M 到目标节点 H 建立了一条 2-lane path(双车道路径)
      • “2-lane” 表示路径可以双向使用(从 M 到 H 和从 H 到 M)。
      • 这种路径可能是根据网络延迟、信号强度或其他路由指标优化后的最佳路径。

定向转发意义

因此,无论支持定向中继的节点数量有多少,通信流量都会被限制在已建立的路径之内。在这个例子中,即使节点 E、G、N 和 Q 接收到了从 M 发往 H 的消息,它们也不会参与转发。

  • BLE Mesh 中引入 定向转发机制 的目的是:
    • 避免传统泛洪机制造成的广播风暴和资源浪费。
    • 将流量限制在已知的最佳路径上,提升效率、降低延迟、减少能耗。
    • 提高网络可扩展性,特别是在大型网络中。

CG

  • 2.3.14. 拓扑
  • 低功耗蓝牙技术 > GAP和GATT介绍 GATT连接的网络拓扑: 一个外设只能连接一个中心设备,而一个中心设备可以连接多个外设。连接建立后,通信是双向的,不同于GAP的单向通信
  • Telink BLE SIG Mesh GATT 配网功能
  • 很多文章讲蓝牙Mesh的带宽是2Mbps,实际上2Mbps指的是BLE,即低功耗蓝牙(也是用得最普遍的那种蓝牙)而非蓝牙 Mesh的。而蓝牙Mesh的带宽即便是SIG官方也不大好意思明说,我翻了一遍BLE Mesh的标准文档也没见着,后来看到几个著名的蓝牙芯片厂商的测试报告和文章才知道只有区区的2Kbps左右,跟BLE(低功耗蓝牙)比差了1000倍了。这个其实从原理上也很好理解,BLE Mesh是构建于BLE的基础之上的,蓝牙是一种跳频协议,一共40个信道,其中3个是广播(advertising)信道,用来做设备发现的,剩下的37个是用来跑正常的数据通讯。而BLE Mesh为了支持Mesh网络不得已只能用这3个广播信道来做传输数据用,剩下的37个信道它没法用,所以它的带宽低到只有2Kbps就很正常了
  • 米家 BLE Mesh 支持的功能
http://www.lqws.cn/news/172477.html

相关文章:

  • 人机融合智能 | “人智交互”跨学科新领域
  • python中的经典视觉模块:OpenCV(cv2)全面解析
  • 计算机视觉与深度学习 | 基于MATLAB的图像特征提取与匹配算法总结
  • 小白如何在cursor中使用mcp服务——以使用notion的api为例
  • 【 java 集合知识 第二篇 】
  • Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
  • Spark 之 DataFrame 开发
  • 准确--k8s cgroup问题排查
  • http头部注入攻击
  • CVAT标注服务
  • Caliper 配置文件解析:config.yaml 和 fisco-bcos.json 附加在caliper中执行不同的合约方法
  • Ubuntu 基于sdl 音频学习的基础代码
  • 【MATLAB去噪算法】基于ICEEMDAN联合小波阈值去噪算法
  • 【SpringBoot自动化部署】
  • LangChainGo入门指南:Go语言实现与OpenAI/Qwen模型集成实战
  • Matlab实现任意伪彩色图像可视化显示
  • 6.6 day38
  • Web 架构之 CDN 加速原理与落地实践
  • LabVIEW实时系统数据监控与本地存储
  • 保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
  • 从“人找政策”到“政策找人”:智能退税ERP数字化重构外贸生态
  • 自建 dnslog 回显平台:渗透测试场景下的隐蔽回显利器
  • 双碳时代,能源调度的难题正从“发电侧”转向“企业侧”
  • DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
  • DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
  • 全面理解 Linux 内核性能问题:分类、实战与调优策略
  • D3ctf-web-d3invitation单题wp
  • 数学建模期末速成 聚类分析与判别分析
  • 第16节 Node.js 文件系统
  • 传输层:udp与tcp协议