搜档网
当前位置:搜档网 › 基于邻居表查询的ZigBee多播路由算法

基于邻居表查询的ZigBee多播路由算法

基于邻居表查询的ZigBee多播路由算法

白乐强;王佳林;张士宏

【摘要】由于ZigBee网络需要将信息以多播的方式进行传递,部分节点多次传输消耗大量能量,导致节点死亡,为缓解这个问题,提出了基于邻居表查询的ZigBee多播路由算法.该算法结合邻居表查询和ZigBee分布式地址分配特性,对ZigBee网络多播转发节点选择进行优化,使一个节点能给多个目的节点转发信息.仿真结果证明该算法减少了路由开销,节约了网络的能量,提高了网络的可靠性.%Due to lot of the ZigBee network information needs to be sent by the ways of multicast,parts of the nodes consume a large amount of energy in multiple transmissions,resulting nodes failure.To alleviate this problem,a ZigBee multicast routing algorithm based on neighbor table query is presented.The algorithm combines with neighbor table query and the ZigBee distributed addressing assignment scheme,making a node send the information to more destination nodes.The simulation results show that the algorithm reduces routing cost,economizes the energy of the ZigBee network and improves the reliability of the network.

【期刊名称】《沈阳大学学报》

【年(卷),期】2012(024)006

【总页数】5页(P38-42)

【关键词】ZigBee;邻居表;多播通信;路由选择;网络

【作者】白乐强;王佳林;张士宏

【作者单位】沈阳建筑大学信息与控制工程学院,辽宁沈阳110168;沈阳建筑大学信息与控制工程学院,辽宁沈阳110168;沈阳建筑大学信息与控制工程学院,辽宁沈阳110168

【正文语种】中文

【中图分类】TP301.6

ZigBee是一种开放性的低功耗、低成本、低数据速率、低复杂度、低分本、自组织的新型短距离无线通信技术[1],是基于IEEE802.15.4标准的个域网协议[2].ZigBee采用IEEE802.15.4制定的物理层(PHY)和媒体访问控制层(MAC)制定的标准,ZigBee的高层标准采用ZigBee联盟制定的网络层(NWK)、应用层(APL)等.ZigBee设备可以分为ZigBee协调器(ZC)、ZigBee路由(ZR)、ZigBee终端设备(ZED)等三种.由于ZigBee网络是自组织网络,每个路由节点对于整个网络通信的可靠性都起到关键性作用,工作方式不当造成的节点失效会造成网络的部分瘫痪,所以改进ZigBee传输算法是提高ZigBee网络可靠性的有效方法.

文献[3]提出多播树传动比算法,该算法是量化了多播树的成本,考虑无线多播信道的链路质量,以及无线多播的特点提出的一种算法.文献[4]提出的网型多播算法是一种考虑到节约能量的无线传感器算法.针对节点移动的无线传感网络文献[5]提出了智能多播路由器发现机制的移动多播,文献[6]提出了本地树更改多播协议.对于实时性文献[7]提出了实时多跳无线多播路由算法,这些算法都适用于Ad-hoc形式网络,不能直接在WSN中应用,因为这些算法都是对于高存储高计算节点来设计的,文献[8]提出适用于ZigBee网络的多播算法、Z-CAST 路由算法.然而Z-CAST算法是根据树形结构路由表转发原理基础上进行信息的传

送,在提高使用节点能量优化方面没有进行考虑.

本文在Z-Cast算法基础上,针对转发多播信息过程中转发节点的浪费问题提出了ZigBee邻居多播路由算法(ZNMR).该算法综合考虑目的节点的位置及规模来选择转发路径,对不同形式的多播组采用不同的路由算法,算法计算量小,适用于ZigBee网络多播信息的发送.

1 模型的建立

1.1 分布式地址分配

ZigBee网络同其他无线传感器网络主要的不同之处在于其采用地址分配方式,它给每个潜在父节点提供一个有限的网络地址子块.整个网络的地址在一个特定的网络内是唯一的,由一个父节点分配给它的子节点.分配方案由分布式算法根据一系列网络自定义参数确定,网络协调者决定了整个网络的最大子设备数.每个设备有一个相关的深度,表示只使用父子链路传输的一个帧到达ZigBee协调器,必须经过的最少跳数.其中协调者自身的连接深度为0,其直接子设备为1.ZigBee协调器首先根据需要规定3个参数:网络的最大深度nwkMaxDepth(Lm),一个父节点可以有的子节点最大个数的值nwkMaxChildren(Cm)和一个父节点可以有的路由器子节点的最大个数nwkMaxRouters(Rm),其中Cm 应大于等于Rm,这样就可以保证协调器或者路由器可以连接至少Cm-Rm个终端节点.网络深度为d的路由节点所能分配的地址空间Cskip(d)满足公式(1)

如果一个父节点它的深度是d,它的地址是Aparent,那么第n个子路由节点的地址如公式(2):

而它的第n个子节点地址如公式(3):

一个Cskip(d)值大于0的父节点设备必须接收子节点设备,根据子节点设备是否具有路由器功能,并给它们分配不同的地址.一个父节点给它的第一个路由功能

子节点设备分配一个地址1,大于它自己的地址.ZigBee协调器为每一个ZigBee

设备分配了一个固定的ID.并且每一个ZigBee节点不仅记录了父节点与子节点ID,而且记录了自己一跳邻居节点的ID.

1.2 ZigBee网络转发模型

Z-Cast的树形路由算法是根据父子关系进行信息转发,不需要路由选择,如图1

所示,图中S为信息源节点,N3、N5、N6、N8、N10、N11为目的节点,ZC

为协调器,信息从S向外转发.转发过程如虚线箭头所示,S通过N1、N2将信息

发送给协调器,协调器再根据目的地址发送给子路由,最终信息到达目的节点.

图1 树形路由算法的信息转发路径选择示意图Fig.1 Schematic diagram of Tree routing algorithm forwarding path selection

该算法有两个问题,一是即使目的节点是信息源的邻居节点,多播信息也会根据父子逻辑关系,经过多跳才到达目的节点.二是该多播方法会消耗过多路由,尤其是Lm较小的节点.ZigBee邻居多播路由算法针对这两个问题进行了改进.信息源在转发信息之前首先给自己的邻居节点发送目的地址判断信息,邻居节点根据自己的邻居表来判断周围是否存在目的节点,根据存在情况选择是否接受信息源节点信息并转发.如图2所示,S将信息转发给N1、N4,两节点分别将信息转发给N3、

