【无线知识库】全面解析Zigbee标准沿革及网络创建技巧
扫描二维码
随时随地手机看文章
什么是Zigbee?随着物联网(IoT)行业的发展,越来越多的无线技术应运而生。众所周知,在物联网行业中,我们有两种典型的网络。一个是WAN(广域网),另一个是PAN(个人区域网)。
- 对于LoRa,NB-IoT,2G / 3G / 4G等无线技术,通常传输距离超过1 km,因此它们主要用于广域网(WAN)。
- 对于Wi-Fi,蓝牙,BLE,Zigbee和Zwave等无线技术,通常的传输距离小于1公里,因此它们主要用于个人局域网(PAN)。
- 短距离 – 无线覆盖范围在10到100米之间。
- 低数据速率 – 最大数据速率为250 Kbps。
- 低功耗 – 处于睡眠状态的Endpoint设备在睡眠模式下可以使用低于5uA的电流;
- 这是一种网状技术 – 网络可以轻松扩展到很大。理论上最大节点数为65535。
Zigbee是Zigbee联盟发布和修订的开放标准。历史悠久。从很早开始,Silicon Labs(亦称“芯科科技”)就致力于Zigbee技术。Silicon Labs的Zigbee技术来自Ember,Ember是一家自成立以来就开始研究Zigbee的公司。2012年,Silicon Labs收购了Ember,并继续提供Zigbee产品和解决方案。 Zigbee协议概述
- 物理层和MAC层由IEEE-802.15.4定义。物理层负责无线电管理,包括诸如调制/解调,信号强度检测等功能。MAC层负责单跳通信。
- 网络层负责消息的发送和接收,设备维护,路由等。
- 应用程序支持层(APS)负责端到端消息的传输。
- 应用层留给用户设计。每个应用程序实例称为一个Endpoint。为管理功能保留了一个特殊的Endpoint,即Endpoint 0。我们也将此管理功能模型称为Zigbee设备对象(ZDO)。
- 在APS层和网络层中,有一些安全功能可用于保护网络免遭黑客攻击。
下图显示了如何在网络层中保护不安全的网络帧。
首先,网络有效负载将被加密。之后,将在加密的有效负载之前添加安全标头。然后根据网络标头,安全标头和加密的有效负载来计算哈希值。最后,将32位哈希值附加到帧的末尾。如果更改了网络标头,安全标头和加密的有效负载中的任何字节,则哈希值将不同。我们将此值称为MIC,是消息完整性检查的缩写。 网络加密使用对称加密算法(AES128),这意味着使用相同的密钥进行加密和解密。该密钥称为Network Key。由于它是一种对称加密算法,因此同一Zigbee网络中的所有设备都将使用相同的Network Key。 在网络安全标头中,添加了“帧计数器”的字段和加密信息节点的源Eui64,以防止重发攻击。还添加了密钥序列号以支持Network Key更新。 创建Zigbee网络首先,由协调器创建一个网络,您必须准备4个参数:
- PAN ID
- 扩展 PAN ID
- 工作频道
- 发射功率
您需要指定这四个参数。如果您不这样做,协调器将随机选择一个PAN ID和一个扩展的PAN ID。如果您未指定频道,则协调器将扫描并选择一个相对安静的频道进行工作。网络创建后,新设备可以开始加入。
- 新设备将开始查找可连接的网络。在此阶段,新设备将在每个通道上发送信标请求。
- 路由器和协调器将使用信标帧中携带的网络信息来响应信标。这些信息包括PAN ID,扩展PAN ID以及路由器或协调器的其他一些属性,例如设备是否允许连接,设备是否具有允许新设备连接的能力。
- 新设备可以从不同设备接收多个信标。它将选择信号质量最好的一个,并开始发送关联请求。在该关联请求中,将PAN ID设置为所选的PAN,并将目标节点ID设置为所选设备的节点ID。在此框架中,将继续使用新设备的功能。
- 当路由器或协调器收到此关联请求时,它将为新设备选择一个节点ID,并以关联响应进行响应。然后,新设备获得了其节点ID,但由于未获得安全密钥而无法与其他节点通信。
- 协调器会将当前的NWK密钥传输到新设备。该传输消息在应用程序层中使用已知的Link key加密。
- 当新设备收到此消息时,它将使用已知的Link key对消息解密并获取Network Key。之后,该设备实际上已加入网络,并能够与网络中的所有其他节点通信。
- 设备将发送一条通知消息,以通知网络的其他节点,以通知他们我已加入。
使用Install Code派生的Link key加入
- 在出厂之前,应该已经使用Install Code码对新设备进行了编程。
- 在加入之前,用户需要获取新设备的Install Code和Eui64,然后在协调器上对其进行配置。
- 然后,协调器从Install Code中获取Link key,并将协调器设置为使用此Link key来加密此新设备的传输NWK密钥消息。
扫描以下二维码,关注Silicon Labs社交媒体平台