Bluetooth® Mesh 功能增强摘要

发布 : 1.0.0
文件版本 :   1.0
最后更新 : 2023 年 9 月 19 日
作者 :   

马丁-伍利Bluetooth SIG
Szymon Slupik,SILVAIR Inc.
北欧半导体公司 Omkar Kulkarni
硅实验室 Hannu Mallet
达蒙-巴恩斯Bluetooth SIG

修订历史

Version

Date

Author

Changes

1.0.0

September 19, 2023

Martin Woolley, Bluetooth SIG
Szymon Slupik, SILVAIR Inc.
Omkar Kulkarni, Nordic Semiconductor
Hannu Mallet, Silicon Labs
Damon Barnes, Bluetooth SIG

Initial version

 

备注

Bluetooth Mesh 配置文件 规范已更名,现称为Bluetooth Mesh 协议规范。本文件和相关文件在提及 1.1 版规范时将使用这一名称,但在提及 1.0 版规范时,仍将继续称其为Bluetooth Mesh 配置文件规范。

 

1.导言

Bluetooth 小组 (SIG) 于 2023 年 9 月 19 日宣布了Bluetooth® Mesh 技术的功能增强。新闻稿宣布了一系列新的主要功能、次要增强功能和全新的mesh 设备配置文件。本文概述了每个变化领域,并提供了更详细介绍新的主要功能的其他论文的参考文献。本文对mesh 的次要增强功能进行了回顾。第 3 部分介绍了全新的Bluetooth® Mesh 设备配置文件。第 4 部分提供了所有内容资产和规范文档的参考资料列表。

建议刚接触Bluetooth Mesh 的读者首先阅读Bluetooth SIG 论文Bluetooth Mesh Networking - An Introduction for Developers

请注意,有时Mesh 1.1 或Bluetooth Mesh 1.1 是Bluetooth Mesh Protocol 或 Model Specification Version 1.1 的缩写,同样,Mesh 1.0 或Bluetooth Mesh 1.0 是Bluetooth Mesh 配置文件 Specification Version 1.0 的缩写。

2.新的Bluetooth® Mesh 功能

2.1Bluetooth Mesh 定向转发

Bluetooth Mesh 配置文件 1.0 版本中定义了一种称为Bluetooth Mesh Managed Flooding 的信息中继方法。它提供了一种有效、可靠、灵活和低维护的方法,在Bluetooth Mesh 网络中将信息通过多跳传递到目的地。新的Bluetooth Mesh Directed Forwarding 功能提供了一种额外的多跳信息传递方法,在某些情况下比Bluetooth Mesh Managed Flooding 更有效。

Bluetooth Mesh 定向转发(Directed Forwarding)建立了中继节点的集合,这些节点可以服务 ,将信息从源地址定向传送到目的地地址。这些中继节点集建立了一条从源地址到目的地的路径。会员资格 路径的安排使信息只由能够将信息传播到预定目的地的节点中继。这样可以更有效地利用网络和无线电信道。

自动化是Bluetooth Mesh Directed Forwarding 的一个关键功能。路径会在需要时自动创建,并每隔一段时间自动检查一次,以确保网络中仍然需要这些路径,而且它们仍然能够按要求传送信息。当我们考虑到网络及其设备可能会随时间发生变化时,后一点是非常重要的功能。

有关信息,请参阅Bluetooth Mesh Directed Forwarding Technical Overview(定向转发技术概述 )文件。 文件,了解更多相关信息。

2.2Bluetooth Mesh 设备固件更新

Bluetooth® Mesh 设备运行固件,即控制硬件和实现产品主要行为的软件。固件必须保持更新,Bluetooth Mesh Bluetooth Mesh 的新设备固件更新功能使发现和应用网络设备固件更新成为可能。

固件更新需要向网络中的所有节点传输大量固件数据。因此,Bluetooth Mesh Device Firmware Update(设备固件更新)功能提供了多个参数,用于控制携带固件数据的单个mesh 信息的节奏和大小,以便在不影响mesh 网络上其他活动的情况下进行固件的后台传输。

Bluetooth Mesh 设备固件更新可实现多播更新,非常适合由许多相同设备组成的照明网络等装置。固件传输到目标节点后,可在计划的时间(例如上班时间以外)对所有节点进行更新,以尽量减少中断。 

Bluetooth Mesh 设备固件更新功能的设计方式允许轻松更新多供应商mesh 网络。