N5.N5没有直接将信息转发给目的节点N6,而是转发给邻居节点中目的节点较多的N7节点,如此做可以节约转发路由数量及转播跳数,提高了网络的转发效率.

图2 ZigBee邻居多播路由算法的多播信息转发路径选择示意图Fig.2 Schematic diagram of ZigBee neighbor multicast routing algorithm forwarding path selection

2 ZigBee邻居多播路由算法

ZigBee邻居多播路由算法定义一个转发优先级参数ForwardingLevel,ForwardingLevel初始化为-1.ForwardingLevel是一个整数,表示信息源节点一跳邻居节点的邻居表中未接受信息的目的节点的数量,目的节点越多Forwarding Level值越大,最大值为该节点一跳邻居节点数量,即该节点邻居节点都为目的节点,最小为0即没有目的节点.信息源转发多播信息之前首先比较本节点的邻居表,将信息转发给一跳邻居节点本身就是目的节点的节点,这些节点做出标记表示已接收该多播信息,以免重复接收信息.然后信息源所有一跳邻居节点根据ID从小到大开始确定转发优先级,开始寻找优先级最大转发节点.

信息源确认一跳邻居节点的邻居表中未接受信息的目的节点数量,记为ForwardingLevel.若邻居表中无目的节点或目的节点都已接受该组多播信息则ForwardingLevel为0.当信息源确认过所有邻居节点优先级,选取ForwardingLevel最大的节点作为转发节点.若两个节点优先级相同则根据ID进行判断,ID小的优先级比ID大的优先级高.信息源其他一跳邻居节点Forwarding Level不变,以供信息源再次挑选转发节点时使用.

当转发节点准备发送信息时,首先从信息源接受信息,然后将多播信息发送给未接受信息目的节点.转发节点将信息转发给所有邻居表中的目的节点后,该节点转发

优先级ForwardingLevel置0,不再作为转发节点.信息源重新计算Forwarding Level大于0的信息源一跳邻居节点转发优先级,选择新的转发节点.直到信息源

所有一跳邻居节点ForwardingLevel都为0,该信息源节点转发信息完毕,将自

身的转发优先级Forwarding Level置0.根据ID从小到大在已接受信息的目的节

点中重新寻找新的节点作为信息源,直到网络中所有目的节点都已经收到信息,该组多播信息发送完毕.ZigBee邻居多播路由算法流程图如图3所示.

图3 ZigBee邻居多播路由算法流程图Fig.3 Flow chart of ZigBee neighbor multicast routing algorithm

3 数据仿真及分析

本文采用MATLAB平台进行仿真,对ZigBee邻居多播路由算法的可行性进行仿

真以及对结果进行分析,在200m×200m的空间内随机生成50到200个ZigBee节点,按一定的比例从中产生目的节点.每个节点的最大传输范围为40m,节点能容纳最大子节点数Cm为6,节点深度Lm为4,并且所有节点都是稳定的.模型运行时假设物理层与数据链路层都正常工作.对ZCAST算法和ZigBee邻居多播路由算法进行试验.

试验选取了50、75、100、125、150、175和200七种ZigBee节点数量规模的网络场景,其中随机各选择10%~50%比例节点作为目的节点,在随机生成场景

的前提下,两种算法对随机选择信息源节点与选择ZigBee协调器(ZC)作为源

节点两种情况进行仿真,每种场景仿真100次,统计仿真结果来求取平均值,取

得的数据如表1~表4.

表1 目的节点比例为20%信息源随机选取结果Table 1 Results of destination node ratio is 20%and the source is selected randomly50 75 100 125 150 175 200 Z-Cast算法 10.04 13.94 16.99 20.74 24.03 27.61 30.85 ZNMR算法

算法节点个数7.31 10.78 13.48 15.95 17.63 18.99 20.3

表2 节点数量为100信息源随机选取结果Table 2 Results of the number of nodes is 100and the source is selected randomly5 10 15 20 25 30 35 40 45 50 Z-Cast算法 10 13.22 15.68 16.99 18.86 19.87 21.02 21.73 22.44 24.11 ZNMR 算法 3.51 7.42 11.38 13.48 15.73 16.83 18.41 19.5 20算法目的节

点数.61 21.73

表3 目的节点比例为20%信息源选取ZC结果Table 3 Results of destination node ratio is 20%and the source is ZC50 75 100 125 150 175 200 Z-Cast算法 8.86 12.93 16.15 19.41 22.73 26.13 29.34 ZNMR算法算法节点个数6.94

10.04 12.48 13.88 16.03 17.50 19.03

表4 节点数量为100信息源选取ZC结果Table 4 Results of the number of nodes is 100and the source is ZC5 10 15 20 25 30 35 40 45 50 Z-Cast算法7.84 11.69 14.25 16.26 17.45 18.51 20.00 20.92 21.37 22.29 ZNMR 算法

3.95 7.13 9.84 12.48 1

4.38 1

5.87 17.32 18.91 19算法目的节点数.87 20.51 图4 Z-Cast算法的信息转发路径选择图Fig.4 Z-Cast algorithm forwarding path selection

图5 ZigBee邻居多播路由算法的信息转发路径选择图Fig.5 ZigBee neighbor multicast routing algorithm forwarding path selection

图4、图5为100节点目的节点比为20%条件下随机生成的两算法的多播信息转

发路径选择图,空心点表示ZigBee普通节点,十字节点表示目的节点,实心点表示转发节点,三角形表示信息源,坐标(100,100)的节点为ZigBee协调器,

每一条黑色虚线表示节点之间传输信息.图4中信息源节点首先将信息发送给信息

源的父节点,直到ZigBee协调器,协调器再将信息根据目的地址通过父子关系的路由节点转发给各目的节点.即使目的节点就在信息源附近,信息源也不会将信息

直接发送给目的节点,这样对于整个网络的能量是一种浪费,而且每次新一组多播信息的发送都会使用Lm较小的路由节点,使上层路由过多的损耗,长期下去会影响网络可靠性.图5中ZigBee邻居多播路由算法使节点在转发信息之前进行判断,使信息呈放射状向整个网络的目的节点转发,每一次转发信息都有多个接收者,而且信息不必须经过协调器.这样转发不仅减少了转发节点,而且减少了Lm较小的

