蓝牙mesh网络:走进数据包

winniewei 提交于 周一, 03/12/2018
蓝牙mesh网络:走进数据包

作者:蓝牙技术联盟mesh工作组主席Szymon Slupik

有很多理由能够说服我们,蓝牙mesh网络将成为最成功的低功耗物联网标准。

其1.0版本大幅超出了所有人的预期。它具备所有的基本要素,包括极度深入且灵活的应用层(详见mesh模型与mesh设备属性规格)。它将改变我们周围事物的通信方式,在此之前,让我们看看到底什么这一全新的全球化技术具有如此革命性的意义。

蓝牙mesh涉及了许多新颖而独特的概念,但其主要资产在于数据包,这也是它的一个差异化因素。它非常紧凑,这种紧凑性有助于确保蓝牙mesh网络的频谱效率和吞吐量。

走进数据包

蓝牙mesh是首个能够满足物联网之巨大期望的无线标准。

无线电是一种共享型媒介,而冲突就是其需要解决的主要问题之一。这很简单:更短小的数据包就会意味着更少的冲突。但是能做到多短小呢?答案就在mesh配置文件规格3.4.4节:最多29个字节。

当然,这样的设计也是从基础开始的:压缩的二进制有效载荷,而非文本表示。覆盖广泛的用例(包括互联照明、楼宇自动化和传感器),应用程序有效载荷的11个字节看起来也正合适。操作码为1-2个字节,参数最多为10个字节,参数包括传感器的测量值、或具有转换时间的多维照明(亮度、色调、饱和度)。

安全与控制

除此以外,有两个项目可能被视为额外但必要的负担:寻址/传输控制(SRC、DST、CTL + TTL:共5个字节)和安全性(IVI + NID、SEQ 、AppMIC和NetMIC)。

IVI + NID为1个字节。这一字节有助于识别网络(这是否为我所知、并拥有密钥可与之交互的网络?)。SEQ是3个字节,连同缓慢传输的IV索引这一独特的概念,形成了一个7字节长的序列号。在mesh网络上发送的每个数据包都根据给定的SRC地址,具有唯一的序列号。这里的智能之处在于空中接口数据包中仅包含3个字节。其余的4个字节变化缓慢,并且被网络所知晓。

序列的必要性体现在两个方面:检测中继数据包(非常小规模的安全攻击),同时也是作为当前网络和应用程序的关键组成部分 - 参见上述规格的第3.8.5节。

信息完整性检查

MIC(消息完整性检查)定义了系统的安全级别。蓝牙mesh网络具有双层安全保护——网络层和应用层。消息可以通过两个独立的密钥来进行保护。这对于中继节点是有用的,能让其在网络层上对消息进行认证,但却无法篡改应用有效载荷。将信息中继到门锁的灯泡无法将有效载荷从打开改变为关闭,而只能检查数据包是否属于它自己所在的网络。

网络层MIC可为8或4个字节长。当其为较短的形式时,它与应用层MIC结合,仍可为8或4个字节长。最终的结果是应用程序的有效载荷具有强大安全性、以及灵活的寻址能力,足以满足几乎所有楼宇自动化、照明控制和传感器应用程序所需。

而这一切都存在于非常紧凑的外形中。结合低功耗蓝牙(Bluetooth Low Energy)提供的调制方案,它也是“身轻如燕”,且包括了所有必要的无线接口字段,如前导码、访问地址和CRC,总共为47个八位字节。结果上,单一频率上的单次传输时间少于400μs。相较于当前其他无线技术,其传输类似消息所需的时间要少10倍。当采用蓝牙5引入的全新2M PHY时,这一优势还可能会翻倍。

谱效率

任何无线系统的成功从根本上都有赖于频谱效率。这就像一架客机的成功从根本上有赖于其燃油效率一样。谈到低功耗、超短消息等,蓝牙mesh比其他无线解决方案强出一个数量级。就数据传输而言,这是首个能够满足物联网时代巨大期望的无线标准。

相关文章