有关信息,请参阅Bluetooth Mesh 设备固件更新技术概述 文件。 文件,了解更多相关信息。

2.3Bluetooth Mesh 远程调配

Provisioning是将设备添加到mesh 网络的过程名称。该过程使用Provisioner 执行。以前,Provisioner 需要在新设备的直接无线电范围内,并通过Bluetooth 链路与之通信。这对固定位置的设备来说是个问题,而且需要移动 Provisioner 的用户亲自走向设备进行供应,并覆盖安装区域。新的Bluetooth Mesh 远程供应功能增加了通过mesh 网络进行供应的功能,供应信息需要经过一次或多次跳转才能到达远程未供应设备。

配置新设备后,需要对其进行配置。有些设备比较复杂,配置要求也相应复杂,在固件更新增加新功能后,设备可能需要全部或部分重新配置。Bluetooth Mesh 远程配置还包括为复杂设备提供即插即用设备组成更新功能的程序。

Bluetooth Mesh Remote Provisioning 功能还提供了自动处理Bluetooth Mesh 网络生命周期中重要事件的程序,例如,在初始创建网络后,通过重新生成所有设备的设备密钥,实现所有权的安全转移。

请参阅Bluetooth Mesh Remote Provisioning Technical Overview(远程调配技术概述 )。 文件,了解更多相关信息。

2.4Bluetooth Mesh 基于证书的供应

接入mesh 网络的设备由 UUID 标识。为防止合法设备被冒充,在使用带外获取的公钥将设备接入网络时,有必要确定给定的公钥确实属于具有特定 UUID 的设备。

新的Bluetooth Mesh 基于证书的供应功能利用公钥基础设施来验证未供应设备的公钥和 UUID 信息。X.509 格式的数字证书可由设备制造商或供应商提供,并在供应过程中使用。该功能可通过以下方式改进Bluetooth Mesh 配置:允许以可互操作的方式获取和验证设备的带外(OOB)公钥(同时设备仍不可见),通过卓越的验证方案提高安全性,并适合同时批量配置许多设备。

有关信息,请参阅Bluetooth Mesh 基于证书的供应技术概述 文件。 文件,了解更多相关信息。

2.5 私人信标

Bluetooth® Mesh 在许多程序中使用信标技术,并定义了网络信标信息。新的专用信标功能确保网络外的设备看不到信标信息中的静态信息,从而提高了安全性。这在涉及可穿戴设备的情况下提高了私密性,这些设备可能会进出网络,否则可能会通过观察mesh 网络信标中的纯文本数据而被追踪。

有关信息,请参阅Bluetooth Mesh 专用信标技术概述 文件。 文件,了解更多相关信息。

2.6Bluetooth Mesh 子网桥接

Bluetooth® Mesh 网络可包括一个或多个子网。子网通常用于安全隔离网络的各个部分,对网络的不同部分使用不同的网络安全密钥。

以前,不同子网中的设备无法进行通信,除非它们也是共同子网的成员,并在交换信息时使用该子网的子网。新的Bluetooth Mesh 子网桥接功能使不同子网中的设备之间的通信成为可能,而无需事先了解共同子网及其 NetKey。此外,还可以桥接同一子网的不同部分,以支持各种使用情况,例如酒店客人坐在酒店大堂,但仍能控制其房间内的智能设备,而所有这些设备都在各自的子网中。

有关信息,请参阅Bluetooth Mesh 子网桥接技术概述 文件。 有关此主题的更多信息,请参阅本文。

2.7Mesh 小改进

Bluetooth® Mesh 技术还增加了一些较小的功能,在此统称为 mesh 的小改进。需要注意的是,虽然本标题下的变化可能较小,但在某些情况下,其好处是巨大的。以下各节概述了每项增强功能,并在最后提供了Bluetooth Mesh 的更新信息。

2.7.1 按需提供的专用《关贸总协定》代理服务器

2.7.1.1 背景

代理节点支持Bluetooth®LE(带 GAP 和 GATT)和Bluetooth Mesh 。代理作为一个中介,使智能手机等设备上的应用程序可以通过与代理的 GATT 连接,向网络发送和接收mesh 信息。

在配置Bluetooth Mesh 1.0 代理节点时,专员的唯一选择是启用或禁用代理广告。从用户体验的角度来看,最好在所有节点上都启用代理,但这会影响可用带宽,从而可能对mesh 网络的性能产生负面影响。

2.7.1.2 按需增强专用《关贸总协定》代理功能