路由的使用,提高了网络的可靠性.

由表1可以看出在目的节点比例为20%情况下,随着节点个数不断增加,两算法

的转发节点都随之增加.但ZNMR算法转发节点明显少于Z-CAST算法,且节点越多ZNMR算法的优势越明显.由表2可以看出在目的节点数量确定而目的节点比例

不断增加的情况下,ZNMR算法转发个数也少于Z-CAST算法.但是当目的节点比例很大时,该算法转发节点个数逐渐接近Z-CAST算法,这是因为许多较上层的路由节点也成为了目的节点,所以无论使用何种算法转发节点个数都没有明显差距.对比表1表3,表2表4可以看出当ZigBee协调器作为信息源转发信息时,两算法转发节点都有少量的减少,但由表3表4可以看出ZNMR算法仍然适用于该网络,即信息源位置的选取对于不同算法之间转发节点数量的影响是不大的.

4 结论

本文基于邻居表查询和ZigBee分布式地址分配特点,结合传统的无线传感器多播路由算法提出了ZigBee邻居多播路由算法.采用MATLAB进行仿真,实验结果表明该算法减少了ZigBee多播路由转发节点,提高了多播算法效率,在节约能量方面有了很大改进.该算法对于大规模ZigBee网络多播信息发送是一个可改进的算法.

【相关文献】

[1] ZigBee Alliance.Document 053474r17ZigBee specification[S].2008.

[2] The LANMAN Standards Committee.IEEE Std 802.15.4TM-2003 [S].New York,USA:the Institute of Electrical and Electronics Engineers,2003.

[3] Jung Y,Choi S,Hwang I,et al.Cost-Effective Multicast Routings in Wireless Mesh Networks[J].Communications in Computer and Information Science,2011(262)PART 1:262-271.

[4] Zeng G,Wang C,Xiao L.Grid Multicast:An Energy-Efficient Multicast Algorithm for Wireless Sensor Networks[C].4th International Conference on Networked Sensing Systems,INSS 2007:267-274.

[5] Lee H,Han S.Intelligent Multicast Router Discovery Mechanism in Mobile Multicast[C].Advanced Industrial Conference on Telecommunications/Service Assurance with Partial and Intermittent Resources Conference/E-Learning on Telecommunications Workshop AICT/SAPIR/ELETE 2005:152-156.

[6] Srinivasan T,Chandrasekar R,Vijaykumar V,et al.Localized Tree Change Multicast Protocol for Mobile Ad Hoc Networks[C].Second International Conference on Wireless and Mobile Communications,ICWMC 2006.

[7] Yi J,Poellabauer C.Real-Time Multicast for Wireless Multihop Networks [J]. Computers and Electrical Engineering,2010(36):313-327.

[8] Gaddour O,KoubâaA,Cheikhrouhou O,et al.Z-Cast:A Multicast Routing Mechanism in ZigBee Cluster-Tree Wireless Sensor Networks[C].IEEE 30th International Conference on Distributed Computing Systems Workshops 2010:171-179.

EIGRP详解

名词简介: EIGRP Databases(EIGRP数据库)存在三张表如下: 1、邻居表neighbor table:EIGRP路由器会在启动后发送HELLO包来寻找和维持邻居关系 2、拓扑表topology table:EIGRP路由器会把从邻居那里收到的路由路径信息加载到自己的拓扑表中,形成对全网络拓扑的认知 3、路由表routing table:路由器依靠它来进行数据的转发处理,该表中的内容是通过运行算法通过对topology table进行计算得出的一条或多条successor加入路由表。 DUAL算法:差分更新算法 EIGRP为了维护successor和feasible successor,采用了AD和FD 1、AD-advertised distance:从EIGRP的邻居到达目标网络的度量 2、FD-feasible distance:本地到邻居路由器的度量+AD 如何选择出successor和feasible successor呢? EIGRP通过比较所有到达目标网络路径的FD,选择出最低的FD加入路由表中成为successor,次低的成为feasible successor。 因为有了feasible successor,当successor失效后,feasible succes sor马上可以取而代之,不用等待holddown超时,所以EIGRP可以在网络发生改变时很快速的收敛 EIGRP metric 前面在IGRP一篇中已经谈到了IGRP的度量值的衡量 其实IGRP和EIGRP的度量计算差不多,只是IGRP的度是24位的格式,而EIGRP却是32位的格式,所以是256倍。那么按照计算IGRP度量的办法计算出来一个值,然后乘以256就是EIGRP的度量啦 常用的两个衡量度量的参数: 1、带宽:10的七次方除以某条路由路径中的最低带宽值,然后乘以256 2、时延:所有接口的时延和乘以256,单位是微秒 前面IGRP中已经提到过,不可以随意的去修改权重……K值。 如果有必要,建议在经过周密的计算后,再来根据实际情况修改,在EIGR P中也是同样,而且当K值不匹配,那么他们无法形成邻居 EIGRP packet 在IGRP中谈到了三种路由:内部路由、系统路由、外部路由 在EIGRP中有5种包类型: 1、hello包:EIGRP路由器使用HELLO包来发现邻居和keep-alive

邻居表(Neighbour Table)问题

