ZigBee协议

一种低速低功耗短距离局域网协议

节点组成

协调器

网络核心与数据传递枢纽

  • 网络组建与维护的唯一节点
  • 全网络数据汇聚中心
  • 实现与上位机的数据交互

路由器

数据转发与网络维护

  • 数据包的多跳转发(类似传统路由器)
  • 路由发现与维护(动态路径优化)
  • 允许子节点接入网络

终端节点

直接或通过路由器连接协调器

  • 仅支持数据采集与上传
  • 不具备数据转发能力
  • 可进入深度睡眠模式

全功能节点与半功能节点

FFD全功能设备:

  • 可担任协调器/路由器/终端任一角色
  • 支持完整协议栈功能
  • 具备路由发现与维护能力

RFD精简功能设备:

  • 仅能作为终端设备
  • 功能限制:无数据转发能力
  • 典型应用:电池供电的传感器节点

网络架构模型

四层架构(PHY/MAC/NWK/APL)、五层架构(细分APS层)

ZigBee网络模型

物理层

无线电收发管理与调制解调

频段:

  • 2.4GHz(全球通用,16信道,250kbps)
  • 868MHz(欧洲,单信道,20kbps)
  • 915MHz(北美,10信道,40kbps)

功能:

  • 载波侦听与冲突避免(CSMA-CA)
  • 信号调制解调(DSSS技术)
  • 信道能量检测(ED扫描)

MAC层

信道控制与通信

关键机制:

  • 信标帧广播(网络发现与同步)
  • 时隙分配(超帧结构)
  • 可靠传输(ACK确认机制)

入网流程:

  • 主动扫描可用信道
  • 关联请求/响应握手
  • 安全认证过程

网络层

路由、设备状态维护与子节点管理

地址体系:

  • 64位长地址(IEEE MAC地址)
  • 16位短地址(网络分配)

路由协议:

  • AODVjr(简化版按需路由)
  • 树路由(基于父子关系)
  • 网状路由(多路径优化)

APS层

端到端数据重传与安全特性

核心服务:

  • 应用数据分片重组
  • 端到端确认重传
  • 绑定表管理(间接寻址)

安全机制:

  • AES-128加密
  • 完整性校验(MIC)
  • 密钥分发管理

应用层

用户应用与设备管理

功能划分:

  • AF(应用框架):用户自定义功能
  • ZDO(设备对象):网络管理接口

规范定义:

  • 公共应用规范(如ZCL)
  • 厂商特定应用规范
  • 设备描述文件(.zcd格式)

拓扑类型与组网

星状结构:

  • 中心节点依赖(类似WiFi)
  • 协调器故障会导致全网瘫痪
  • 组网简单但可靠性低

网状结构:

  • 无严格中心节点(协调器仅负责入网)
  • 多路径冗余(单节点故障不影响通信)
  • 协调器损坏仅影响新设备加入

树状结构:

  • 分层路由机制
  • 父节点故障影响子树通信
  • 能耗均衡性优于网状结构

组网流程

网络初始化

协调器必须满足两个条件才能初始化网络:

  1. 是全功能节点;
  2. 未连接其他网络。若已连接其他网络,则只能作为子节点。

协调器会主动进行能量扫描,发送信标请求(MAC层),检测是否存在其他网络协调器。
选择干扰最小的信道,可由开发者预定义或自动选择最优信道。
设置唯一的PAN ID(网络标识符),不能与广播地址0xFFFF冲突,也不能与其他网络重复。
协调器短地址固定为0x00000,其他设备由父节点分配短地址,需保证网络内唯一性。

协调器入网流程

节点加入网络

扫描阶段:节点扫描协调器发布的信标帧,获取网络信息(如PAN ID),支持开发者预定义连接特定设备。

连接请求:节点发起连接后,协调器先回复ACK,再判断资源是否充足。若资源不足则返回连接失败,节点需重试。

地址分配:连接成功后,协调器为节点分配短地址(非0x0000),后续通信使用该地址。

节点加入网络

Zigbee安全机制

安全模式分类

非安全模式

  • 特点:默认模式,无任何安全服务,密钥明文传输,易被窃听。

访问控制模式

  • 机制:通过ACL列表限制设备接入(如MAC地址白名单),类似WiFi的MAC过滤。

安全模式

  • 特点:使用加密,提供数据完整性和机密性保护,分为标准模式和高级模式。

核心密钥体系

三种128位对称密钥

  • 主密钥:生成其他密钥。
  • 网络密钥:用于广播加密。
  • 链接密钥:用于单播加密。

信任中心

  • 角色:由协调器担任,负责密钥分发管理。
  • 功能:主密钥生成网络密钥和链接密钥。

安全模式的具体实现与风险

标准安全模式

  • 密钥传输:通过网络明文传输密钥,存在被嗅探风险。
  • 默认风险:默认链接传输密钥为hex("ZigbeeAlliance09"),若未修改,攻击者可解密所有通信数据。

高级安全模式

  • 预安装机制:密钥固件预置,不通过网络传输。
  • 存在风险:存在固件逆向提取密钥的风险。

加密与防护技术

AES-CCM*

  • 加密流程:数据分128位块加密,生成MIC校验值。接收方校验MIC匹配后才解密。

帧计数器

  • 防重放攻击:每个节点维护32位帧计数器,拒绝重复或滞后的数据包。

一个仍在爬山的人