0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

了解蓝牙mesh网络、市场设备支持和安全性(2)

电子设计 作者:电子设计 2018-09-28 07:43 次阅读

在上篇中,我们了解到蓝牙mesh网络设备彼此之间可通过消息和发布/订阅机制展开对话。

得益于mesh网络,设备可以在非常广阔的区域中安装,同时彼此之间保持通信。想象一下购物中心、机场或办公大楼的占地空间有多广阔。因为存在墙壁和其他物理上的障碍物,楼宇中的设备可能无法与安装在同一楼宇远侧的设备、或临近楼宇中的设备建立直接的无线连接。而蓝牙mesh网络则能够将网络中的某些设备指定为“中继设备”,进而解决这一难题。

中继设备能够转发从其他设备接收到的消息。在转发消息时,它们能够与位于初始消息发布设备无线范围以外的设备进行通信。消息可多次被中继,每一次中继即为一“跳”,最多可进行127跳,足以在一片广阔的物理区域中进行消息传输。

蓝牙 mesh网络在节点之间中继消息

管理型网络泛洪(Managed Flooding)

蓝牙mesh网络采用一种称为“网络泛洪(flooding)”的方式来发布和中继消息。这意味着消息不会通过某一进程进行路由, 也不会沿着由一系列特定设备构成的特定路径来进行传输。相反,传输范围内的所有设备都会接收消息,负责中继的设备能将消息转发至其传输范围内的所有其他设备。

“网络泛洪”这项技术在使用中往往是利弊参半。在蓝牙mesh网络的设计中,我们对此进行了针对性的优化,相信能够扬长避短。

网络泛洪的优势

网络泛洪的优势在于无需特定设备专门扮演集中式路由器的角色。集中式路由器一旦发生故障,就可能会导致整个网络无法运行。没有特定的路由也可能对网络造成灾难性的影响,但这种情况也可以通过在mesh网络中采用网络泛洪的方法来避免。

网络泛洪的方式也意味着消息一般能够通过多重路径到达其目的地。这就构建了一个相当可靠的网络。

优化mesh网络

蓝牙mesh网络也采取了一系列措施,支持采用网络泛洪的方式,同时优化每台设备、甚至整体网络的能耗。

所有数据包都包含一个称为TTL的字段,它可用于限制消息中继的跳数。由设备间歇性发送的心跳消息中包含的信息,能够让网络了解其拓扑结构、以及传到其他每台设备之间的跳数。这能够让设备将TTL设置为最佳值,从而避免不必要的中继操作。

每台设备都包含消息缓存,以确定自身是否已经中继过该消息。如果是,则会立即丢弃该消息,从而避免上层堆栈进行不必要的处理。

最有趣的是,功率非常受限的设备(例如由小型电池持续供电多年的传感器)可能被指定为“低功耗节点”。低功耗节点能够与一个或多个被指定为 “friends” 的设备协同工作。Friends并非功率受限,它可以作为低功耗节点,存储寻址到这一低功耗节点的消息,并且只有在低功耗节点需要时才传送消息。低功耗节点和“friends”之间的关系理所当然就称为“friendship”。

“Friendship”具体如何运转?

下面我们从节能的角度来进行解读。

低功耗设备通常将大部分时间用于传输数据,例如传感器。每当温度低于或高于指定阈值时,传感器才会发送温度读数,这种情况也许每天只会发生两次。这种不频繁的传输方案本身就使这类设备保持相当低的能耗。

但如果传感器需要不时地接收数据,又该怎么办呢?

例如,可能它需要确保网络中使用的安全密钥始终处于最新状态。或许需要根据季节修改这些温度阈值,采用不同的值。要使传感器直接接收消息,就需要开启无线电,以便数据接收。但大多数时候它什么都接收不到,但能量却会被消耗。

对设备来说,通过与“friends”的合作, 低功耗节点能够以合理的频率使用无线电来接收消息,但重要的是,相较于始终“聆听”所有消息,它能够以更低的频率工作,同时确保发送来的罕见事件也不会被遗漏。

