Skip to content
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 真实路径)
这个页面怎么用? 三层教学:① 概念层——把树形结构、建树顺序、多跳传递点明白;② 验证层——实验一/三/四/五全部来自 ns-3 真实仿真(实验四的跳数是 FindRoute 实测);③ 源码层——打开 zigbee-tree-network.cc 对照看「路由器先入网、终端后挂靠」的时序设计。
标注:实验二为教学示意;其余实验数据来自真实仿真。仿真环境:WSL2 Ubuntu + ns-3.48 + zigbee 模块。

aioteer · 物联网专业课程群

💬AI 伴学配置