ZIGBEE:Coordinator中的邻居表(Neighbour Table)问题 2011-06-13 15:56:03| 分类:ZigBee | 标签:|字号大中小订阅 本文引用自C-WAR《ZIGBEE:Coordinator中的邻居表(Neighbour Table)问题》 主节点的邻居表的大小为24,意味着主节点最多只可以有24个子节点 (enddevice或router)。 在主节点中的JZA_vStackEvent事件中,在网络成功启动时可以设置这样一个 参数: JZS_vEnableEDAddrReuse(1800); 括号里德参数单位是s,表示的是,如果1800s内子节点还没有跟主节点进行数据通讯,则主节点会认为子节点死掉,接着就会触发 JZS_EVENT_INACTIVE_ED_DELETED事件,将子节点从自己的邻居表删除,因此,当子节点成功入网后,如果设置了JZS_vEnableEDAddrReuse(1800),底层代码中最好在要最多每隔1800s就要跟主节点进行数据通讯,否则,主节点会将该节点的网络信息从邻居表中删除,这样,主节点发送出的数据,子节点 就收不到了。 但是在这种情况下,如果,子节点默认的发送目标地址是其父节点,发送出来的数据,父节点还是能收到了。这样,子节点能找到父节点,但是父节点找不到子节点,唯一的方法是将子节点的网络信息擦除再重新入网。 下面的代码描述的是如何读邻居表: PUBLIC void vReadNeighbourTable(uint8 notify_flag) { int i; vPrintf("\n-- network table --\n"); //Neighbor table for (i = 0; i < gsNIB.nwkNeighborTableSize; i++) { if(gsNIB.nwkNeighborTable[i].u16Addr==0xffff) continue; vPrintf("Neighbor %d: addr = %d, mac:%x-%x, Device Type=%d, LQI = %d, Channel = %d\n", i, gsNIB.nwkNeighborTable[i].u16Addr, gsNIB.nwkNeighborTable[i].sExtAddr.u32H, gsNIB.nwkNeighborTable[i].sExtAddr.u32L, gsNIB.nwkNeighborTable[i].eDevicetype, gsNIB.nwkNeighborTable[i].u8LQI, gsNIB.nwkNeighborTable[i].u8Channel ); if(notify_flag){} }

ZigBee的无线传输

基于zigbee 1、引言 建立基于实时数据库的生产信息管理系统,实现对控制装置的数据上传,实时数据监测,形成一个工业控制网络是现代企业工业化管理的特征,如图1。随着计算机网络技术、无线技术以及智能传感器技术的相互渗透、结合,无线通讯技术逐渐在工业控制领域,为各种智能现场设备、移动机器人以及各种自动化设备之间的通信提供无线数据链路,特别是在一些特殊环境下弥补有线网络的不足,进一步完善工业控制网络的通信性能,成为工业通信的新宠。在GPRS、蓝牙、WiFi、ZigBee等无线通信标准中,ZigBee以功耗低、可靠性高、网络容量大、时延小、成本低等优点在工业通信领域脱颖而出。 图1 ZigBee是由ZigBee Alliance(ZigBee联盟)制定的无线网络协议,是一种近距离、低功耗、低数据速率、低复杂度、低成本的双向无线接入技术,主要适合于自动控制和远程监控领域。ZigBee联盟在制定ZigBee标准时,采用了 IEEE802. 15. 4协议作为其物理层和媒体接入层规范。在其基础之上,ZigBee 联盟制定了网络层(NWK)和应用编程接口(API)规范,并负责高层应用、测试和市场推广等方面的工作,见图2。 图2 2、IEEE802.15.4协议

2.1 物理层 IEEE802.15.4定义了两个物理层标准,分别是2.4 GHz物理层和 868/915MHz物理层。两个物理层都基于DSSS(Direct Sequence SpreadSpectrum,直接序列扩频)技术,使用相同的物理层数据包格式,区别在于工作频率、调制技术、扩频码片长度和传输速率。2.4GHz波段为全球统一的无需申请的ISM 频段,划分成l6个信道, 码元速率为62.5kbaud,采用了l6进制正交调制,用码片长度为8的伪随机码直接扩频技术,能够提供250kb/s的传输速率.868MHz频段是欧洲的ISM 频段,有1个信道,数据传输速率为20kb /s。915MHz频段是美国的ISM频段,划分为10个信道, 数据传输速率为40kb /s,见表1 。后2个频段均采用了差分编码的二进制移相键控(BPSK)调制,用码片长度为15的M序列直接扩频。这两个频段的引入避免了2.4GHz附近各种无线通信设备的相互干扰。物理层的主要功能包括:数据的调制,激活和休眠射频收发器,信道能量检测,信道接收数据包的链路质量指示,空闲信道评估,收发数据等。 表1 2.2 数据链路层 数据链路层负责数据成帧、帧检测、介质访问和差错控制等。IEEE802系列标准把数据链路层分为媒质接入子层MAC和逻辑链路控制子层LLC。MAC子层依赖于物理层提供的服务实现设备之间无线链路的建立与拆除、数据帧传输等;LLC子层在MAC子层的基础上,为设备提供连接服务,由IEEE802.6定义,为IEE802系列标准公用。链路层通过两个服务访问点(SAP)访问高层,通用部

路由分析

★zigBee路由过程: (a)判断目的地址是否为广播帧,如是,则将数据广播出去。若不是,继续下面的环节。 (b)若节点是路由器或者协调器,同时目的节点是一个终端 设备且正是该节点的子节点,那么这个数据帧将直接传送到目的地址,并且设置下一跳目的地址和最终的目的地址一致。 若节点没有路由能力,则直接沿树路由。 (c)若目的节点不是该节点的子节点,则判断此节点中是否有目的地址的路由条目,若有,直接利用路由表来路由数据,否则继续下面的环节。 (d)若没有路由条目,判断路由发现标志是否为1,若是则启动路由发现过程来实现路由发现,若不是则直接进行树路由。

树路由:当一个路由节点收到转发数据包时,首先对目的地址进行判断,看是否是自己的子节点, 若是则下一跳地址即为目的地将数据直接发给目的节点。 若不是,则将数据交给自己的父节点处理。父节点进行类似的处理过程。

AODVjr:一种按需分配的路由协议,只有在路由节点接收到网络数据包,并且网络数据包的目的地址不在节点的路由表中时才会进行路由发现过程。 一次路由建立由以下三个步骤组成: 1)路由发现 2)反向路由建立 3)正向路由的建立 使用3种消息作为控制信息: 1)Route Request(RREQ),路由请求 2)Route Replies(RREP),路由回复 3)Route Error(RERR),路由错误 AODV是按照需求驱动的、使用RREQ.RREP控制实现的、先广播,后单播的路由的路由建立过程。具体过程如下: (1)路由发现过程 建立相应的路由表条目和路由发现表条目,状态设置为路由发现中。 创建一个路由请求分组(RREQ),并使用多播(Multi.Broadcast)的方式向周围节点进行广播。任何一个节点都可能从不同的邻居节点处

(完整)ZigBee协议网络层

3.1网络层状态值 网络层确认原语通常都包括一个参数,这个参数记录回答请求原语的状态。网络层状态参数值如表3.1所示。 表3.1