代理客户端(如智能手机)现在可以向代理节点发出信号,表示它应该开始广告。这是通过代理客户端广播不可连接、不可扫描的非定向广告征求 PDU 来实现的。

代理节点不再需要根据Bluetooth Mesh 1.0 行为持续发布广告。取而代之的是,代理节点执行被动扫描,并在收到来自代理客户端的包含与代理节点网络相匹配的网络标识数据的请求 PDU 时,开始使用专用网络标识类型发布广告。然后,代理客户端就可以连接到代理。

按需提供的专用 GATT 代理功能提高了射频利用效率,从而增强了可扩展性。由于 GATT 代理服务 没有主动发出的广告,而且发送有效的请求需要知道 NetKey,因此攻击者更难识别网络中的代理节点。

2.7.2 性能改进

2.7.2.1 增强分割和重组(SAR)

2.7.2.1.1 背景情况

Bluetooth® Mesh 协议栈的上层传输层可对mesh Access 报文进行分段和重组,因为这些报文太长,无法一次性发送。这些报文会被分成若干段,每个段长 12 个八位字节,但最后一段可能更短。在接收到各个片段后,重新组装过程将导致原始 Access 报文的重组。

当不同供应商的设备使用不同的 SAR 行为默认值时,这可能会导致mesh 网络内的mesh 信息传输效率低下。

2.7.2.1.2 SAR 配置模型

现在可以使用新的 SAR配置客户端模型,在新的SAR 配置 服务器模型中配置管理分段和重组(SAR)流程主要方面的参数。该模型包含两个复合状态,即SAR 发射器SAR 接收器

SAR 发送器状态包含作为分段信息发送器时使用的参数。它还包括段传输之间的定时间隔,以及向单播地址和多播地址重传段的相关参数。

SAR 配置服务器模型有助于提高某些配置任务的性能,尤其是在包含多个制造商设备的网络中。

2.7.2.2 信息聚合

2.7.2.2.1 背景情况

在某些情况下,会按一定顺序发送一系列不同类型的确认访问信息。每条 Access 消息都会产生一条状态消息,作为响应,通常包含一个状态代码。例如,在新节点的配置过程中,将 AppKeys 与模型绑定的行为将涉及大量已确认消息及其相关的状态响应消息。

2.7.2.2.2 操作码聚合器模型

引入了名为 "Opcodes 聚合器服务器模型 "和"Opcodes 聚合器客户端模型 "的新模型,以及名为 "信息请求列表处理程序"的相关程序。该过程允许将一连串不同的 Access 报文合并为一个单一的 Access 报文,其类型称为OPCODES_AGGREGATOR_SEQUENCE报文。这种报文类型包含一个 Access 报文操作码和相关参数值的数组。数组中的所有报文操作码必须标识由同一服务器模型处理的报文类型。这是一项安全功能,要求对OPCODES_AGGREGATOR_SEQUENCE访问层字段进行加密的 AppKey 必须与服务器模型绑定。

报文请求列表处理程序的结果是执行所含访问代码和参数指示的每项操作,并返回一条OPCODES_AGGREGATOR_STATUS报文作为响应。

信息操作码聚合压缩了一系列 Access 信息和响应所涉及的数据量和时间,并将这一系列交换减少为单个请求和响应。

2.7.3 复杂设备

2.7.3.1 模型元数据

2.7.3.1.1 背景

Bluetooth® Mesh 1.0 定义了配置服务器模型。这是一个由所有设备实施的模型,包含多种状态下的配置和组成数据。

合成数据"状态的结构是一系列页面,每个页面都可通过配置服务器模型请求和相应的响应来读取。具体页面通过页码进行引用。除其他外,"组合数据 "第 0 页状态定义了节点由哪些元素组成,每个元素定义都指出了该元素支持的模型。

有些设备需要大量可变数据来描述其组成、配置数据和其他属性。例如,DALI(数字可寻址照明接口)设备是围绕一条通信总线构建的,最多可轻松插入或拔出 128 个组件。当 DALI 组件成为mesh 网络的一部分时,它就会成为一个复杂的mesh 节点中的一个元素,该节点代表整个 DALI 设备。DALI 节点的组成庞大而复杂,其元数据要求也因连接到 DALI 信息总线的组件类型而异。

配置服务器模型所定义的信息并不总能容纳与此类大型复杂设备相关的组成和元数据,因为页面可能太大,无法在单个 Access 信息响应中容纳。

