3.1 节点类型与角色:协调器、路由器与终端设备


文档摘要

3.1 三种角色:一个网络社会的基本分工 本节摘要:网络层的社会学——协调器全网唯一、负责建网与信任中心职能;路由器常开射频、负责接力与收留终端设备;终端设备按需休眠、靠父节点缓存与轮询收信。本节给出三者的能力、约束与功耗画像,并解释这套分工如何直接服务第一章的"三条硬约束"。 一、先看组织架构图 任何一张 Zigbee 网络的合影里只有三种角色。协调器:建网的那台设备,全网有且仅有一个,负责选择信道、确定网络标识、分发地址与密钥,在安全网络里通常兼任信任中心。路由器:射频常开、随时转发、还能接纳新入网设备的接力者,是网状拓扑的骨架。终端设备:不参与转发、想睡就睡的叶子节点,入网后认一个父节点(路由器或协调器),睡觉期间的来信由父节点代收。 为什么偏偏是三种、不多不少?

3.1 三种角色:一个网络社会的基本分工

本节摘要:网络层的社会学——协调器全网唯一、负责建网与信任中心职能;路由器常开射频、负责接力与收留终端设备;终端设备按需休眠、靠父节点缓存与轮询收信。本节给出三者的能力、约束与功耗画像,并解释这套分工如何直接服务第一章的"三条硬约束"。

一、先看组织架构图

任何一张 Zigbee 网络的合影里只有三种角色。协调器:建网的那台设备,全网有且仅有一个,负责选择信道、确定网络标识、分发地址与密钥,在安全网络里通常兼任信任中心。路由器:射频常开、随时转发、还能接纳新入网设备的接力者,是网状拓扑的骨架。终端设备:不参与转发、想睡就睡的叶子节点,入网后认一个父节点(路由器或协调器),睡觉期间的来信由父节点代收。

为什么偏偏是三种、不多不少?对照三条硬约束就清楚:容量按百计要求转发能力分散化(路由器群体),功耗按年计要求允许深度睡眠(终端设备),而任何自组织系统都需要一个初始秩序的来源(协调器)。角色不是能力等级而是"用电契约":路由器签的是全年无休契约,终端设备签的是随叫随到但平时失联的契约。

图:三种设备角色的能力与契约对照

图:三种设备角色的能力与契约对照

二、协调器没有想象中那么"王"

一个普遍误解是把协调器当成网络的大脑,以为它挂了全网瘫痪。实际上建网之后,协调器的主要日常工作只剩两件:许可新设备入网(在集中式安全模式下分发密钥)、维护网络级信息。路由发现、数据转发、故障自愈都不经过它——一个协调器掉电后,网络通信照常,只是不再有新成员加入(以及涉及信任中心的安全操作暂停)。这个设计有明确的演化痕迹:早期版本里协调器确实承担更多(比如树状地址分配的根节点),增强版转向随机地址后,它的运行期职责被大幅削减。"弱王权、强自治"是网络层成熟的方向。

顺带一提,规范允许路由器乃至终端设备在逻辑上"兼任"协调器的建网行为,但商业实现里绝大多数产品把协调器角色固化在网关上,方便与云端、本地控制器对接。

三、终端设备的"父子契约"

终端设备的省电是以移动性换来的。它睡觉时,发往它的帧先落在父节点的缓存队列里;它醒来后第一件事是向父节点发轮询请求,父节点把积压帧递下来。这份父子契约的条款:子设备换电池或搬位置后重新入网,可以换父节点;父节点下线,子设备要自己察觉(轮询无应答多次)并重新搜索入网。契约的限制同样明显——父节点缓存深度有限(典型实现只缓存几帧),发给休眠终端的突发长报文会丢;终端设备的下行时延等于其轮询周期,让灯泡响应变慢的元凶往往就是"轮询间隔设长了"。

💡 关键直觉:休眠终端的响应速度与电池寿命是同一根滑杆的两端。轮询间隔每拉长一档,平均电流降一档、下行响应也慢一档。产品调参的本质是在这根滑杆上找用户能接受的最低点,开关面板可以设几秒(用户按了才醒、无需轮询收信),温湿度传感器可以设十几分钟。

四、角色与功耗的量化感觉