3.2概况描述 3.2.1网络层概述 ZigBee网络层的主要功能就是提供一些必要的函数,确保ZIgBee的MAC层(IEEE 802.15.4-2003)正常工作,并且为应用层提供合适的服务接口。为了向应用层提供其接口,网络层提供了两个必须的功能服务实体,它们分别为数据服务实体和管理服务实体。网络层数据实体(NLDE)通过网络层数据服务实体服务接入点(NLDE-SAP)提供数据传输服务,网络层管理实体(NLME)通过网络层管理实体服务接入点(NLME-SAP)提供网络管理服务。网络层管理实体利用网络层数据实体完成一些网络的管理工作,并且,网络层管理实体完成对网络信息库(NIB)的维护和管理,下面分别对它们的功能进行介绍。 3.2.1.1网络层数据实体(NLDE) 网络层数据实体为数据提供服务,在连个或者更多的设备之间传送数据时,将按照应用协议数据单元(APDU)的格式进行传送,并且这些设备必须在同一个网络中,即在同一个内部个域网中。 网络层数据实体提供如下服务: (1)生成网络层协议数据单元(NPDU):网络层数据实体通过增加一个适当的协议头,从应用支持层协议数据单元中生成网络层的协议数据单元。 (2)指定拓扑传输路由,网络层数据实体能够发送一个网络层的协议数据单元到一个合适的设备,该设备可能是最终目的通信设备,也可能是在通信链路中的一个中间通信设备。 (3)安全:确保通信的真实性和机密性。 3.2.1.2网络层管理实体(NLME) 网络层管理实体提供网络管理服务,允许应用与堆栈相互作用。网络层管理实体应该提供如下服务: (1)配置一个新的设备:为保证设备正常工作的需要,设备应具有足够的堆栈,以满足配置的需要。配置选项包括对一个ZigBee协调器或者连接一个现有网络设备的初始化的操作。 (2)初始化一个网络:使之具有建立一个新网络的能力。 (3)连接和断开网络。具有连接或者断开一个网络的能力,以及为建立一个ZigBee协调器或者路由器,具有要求设备同网络断开的能力。 (4)寻址:ZigBee协调器和路由器具有为新加入网络的设备分配地址的能力。 (5)邻居设备发现:具有发现、记录和汇报有关一跳邻居设备信息的能力。 (6)路由发现:具有发现和记录有效地传送信息的网络路由的能力。 (7)接收控制:具有控制设备接收状态的能力,即控制接收机什么时间接收、接收时间的长短,以保证MAC层的同步或正正常接收等。

基于邻居表查询的ZigBee多播路由算法

基于邻居表查询的ZigBee多播路由算法 白乐强;王佳林;张士宏 【摘要】由于ZigBee网络需要将信息以多播的方式进行传递,部分节点多次传输消耗大量能量,导致节点死亡,为缓解这个问题,提出了基于邻居表查询的ZigBee多播路由算法.该算法结合邻居表查询和ZigBee分布式地址分配特性,对ZigBee网络多播转发节点选择进行优化,使一个节点能给多个目的节点转发信息.仿真结果证明该算法减少了路由开销,节约了网络的能量,提高了网络的可靠性.%Due to lot of the ZigBee network information needs to be sent by the ways of multicast,parts of the nodes consume a large amount of energy in multiple transmissions,resulting nodes failure.To alleviate this problem,a ZigBee multicast routing algorithm based on neighbor table query is presented.The algorithm combines with neighbor table query and the ZigBee distributed addressing assignment scheme,making a node send the information to more destination nodes.The simulation results show that the algorithm reduces routing cost,economizes the energy of the ZigBee network and improves the reliability of the network. 【期刊名称】《沈阳大学学报》 【年(卷),期】2012(024)006 【总页数】5页(P38-42) 【关键词】ZigBee;邻居表;多播通信;路由选择;网络 【作者】白乐强;王佳林;张士宏

ZigBee网络Cluster-Tree优化路由算法研究

ZigBee网络Cluster-Tree优化路由算法研究 引言无线通信和嵌入式微传感器技术的快速发展促进了无线传感器网络的崛起。ZigBee协议基于IEEE 802.15.4无线标准制定,包括应用层、网络层、安全层等,实现了网络的自组织和自维护的功能。在无线传感器网络中,节点的能量是有限的,如果节点在最后因为自身的能量消耗殆尽而死亡,将会对整个网络的传输性能造成很大影响。因此,在实际应用中,根据不同的网络情况来选择最符合应用需求的路由协议,让路由协议根据网络拓扑选择合适的路径,平均分布节点的传输能量,降低网络的功耗是网络层必须要考虑的任务。1 ZigBee 路由算法研究依据设备的能力,ZigBee网络中的设备可以分为全功能设备(Full Function Device,FFD)和半功能设备(Reduced Function Device,RFD)。FFD能转发其他设备的数据帧,RFD则不能。当FFD加入一个网络时,它可以作为协调器。协调器会周期性地广播数据帧,周围的RFD能够发现并加入网络,形成一个星型拓扑网络。在星型拓扑中,协调器负责控制整个网络,所有终端设备都直接与协调器通信,并且由它维护。ZigBee网络层还支持树型和网状网络。树型网络采用分级路由的策略在网络中传送数据和控制信息,而网状网络则可以进行点对点的通信。在树型网络中,根节点(协调器节点)和所有的内部节点(路由器节点)是FFD,而RFD只能作为叶子节点(终端节点)。当协调器或路由器加入网络时,它必须被分配唯一的网络地址。1.1 网络地址分配ZigBee协议规范使用一个分布式地址方案分配网络地址,它设计为给每个潜在父节点提供一个有限的网络地址子块。当一个设备成功加入网络后,其父节点给该节点自动分配一个唯一的网络地址。1.2 ZigBee路由算法网络层支持Cluster-Tree、AODVjr和Cluster-Tree+AODVjr算法(以下简称C+A算法)等多种路由算法,因此ZigBee网络的路由协议兼具树型网络和网状网络的特性。1.2.1 Cluster-Tree算法树路由机制是根据网络地址和节点间的父子关系来实现路由的。如果目的地址设备不是该路由器的子孙,则直接将数据帧转发给该路由器的父节点,其父节点将按照同样的步骤进行路由。1.2.2 AODVjr算法AODVjr是对AODV算法的一种简化改进,当源节点要寻找到达目的节点的路径时,先向其邻居节点组播RREQ分组。收到该分组的邻居节点若具备路由能力,则建立指向源节点的反向路由回复,同时继续向自己的邻居节点组播该RREQ分组。若不具备路由能力,则通过Cluster-Tree路由算法将该分组交由其子孙节点或父节点进行转发。当目的节点接收到此RREQ分组后,通过单播的方式向源节点回复RREP分组,同时,所有接收到此RREP分组的节点都将更新记录自己的邻居表,路由建立成功。实验证明,AODVjr算法在保持了AODV原始功能的基础上,控制开销比AODV算法更小,因此更节能。1.2.3 Cluster-Tree+AODVjr算法在此算法中,网络中的节点被分成了4类:Coordinator、RN+、RN-和RFD。其中RN+具有足够的存储空间和能力来进行AODVjr协议;而RN-则因存储空间受限,不能够进行AODVjr协议。Coordinator、RN+、RN-都具有路由功能,在通信时,如果目的节点不是邻居节点,RN+将会启动AODVjr,主动查找到达目地节点的最佳路径;RN-节点只能通过树路由算法来寻找下一跳的节点。仿真证明,采用Cluster-Tree和AODVjr相结合的路由协议在保证分组递交率的情况下,具有比单独使用其中一种路由协议更低的控制开销和平均时延。2 优化ZigBee路由算法2.1 ZigBee路由算法问题Cluster-Tree算法必须按照簇树型结构地址分配方式来寻址,路由效率低,并且源节点到目的节点的传输路径由于跳数过多,会影响网络时延。AODVjr算法在路由发现过程中,会产生分组大量泛洪问题。例如,当目的节点是源节点的子节点时,若采用AODVjr向邻居节点发送RREQ分组,则向其父节点以上的节点发送RREQ分组是多余的;若目的节点不是源节点的子节点,则采用AODVjr向其子节点方向发送RREQ分组是多余的。假设网络的最大深度是1,则数据帧可能被转发的最长路径是21,因此当跳数大于21时,就应停止对RREQ分组的继续广播,将其丢弃;假设从源节点到目的节点的最小跳数为M,当RREQ分组被转发的次数大于M时,再继续转发是多余的。