2.7.3.1.2 模型元数据

Bluetooth® Mesh 现在包含了模型元数据的概念。模型元数据是一系列以某种方式描述模型或模型所属元素的一个或多个属性。元数据项有一个 16 位标识符,是Bluetooth SIG 分配的数字

Bluetooth Mesh 中添加了一组新的模型,即大型合成数据服务器模型和大型合成数据客户端模型。服务器模型包括一个名为 "模型元数据"(Models Metadata)的状态,它的结构是一系列页面,从 "模型元数据第 0 页"开始。大型合成数据服务器模型扩展了配置服务器模型,并定义了一系列访问消息,所有这些消息都使用DevKey 加密。

mesh 中的一些型号 Bluetooth Mesh 型号 S版本 1.1中的一些模型已得到增强,可以指示它们支持的一种或多种元数据类型。这样,客户端实现就可以从大型合成数据服务器 模型的 "模型元数据页 0"(Models Metadata Page 0)状态中检索元数据值。例如,亮度服务器模型支持Light_Purpose元数据类型。Light_Purpose元数据包含一个 16 位分配的数字,表示灯光的用途(如上射灯、下射灯或夜灯)。

2.7.3.1.3 大组成数据值

配置服务器模型中的 "合成数据"(Composition Data)状态仍然是包含节点的 "合成数据"(Composition Data)的状态,表明节点包含的元素及其模型。但新的大型 组合数据服务器模型定义的报文允许使用偏移参数以一系列数据部分的形式访问这些数据。这样就可以容纳复杂设备(如 DALI 设备)所需的大型组合数据。

2.7.4 验证算法和供应

2.7.4.1 背景

在网络上调配设备时,未调配设备会向调配者发送包含算法字段的调配能力 PDU。该字段表示设备在供应流程的验证步骤中能够用于计算确认值的算法。

以前只支持一种算法。这种算法使用 RFC 4493 中定义的 AES-CMAC 功能,简称为FIPS P-256 椭圆曲线算法。FIPS P-256 椭圆形曲线算法生成 128 位确认值。

此外,较旧的mesh 设备可能在未使用任何身份验证的情况下进行配置。这就造成了维护风险,例如,在正式配置人员到达现场调试网络之前,本地的 "胭脂红 "配置人员可能会配置安装在高天花板上的所有灯具。如果发生这种情况,高天花板上的灯可能需要人工干预才能重置为未配置状态。

2.7.4.2 新的身份验证算法和供应改进

Bluetooth® Mesh 协议规范 1.1 版将使用 AES-CMAC 的算法更名为 BTM_ECDH_P256_CMAC_AES128_AES_CCM,并引入了一种新算法,其名称为 BTM_ECDH_P256_HMAC_SHA256_AES_CCM。新算法使用 HMAC-SHA-256 函数并生成 256 位确认值。

Bluetooth Mesh 兼容的设备必须支持新的 BTM_ECDH_P256_HMAC_SHA256_AES_CCM 算法,如果 OOB 类型字段通过设置位 1 表示 "仅支持 OOB 验证供应",则必须使用该算法。旧设备使用基于 AES-CMAC 的旧算法时将继续得到支持。

Bluetooth® Mesh 协议允许未调配设备在调配期间强制进行身份验证,并拒绝未经身份验证的调配尝试。设备通过设置 "供应能力 "PDU 中 OOB 类型字段的第 1 位来表明这种认证要求。

2.7.5 健康故障代码

2.7.5.1 背景

健康客户端和服务器模型与故障报告和诊断有关。Bluetooth® Mesh 网络中所有节点的主要元素必须包括健康服务器模型。其他元素可向健康服务器模型通报故障。健康服务器模型定义了一系列与故障相关的状态,如 "当前故障"(Current Fault)。故障由单八位位组代码表示。可用范围内的某些值保留给Bluetooth SIG 使用,其他值则用于特定于供应商的代码。

2.7.5.2 移至指定编号的健康故障代码

Bluetooth SIG 健康服务器模型使用的已定义故障代码已在本版本中指定了编号。这是一项程序性变更,可使Bluetooth SIG 更方便快捷地响应成员提出的在其产品中使用新标准故障代码的要求。

2.7.6 分配号码

Bluetooth SIG 维护一个标准识别号码数据库,这些号码被称为分配号码Bluetooth SIG 分配号码的完整列表。

申请添加到分配的号码列表中是一个简单的程序,所有Bluetooth SIG 会员均可使用。

