Skip to content

第7章 路由机制 ​

本章目标

搞清 Zigbee 网状网如何「发现路径」和「逐跳转发」,并会读路由表。日志来自 zigbee-nwk-routing 真实运行。

7.1 网状路由的核心思想 ​

没有中心路由器,每个路由器都能转发。数据不是「直线飞过去」,而是一跳一跳地接力,直到到达目的设备。

[协调器 00:00] --跳1--> [路由器 52:c5] --跳2--> [路由器 cf:e0] --跳3--> [终端 ad:6e]

类比

像快递分拨中心接力:每个节点只负责「送到下一站」,不认识整条路也没关系。

7.2 路由发现(Route Discovery) ​

当源节点不知道去目的地的路时,发起路由发现(广播 RREQ → 目的地回 RREQ → 沿途建路由表项)。真实日志:

Route Discovery launched...
RREQ sent: 00:00 -> broadcast (寻找 ad:6e)
RREP received: 00:00 <- cf:e0 (找到了路)
Adding route to ad:6e via 52:c5 (3 hops)

7.3 路由表怎么看 ​

Routing Table (destination | next-hop | status | type):
  ad:6e  | 52:c5  | ACTIVE | DISCOVERY
  52:c5  | 52:c5  | ACTIVE | DISCOVERY
  • Destination:目的短地址;
  • Next-hop:下一跳给谁(关键字段!);
  • Status:ACTIVE=可用;DISCOVERY=正在/刚发现。

7.4 三种路由模式对比 ​

模式做法特点
网内树路由沿父子树向上走到公共祖先再向下无路由表开销,但路径长
网状路由逐跳最优转发路径短,需路由发现与存储
源路由源节点在包里写好整条路径中间节点零状态

Zigbee 3.0 默认使用网状路由(结合树路由兜底),ns-3 模块对 RREQ/RREP 流程有完整实现与日志。

与真机对照

第 14 章会看到 CC2530 的 NLME_RouteDiscoveryRequest、路由表 routeTable 与本节的发现流程一一对应。

配套实验:实验四 · 网状 Mesh(3 跳路径可视化)

aioteer · 物联网专业课程群

💬AI 伴学配置