ZigBee无线传感器网络的研究与实验

ZigBee无线传感器网络的研究与实验 引言 有人将ZigBee翻译成「紫蜂」,为无线个人局域网络(Wireless Personal Area Networks, WPAN)的标准之一,已于 2005年6月27日公布。除了逻辑链路控制(Logic Link Control, LLC)层、媒介存取控制层(MAC),与物理层使用2003 年10月公布的IEEE 802.15.4标准外,ZigBee标准协议制定了应用层与网络层,及MAC、应用层与网络层的安全加密服务标准。 以传感器和自组织网络为代表的无线应用并不需要较高的传输带宽,但却需要较低的传输延时和极低的功率消耗,使用户能拥有较长的电池寿命和较多的器件阵列。目前迫切需要一种符合传感器和低端的、面向控制的、应用简单的专用标准,而Zigbee的出现正好解决了这一问题。Zigbee有着高通信效率、低复杂度、低功耗、低速率、低成本、高安全性以及全数字化等诸多优点。这些优点使得Zigbee和无线传感器网络完美地结合在一起。目前,基于Zigbee技术的无线传感器网络的研究和开发已得到越来越多的关注。 1Zigbee协议术语 配置文件(profile):Zigbee协议的配置文件是对逻辑组件及其相关接口的描述,是面向某个应用类别的公约、准则.通常没有程序代码与配置文件相关联. 属性(attribute):设备之间通信的每一种数据像开关的状态或温度计值等皆可称为属性.每个属性可得到唯一的ID 值. 簇(cluster):多个属性的汇集形成了簇,每个簇也拥有一个唯一的ID。虽然个体之间传输的通常是属性信息,但所谓的逻辑组件的接口指的却是簇一级的操作,而非属性一级. 终端(endpoint):每个支持一个或多个簇的代码功能块称为终端。不同的设备通过它们的终端及所支持的簇来进行通信。 配置文件定义了属性ID与簇ID,使之看起来就像设备的某种特性.以家庭智能控制系统为例,灯配置文件设定了远程控制设备的簇OnOffDRC含有一种属性OnOff,且该属性为无符号8位值,值0XFF意味着"开",0X00为关,0XF0则为无效。通常,配置文件也为设备定义了,哪些簇是强制托管的,哪些簇是可选择的。另外,配置文件还定义了一些可选择的Zigbee协议托管服务. 基于簇及配置所定义的服务,用户可使用配置文件中定义的属性编写所需的函数.改写自己的程序代码.因此,配置文件使得ZigBee 设备可以互操作。任何遵循某一标准配置文件的节点都可以与其他实现相同配置文件的节点进行互操作。也就是说,在使用同一标准配置文件进行设计的基础上,即使生产开关的厂家与生产控制器的厂家不同,他们生产的产品仍可实现协同操作. 以家庭智能系统中的灯光控制为例,灯配置文件定义了6个设备,协议栈通过带有以下信息的报头文件对此配置提供支持:配置(profile)ID,设备ID及版本,簇ID,属性ID,属性数据类型.

ZigBee技术网络层的路由算法分析.

