Bluetooth Mesh简介

Bluetooth Mesh简介

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

开通配置

开通配置是指:将某台设备加入到mesh网络中,从而变成一个节点的过程,主要分为五个步骤。

第一步:发送beacon信号

未开通配置的设备,如需要加入mesh网络的灯,可以发出mesh beacon广播数据包,声明自己是未开通配置的设备,可以被配置。

第二步:邀请

启动配置设备(如手机)向需要加入mesh网络的设备(如灯)发送邀请,发送的内容是:开通配置邀请PDU(特定格式的数据包)。需开通配置的设备(如灯)收到后会返回一定的数据包,即:开通配置能力PDU。

第三步:交换公共密钥

启动配置设备(如手机)和需要开通配置的设备(如灯)交换公钥。公钥可以是固定的或者暂时生成的。可以通过蓝牙传输交换,也可以使用带外数据(OOB)交换。

第四步:认证

在认证过程中,新设备会输出一个或多个随机数。用户在启动设备上输入该随机数,整个认证的过程就全部完成了。

第五步:启动配置数据分发

认证完成后,会根据两台设备的私钥和交换的对等密钥生成一个会话密钥。之后利用会话密钥来加密后续的数据分发,完成剩余的开通配置过程:生成网络密钥(NetKey)和设备唯一地址(单播地址Unicast Address)。至此,这台新设备就正式成为节点。
NetKey:IV索引,mesh安全参数。
Unicast Address:启动配置设备分配的单播地址。

特性

四种特性:中继(relay)、代理(proxy)、友(friend)、低功耗(low power)。
每个节点都可以同时支持、取消一种或多种特性。

中继

支持中继的节点称为中继节点,它可以重发接收到的消息。通过中继,消息可以进行多次跳跃,从而传输到整个mesh网络。
mesh网络PDU的TTL(time to live)字段,用来规定每条消息在网络中可被中继跳跃的次数。

低功耗与友

低功耗节点:如纽扣电池供电的温度传感器。
低功耗节点会同另一个节点配合工作,这个节点对功耗没有要求,称为友节点。
低功耗节点会对友节点进行低频率的轮询,查看是否有新消息。轮询时,友节点会将消息发送给低功耗节点。
正是这种关系,才使得低功耗节点能够在蓝牙mesh网络中正常接收消息,在正常工作的同时保持较低功耗。

代理

代理节点:实现没有集成蓝牙mesh协议的BLE设备与mesh网络中的任何节点进行通信。
如:GATT设备可以通过代理节点读写代理协议PDU。

节点配置

通过“配置服务器状态(如SET、GET、STATUS)”来指明某个节点是代理节点,中继节点还是其他节点。

mesh系统架构

在这里插入图片描述

BLE

蓝牙mesh正是利用BLE进行实际上的信息通信的。

承载层

作用:定义如何使用底层BLE协议栈传输网络PDU。
1、广播承载层
广播承载层利用BLE GAP广播和扫描特性,发送和接收mesh PDU。
2、GATT承载层
GATT承载层通过代理协议与mesh网络中的节点进行通信。

mesh代理节点实现特定的GATT特性,来支持两种承载层,这样就可以在承载层间转换和中继消息。

网络层

作用:定义多种消息地址类型和网络消息格式。协助传输层的PDU通过承载层传输。还可以实现代理和中继。

底层传输层

传输PDU,还可以对PDU进行分段和重组。

上层传输层

对接入层的应用数据进行加解密和认证。在不同节点之间,对“传输控制消息”生成和发送。

接入层

定义如何使用上层传输层,如:
定义应用数据格式,控制数据加解密,验证。

基础模型层

实现mesh网络配置和管理的基础模型

模型层

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

安全性

BLE中,允许profile设计者采用不同的安全机制,安全可选。
mesh中,安全防护强制执行,不可认为修改。

基本原则

1、所有mesh消息都要加密、认证。
2、网络、应用、设备,三者安全性相互独立。
3、可通过密钥刷新程序来更新节点的安全密钥。
4、消息模糊化,隐私保护机制,防止外界跟踪节点的活动。
5、保护网络免受中继攻击。
6、设备添加到mesh称为节点的过程,本身就是安全的过程。
7、节点可以从网络中安全的移除。

三种密钥

网络密钥(NetKey)

每个节点都有一个相同的网络密钥,使节点成为网络的一员。

应用密钥(AppKey)

解密相应的应用数据。
如:灯拥有灯应用的AppKey,但是没有热力系统的AppKey。

设备密钥(DevKey)

每个节点都有一个独一无二的设备密钥。
用于开通配置过程中,启动配置设备(如手机)与节点间的安全通讯。

消息的传递

发布与传递

WIFI基于中央网络节点工作,如路由器,所有的网络传输都是通过路由器,路由器出现故障,整个网络都会瘫痪。
蓝牙mesh使用管理型网络泛洪的技术进行消息传递。当某个节点发布消息后,如果配置合适,所有节点都会收到消息,还可以中继到更远的地方。

多路径传递

通过管理型网络泛洪技术,消息可以通过多种途径到达目的地。

管理型网络泛洪

心跳

周期性的向其他节点发送心跳消息,告知该节点处于活动状态。

TTL

设置TTL可以控制消息中继跳跃次数。
心跳消息可以用来确定最适合的TTL值。

消息缓存

每个节点缓存最近接受的全部消息,如果新来的消息已存在缓存中,则已被处理,将其立即丢弃。

友谊

友节点可以保存消息,为低功耗节点服务,使低功耗正常运行。

协议栈中消息传递

PDU的网络ID区域,识别NetKey。应用标识符(AID),识别Appkey。若不能识别,则将这条PDU丢弃。
PDU的消息完整性检查(MIC)区域,不通过则将消息丢弃。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值