🎬慕斯主页:修仙—别有洞天
♈️今日夜电波:孤雏
0:21━━━━━━️💟──────── 4:14
🔄 ◀️ ⏸ ▶️ ☰
💗关注👍点赞🙌收藏您的每一次鼓励都是对我莫大的支持😍
前言
一、Zigbee网络层地址分配介绍
二、 网络层地址分配计算
通过一道例题来进一步理解 :
特别注意!!!
对于该公式的说明:
C->每个父节点最多可连的节点数
R->父节点下的那C个子节点最多可有的路由器节点数
L->网络的最大深度
d->网络深度
Cskip(d)->网络深度d的父节点为子节点分配的地址之间的偏移量
注意:我们对于分配地址的计算的要点就是围绕这些来进行的!!!其中最主要的便是Cskip,务必要计算准确!!! 其中C、R、L通常题目会给出!
一些额外的说明:
(1)当一个路由器节点的Cskip(d)为0时,它就不具备为子节点分配地址的能力(意思就是不用往后算了!!!),也即表明不能够在使用别的节点通过他加入网络。
(2)当Cskip(d)大于0时表明父节点可以接受其他节点为其子节点(意思是你要你要往后继续算!!!),并为子节点分配网络地址。父节点会为第一个与它关联的路由器分配比他大1的地址,之后与之关联的路由器节点的地址之间都相隔偏移量Cskip(d)。
(3)每个父节点最多可以分配R个这样的地址。伪终端节点分配地址和为路由器节点分配地址不同,假设父节点的地址为Ap,则第N个与之关联的终端节点地址An按下式计算:
分析一下这道题目:父节点最多可以连接4个子节点->C=4,子节点最多可以有4个路由器节点->R=4,最大深度为3->L=3,结合图来分析:
再来看这个公式,我们已经知道R为4的情况下,对此选择下半公式来进行计算!
计算如下:分别计算出深度为0、1、2时的Cskip
Cskip(0) = (1+4-4-(4
*
4^(3-0-1)))/(1-4) = 21
Cskip(1) = (1+4-4-(4*
4^(3-1-1)))/(1-4) = 5
Cskip(2) = (1+4-4-(4*
4^(3-2-1)))/(1-4) = 1
在计算完成之后其实已近完成了大半的工作,接下来按照规则来分配节点即可:
首先从ZigBee协调器相邻的节点开始分配,分配完成后,再依次分配各自的子节点。
如下图所示:
接下来是重点,请注意!!!
由于本题未说明终端节点以及以及路由器,对此本题按一下规则:
我们就将所有节点都看作为路由器吧!现在,(1)我们选择与父节点(默认1号节点地址addr(1)=0)相邻的任意一个节点,剩下的先放在一边,让这个节点在根节点的地址基础上+1!!!这里选择了2号节点,则二号节点的地址:addr(2) = addr(1)+1。(2)其他剩余的节点按照逆时针、顺时针都可以分别用上一层次深度的Cskip加上相邻节点的地址,例:3号:addr(3) = addr(2) + Cskip(0) = 1+21 = 22,4号:addr(4) = addr(3) + Cskip(0) = 22+21 = 43,5号:addr(5) = addr(4) + Cskip(0) = 43+21 = 64 既:如下图所示:
在进行完上面的步骤后,我们分别以各个已近分配好地址的节点为父节点,接着重复(1)(2)操作即可,(特别注意:在Cskip=0时就没必要继续分配了)
以下是本文的总体解题:
1号:addr(1)=0
Cskip(0)=21
2号:2addr(2) = addr(1)+1=1
3号::addr(3) = addr(2) + Cskip(0) = 1+21 = 22
4号:addr(4) = addr(3) + Cskip(0) = 22+21 = 43
5号:addr(5) = addr(4) + Cskip(0) = 43+21 = 64
Cskip(1)=5
9号:addr(9) = addr(5) + 1 = 64+1 = 65
6号:addr(6) = addr(9) + Cskip(1) = 65+5 = 70
7号:addr(7) = addr(3) + 1 = 22+1 = 23
8号:addr(8) = addr(4) + 1 = 43+1 = 44
这里就不多阐述了,对于终端就多注意一下就好
感谢你耐心的看到这里ღ( ´・ᴗ・` )比心,如有哪里有错误请踢一脚作者o(╥﹏╥)o!
给个三连再走嘛~
发表评论 取消回复