ZigBee技术网络层的路由算法分析 摘要基于IEEE802.15.4标准的ZigBee网络是一种具有强大组网能力的新型无线个域网,其中的路由算法是研发工作的重点。本文介绍了IEEE802.15.4标准及ZigBee规范的协议模型,重点研究了ZigBee协议网络层的路由算法,分析了Tree路由及Z-AODV路由算法,在此基础上提出了ZigBee 网格型网络中基于数据特性的路由选择机制,该机制在网络性能和低功耗方面有明显的优势,并且可以平衡节点能量,最后简单介绍了ZigBee节点的硬件实现。 关键词 ZigBee协议;网络;IEEE802.15.4;路由算法;Tree路由;Z-AODV路由 1 概述 ZigBee技术是由英国Invensy公司、日本三菱电气公司、美国摩托罗拉公司以及荷兰飞利浦等公司在2002年10月共同提出设计研究开发的具有低成本、体积小、能量消耗小和传输速率低的无通信技术。 2000年12月,IEEE 802 无线个域网(WPAN,Wireless Personal Area Network)小组成立,致力于WPAN无线传输协议的建立。2003年12月,IEEE正式发布了该技术物理层和MAC层所采用的标准协议,即IEEE 802.15.4协议标准,作为ZigBee技术的网络层和媒体接入层的标准协议。2004年12月,ZigBee联盟在IEEE 802.15.4 定义的物理层(PHY)和媒体接入层(MAC)的基础上定义了网络层和应用层,正式发布了基于IEEE 802.15.4的ZigBee标准协议。 2 网络层的研究 ZigBee技术的体系结构主要由物理层(PHY)、媒体接入层(MAC)、 网络/安全层以及应用框架层组成,各层之间的分布如图1所示。图 1 ZigBee技术协议组成 PHY层的特征是启动和关闭无线收发器、能量检测、链路质量、信道选择、清除信道评估(CCA)以及通过物理媒体对数据包进行发送和接收。MAC层可以实现信管理、信道接入、时隙管理、发送确认帧、发送连接及断开连接请求,还为应用合适的安全机制提供一些方法。它包含具有时间同步信标的可选超帧结构,采用免碰撞的载波侦听多址访问(CSMA-CA)。安全层主要实现密钥管理、存取等功能。网络层主要用于ZigBee的LR-WPAN网的组网连接、数据管理等。应用框架层主要负责向用户提供简单的应用软件接口(API),包括应用子层支持APS(Application Sub-layer Support)、ZigBee设备对象ZDO(ZigBee Device Object)等,实现应用层对设备的管理,为ZigBee技术的实际应用提供一些应用框架模型等,以便对ZigBee技术的开发应用。 网络层的定义包括网络拓扑、网络建立、网络维护、路由及路由的维护。 2.1 ZigBee的网络拓扑结构 ZigBee定义了三种拓扑结构:星型拓扑结构(Star),主要为一个节点与多个节点的简单通信设计;树型拓扑结构(Tree),使用分等级的树型路由机制;网格型拓扑结构(Mesh),将Z-AODV和分等级的树型(Tree)路由相结合的混合路由方法。三种拓扑结构如图2 所示。

ZigBee基础知识

ZigBee基础知识 一、ZigBee特点 ZigBee技术是一种新兴的短距离、低功耗、低成本、低数据传输率的无线通信技术。它的主要特点如下: 1)低功耗:在低功耗待机模式下,两节普通5号干电池可使用6~24个月。 2)低速率:数据传输速率只有10kb/s〜250kb/s,专注于低速数据传输应用。 3)低成本:因为ZigBee数据传输速率低,协议简单,降低了对通信控制器的要求,所以大大降低了成本。 4)短距离:传输距离一般介于10〜100m之间,在增加RF发射功率后,亦可增加到1〜3km。这指的是相邻节点间的距离,如果通过路由和节点间通信的接力,传输距离将可以更远。 5)短时延:Zigbee的响应速度较快,一般从睡眠转入工作状态只需15ms,节点连接进入网络只需30ms,进一步节省了电能。 6)容量大:Zigbee可采用星状、簇状和网状网络结构,一个主节点可管理254个子节点,同时主节点还可由上一层网络节点管理,这样可组成65000多个节点。 7)安全:ZigBee提供了数据完整性检查和鉴权功能,采用AES-128加密算法,各个应用可灵活确定其安全属性。 8)工作频段灵活:使用的频段分别为全球的2.4GHzISM频段(16个信道)、欧洲的868MHz频段(1个信道),以及美国的915MHz频段(10个信道),均为免执照频段。 二、ZigBee工作频率 三、ZigBee的设备类型

ZigBee网络支持两种功能类型的网络节点:全功能器件(FullFunctionDevice, FFD)和精简功能器件(ReduceFunctionDevice,RFD)。 全功能器件拥有完整的协议功能,在网络中可以作为协调器(Coordinator),路由器(Router)和普通节点(Device);而精简功能器件旨在实现最简单的协议功能而设计,只能作为普通节点存在于网络中。全功能器件可以与精简功能器件或其他的全功能器件通信,而精简功能器件只能与全功能器件通信,精简功能器件之间不能直接通信。 四、ZigBee网络节点类型 ZigBee网络包含三种节点类型:ZigBee协调器(ZigBeeCoordinator,ZC)、ZigBee路由器(ZigBeeRouter,ZR)和终端设备(ZigBeeEndDevice,ZED)。 协调器只能是全功能器件FFD。一个PAN的网络中,至少要有一个全功能器件作为网络的协调器,它可以看作是一个PAN的网关节点(SINK节点)。它是网络建立的起点,负责PAN网络的初始化,确定PAN的ID号和PAN操作的物理信道并统筹短地址分配,充当信任中心和储存安全密钥,与其他网络的连接等。 在任何一个拓扑网络上,所有设备都有一个唯一的64位IEEE长地址,该地址可以在PAN中用于直接通信。协调器在加入网络之后获得一定的短地址空间,在这个空间内,他有能力允许其他节点加入网络,并分配16位短地址给节点。因此在设备发起连接时采用的是64位IEEE长地址,只有连接成功后,系统分配了PAN的标志符后,才能采用16位的短地址来通信。 路由器可以只运行一个存放有路由协议的精简协议栈,负责网络数据的路由,实现数据中转功能。在网络中最基本的节点就是终端节点ZED,一个终端节点可以是全功能器件FFD或者是精简功能器件RFD。 Zigbee网络拓扑结构比较流行的有三种:星型网络(Star)、簇状型网络(Cluster)、网状型网络(Mesh)。 五、ZigBee协议通信原语 在分层的通信协议中,层与层之间是通过服务接入点(ServiceAccessPoint,SAP)相连接的。每一层都可以通过本层与下一层的SAP调用下层所提供的服务,同时通过与上一层的SAP为上层提供相应服务。SAP是层与层之间的唯一接口,而具体的服务是以通信原语的形式供上层调用的。在调用下层服务时,只需要遵

ZigBee协议

ZigBee协议 协议名称:ZigBee协议 一、引言 ZigBee协议是一种低功耗、低数据速率的无线通信协议,主要用于物联网设备之间的通信。本协议旨在提供一套标准化的通信规范,以便各种物联网设备能够互相交流和协作。本协议规定了通信协议的结构、数据格式、通信方式等内容,以确保设备之间的互操作性和通信的可靠性。 二、范围 本协议适用于使用ZigBee技术的物联网设备之间的通信。物联网设备包括但不限于传感器、执行器、控制器等。 三、术语定义 在本协议中,以下术语定义适用于所有相关的文档和规范: 1. ZigBee:指ZigBee协议的实现。 2. ZigBee设备:指采用ZigBee协议的物联网设备。 3. ZigBee协调器:指ZigBee网络中的主节点,负责网络的管理和协调。 4. ZigBee路由器:指ZigBee网络中的中间节点,负责数据的传输和路由。 5. ZigBee终端设备:指ZigBee网络中的终端节点,负责数据的采集和传输。 四、协议结构 1. 物理层:定义了ZigBee设备之间的物理通信规范,包括频率、调制方式、传输速率等。

