ZigBee自组网地址分配与路由协议技术详解
1. ZigBee简介
ZigBee是基于IEEE802.15.4标准的低功耗局域网协议。根据国际标准规定,ZigBee技术是一种短距离、低功耗的无线通信技术。
ZigBee协议从下到上分别为物理层(PHY)、媒体访问控制层(MAC)、传输层(TL)、网络层(NWK)、应用层(APL)等。其中物理层(PHY)和媒体访问控制层(MAC)遵循IEEE802.15.4标准的规定。
2. ZigBee设备类型
ZigBee网络包含:
协调器(ZC)
路由器(ZR)
终端设备(ZED)
2.1 协调器
ZigBee网络中协调器主要作用是建立和维护网络。存储网络信息。是整个网络的认证中心。
2.2 路由器
ZigBee网络中路由器主要作用是网络的扩展功能。在障碍周围动态路由,为远端节点与中心节点的提供信息通道。
2.3 终端设备
ZigBee网络中终端设备是一个仅接收信息和发送信息的简易功能的ZigBee设备。它只能处于ZigBee网络的末端,并且只能与其父节点进行通信,可支持低功耗功能,没有路由能力和网络维护能力。
3. ZigBee网络结构
ZigBee网络可分为:星型网,树状网,网状网(MESH网)。
(特别提示:星型和树状网络适合点多多点、距离相对较近的应用)
3.1星型网
ZigBee星型网络拓扑如下图所示。星形拓扑是最简单的一种拓扑形式,他包含一个Coordinator(协调者) 节点和一系列的 End Device(终端)节点。每一个End Device 节点只能和 Coordinator 节点进行通讯。如果需要在两个 End Device 节点之间进行通讯必须通过Coordinator 节点进行信息的转发。
这种拓扑形式的缺点是节点之间的数据路由只有唯一的一个路径。Coordinator(协调者)有可能成为整个网络的瓶颈。实现星形网络拓扑不需要使用 zigbee 的网络层协议,因为本身IEEE 802.15.4的协议层就已经实现了星形拓扑形式,但是这需要开发者在应用层作更多的工作,包括自己处理信息的转发。
。
ZigBee星型网络拓扑
3.2 树状网
ZigBee树状网络拓扑如下图所示。树状拓扑包括一个Coordinator(协调者)以及一系列的 Router(路由器) 和 End Device(终端)节点。Coordinator 连接一系列的 Router 和 End Device, 他的子节点的 Router也可以连接一系列的 Router 和End Device. 这样可以重复多个层级。
需要注意的是:
Coordinator 和 Router节点可以包含自己的子节点。
End Device 不能有自己的子节点。
有同一个父节点的节点之间称为兄弟节点
有同一个祖父节点的节点之间称为堂兄弟节点
每一个节点都只能和他的父节点和子节点之间通讯。
如果需要从一个节点向另一个节点发送数据,那么信息将沿着树的路径向上传递到最近的祖先节点然后再向下传递到目标节点。
这种拓扑方式的缺点就是信息只有唯一的路由通道。另外信息的路由是由协议栈层处理的,整个的路由过程对于应用层是完全透明的
ZigBee树状网络拓扑
3.3网状网
ZigBee网状网拓扑如下图所示。网状拓扑包含一个Coordinator和一系列的Router 和End Device。这种网络拓扑形式和树状拓扑相同;请参考上面所提到的树状网络拓扑。但是,网状网络拓扑具有更加灵活的信息路由规则,在可能的情况下,路由节点之间可以直接的通讯。这种路由机制使得信息的通讯变得更有效率,而且意味这一旦一个路由路径出现了问题,信息可以自动的沿着其他的路由路径进行传输。
通常在支持网状网络的实现上,网络层会提供相应的路由探索功能,这一特性使得网络层可以找到信息传输的最优化的路径。需要注意的是,以上所提到的特性都是由网络层来实现,应用层不需要进行任何的参与。
网状网络拓扑结构的网络具有强大的功能,网络可以通过“多级跳”的方式来通信;该拓扑结构还可以组成极为复杂的网络;网络还具备自组织、自愈功能;
ZigBee网状网络拓扑
4. ZigBee地址分配机制
ZigBee 2007协议中,网络地址分配机制为树状网络分配机制,其主要实现为:
假设子设备数量的最大值nwkMaxChildren(Cm),网络最大深度为nwkMaxDepth(Lm),父节点将路由设备作为它的子设备的最大数为nwkMaxRouters(Rm),自身网络深度(d),则可计算函数Cskip(d)m,该函数为在给定网络深度和路由子设备个数的条件下福设备所能分配子区段地址数:
如果一个设备Cskip(d)的值为0,则没有路由能力,该设备为终端设备;
如果一个设备Cskip(d)的值大于0,则有路由能力,该设备为路由器设备。
网络中分配地址为(n为当前分配节点个数)
终端:An=Ak+1+Cskip(d)*(n-1)
路由器:An=Ak+Cskip(d)*Rm*(n-1);
下一个路由器设备分配地址为前一个已分配路由器地址加Cskip偏移量
CurNodeInfo.NextRouterAddr+ = CurNodeInfo.Cskip;
下一个要分配的终端设备地址为前一个已知分配地址+1
CurNodeInfo.NextEndDevAddr++;
5. ZigBee树状路由机制
假设一个路由器要发送数据包到目标地址D。这个路由器的网络地址个网络深度为A和d。它首先会判断目标地址设备是否是它的子设备,应当满足:
A < D < A+Cskip(d-1)
如果目标设备是它的子设备,下一跳地址就是
否则,路由器将此数据包发向它的父节点。
ZigBee自组网地址分配与路由协议技术详解相关推荐
- 【网络安全】BGP线路是什么意思?最全BGP路由协议技术详解
[网络安全]BGP线路是什么意思?最全BGP路由协议技术详解 一.BGP 的基本概念 自治系统AS(Autonomous System) AS 是指在一个实体管辖下的拥有相同选路策略的 IP 网络.B ...
- 【网络干货】最全BGP路由协议技术详解
一.BGP 的基本概念 自治系统AS(Autonomous System) AS 是指在一个实体管辖下的拥有相同选路策略的 IP 网络.BGP 网络中的每个 AS 都被分配一个唯一的 AS 号,用于区 ...
- ×××技术详解(全)
×××技术详解(全) 一.引言 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office ...
- 区块链服务网络(BSN)技术详解
主讲人:何亦凡 各位领导.各位来宾,下午好! 首先,我想感谢国家信息中心让我们有幸参与了一个这么有意义的国家项目.在过去的一年多里,我们六家发起单位的技术团队一起奋斗,经过艰辛的研究和开发,终于让区块 ...
- IPv6技术详解:基本概念、应用现状、技术实践(上篇)
本文来自微信技术架构部的原创技术分享. 1.前言 普及IPV6喊了多少年了,连苹果的APP上架App Store也早已强制IPV6的支持,然并卵,因为历史遗留问题,即使在IPV4地址如果饥荒的情况下, ...
- P2P技术详解(一):NAT详解——详细原理、P2P简介(转)
这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层开发人员而言有很高的参考价值. <P2P技术详解>系列文章 ➊ 本 ...
- 015. P2P技术详解(一):NAT详解——详细原理、P2P简介
http://www.52im.net/thread-50-1-1.html 这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层 ...
- vlan配置实例详解_网工知识角|MUXVLAN技术详解,基本原理一篇搞定
学网络,就在IE-LAB 国内高端网络工程师培养基地 MUX VLAN(Multiplex VLAN )提供了一种通过VLAN进行网络资源控制的机制.通过MUX VLAN提供的二层流量隔离的机制可以实 ...
- 防火墙虚拟化技术详解(上)
今天继续给大家介绍华为USG6000防火墙.本文主要介绍的是防火墙的虚拟化技术,从虚拟化技术应用和管理两个方面对虚拟化技术进行了详细阐述. 一.虚拟化技术概述 在华为系列防火墙中,存在两种虚拟化技术, ...
最新文章
- 计算机书籍-大型网站性能优化实战
- 豆瓣评分9.7,Github 9.9K Star的中文版《神经网络与深度学习》分享(附PDFPPT下载)...
- 【APUE】文件 I/O 操作
- P2730 魔板 Magic Squares (搜索)
- OpenGL简单镶嵌
- Centos7 amp;amp; Docker amp;amp; Jenkins amp;amp; ASP.NET Core
- 因此,Oracle杀死了java.net
- 可以供MFC调用的,QT实现的DLL(qtwinmigrate实现)
- sq服务启动后又停止_SQL SERVER SQL Agent 服务启动后又停止的解决办法
- 蓝桥杯第八届省赛JAVA真题----字母组串
- 二叉排序树删除节点_二叉排序树的创建、插入和删除
- 函数 的 重载 和 函数 模版
- 小学生四则运算JAVA
- 设计模式--适配器1模式实现C++
- 【路径规划】基于matlab动态多群粒子群算法局部搜索路径规划【含Matlab源码 448期】
- 目前使用的python版本_Python版本到底有多少种?
- java时间的格式化_java如何给时间格式化
- python 获取网页特定图片并保存至本地
- odl源码系列一restconf模块
- [云原生专题-4]:云平台 - 在阿里云平台快速搭建服务器集群
热门文章
- 记一次线上环境 redis偶尔连接超时报错 解决
- Access to XMLHttpRequest at ‘xxx‘ from origin ‘http://localhost:8082‘has been blocked by CORS policy
- 算法导论的一道课后练习题,挺有意思
- 看图写英语作文关于计算机,看图写话英语作文模板
- 关于eNSP使用时出现错误代码40和41的问题解决方法
- 不可不学的摄影技巧.3——摄影小窍门
- 1. 使用 while/for 循环:计算 1-100 之间所有数字的和,所有偶数的和,所有奇数的和
- 全国大学生大数据技能竞赛(Hadoop集群搭建)
- 学习编程该如何开始呢?
- 【异界双子-twin souls-】Tech Support