2.7.7.术语变更

2.7.7.1 被供应国

未供应设备供应的设备或应用程序称为供应者(Provisioner)。为了进一步规范描述供应行为的语言,Bluetooth Mesh 1.1 现在使用术语 "被供应者"(Provisionee)来指通过交换供应协议 PDU 进行供应时的未供应设备。

2.7.7.2 术语

Mesh 协议规范 1.1 为设备的生命周期、结构和配置引入了一个新的正式名称。规范中对 "终端"的概念描述如下:

期限是节点生命周期中的一段时间,在此期间节点的结构(即特征、元素和模型)以及节点元素的单播地址不会发生变化。

为了支持物理设备硬件配置的更改(如附加辅助传感器),或支持节点子系统配置的更改(如在灯具内部网络中附加新设备),可能有必要启动一个新术语。节点通过填充 "组成数据页 128"(参见Mesh Protocol Specification 1.1,第 4.2.2.4 节)来显示这些更改,并在新条款开始时生效。

网络上节点的初始期限从该节点在网络上配置时开始。

当执行节点地址刷新程序或节点组成刷新程序时,一个任期结束,一个新任期开始(见Mesh Protocol Specification 1.1 第 3.11.8 节)。

当节点从网络中删除时,该节点在网络中的最后一个任期结束。

 

2.7.7.3 模型层

Bluetooth Mesh 1.1 协议规范的第 3 节已扩展至包括第 3.8 节,该节定义了模型层以及使用模型的规则和建议。  

2.7.7.4 IV 索引恢复程序和子网络

对描述 IV 索引恢复程序的措辞进行了改进,以明确涵盖子网。

3.Bluetooth® Mesh 设备配置文件

Bluetooth® Mesh 技术提供了丰富的功能和选项,可实现多种照明和传感应用。这帮助Bluetooth Mesh 成为可扩展商业和工业应用的首选技术。然而,Bluetooth Mesh 功能的可选性可能会给实施者带来挑战,因为他们必须决定为所选产品细分市场选择哪些选项。如果同一产品领域的供应商选择了不同的选项,而这些选项又不能与其他同类产品很好地配合(例如,为灯泡选择的mesh 功能与为电灯开关选择的功能不兼容),就会出现产品生态系统不能互操作的情况,从而降低用户体验。

为了解决这个问题,Bluetooth SIG 提出了Bluetooth Mesh 设备配置文件的概念。这些配置文件是mesh 规范的新类别。设备配置文件定义了mesh 规范中哪些选项和功能是某类终端产品必须具备的。第一套mesh 设备配置文件以《构建传感器驱动的照明系统》中描述的照明系统架构为基础。 构建基于传感器驱动的照明控制系统Bluetooth Mesh白皮书中描述的照明系统架构。这些配置文件统称为Bluetooth 网络照明控制 (NLC) 配置文件,其定义如下:

  1. 环境光度传感器 NLC配置文件 (ALS) 1.0- 代表环境光度传感器。
  2. 基本亮度控制器 NLC配置文件 (BLC) 1.0- 表示带有集成控制器的灯具。
  3. 基本场景选择器 NLC配置文件 (BSS) 1.0- 代表墙壁开关或墙壁站,用于选择照明场景或开关灯光。
  4. 调光控制 NLC配置文件 (DIC) 1.0- 代表墙壁滑块、转盘或长按开关功能,用于调亮/调暗灯光。
  5. 能源监测器 NLC配置文件 (ENM) 1.0- 代表一个报告能源消耗的传感器。
  6. 占用传感器 NLC配置文件 (OCS) 1.0- 表示占用传感器。

有关此主题的更多信息,请参阅Bluetooth 网络照明控制 (NLC) 网页

4.结论

本文所描述的功能增强提供了巨大的价值,是Bluetooth® Mesh 技术在广泛的实际部署中获得的经验的结晶。

Bluetooth Mesh 自六年前发布以来,已完成了众多项目,使世界各地的建筑变得更加智能、更加节能。开发人员、制造商、集成商、安装人员、维护团队和楼宇运营商都获得了宝贵的经验,并为Bluetooth Mesh 技术的改进做出了贡献。

本文介绍的Bluetooth Mesh 功能增强实现了一些不同寻常的功能。这些新功能在提供高安全性的同时,还具有易用性和低拥有成本的特点。部署Bluetooth Mesh 的业务和技术理由从未如此充分。

获得帮助