给出量级供参考:路由器常开接收的电流在数十毫安量级,靠电池支撑一年是不现实的,所以规范虽然不禁止电池路由器,工程上默认路由器必须有墙电。终端设备的平均电流取决于占空比——每分钟醒一次、每次活动几毫秒的传感器,平均电流可以压到微安量级,两节五号电池干几年的宣传就是按这类占空比算出来的。协调器的功耗与路由器同级。记住这个量级差(约三到四个数量级),后面所有"为什么这个角色必须插电"的讨论都不再需要解释。

本节要点回顾

  • 角色即契约:协调器建网与管钥匙(全网唯一)、路由器常开接力、终端设备睡觉轮询,分工直接对应三条硬约束;
  • 弱王权:协调器运行期职责有限,掉电后网络自治运行,仅新入网与安全操作暂停;
  • 父子契约:父节点缓存代收、醒来轮询取件,下行时延等于轮询周期,缓存深度是隐性瓶颈;
  • 功耗量级:路由器数十毫安级对终端设备微安级,差三到四个数量级,角色选错电池必翻车;
  • 本节坐标:角色定了,下一节看角色们能摆出什么阵型——拓扑与地址。

延伸:角色错配的案例复盘

一个真实感很强的复盘:某项目把电池供地的中继器(实现上是路由器角色)藏在吊顶里做"信号补盲",三个月后批量投诉"网络时好时坏"。排查链路完全正常,最后发现是这些电池路由器电压跌落后间歇性下线,每次下线都触发子网重连与路由重建。教训有二:路由器的常供电假设是协议级前提,不是建议;把"角色契约"写进部署清单(每个点位标注角色与供电来源),比事后排障便宜得多。

常见问题

终端设备能变成路由器吗?

规范允许设备宣告不同能力,商业实现里也有"可配置角色"的产品(通电当路由器、断电当终端重新入网)。但角色切换伴随重新入网与地址变化,控制关系要重建,动态切换在实践中很少作为常态使用,多用于安装期的角色定型。

速查:角色决策清单

  • 有墙电且位置居中:优先路由器(贡献骨架);
  • 有墙电且是建网核心:协调器(全网唯一 · 建议兼网关);
  • 电池或能量收集:终端设备(接受轮询时延);
  • 移动频繁:终端设备(换父比换路由代价小);
  • 电池供电路由器:禁止进入部署清单(历史教训);
  • 骨架密度判断:任一终端到网关超过十余跳即加路由器分区。

补三种节点角色的工程部署含义。协调器(唯一的网络缔造者):一台网络只此一个,通常与网关集成——它的位置决定整个网络的中心,部署时要放在覆盖的几何重心。路由器(常供电的中继与终端双重身份):所有 mains 供电设备默认就是路由器——智能插座、常亮灯具都是网络的路由基础设施,部署规划时它们就是"信号中继站",位置影响全网覆盖。终端设备(电池供电的休眠节点):不参与转发、靠父节点代收消息——门窗传感器、温湿度计属于此类,部署时只需考虑与任一路由器的距离。角色的部署推论可以总结为一句:路由器画覆盖、终端挂边住、协调器居中坐——把这三句当部署口诀,网状网络的覆盖规划就有了章法。另一条工程常识:终端设备的父节点选择在设备侧自主决定(选链路质量最好的路由器),但部署者可以用路由器的位置间接引导——布线即布网。

补角色切换的一个动态场景:路由器掉电后它的终端子设备的孤儿处理。 mains 供电的路由器(智能插座)断电时,挂靠在它下面的电池终端瞬间失去父节点——它们的协议行为是启动孤儿扫描(在原信道上呼叫原父节点),数次失败后广播 rejoin 寻找新的父节点。这段孤儿期的用户体验是传感器离线,时长取决于父节点恢复或孤儿扫描找到新父的速度。部署对策:同一区域的 mains 路由器至少两个(互为备份父节点),避免单点断电造成一片终端离线;电池终端的重试参数(孤儿扫描次数与间隔)在协议栈里可调,过激的重试会耗尽电池(这就是一晚上把电池耗光的著名 bug 的成因——某些早期固件在孤儿状态下全功率连续扫描)。角色定义的工程纵深,在故障场景里才完全展开——三种角色不是三种型号,是同一台设备在不同供电与位置下的三种生存策略。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U