欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPTX文档下载  

    蓝牙mesh网络基础ppt课件.pptx

    • 资源ID:1362146       资源大小:1.82MB        全文页数:29页
    • 资源格式: PPTX        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    蓝牙mesh网络基础ppt课件.pptx

    毕健,iHealth中国研发中心蓝牙高级工程师,邮箱:bi_,译文版本:V1.0完成时间:2017.11.11 备 注 :,1,蓝牙mesh基础,致开发者:2017夏,蓝牙低功耗技术引入了一种新的网络拓扑类型 - Mesh。mesh的引入使得蓝牙在低功耗无线通信技术领域更具优势,在许多新兴领域 如智能家居,工业物联网,楼宇自动化等势必会得到更好的应用。,蓝牙,Bluetooth Mesh Networking / An Introduction for Developers,Contributors,Martin WoolleyAuthorSarah SchmidtGraphic Designer,目录, 2017 Bluetooth SIG Proprietary.,2,1.0 介绍 . . 42.0 执掌生活 . . 62.1智能建筑获得真正的智能73.0 蓝牙mesh基础 . . . . 8,Bluetooth Mesh Networking / An Introduction for Developers,3.0 蓝牙mesh基础 (续)中继节点低功耗节点与友节点代理节点节点配置, 2017 Bluetooth SIG Proprietary.,3,15151516,4.0 Mesh系统架构. . . . . . . 174.1概述18,5.0 安全性. . 20,Mesh 网络安全特性具有强制性Mesh 网络安全性基本原则关注点分离与mesh安全密钥节点移除,密钥刷新及垃圾桶攻击隐私重放攻击,212121222223,6.0 蓝牙mesh在行动. . . 24,消息发布与传递多路径传递管理型网络泛洪协议栈中消息的传递,25252525,7.0 蓝牙Mesh 正待勇士开拓的疆场 . 277.1参考资料28,back to contents,Bluetooth Mesh Networking / An Introduction for Developers,1.0 介绍, 2017 Bluetooth SIG Proprietary.,4,back to contents,Bluetooth Mesh Networking / An Introduction for Developers,1.0 介绍,2000年,蓝牙技术面世,用以替代线缆进行无线通 信。此后的十几年间,蓝牙得到了快速的发展,很快在无 线音频及计算机周边产品如无线鼠标,键盘等领域占据了 统治地位。2010年,蓝牙低功耗技术(BLE)面世,推动蓝牙技 术向前迈进了重要一步 。其影响深远,主要体现在智能 手机,平板,以及医疗健康,智能家居,可穿戴产品等领 域。,基于网状拓扑类型的无线通信系统可以覆盖更大的范 围,使得通信距离变长,同时系统的鲁棒性得到加强。但 是他们仍然是一种小众技术,主要是因为与现有的大多数 计算机,智能手机等设备不兼容,因而没有得到大范围的 推广和应用。,为了将mesh技术应用到蓝牙中,120个蓝牙SIG成员公 司先后参与到这项工作中。与以往情况不同,此次规模之 大,涉及范围之广,充分表明了业界对蓝牙mesh技术标准制定的迫切需求。,蓝牙mesh技术的添加代表了一种技术类型的变化,这 种变化如此巨大,我们甚至可以认为这对蓝牙技术标准来 说是一次整体模式的转变。,(译者注:蓝牙特别兴趣小组 The Bluetooth Special Interest Group (SIG),是一个非盈利性组织,致力于蓝牙 技术标准的开发,和蓝牙技术应用及商标的授权。公司成 立于1998年,总部位于美国华盛顿。), 2017 Bluetooth SIG Proprietary.,5,back to contents,Bluetooth Mesh Networking / An Introduction for Developers,2.0执掌生活, 2017 Bluetooth SIG Proprietary.,6,back to contents,Bluetooth Mesh Networking / An Introduction for Developers,2.0 执掌生活,智能建筑将获得真正的智能 想象一下,在一个天色昏暗的冬日的早晨,你驱车前 往公司。公司的安全系统识别了你的车,让你进入公司, 同时分配给你一个停车位。此时,你的停车位上的灯亮 起,指引你快速停到那个位置。之后,这个车位分配系统 将自动进行更新,显示该车位已使用。,进入公司大楼后,相应的传感器注意到有人进入,并 从你身上的可穿戴设备如手表等识别到你。你乘坐电梯到 达二楼,像往常一样,你是第一个到达的。当电梯门打开 时,从电梯室到办公室及开水间的灯自动打开。咖啡在你 们公司是非常重要的,所以开水室的灯才会自动打开,其 它区域的灯关闭,从而节省能量。 你走进办公室,屋顶灯和台灯已经打开了,并且是你最喜 欢的亮度等级。你注意到办公室温度比其它区域温度略高, 这正是你之前设置的。你靠近办公电脑,此时电脑自动登 陆你的账户。 现在你可以开始办公了,并且整个办公环境考虑到了个 人偏好,充分满足了你的需求。很显然这种这种系统是十分高 效的,那么它是如何实现的呢?,你们公司几个月前使用了蓝牙mesh技术,最开始安装在照 明系统上,随后添加到Occupancy sensor,环境传感器,无线 暖气控制系统,停车管理系统等网络中。这样,公司可以在 电力和热力系统上省上不少费用,而且工作环境更加人性 化,从而使员工的工作效率更高。整个系统的维护成本也 在下降,例如加入电灯开关不再需要布置昂贵且麻烦的电 线了。系统采集的数据可以供大楼管理人员分析,从而了 解这栋建筑,以及它所提供的服务和人们对这些服务做出 的反应,进而对整个系统进行优化。,我们可以控制某栋建筑提供的服务,与其进行无线交 互,使其行为更加自动化,而蓝牙mesh正使这一切更加方便且低成本。你甚至会感到惊讶之前没有这些技术是怎 么生活的。,(译者注: Occupancy sensor,一种室内运动检测 设备,检测到人体时会自动打开灯,温度调节装置及通 风系统。这种传感器多使用红外,超声,微波等技术, 主要用来节省能量,提供自动控制。),图 1 - 蓝牙mesh可以分布于办公室和停车处, 2017 Bluetooth SIG Proprietary.,7,back to contents,Bluetooth Mesh Networking / An Introduction for Developers,3.0蓝牙mesh基础, 2017 Bluetooth SIG Proprietary,8,back to contents,Bluetooth Mesh Networking / An Introduction for Developers,3.0 蓝牙mesh基础概念及术语要认识蓝牙mesh技术,需要读者了解一些新的技术 概念与术语,这些在之前蓝牙低功耗(BLE)的世界里是没有的。本章我们将带你认识一些最基本的概念及术语。mesh vs 点对点我们所见到的大多数BLE设备都是进行一对一的数据通信的。这是一种点对点的网络拓扑类型,在蓝牙核心规 范中被称为“微微网”(piconet)。,假设一个智能手机与一个心率检测器建立了一个点对 点的连接,这样它们之间就可以传输数据了。蓝牙的一个 优点就是可以让设备建立多个连接,所以这台智能手机可 以再与另一个运动追踪设备建立连接。此时,手机可以同 另外两台设备进行通信,而这两台设备之间无法直接进行 沟通。,与以上情况相反的是,mesh拥有多对多的网络拓扑 类型。每一台设备都可以与网络中的其它设备进行通信(我们会在第6章进行更深入的讨论)。设备间的通信以消息的形式传递,一台设备可以将某一台设备发来的消息 中继到另一台设备,这样就可以扩展端到端的通信范围, 这个范围远超过一个单独设备蓝牙无线电所覆盖的范围。,设备和节点mesh网络中的单台设备称做节点(node),网络外 的设备称为“未开通配置设备”(unprovisioneddevices)。将某个“未开通配置设备”转化为网络节点的过程称为“开通配置”(provisioning)。例如,你买了一 个带有mesh功能的蓝牙灯,你需要把它带回家并进行简 单的配置,从而将其加入到家中原有的mesh网络中,这样你就可以通过家里的电灯开关与调光器对其进行控制 了。这一过程即为“开通配置”(provisioning)。,“开通配置”过程是每一台新设备都要经历的,在这 个过程中,新设备会获取一系列的密钥,同时告知“启动 配置设备”(provisioner device,通常是智能手机或者平板电脑)有新设备加入到网络中。其中有一个密钥叫做网络 密钥,即NetKey。在后续章节我们会再对mesh的安全性进 行深入讨论。Mesh网络中的每个节点都拥有至少一个NetKey,正 是这个NetKey让其成为相应网络的一员。节点的正常工作 需要满足许多条件,而NetKey则是最基本的第一步工作。 随后我们会对“开通配置”的过程展开深入的讨论,在此 不再赘述。,图 2 - 一种具有消息中继功能的多对多网络拓扑类型, 2017 Bluetooth SIG Proprietary.,9,back to contents,Bluetooth Mesh Networking / An Introduction for Developers,元素 有些节点由多个独立的部分组成,每一个部分都可 以进行单独的控制。在蓝牙mesh中,这些独立的部分称 为元素(element)。图3即为网络中的一个灯节点,它 有3个元素,每个LED灯泡有一个元素。每个节点至少拥 有一个元素,称为主元素(Primary Element)。节点中 的每个元素都有一个唯一确定的地址,称为单播地址 (unicast address),这样每个元素都可以独立寻址。,条响应信息。这条响应信息有两个作用:1.告知消息发送 方,消息已接收;2.返回消息接收方需要告知发送方的某 些数据。,需要应答的消息如果没有得到响应,则可能会被发送 多次,所以这种消息必需具有幂等性。幂等性意味着这种 消息不论到达接收节点多少次,与其到达接收节点一次产 生的效果都是相同的。否则如果因为某些意外,消息多次,到达接收节点,则有可能使接收节点的状态变得不确定。 不需要应答的消息不要求接收者发送响应信息。地址 消息必须从一个地址发送到另一个地址。 蓝牙mesh协议中定义了3种地址(还有一种未分配地 址在此不做讨论)。 单播地址用于唯一确定单个元素。在“开通配置”过 程中,会将单播地址赋给设备。 群组地址是一种多播地址,它可以代表一个或多个元 素。 群组地址要么是动态分配的,要么是蓝牙技术联盟 预先定义的(SIG固定群组地址)。蓝牙技术联盟已经定 义了4个固定群组地址,即All-proxies, All-friends, All- relays及All-nodes。在后续章节中我们会详细解释什么是 Proxy(代理), Friend(朋友)及 Relay(中继) 。,我们可以通过配置应用程序来建立动态群组地址,这 些地址反映了一栋建筑的某种实体分配,例如为大楼里的 每一个房间定义一个群组地址。,虚拟地址可以赋给一个或多个元素,横跨一个或多个 节点。虚拟地址与128位UUID的形式类似,任何元素都可 以与其相关联,它更像一个标签。 虚拟地址可以在出厂前就进行预先配置,然后用于某 些特定场景,例如使某个厂商制作的投影仪的寻址更加方 便。,图 3 - 三个元素组成一个灯节点, 2017 Bluetooth SIG Proprietary.,10,消息 当某个节点需要获取其它节点的状态时,或需要以 某种方式控制其它节点,它会发送消息(message)。 如果某节点需要向其它节点汇报状态,它也会发送消 息。,在mesh网络中,所以通信都是以消息的形式传递 的。协议规范中定义了多种消息类型,每种消息类型都 有自己唯一的操作码。,消息可以统分为两种类型:需要应答和不需要应 答。需要应答的消息要求接收节点接收到消息后返回一,back to contents,Bluetooth Mesh Networking / An Introduction for Developers,发布/订阅,在蓝牙mesh中,发送消息称为发布( publish )。 将某个节点配置成可以接收特定消息的过程称为订阅(subscribe),即如果某个节点可以接收某条消息,那么我们就说这个节点“ 订阅 ”了这条消息。,消息都是发往组地址或者虚拟地址的,而且这些地址都 具有可读性,具有现实意义,例如代表某一个房间。所以使 用起来既方便有直观。,在图4中我们可以看到,开关1可以发布消息到厨房 组地址(上文我们已经提到,组地址可以代表某个房间)。1号,2号和3号灯节点都订阅了厨房地址,因此可 以接收和处理发往该地址的消息。也就是说,1号,2号 和3号灯可以被1号开关控制。 同理,开关2可以发布消息到客厅组地址,而只有3 号灯订阅了该地址,所以开关2只能控制3号灯。从图中 我们也可以看到,一个节点可以订阅多个组地址,如3号 灯节点同时订阅了厨房和客厅两个组地址。蓝牙的mesh 功能非常强大而且灵活,我们还可以看到多个开关可以 向一个组地址发布消息,如开关5, 6都可以向花园组地 址发布消息。,使用组地址和虚拟地址来发布和订阅消息有许多好 处。当我们移除,替换或者添加节点时,不需要重新配置 其它节点。想象一下你要在家里装一个灯有多麻烦你就知 道这种方式有多方便了。例如有新设备需要加入到客厅网 络中,只需经过“开通配置”过程并订阅相应的客厅组地 址就可以了,其它节点并不会受到影响。开关2依然可以 向客厅组地址发布消息,不过现在它可以控制3号灯与新 加入的灯了。,状态和属性 元素可能处在各种条件下,在蓝牙mesh中我们称之 为状态(state)。一个元素可以有多个状态,每个状态都 是一组特定值(在下面的服务器模型中会再做介绍)。 状态与特定的行为有关,不能在其它地方重用。,例如,蓝牙mesh定义了通用开关状态来形容某个 电灯可能存在的状态,为其赋1(on)电灯打开,为其赋 0(off)电灯关闭,就这么简单。 属性(property)与状态类似,它们都包含与元素 相关的数值,但在其它方面二者存在显著差异。,发布, 2017 Bluetooth SIG Proprietary.,11,订阅,厨房,客厅,走廊,卧室,花园,图 4 - 发布/订阅,Switch 6,Switch 5,Switch 4,Switch 3,Switch 2,Switch 1,Light 1,Light 2,Light 3,Light 4,Light 5,Light 6,Light 7,Light 8,Light 9,back to contents,Bluetooth Mesh Networking / An Introduction for Developers,熟悉BLE的读者应该了解特性(characteristic),它们 是一种没有与特定行为相联系的数据类型,这样它们就很 容易地得到重(chong)用。利用上面提到的属性,可以 将特性与具体含义相联系。有一点需要特别注意,这里提 到的属性(property)与我们在BLE协议栈中定义的属性(attribute)是完全不同的,为了防止混淆,我们也可以 将前者翻译成“性质”(property)。 为了加深对属性的认识,我们考虑一个具体的例子。有这 样一个特性,称为“温度8”,它具有多个相关属性,包括室内 温度与室外温度。当接收客户端接收到温度值时,可以根 据对应属性值,来判断这个温度是室内温度还是室外温 度。,属性分为两类,分别是来自制造商的只读属性和来自 系统管理员的可读写属性。,消息,状态及属性,蓝牙mesh网络的正常工作依赖于消息的传递。某个特 定类型的消息可以对一个或多个状态值进行操作。消息可 以分为3类,简称为GET,SET,STATUS,对应于蓝牙mesh网络支持的3种操作。 GET消息可以用来向一个或多个节点请求状态值,之 后,相应节点会返回STATUS信息,告知请求的状态值。 SET消息可以改变既定状态的值。有些SET消息需要 应答,要求返回一条STATUS消息 ,有些消息不需要应 答。 STATUS消息可以用来应答GET消息,也可以用来应 答SET消息或者通过某元素中的定时器定时发送。 我们可以通过消息操作码(opcode)识别到特定状 态。另一方面,我们也可以在通用属性相关消息中使用16位属性ID来直接引用属性(具体操作细节请参考蓝牙mesh相关技术文档)。,状态转变,从一个状态转变为另一个状态的过程叫做状态转换, 转变的过程可能是瞬时的,也可能需要经过一段时间,这 段时间叫做转换时间。状态转变可能会对节点应用层的行 为产生影响。,绑定状态 状态之间也可能存在某种关系,一种状态改变会导致 另一种状态也改变,这种关系称为状态绑定(state binding)。一个状态可以与其它多个状态绑定。,例如,通过一个调光器控制一盏灯。这盏灯有两种状 态,即通用开关状态和通用等级状态,他们之间相互绑 定。减少灯的亮度等级,直到亮度等级为0,这将导致通 用开关状态由开变为关。,通用开关服务 器,通用开关客户 端,图 5 - 通用模型, 2017 Bluetooth SIG Proprietary.,12,back to contents,Bluetooth Mesh Networking / An Introduction for Developers, 2017 Bluetooth SIG Proprietary.,13,模型 模型将之前提到的概念组合在一起,定义了元素的功 能。当前蓝牙mesh规范中一共定义了3类模型。,第一种是服务器模型(server model),它定义了一 系列的状态,状态转换,状态绑定以及模型中元素可以收 发的消息。同时,它也定义了与消息,状态,状态转换相 对应的行为。,客户端模型(client model )没有定义任何状态,它 只定义了几种消息。我们可以利用这些消息来对相应服务 器模型中的状态进行操作,如GET,SET及STATUS。,控制模型(Control model)包含一个服务器模型和一 个客户端模型。服务器模型可以用来与其它客户端模型进 行通信,而客户端模型可以用来与其它服务器模型进行通 信。,我们可以通过扩展某个模型来创建新的模型。不过有 一种模型不能扩展,这种模型称为root模型。,模型不能被改变,也就是说我们不能向模型中加入或 者移除相关行为。实现新模型的唯一方式就是扩展已经存 在的模型。,通用性 生活中我们不难看出,很多设备本质上都存在着相似 的状态。例如灯,风扇,电源插座等等,它们都具有开和 关两种状态。 因此,蓝牙mesh模型规范定义了许多可重用的通用状 态,例如通用开关状态(Generic OnOff),通用等级状态(Generic Level)。 同理,我们还定义了一些通用消息,来对通用状态进 行处理,例如Generic OnOff Get和Generic Level Set消息。,通用状态及通用消息可以用在通用模型中。通用模型 包括通用客户端模型,通用服务器模型,如通用开关服务 器,通用等级客户端等。,利用通用性,不需要创建新的模型就可以将蓝牙 mesh功能添加到多个设备中。因为可以通过扩展某个模 型来创建新的模型,所以我们可以利用通用模型为新设备 快速创建合适的模型。,情景想象一下,某天晚上,你想要将卧室的温度调到20摄氏度,将卧室吊灯调到合适的亮度,再将桌上的台灯调成 令人舒适的暖色调等等。也许你会想到这需要一个一个手 动设置,那你就out啦!我们可以在应用程序上保存这些 配置,在需要的时候调用它们。这些保存的配置称为“情 景”(scene)。我们可以通过16位情景序号来识别特定 的情景,在每个mesh网络中,情景序号都是各不相同的。,利用情景可以让许多节点同时到达某种既定状态,省 去了单独配置每个节点的麻烦。,back to contents,Bluetooth Mesh Networking / An Introduction for Developers, 2017 Bluetooth SIG Proprietary.,14,开通配置(Provisioning) 开通配置是指将某台设备加入到mesh网络中,从而变成一个节点的过程。它涉及几个阶段,期间会生成许多 安全密钥,这一过程对安全性要求比较高。,开通配置通常是通过手机或者平板电脑上的应用程序 完成的。此时,手机或者平板电脑通常被称为启动配置设 备(Provisioner)。,开通配置的过程涉及5个步骤,下面就每个步骤分别 展开讨论。第 1 步. 发送Beacon信号 为了支持蓝牙mesh的不同特性,包括但不限于“开 通配置”,我们引入了新的GAP广播类型(参考蓝牙核 心规范补充),包括广播类型。未开 通配置的设备(如需要加入mesh网络的灯)可以发出 广播数据包,声明自己是未开通配置的设备,可以被启动配置。用户可能需要按照一定的方 式,如键入一组按钮,或长按某个按键一段时间,从而 启动新设备的广播,第 2 步. 邀请 在这一步骤中,启动配置设备(手机等)向需要加 入mesh网络的设备(如灯)发送邀请,实际上发送的 就是“开通配置邀请PDU”,一种特定格式的数据包。 此时需要开通配置的设备(如灯)会返回一定的数据 包,即“开通配置能力PDU”告知自身情况。,第 4 步. 认证在认证的过程中,新设备会根据自身输出能力按照 某种方式输出一个或多个随机数(这一点与蓝牙配对方 式有点类似)。例如新设备可以闪几下LED灯(闪烁的次数代表输出的验证值),或者有屏幕的话可以直接输 出数字 。用户在启动配置设备上输入相应数字,整个 认证的过程就全部完成了。,第 5 步. 启动配置数据分发 认证完成之后,会利用两台设备的私钥和交换的对 等密钥生成一个会话密钥(Session Key)。之后利用会 话密钥来加密后续的数据分发,完成剩余的开通配置过 程,包括网络密钥(NetKey)和设备唯一地址,即单 播地址(Unicast Address)的分配。,开通配置过程完成后,新设备(如灯)将会拥有网 络的NetKey,这是一个称为“IV索引(IV Index)”的mesh安全参数,且拥有一个由启动配置设备(如手机)分配的单播地址。至此,这台新设备就正式成为节 点了。,特性 所有的节点都可以发送和接收mesh消息,但是我们也可以单独赋予某些节点额外的特性,使其拥有某些特 定功能。一共有四种特性可以选择:中继(Relay), 代理(Proxy),友(Friend)以及低功耗(Low Power)特性。每个节点都可以支持以上四种特性中的0 个或者多个,而且随时可以取消已经配置好的特性。,第 3 步. 交换公共密钥 启动配置设备(如手机)和需要开通配置的设备(如灯)交换公钥。公钥可以是固定的,也可以是暂时 生成的。公钥的交换可以通过蓝牙传输,也可以使用带 外数据(OOB)交换的方式。例如使用NFC或者二维 码进行数据交换,这样数据传输的安全性更高。,back to contents,Bluetooth Mesh Networking / An Introduction for Developers, 2017 Bluetooth SIG Proprietary.,15,中继节点 支持中继特性的节点称为中继节点,它可以重发接收 到的消息。通过中继技术,消息可以进行多次“跳跃”(hop),这样就可以将消息传输到整个mesh网络。 mesh网络PDU中有一个字段称为TTL(Time ToLive)。TTL利用一个整数值来限制每条消息可以在网络 中跳跃(被中继)的次数。例如TTL等于3时,表示消息 最多被中继3次。TTL等于0则表示消息不能被中继,只能 进行单次传输。节点每隔一段时间发送一次TTL,这样可 以了解网络拓扑结构,充分利用mesh网络,避免不必要的消息中继,从而节省功耗。,低功耗节点与友节点 有些节点可能采用电池供电,所以需要尽可能地降低 功耗。这种类型的设备可能主要关心发送消息,但也需要 偶尔接收消息。 例如,有一个采用纽扣电池供电的温度传感器,当温 度超出既定阈值上限或者下限时,传感器每隔一分钟发送 一次温度值。如果温度不超出阈值,则不发送消息。如果 不考虑功耗问题的话,这些行为都很容易实现。,用户可能会向传感器发送消息,设置新的阈值,这种 行为比较少见,因为用户不可能有事没事地改变阈值,用 户可能会在季节改变或者新加设备时设置阈值。但是传感 器的阈值必须是能够改变的。接收消息的频率对接收器占 空比和功耗有影响。100%占空比能够确保传感器不丢失任 何一条温度阈值配置消息,但是功耗是非常大的。低占空 比可以节省功耗,但是也可能丢失某条配置消息。 为了解决这一难题,蓝牙mesh引入了友节点(friend node)及友谊(friendship)的概念。 在上面的例子中,温度传感器可以设计成低功耗节点(Low Power nodes)。在传感器的配置数据中,会设置特定的标志,标记这是一个低功耗节点。,低功耗节点会同另一个节点配合工作,这个节点对功 耗没什么特别的要求(可能接入市电,有固定的电源), 这个节点称为友节点。友节点保存发往对应低功耗节点的 消息。低功耗节点会对友节点进行轮询(Poll),查看是 否有新消息。低功耗节点轮询的频率非常低,这样就可以 降低功耗,同时降低丢失配置消息的可能。当低功耗节点 对友节点进行轮询时,保存在友节点的消息就会一个接一 个地发到低功耗节点。在发出的数据包中有一个 MD(more data)标志,用来指明友节点是否还有消息需 要发送。,低功耗节点与友节点的关系称为“友谊”(friend-ship)。正是这种友谊关系,才使得功耗受限的节点能够 在蓝牙mesh网络中正常接收消息,在正常工作的同时保持 较低功耗。,代理节点 在我们的生活中有大量的BLE设备,例如智能手机或者平板电脑。到现在为止,已经上市的蓝牙设备都还没有 集成蓝牙mesh网络协议栈,它们只使用了BLE协议栈以及 传统蓝牙协议栈。所以它们只能通过通用属性规范(Generic Attribute Profile-GATT)与其它设备进行信息交互。 代理节点能够实现GATT和蓝牙mesh节点之间的信息交互。我们定义了代理协议,用于面向连接的承载层,如GATT。GATT设备(没有集成蓝牙mesh协议栈)可以通 过代理节点读写代理协议PDU。 总之,代理节点可以允许没有集成蓝牙mesh协议栈的BLE设备与mesh网络中的任何节点进行通信。,back to contents,Bluetooth Mesh Networking / An Introduction for Developers,P,图 6- 智能手机通过代理节点与mesh网络进行通信,P = 代理节点, 2017 Bluetooth SIG Proprietary.,16,节点配置 配置服务器模型(Configuration Server Model)定义 了许多状态,我们可以使用配置客户端模型(Configuration Client Model)访问这些状态。配置状态与节点可以产生的行为和能力有关,与具体的应用或者设备 类型无关。,例如,我们可以利用“配置服务器状态”来指明某个 节点是代理节点,中继节点还是其它节点。节点订阅的地 址保存在订阅列表中。网络和子网密钥以及应用密钥都保 存在配置块中(configuration block)。,配置客户端模型与配置服务器模型可以对相应的配置 服务器模型的状态进行操作,这些操作包括GET,SET及 STATUS,它们是通过相应的配置消息完成的。,back to contents,Bluetooth Mesh Networking / An Introduction for Developers,4.0mesh系统架构, 2017 Bluetooth SIG Proprietary.,17,back to contents,Bluetooth Mesh Networking / An Introduction for Developers,4.0 mesh系统架构,概述 本章我们将深入了解蓝牙mesh的体系结构,认识mesh网络层级分布以及各个层的功能。我们还会将蓝 牙mesh结构与BLE结构进行对比说明,这将更助于我们理解。,承载层 发送和接收mesh消息需要底层协议栈的支持,而承 载层(bearer layer)则定义了如何使用底层BLE协议栈传输 网络PDU。目前定义了两个承载层:广播承载层和GATT承载层。 广播承载层利用BLE GAP广播和扫描特性来发送和接收mesh PDU。,对于不支持广播承载层的设备,可以利用GATT承载,层通过使用代理协议与mesh网络中的节点进行通信。,代理协议封装在GATT操作中,包括特殊定义的GATT特性。mesh代理节点通过实现上述GATT特性,来支持GATT承载层和广播承载层。这样就可以在两种承载层间 转换和中继消息。,网络层 网络层(network layer)定义了多种消息地址类型和网 络消息格式,这样传输层的PDU就可以通过承载层传输了。它可以支持多个承载层,每个承载层可以有多个网络 接口,如用于同一个节点不同元素间通信的本地接口。 网络层决定了用哪一种网络接口来输出消息。来自承载层的消息会先经过一个输入滤波器,判断消息是否需要 传入网络层进行进一步处理。同理,输出消息会经过输出 滤波器,来决定消息是否要传递到承载层。,我们还可以通过网络层实现代理和中继特性。 从图7可以看到,蓝牙mesh网络结构的最下层是BLE。事实上,这不仅仅只有一层,而是整个BLE协议 栈。很显然,蓝牙mesh正是利用BLE进行实际上的信息通信的。接下来我们将自底向上分别介绍各个层。,模型,基础模型,上层传输层,底层传输层,网络层,承载层,BLE,接入层, 2017 Bluetooth SIG Proprietary.,18,图 7 - 蓝牙mesh架构,back to contents,Bluetooth Mesh Networking / An Introduction for Developers, 2017 Bluetooth SIG Proprietary.,19,底层传输层 底层传输层(lower transport layer)可以将来自上层传 输层的PDU发到对端设备的底层传输层。它还可以进行PDU的分段和重组(这一点与BLE协议栈中的L2CAP类 似)。对于那些不能放入单个PDU的长数据包,底层传输层会对其进行分段,将其放入多个PDU中传输。当其它设 备的底层传输层收到数据包后再将其重新组合,放入单个 上层传输层PDU中,再向上传输。上层传输层 上层传输层(upper transport layer)可以将来自或者发往接入层的应用数据进行加密,解密和认证。在不同节点 之间,上层传输层还负责“传输控制消息”的生成和发 送。传输控制消息与下文将要提到的“友谊”和“心跳”有关。接入层 接入层(access layer)定义了应用如何使用上层传输 层。包括:定义应用数据格式定义和控制上层传输层中的数据加密和解密过程验证从上层传输层传来的数据是否对应于正确的网络 和应用,如果正确则将其传入上层协议栈中 基础模型层 基础模型(foundation model)层负责涉及mesh网络配置和管理的基础模型的实现。模型层 模型(model)层定义了模型的实现以及模型规范中定义的行为,消息,状态,状态绑定等的实现。,back to contents,Bluetooth Mesh Networking / An Introduction for Developers,5.0安全性, 2017 Bluetooth SIG Proprietary.,20,back to contents,Bluetooth Mesh Networking / An Introduction for Developers,5.0 安全性mesh网络安全特性具有强制性 在BLE中,允许profile设计者采用不同的安全机制。例如使用不同的蓝牙配对方法,或者为某一个特性提供 单独的安全防护。也就是说,在BLE中,安全防护是可选 择的,允许设备不进行安全防护。由产品的设计者或制 造商负责分析产品的安全风险,满足具体的安全需求。 相反,蓝牙mesh的安全防护是强制执行的。不管是 网络,单个应用还是具体的设备都需要进行加密,并且 在任何条件下都不能人为地关闭或减弱。mesh网络安全性基本原则 蓝牙mesh网络会采用以下几个基本原则来确保网络的安全性:1. 所有的mesh消息都要经过加密和认证。,2. 网络安全性,应用安全性,设备安全性相互独立。 也就是下面要提到的“关注点分离”。,3. 在mesh网络中,我们可以通过密钥刷新程序来更新 节点的安全密钥。,4. 消息模糊化可以让外界难以追踪网络内所发送的消 息,进而提供了一种隐私保护机制,难以让外界跟 踪节点的活动。,5. 蓝牙mesh安全性可保护网络免受中继攻击。,6. 设备添加到mesh网络从而成为节点的过程本身就是 是一个安全的过程。也就是前面提到的,开通配置 过程。,7. 节点可以从网络中安全地移除,这样可以防止垃圾 桶攻击(trash can attack)。,图 8 - 蓝牙mesh网络的安全性是最重要的, 2017 Bluetooth SIG Proprietary.,21,关注点分离与mesh安全密钥 蓝牙mesh网络安全性的核心是三种安全密钥。分别使用这些密钥对网络中的不同部分进行加密,这在网络 安全性方面是一种关键能力,也就是我们要说的“关注 点分离”技术。,为了更好地了解这种技术,我们举一个例子。有一个已 经加入蓝牙mesh网络的灯。它可以当作一个中继节点来中继 消息。它可以中继门窗安全系统的消息,但是它不能理解消息 的具体含义,只需要中继消息就行了。照明系统和门窗安全系 统相当于两个不同的子系统,它们使用不同的密钥进行加密, 这样整个网络的安全性就得到了提升。 蓝牙mesh网络里的每个节点都有一个相同的网络密钥 (NetKey)。正是这个密钥才使得节点成为这个网络的一员。 网络加密key与隐私key都是由这个网络密钥生成的。,back to contents,Bluetooth Mesh Networking / An Introduction for Developers, 2017 Bluetooth SIG Proprietary.,22,节点可以利用NetKey来加密和认证网络层,这样诸如 中继之类的网络功能就可以执行了。但是NetKey不能加密 应用数据。 蓝牙mesh网络可以分成几个子网络,每个子网络都有 其单独的NetKey,这个NetKey只有当前子网络成员节点才 有,其它节点没有。这种方式可以分隔开特定的物理区 域,例如酒店中的每个房间都可以拥有一个单独的 NetKey。 只有拥有应用密钥(AppKey)的节点 才能解密相应 的应用数据。在一个mesh网络中,可以有许多不同的AppKey,每个AppKey对应一种特定的应用(照明应用, 热力应用,门窗安全系统应用等)。例如,灯和开关拥有 灯应用的AppKey,但是没有热力系统的AppKey,只有网 络中的温度调节装置才拥有热力系统的AppKey。,上层传输层会在将消息传输到接入层前,利用AppKey对消息进行解密和认证。,每个AppKey只与对应的NetKey有关系,这种关系称 为“密钥绑定”(key binding)。也就意味着,一个拥有 既定AppKey的应用只能工作于某个特

    注意事项

    本文(蓝牙mesh网络基础ppt课件.pptx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开