ZIGBEE 机制实验室 · 树形组网
树形拓扑:根—分支—叶子,数据沿树传递
树形(Cluster-Tree)介于星形与网状之间:协调器是根、路由器是分支、终端是叶子。与星形「全直连中心」不同,树形里数据要沿父-子链路逐跳传递。本页用 ns-3 真实跑通的 1 根 + 2 分支 + 3 叶子的树形网络,讲清结构、入网与多跳。
数据源:ns-3.48 zigbee 模块 · zigbee-tree-network 示例真实输出(含真实多跳路径)
应用
APS
NWK
MAC
PHY
实验一 · 树形拓扑总览
命令从根出发,沿树逐跳下行
先点选一个终端(叶子),再点「点亮/熄灭」。观察命令包如何先落到它的父路由器、再下到叶子——这就是树形与星形的最大区别:多跳传递,而不是直达。
协调器 · 根 00:00
路由器 ZR1 07:8b
路由器 ZR2 e1:ea
终端 1 c1:aa叶子 · 挂 ZR1
终端 2 ca:2e叶子 · 挂 ZR2
终端 3 27:13叶子 · 挂 ZR1
当前目标:终端 1(c1:aa) —— 路径 根 → 路由器 ZR1 → 终端 1(2 跳,数据沿树下行)
实验二 · 树的分层结构
根、分支、叶子,各司其职
点卡片查看每一层在树中的角色。记住一句话:叶子只认自己的父节点,这就是树形「层级通信」的根源。
根 · 协调器
分支 · 路由器
叶子 · 终端
实验三 · 树是怎么长出来的
根先种下,分支再生,叶子最后挂上
树形建网有严格的先后:协调器先建网成为根 → 路由器依次加入并「开启路由」成为分支 → 终端最后加入,此时它们只收到父路由器的信标、够不到根,于是挂靠为叶子。时间为真实仿真输出。
实验四 · 真实多跳路径
ns-3 实测:数据到底走了哪几跳
下面三条路径来自仿真中 FindRoute 打印的真实路由。点卡片看每条路径的每一跳,以及它和星形「直达」的对比。
路径 1 · 根 → 终端 1
2 跳 · 经 ZR1 中转
路径 2 · 根 → 终端 2
2 跳 · 经 ZR2 中转
路径 3 · ZR1 → 终端 3
1 跳 · 父子直达
星形(对比):协调器 ⇄ 每个终端都是单跳直达,无中转。
树形(本页):叶子 ⇄ 根需逐跳经过父路由器,链路更长但扩展了覆盖、省去了路由器全互联。
实验五 · 完整仿真时间线
从生根到树叶,全流程真实回放
数据来自 zigbee-tree-network 在 ns-3.48 中的真实运行。点「播放」看整棵树从建网到三次命令的完整时序。
数据来源:E:\ns3_zigbee\output\zigbee-tree-network.log(ns-3.48 真实仿真输出,含 FindRoute 真实路径)