ZigBee 技术切磋

搜刮:

二级分类:

ZigBee收集Cluster-Tree优化路由算法研究

摘要:经由度析ZigBee和谈中Cluster-Tree和AODVjr算法的优错误谬误,提出一种基于Cluster-Tree+AODVjr的优化路由算法。该算法把持ZigB ee和谈中的邻人表,经由定义分区来确定方针节点的范畴,从而节制广播RREQ分组的跳数,防止无效的RREQ泛洪。此优化算法能够大概无效地减巷子由跳数,缩短传输时延,削减收集中灭亡节点的数量,提高数据传送的成功率。

  引言

  无线通信和嵌入式微传感器技术的快速成长推动了无线传感器收集的兴起。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时,再继续转发是多余的。由于每一次AODVjr路由都要发生大量的RREQ泛洪,因而会使节点能量耗损严峻。

  鉴于以上问题,本文提出一种基于C+A算法的优化路由算法,用以处理Cluster-Tree路由的低效率和AODVjr路由的泛洪严峻及能量耗损问题。

  2.2 优化路由算法思惟

  在一个传感器收集中,传感节点只能和与它相邻的,并且在它的射频传输范畴之内的节点间接通信。树型收集中每个节点的邻人表中都包含有其射频笼盖范畴内各个邻人节点的相关消息。在优化路由算法中把持邻人表中记实的无效消息,能够使源节点发送给方针节点的数据帧颠末一跳达到。

  在AODVjr路由发觉过程中,为了避免RREQ分组无选择性的大量泛洪,在优化路由算法中根据不合的环境,添加对RREQ分组广播跳数的限制前提,使大于限制前提的多余路由不能启用。多么能无效地削减RREQ分组泛洪次数,缩小RREQ广播范畴,限制RREQ分组传布标的目的,从而降低收集的能量耗损。

  2.3 优化路由算法设想

  优化路由算法的具体措施如下:
  ①对树型收集进行分区,并设定帮助变量number的初始值为1(number值代表分区次数)。分区准绳如下:以协调器为根节点,将根节点的每一个子树看作一个区域,并为其编号。记实每一个区域中的最大地址Amax和最小地址Amin。由树地址分派机制能够得出,在统一区域中的节点地址An均满足Amin≤An≤Amax,即此区域的地址范畴是[Amin,Amax],并且每一个区域的地址范畴之间是不订接忠淮呜系,即一个确定的地址在且仅在一个区域内。
  ②判断源节点的类型。若为RFD则间接将数据帧转发给其父节点;若为FFD则判断方针节点能否为源节点的子节点。若是,则向下启动AODVjr路由转发数据帧,并将RREQ分组的最大广播跳数限制为|Dd-Ds|(Ds为源节点的收集深度,Dd为方针节点的收集深度),超出范畴则丢弃;若不是,则进行第下一步。
  ③源节点向邻人节点发送RREQ分组,邻人节点判断本身地址能否与方针地址相等。若是相等,则向上层传送,由其上层对数据帧进行解析,并将RREQ分组的最大广播跳数限制为1,超出范畴则丢弃。若是不等,则进行第④步。
  ④判断方针地址在哪个区域中。若方针节点和源节点在统一区域中,进行第⑥步;若不在统一区域中,则进行第⑤步。
  ⑤判断源节点的邻人节点中能否有和方针节点在统一区域的节点。若是有,将数据帧转发给该节点,并进行第⑥步;若是没有,则进行第⑦步。
  ⑥number值加1。将方针节点地址区域看作一个树型收集,将其最小地址节点看作该树的根节点,并按照第①步的分区准绳将其进行分区。判断方针节点和当前节点能否在统一区域中。若是,反复第⑥步;若不是,则进行第⑦步。
  ⑦将数据帧经由树路由转发到第number次分组的根节点,然后启动AODVjr路由,由此根节点将RREQ分组广播至方针节点的响应分组内,根究方针节点,并将RREQ分组的最大广播跳数限制为|Dd-number+1|,超出范畴则丢弃。

    方针节点领遭到RREQ分组后,将向根究路由的源节点答复一个RREP分组,其传送路径为路由建立过程的反向路由。所有领遭到RREP分组的节点将此路由消息替代并且记实,正向路由从源节点到方针节点建立成功。优化路由算法的流程图如图1所示。
 

 

图1 优化路由算法的流程图

  具体完成过程举例如下:假设一树型收集,收集参数Cm=4,Lm=4,Rm=3,根据后面的收集地址分派编制给收集中各节点分派响应地址,选定源节点为37,在其射频笼盖范畴内的邻人节点是25、36和90。具体收集节点分布图如图2所示。
  


 
    起首将树型收集按照自定义的编制进行分区,分区后的收集如图3所示。此中,原树型收集被分为I、II、III、IV4个区域。

  

 
  树型收集的分区措施如下:
  ①当方针节点是41时,间接转发,并将RREQ分组传布跳数限制为|4-3|=1。
  ②当方针节点是90时,由于90是源节点的邻人节点,间接将数据帧转发,并将RREQ分组传布跳数限制为1。
  ③当方针节点是8时,由于方针节点和源节点属于统一区域I,则number=number+1,即number=2。并且将区域I继续分区,第二次分区后的树型收集如图4所示。此时,节点8和节点37不属于统一区域,则将数据帧沿树路由转发给第2次分区的根节点,即节点1。然后,由节点1向区域I-1内的节点广播RREQ分组,并限制RREQ分组的跳数为|Dd-number+1|=2。

  
 
  ④当方针节点是72时,由于邻人节点中有和方针节点同区域的节点90,则先将数据帧转发给节点90,然后再由其经由和③类似的措施转发给方针节点。

  3 仿真与测验考试成果阐发
  为了比力优化算法与C+A算法的机能,在不异的仿真环境下别离对两种算法进行了仿真,次要比力了两者在收集残剩节点数、路由平均跳数、数据包发送成功率及端到端时延等方面的不同。仿真成果表白,该优化算法具有更优胜的机能。可是在节点数目不异的环境下,优化算法的传输时延仍是比C+A算法要小良多。这是由于算法优化后,数据帧从源节点达到方针节点的传输路径变短,因而传输时延削减。

  结语

  在阐发了ZigBee路由和谈中Cluster-Tree和AODVjr算法的底子上,提出了一种基于C+A算法的优化路由算法。优化路由算法把持ZigBee和谈中的邻人表,使数据帧的传送跳数削减,并经由将树型收集自定义分区,来节制路由发觉过程中RREQ分组传布的跳数,从而防止无效的RREQ泛洪,节流了收集的能量。仿真成果证明,优化的路由算法能够大概无效地减巷子由跳数,耽搁收集的寿命,提高路由效率,从而使收集全体能耗减低。
前去列表