“Friends” 能帮助低功耗节点完成大量工作。它们能够为所服务的低功耗节点存储消息,并在低功耗节点明确要求的情况下向其提供消息,低功耗节点可按照自身的规划进行操作,从而最有效地利用无线电。

市场上的蓝牙设备支持

蓝牙mesh网络虽然推出不久,但低功耗蓝牙(Bluetooth Low Energy)却面世已久。

那么市场上数十亿台设备呢?智能手机和平板电脑呢?它们能否访问蓝牙mesh网络?

低功耗蓝牙设备和mesh支持

幸运的是,答案是YES!

蓝牙mesh网络会指定一台设备来扮演代理节点(proxy node)的角色。代理节点包含一项标准:低功耗蓝牙GATT服务,具有两个GATT特性,分别是mesh代理数据输入(Mesh Proxy Data In)和mesh代理数据输出(Mesh Proxy Data Out)。诸如智能手机等低功耗蓝牙设备均可使用这些特性,与mesh网络进行数据收发。

这种mesh规格定义了一种代理协议(proxy protocol),同时通过代理节点的两个GATT特性交换的数据中包含代理协议PDU。

欲知代理节点的作用,请持续关注本系列后续文章~

安全性

安全性是蓝牙mesh网络设计的核心,并且强制使用。

蓝牙mesh网络中强制性使用安全性

每个数据包都经过加密和认证。通过合理使用序列号能够防止中继攻击。在重要流程中使用不对称加密技术可防止中间人(Man-in-the-middle)攻击。同时针对利用废弃设备的垃圾桶攻击提供保护。必要时还会刷新安全密钥。

“安全分级考量”(Separation of Concerns)是蓝牙mesh网络安全性中体现的重要原则。网络的安全性,以及诸如照明、供暖、或实体建筑安全等个别应用的安全性彼此独立。可使用不同的安全密钥来保护网络层操作,例如中继、或保护特定应用的消息内容。论其结果,举例来说,由于灯泡和照明开关具有相同的应用密钥,因此灯泡能够全面访问照明开关所发送消息中的数据。但是,尽管相同的灯泡能够将来自蓝牙物理访问令牌的消息中继到前门中的锁,却无法阅读那些消息应用层的内容。

本系列的后续文章中也将详细介绍安全性。我们还将密切关注一个称为 “开通配置” (Provisioning)的安全流程,设备可通过这一流程变身为蓝牙mesh网络的一员。此外,我们还将探讨如何从网络中安全地删除设备,以及如何在有需要时刷新安全密钥。

协议栈

蓝牙mesh网络引入了全新的协议栈。如之前所述,这一协议栈建立在低功耗蓝牙技术之上。下图描绘了协议栈的层级。

蓝牙mesh网络协议栈

该规格是深入了解各层责任的最佳方式。为帮助您更好地了解其工作原理,以下列出了协议栈各层负责的工作:

承载层(bearer layer):承载层定义了如何使用底层低功耗堆栈传输PDU。目前定义了两个承载层:广播承载层(Advertising Bearer)和GATT承载层。

网络层(network layer):网络层定义了各种消息地址类型和网络消息格式。中继和代理行为通过网络层实施。

底层传输层(lower transport layer):在需要之时,底层传输层能够处理PDU的分段和重组。

上层传输层(upper transport layer):负责对接入层进出的应用数据进行加密、解密和认证。它还负责称为“传输控制消息”(transport control messages)这一特殊的消息,包括与“friendship”相关的心跳和消息。

接入层(access layer):负责应用数据的格式、定义并控制上层传输层中执行的加密和解密过程,并在将数据转发到协议栈之前,验证接收到的数据是否适用于正确的网络和应用。

基础模型(foundation models):基础模型层负责实现与mesh网络配置和管理相关的模型。

模型(models):模型层与模型等的实施、以及诸如行为、消息、状态等的实施有关。

蓝牙mesh网络的未来

我们期待蓝牙mesh网络广泛应用于各行各业和各种应用,预计最初会从楼宇自动化、商业照明和传感器网络等应用开始。尤其令人兴奋的是蓝牙mesh网络在商业照明方面的应用。试想一下,有了正确的固件,照明系统能实现的就不仅是无线灯光控制,还能够成为楼宇中各种蓝牙服务的平台,如物资跟踪和定位服务!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48092

    浏览量

    740031
  • 蓝牙
    +关注

    关注

    112

    文章

    5428

    浏览量

    165650
  • 电池
    +关注

    关注

    82

    文章

    9811

    浏览量

    123521
