2. Zigbee技术栈回顾
在讨论Zigbee向Matter迁移之前,必须先把Zigbee自身的协议栈层次、寻址方式、路由机制和安全模型梳理清楚。迁移适配的很多难点,本质上来自Zigbee与Matter在“网络层归属、地址模型、应用层数据模型”上的差异。本节按自下而上的顺序回顾IEEE 802.15.4、Zigbee PRO、ZCL与Zigbee 3.0,并重点说明寻址、路由与安全机制。
一、四层协议栈的分工
Zigbee并不是单一规范,而是由多个标准叠加而成。最底层是IEEE 802.15.4,它定义了物理层(PHY)和媒体访问控制层(MAC),工作在2.4 GHz、868 MHz、915 MHz等频段,2.4 GHz下共16个信道(信道11~26),每信道带宽2 MHz,采用DSSS扩频与OQPSK调制,标称速率250 kbps。802.15.4提供两种MAC地址:64位扩展地址(EUI-64,全球唯一,出厂固化)和16位短地址(网络内动态分配)。它还定义了信标与非信标两种网络模式,以及CSMA-CA信道接入机制。
在802.15.4之上,Zigbee联盟定义了网络层(NWK)与应用层(APL)。网络层负责组网、地址分配、路由与转发;应用层包含应用支持子层(APS)、Zigbee设备对象(ZDO)和厂商自定义的应用对象。APS负责端点(Endpoint)复用、绑定表管理和组地址分发。ZDO则承担设备发现、服务发现、绑定管理和网络管理角色。Zigbee PRO是网络层的一个功能集(Profile),在2007年后成为主流,引入了随机地址分配、多对一路由、源路由、频率捷变等增强特性。
二、寻址模型:两种地址与端点
Zigbee设备同时拥有两种地址。EUI-64是出厂固化的全球唯一地址,用于设备识别和入网认证;16位短地址由网络层分配,用于网络内高效寻址。在Zigbee PRO中,短地址分配采用分布式随机分配算法:新设备向父节点请求地址,父节点在自身地址空间内随机选取并检查冲突,若冲突则重试。协调器的短地址固定为0x0000,是全网信任锚点。
应用层寻址还需要“端点”概念。一个物理设备可承载多个端点(1~240),每个端点对应一个应用对象,端点0固定为ZDO。因此完整的应用层地址是“短地址 + 端点号 + 簇ID”。例如一个温湿度传感器,端点1上报温度簇0x0402,端点2上报湿度簇0x0405。绑定表则记录“源端点+簇ID → 目标地址+端点”的映射,实现无需应用层干预的自动转发。
三、路由机制:Mesh与多对一
Zigbee PRO采用Mesh拓扑,路由协议基于AODV(按需距离矢量)。当节点需要发送数据而无可用路由时,会广播路由请求(RREQ),中间节点转发并记录反向路径,目标节点回复路由应答(RREP),沿途建立正向路由。路由表项包含目的地址、下一跳、状态和寿命。
Mesh网络的一个典型问题是“多对一”流量:大量终端节点向协调器上报数据,若每个节点都单独发起路由发现,会引发广播风暴。Zigbee PRO引入多对一路由(Many-to-One Routing):协调器周期性广播路由请求,所有节点建立到协调器的反向路由;数据上报时直接沿该路由上行。协调器回程则使用源路由(Source Routing),在数据包头携带完整路径,避免中间节点再次查表。此外,Zigbee PRO支持频率捷变,当某信道持续受干扰时,网络可整体切换到备用信道。
四、安全机制:三层密钥体系
Zigbee安全基于AES-128,采用CCM*模式同时提供加密和完整性校验。密钥体系分三层:主密钥(Master Key)是设备间共享的根密钥,用于派生链路密钥;链路密钥(Link Key)用于两个设备之间的单播通信;网络密钥(NWK Key)由协调器生成并分发给所有入网设备,用于全网广播和链路层加密。
入网流程中,新设备先通过主密钥或安装码(Install Code)与信任中心(Trust Center,通常由协调器担任)建立链路密钥,再用该链路密钥加密传输网络密钥。信任中心还维护设备列表,可拒绝未授权设备入网。每个安全帧都带帧计数器,接收方检查计数器是否递增,防止重放攻击。需要注意的是,Zigbee 3.0之前的许多厂商使用固定的默认信任中心链路密钥(如ZigbeeAlliance09),这是已知的安全弱点,Zigbee 3.0已要求使用安装码或带外方式分发唯一密钥。
五、ZCL与Zigbee 3.0的统一
ZCL(Zigbee Cluster Library)是应用层的“数据模型规范”。它把设备功能抽象为簇(Cluster),每个簇包含若干属性(Attribute)和命令(Command)。例如开关簇0x0006有属性OnOff(0x0000,布尔型),命令Toggle(0x02);温度测量簇0x0402有属性MeasuredValue(0x0000,int16,单位0.01℃)。属性有读写权限和上报配置,命令分方向(客户端→服务端或反向)。ZCL还定义了默认响应、报告机制和场景、组等通用簇。
Zigbee 3.0的核心贡献是统一。在它之前,Zigbee存在HA(家庭自动化)、SE(智能能源)、LL(光链路)等多个应用框架,设备之间互操作性差。Zigbee 3.0以ZCL为基础,统一了设备类型、入网流程、发现机制和安全要求,并强制使用绿色电源(Green Power)代理、安装码入网等特性。它向下兼容Zigbee PRO网络层,但要求所有设备遵循统一的ZCL应用层规范。对迁移Matter而言,理解ZCL的簇/属性/命令模型尤为关键,因为Matter的集群(Cluster)模型在设计上明显继承了ZCL的思想,但改用IPv6承载、采用基于证书的设备认证,并重新定义了数据模型和交互模型。
六、关键参数速查
| 项目 | Zigbee 典型值/机制 | 迁移关注点 |
|---|---|---|
| 物理层速率 | 250 kbps(2.4 GHz) | Matter over Thread/Wi-Fi 速率更高 |
| 信道 | 11~26(2.4 GHz) | Thread 信道 11~26 可对齐 |
| 网络地址 | 16 位短地址 + EUI-64 | Matter 使用 IPv6 + Node ID |
| 路由 | AODV Mesh + 多对一 + 源路由 | Thread 使用 RLOC16 + 路由 |
| 安全 | AES-128 CCM*,三层密钥 | Matter 使用 CASE/PASE + 证书 |
| 应用模型 | ZCL 簇/属性/命令 | Matter Cluster 模型继承并扩展 |