2. 数据链路层:提供了数据传输的可靠性和安全性,包括帧格式、错误检测、重传机制等。 3. 网络层:负责设备之间的路由和寻址,包括网络拓扑结构、路由协议、寻址方式等。 4. 应用层:定义了设备之间的应用协议,包括数据格式、命令和响应等。 五、数据格式 1. 帧格式:ZigBee协议使用帧作为数据传输的基本单位。帧由帧控制字段、目的地址、源地址、帧有效载荷和帧校验字段组成。 2. 命令格式:ZigBee设备之间通过命令进行通信。命令由命令标识、命令参数等字段组成。 六、通信方式 1. 点对点通信:两个ZigBee设备之间直接进行通信,通过目的地址和源地址进行唯一标识。 2. 广播通信:一个ZigBee设备向整个网络发送广播消息,通过广播地址进行标识。 3. 多播通信:一个ZigBee设备向特定组内的设备发送消息,通过组地址进行标识。 七、安全性 为确保通信的安全性,ZigBee协议提供了以下安全机制: 1. 认证:ZigBee设备之间进行通信前,需要进行认证,确保通信的双方都是合法的设备。

ZigBee技术概述

ZigBee技术概述 1ZigBee技术简介 (1) 2 ZigBee结构 (2) 2.1物理层 (2) 2.2 MAC层 (4) 2.3 网络层 (6) 2.4 应用层 (7) 1ZigBee技术简介 ZigBee技术是一种近距离、低功耗、低成本、低传输速率的具有统一技术标准的短距离无线通信技术,符合IEEE 802.5.4标准,主要适用于工业、家庭自动控制以及远程控制领域,目的是为了满足小型廉价设备的无线联网和控制。 ZigBee技术并不是完全独有、全新的标准。它的物理层、MAC层采用了IEEE 802.15.4(无线个人区域网)协议标准,并在此基础上进行了完善和扩展。其网络层、应用会聚层和高层应用规范由ZigBee联盟进行了制定。 根据IEEE 802.15.4协议标准,ZigBee的工作频段分为3个频段,这3个工作频段相距较大,而且在各频段上的信道数目不同,因而,在该项技术标准中,各频段上的调制方式和传输速率不同。它们分别为868MHz、915MHz和2.4GHz,其中2.4GHz频段上,分为16个信道,该频段为全球通用的工业、科学、医学(ISM)频段,且该频段为免付款、免申请的无线电频段,在该频段上,数据传输速率为250kbPs,另外两个频段为868/915MHz,其相应的信道数分别为10个信道和1个信道,传输速率分别为40kbPs和20kbPs。 在网络性能上,ZigBee设备可构造星型网络或者点对点网络,在每一个ZigBee组成的无线网络内,连续地址码分为16bit短地址或者64bit长地址,可容纳的最大网络设备个数分别为216个和264个,具有较大的网络容量。 在无线通信技术上,采用免冲突多载波信道接入(CSMA/CA)方式,有效地避免了无线电载波之间的冲突,此外,为保证数据传输的可靠性,建立了完整的应答通信协议。 ZigBee设备为低功耗设备,其发射功率为,通信距离为30-70m,具有能量检测和链路质量指示能力,根据这些检测结果,设备可自动调整发射功率,在保证通信链路质量的条件下,最小地消耗设备能量。 为保证ZigBee设备之间通信数据的安全保密性,ZigBee技术采用了密钥长度为128位的加密算法,对所传输的数据信息进行加密处理。ZigBee技术主要由以下优点: 1)低功耗:在低功耗待机模式下,两节普通的五号电池支持长达6个月到

EIGRP工作原理

EIGPR总结: 一:特性 1.100%的无环路 2.支持等价与不等价负载均衡 3.灵活网络计划(没有主干地区) 4.多播更新代替广播更新(广播更新不可靠且不安详) 5.支持 VLSM和连续子网 6.在网络任何地方支持手动汇总 7.支持单播汇总 二:知识点 1.EIGRP有三张表:邻居表,拓扑表,路由表 此中邻居成立需满意两点:1.AS号同等 2.5K值(带宽,耽误,可靠性,负载,MTU) 2.EIGRP 5个包是:hello包,update,query,reply,ack hello:成立邻居,应用所在是224.0.0.10 update:发送给邻居 query:网络发生妨碍时且没有FS(可行后继者)时发送 reply:单播形式中兴 ack:是对update,query和reply中兴 3.hello包每5s发一次(广播网络) hello包每60s发一次(非广播网络) hold工夫默认是hello工夫的三倍 4.EIGRP 支持 224 跳,IGRP支持 255 跳 5.重传机制,当重传次数到达 16次时仍不中兴,则将踢出邻人表 6,EIGRP的3种管理间隔 EIGRP的汇总路由:5 内部EIGRP:90 外部EIGRP:170 7.EIGRP的路由掩护(包孕与DUAL算法中) 假如不存在可行后继路由,路由器将服从下列步调: 1.EIGRP的工作原理: EIGRP 协议的特点: 运行EIGRP 的路由器之间形成邻居关系,并交换路由信息。相邻路由器之间 通过发送和接收Hello 包来保持联系,维持邻居关系。Hello 包的发送间隔默认 值为5s钟。 ●运行EIGRP 的路由器存储所有与其相邻路由器的路由表信息,以便快速适 应路由变化; ●如果没有合适的路由存在,EIGRP 将查询其相邻的路由器,以便发现可以 替换的路由。

Zigbee组网流程——理论

星形网络和树型网络可以看成是网状网络的一个特殊子集,所以接下来分析如何组建一个Zigbee网状网络。组建一个完整的Zigbee网络分为两步:第一步是协调器初始化一个网络;第二步是路由器或终端加入网络。加入网络又有两种方法,一种是子设备通过使用MAC层的连