收藏 人收藏

    评论

    相关推荐

    蓝牙Mesh技术正式发布,Nordic第一个推出mesh SDK

    支持成千上万个节点,提供工业级性能。安全性:提供工业级的安全防护,抵御所有已知攻击。蓝牙Mesh提供的全球互通性,将确保不同品牌的产品能够
    发表于 07-21 12:29

    如何支持物联网安全性和低功耗要求设计

    和DS28C36都支持这种双向认证协议。结论不断扩大的网络威胁阵列迫切需要为任何连接的设备构建安全性。但是,对于用户而言,安全功能需要保留在
    发表于 12-26 16:30

    蓝牙mes如何保障安全

    应用,您可以在开发产品时自定义网络安全性,这在采用单一设备连接的情况下很常见。然而,由于蓝牙mesh网络建立在成千上万台
    发表于 07-16 08:42

    蓝牙mesh系列的网络安全性

    蓝牙mesh网络安全性概览为何安全性如此关键?安全性可谓是物联网(IoT)最受关注的问题之一。从农业到医院、从智能家居到商业智能建筑、从发电
    发表于 07-22 06:27

    蓝牙mesh系列的安全性

    作者:任凯 蓝牙技术联盟亚太区技术项目经理蓝牙mesh网络启动配置Part1受WannaCry攻击的国家地区2017年5月,臭名昭著的勒索软件WannaCry向全球各地的电脑发起了攻击
    发表于 07-22 06:11

    详解蓝牙mesh网络开发

    作者:蓝牙技术联盟EMEA技术项目经理 Martin Woolley 小码哥蓝牙mesh网络让您在无线设备之间得以建立多对多的通信关系,并且
    发表于 07-24 06:19

    解密蓝牙mesh系列 | 第七篇

    ,本系列后续文章中将进一步深挖有关启动配置安全性的细节问题。 借助代理节点使用代理协议时需要注意什么? 智能手机等设备要想通过代理节点、借助代理协议与蓝牙mesh
    发表于 07-25 08:36

    蓝牙Mesh做智能照明方案的好处

    蓝牙支持BLE4.0/4.2协议,蓝牙5.1相比旧版大大降低了蓝牙的功耗,使人们在使用蓝牙的过程中再也不用担心蓝牙耗电问题。高可靠
    发表于 05-14 11:04

    蓝牙Mesh的架构及如何通过蓝牙Mesh网络收发消息?

    在本系列文章的和,我们讨论了蓝牙Mesh的架构及如何通过蓝牙Mesh网络收发消息,这一篇文章主要讨论Me
    发表于 02-25 07:59

    什么是蓝牙mesh网络安全性

    蓝牙mesh网络安全性的基本概念
    发表于 02-25 08:22

    如何向蓝牙mesh网络中添加或移除设备

    蓝牙mesh启动配置的安全流程如何向蓝牙mesh网络中添加或移除
    发表于 03-02 07:01

    蓝牙mesh网络它的安全性体现在何处?

    蓝牙mesh网络安全性体体现在哪几个方面
    发表于 03-29 08:20

    蓝牙Mesh网络是什么?手机如何接入到蓝牙Mesh网络

    蓝牙Mesh网络是什么?蓝牙Mesh网络有哪些特性?手机如何接入到
    发表于 06-26 07:18

    蓝牙Mesh技术—边缘网络的成长

    应用层),并具有良好的兼容:保证异厂家设备之间的互操作蓝牙Mesh网络旨在满足工业领域严格
    发表于 05-17 15:39

    了解蓝牙mesh网络市场设备支持安全性

    蓝牙技术是享誉全球的品牌之一,也是全世界应用最为普遍的无线通信技术之一。从2000年到现在,蓝牙技术已经广泛应用于数十亿台设备。就2016年而言,制造商的蓝牙
    的头像 发表于 09-25 08:06 3323次阅读