基于反向路由的Zigbee 网络本地修复机制改进
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
山东科学SHANDONGSCIENCE
第31卷第3期2018年6月出版
Vol.31No.3Jun.2018DOI:10.3976/j.issn.1002 ̄4026.2018.03.019
收稿日期:2017 ̄09 ̄15
基金项目:江苏风力发电工程技术中心开放基金(ZK16 ̄03 ̄13)ꎻ南京工业职业技术学院学校科研基金(YK17 ̄02 ̄04)ꎻ南京工业职业技术学院2017年度高等职业教育研究立项课题(GJ17 ̄03Z)
作者简介:何智勇(1984 )ꎬ男ꎬ硕士ꎬ讲师ꎬ研究方向为通信技术㊁物联网应用技术ꎮ基于反向路由的Zigbee网络本地修复机制改进
何智勇1ꎬ2
(1.南京工业职业技术学院电气工程学院ꎬ江苏南京210046ꎻ2.南京工业
职业技术学院江苏风力发电工程技术中心ꎬ江苏南京210046)
摘要:针对当前ZigBee网络链路故障修复机制时延长和数据分组丢失的缺陷ꎬ提出了一种改进的Zigbee网络本地修复算法(ILRA ̄AODVjr)ꎮ通过空闲路由节点反向路由机制ꎬ向邻居节点广播一个具有两跳生命周期反向路由构建报文S ̄RREQꎬ为空闲节点产生多个备用局部路由ꎬ增加网络中节点有效路由数量ꎬ提高网络发现路由速度ꎬ缩短网络局部故障修复时间ꎮ仿真结果表明ꎬ改进的Zigbee网络本地修复算法ꎬ有效减少了网络故障修复响应时间ꎬ延长网络生命周期ꎬ减轻了网络拥塞和延迟ꎮ
关键词:Zigbee网络ꎻILRA ̄AODVjrꎻ修复机制
中图分类号:TN923㊀㊀㊀文献标识码:A㊀㊀㊀文章编号:1002 ̄4026(2018)03 ̄0119 ̄06
ImprovementoflocalrepairmechanismforZigbee
networkbasedonreverserouting
HEZhi ̄yong1ꎬ2
(1.CollegeofElectricalEngineeringꎬNanjingInstituteofIndustryTechnologyꎬNanjing210046ꎬChinaꎻ2.JiangsuWindPowerEngineeringTechnologyCenterꎬNanjingInstituteofIndustryTechnologyꎬNanjing210046ꎬChina)
AbstractʒAimingatthedefectsoftimedelayanddatapacketlossinZigBeenetworklinkrepairmechanismꎬanimprovedlocalrepairalgorithm(ILRA ̄AODVjr)forZigbeenetworkswasproposedinthispaper.Basedonthereverseroutingmechanismofleisureroutingnodesꎬatwo ̄hopreverseroutingS ̄RREQpacketwasbroadcasttotheneighbornodesꎬwhichgeneratedapluralityofalternatelocalroutingfortheleisurenodeꎬincreasedthenumberofeffectiveroutesinthenetworkꎬimprovedthespeedofnetworkdiscoveryꎬandshortenedthelocalfaultrecoverytime.ThesimulationresultsshowthattheimprovedlocalrepairalgorithmforZigbeenetworkcaneffectivelyreducetheresponsetimeofnetworkfaultrepairꎬprolongthenetworklifecycleꎬandreducethenetworkcongestionanddelay.
KeywordsʒZigbeenetworkꎻILRA ̄AODVjrꎻrepairmechanism
㊀㊀Zigbee是一种低功耗㊁低成本㊁可靠性好的无线网络技术ꎬ具有延时小和网络容量大的特点[1 ̄2]ꎬ目前主要应用于医疗㊁矿井㊁环境检测等ꎬ无线传感器网络物理层和MAC层采用IEEE802.15.4协议标准ꎬ网络层采
山㊀东㊀科㊀学㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀2018年用Cluster ̄Tree路由算法[3]和AODVjr路由算法[4 ̄5]ꎬCluster ̄Tree路由算法只需要根据网络节点之间的父子关系进行转发ꎬ路由方式简单ꎬ不需要存储路由表ꎮAODVjr路由算法[5]可以在源节点与目的节点之间寻找最优路径ꎬ节点路由发现过程通过广播形式发送RREQ报文建立路由ꎬ节点能量消耗大ꎬ节点依靠电池供电ꎬ节点的电量绝大部分用于节点之间的分组转发的通信消耗ꎬ由于网络总体能量有限ꎬ特别是在协调器附近的高层节点ꎬ随着网络运行时间不断增长ꎬ节点能量耗尽ꎬ导致网络链路出现中断ꎬAODVjr路由算法采用本地修复机制ꎬ当网络中出现链路中断ꎬ故障链路的上游节点重新启动路由发现过程ꎬ通过向网络中广播RREQ数据分组来启动路由发现过程ꎬ寻找一条新的可达路由ꎬ在发现路由的过程中ꎬ链路上传送的数据分组直接被丢失ꎬ网络出现拥塞ꎬ延长了数据端到端时间ꎬ因此ꎬ局部链路的快速修复显得非常重要ꎮ
Zigbee网络国内外学者的研究热点主要集中在路由局部修改过程中RREQ报文的处理方法和链路选择方面ꎮShang等[6 ̄7]研究协议运行机制ꎬ提出给每个局部修复进程分配优先级ꎬ来提高链路修复过程中网络性能ꎬ但该算法只是在故障修复过程中对进程的优先级进行分类ꎬ没有减少网络链路中断出现和对链路数据分组进行保护ꎮ肖雳[8]提出在网络链路启动本地修复过程中ꎬ首先对链路中断位置上一处节点进行分析ꎬ由上游节点发送有限跳数的发现报文RREQ进行局部路由修复ꎬ但该算法路由发现过程是在链路中断后启动修复机制ꎬ不能减少因重建路由而产生的数据分组端到端时延ꎮ李子璇等[9]提出根据网络链路最大剩余能量来选择最佳路由ꎬ避免局部节点死亡导致的网络分割ꎬ根据链路能量选择路径ꎬ延长网络生命周期ꎬ但是该算法没有考虑在节点能量耗尽出现死亡ꎬ网络出现链路故障的情况ꎮ针对以上研究的不足ꎬ结合空闲路由节点反向路由机制ꎬ本文提出一种改进的Zigbee网络本地修复机制ILRA ̄AODVjr(improvedlocalrepairalgorithm ̄AODVjr)ꎬ通过向邻居节点定期广播一个具有两跳生命周期反向路由构建报文S ̄RREQꎬ为ZigBee网络产生多个备用局部路由ꎬ增加网络中节点可达路由数量ꎬ提高网络发现路由过程的效率ꎬ缩短网络局部
故障修复时间ꎬ减少数据分组丢失
ꎮ图1㊀AODVjr本地算法修复过程Fig.1㊀AODVjrlocalalgorithmrepairprocess2㊀ZigBee故障机制存在的问题
如图1所示ꎬ在AODVjr路由算法建立路径的过
程中ꎬ源节点S要发送数据分组到目的节点DꎬS首
先查找本身路由表ꎬ寻找源节点到目的节点的路径ꎬ
如果节点路由表不能找到目的节点的路由ꎬ由源节点
S启动路由发现过程ꎬ通过广播RREQ报文进行建立
路由ꎬ路由建立成功后ꎬ发送数据分组到目的节点ꎮ
在AODVjr路由算法中ꎬ节点选择下一跳路由的原则
是选择先返回RREP报文的节点ꎬ随着网络运行时间
增长ꎬ节点能量耗尽失效ꎬ导致链路中断ꎬ特别是网络
中高层节点数据转发频繁ꎬ节点能量损耗快ꎬ网络会
提前出现分割现象ꎮ如图1所示的网络结构中ꎬ节点
1是网络关键节点ꎬ数据分组转发频繁ꎬ节点能量耗尽死亡ꎬ网络出现链路中断ꎬ{7ꎬ1}㊁{8ꎬ1}㊁{13ꎬ1}变成中断链路不能发送数据分组ꎬAODVjr启动局部修复机制ꎬ由中断链路的上游节点7重新启动路由发现过程ꎬ向网络中广播发送RREQ报文再次寻找到目的节点的路由{Sꎬ6ꎬ7ꎬ2ꎬ8ꎬ12ꎬ13ꎬ14ꎬD}ꎬ由于RREQ是广播发送ꎬ增加网络节点的负担ꎬ网络中传送的数据分组被直接丢弃ꎬ直接影响网络传输效率ꎬ增大了网络数据分组端到端时延ꎮ
021
第3期何智勇ꎬ等:基于反向路由的Zigbee网络本地修复机制改进
3㊀ILRA ̄AODVjr算法提出
本文提出的改进的Zigbee网络本地修复算法ILRA ̄AODVjr的基本思想是网络节点处于空闲状态时ꎬ即节点在一个时间段内除了与向邻居节点发送KEEP_ALIVE报文进行路由维护之外ꎬ不进行任何其他数据分组的发送㊁转发和接收ꎬ充分利用网络节点空闲时间ꎬ通过空闲路由节点反向路由机制ꎬ向邻居节点广播一个具有两跳生命周期反向路由构建报文S ̄RREQꎬ节点产生多个备用局部路由ꎬ减少路由发现等待过程ꎬ缩短网络局部故障修复时间ꎮ
源节点通过路由发现过程建立链路之后ꎬ路由进入路由维护阶段ꎮ在链路有效时间内ꎬ目的节点定期向源节点发送KEEP_ALIVE数据分组来维持链路信息ꎬ如果源节点成功收到KEEP_ALIVE数据分组ꎬ链路可
达ꎬ否则认为链路失效ꎬ重新进行路由发现过程ꎬKEEP_ALIVE路由维护报文发送如图2所示
ꎮ
图2㊀ILRA ̄AODVjr算法产生备用路由过程
Fig.2㊀GenerationofastandbyroutingprocessbyILRA ̄AODVjralgorithm
在网络运行过程中ꎬ路径{Sꎬ6ꎬ7ꎬ2ꎬ8ꎬ12ꎬ13ꎬ14ꎬD}的节点有数据分组发送ꎬ不属于空闲链路ꎮ网络中节点在一定周期Tidle内ꎬ系统设置的空闲超时时间为Tꎬ节点没有任何数据分组㊁RREQ报文或RREP报文发送或者转发ꎬ该节点处于空闲状态ꎮ在整个Zigbee网络中ꎬ同一时间内有很多的节点处于没有数据分组转发的状态ꎬ以节点2为例ꎬ当节点2的Tidle>Tꎬ为了节省网络资源ꎬ节点2向网络发送生命周期为2的路由发现报文S ̄RREQ建立备用路由ꎬ算法具体执行步骤如下:
(1)空闲节点Tidle>T时ꎬ向邻居节点发送TTL=2的路由发现报文S ̄RREQꎬ对2跳范围内能到达的节点建立备用路由ꎬ收到S ̄RREQ数据分组的节点回复RREP报文进行路径建立确认ꎮ
(2)备用路由建立成功后ꎬ节点定期对已建立的路由进行维护ꎬ让已存在的备用路由不会因为超时被删除ꎬ如图2所示ꎬ节点2建立的备用路由{2ꎬ3ꎬ9}ꎬ{2ꎬ3ꎬ19}ꎬ{2ꎬ8ꎬ9}ꎬ{2ꎬ8ꎬ12}ꎬ{2ꎬ8ꎬ1}在链路时间到期ꎬ目的节点发送KEEP_ALIVE数据分组到节点2确定路由存在ꎬ刷新路由信息ꎮ
(3)节点发起新的路由过程后ꎬ节点向网络中发送RREQ报文ꎬ空闲节点维护的路由表中有备用路由信息ꎬ节点19要发送数据分组到目的节点Dꎬ向网络中广播RREQ报文启动路由发现过程ꎬ节点3收到RREQ报文ꎬ对比本身存储的路由信息ꎬ由于节点有备用路由ꎬ节点3直接给节点19回复响应RREP报文确定链路的建立ꎬ大大提高了路由发现过程的效率ꎮ
(4)节点能量耗尽链路出现断裂ꎬ网络出现中断ꎬ如节点1能量耗尽死亡ꎬ路径{1ꎬ7}㊁{1ꎬ8}㊁{1ꎬ13}中断ꎬ上游节点7发起局部路由修复机制ꎬ向全网发送RREQ报文ꎬ等待目的节点D回复RREP数据分组确定
121
山㊀东㊀科㊀学㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀2018年路由的建立ꎬ由于节点7到目的节点的跳多ꎬ响应时间慢ꎮ通过空闲路由节点反向路由信息ꎬ节点2收到节点7发起的路由发现报文后ꎬ查看自身的路由表ꎬ节点2维护的路由表中有到过目的节点的路由信息ꎬ节点2直接回复RREP报文给节点7ꎬ路由本地修复完毕ꎬ节点2到节点D的新路径重新构建完毕ꎬ大大减少了网络节点故障本地修复时间ꎮ
整个算法的流程如图3所示
ꎮ
图3㊀改进的路由算法处理过程
Fig.3㊀Improvedroutingalgorithmprocess
4㊀仿真分析
通过NS2平台验证本文提出的ILRA ̄AODVjr算法ꎬ仿真实验中ꎬ网络覆盖面积为100ˑ100ꎬ节点120个ꎬ信道数据传输率为200kbit/sꎬ节点初始能量为5Jꎬ仿真时间为200sꎬ数据包长度为128bitꎬ本仿真实验中ꎬ节点能量低于初始能量2%ꎬ节点被认为是死亡节点ꎬ系统设置空闲超时时间为T=0.01sꎮ仿真实验从平均节点故障修复时间㊁数据分组端到端延时和网络剩余能量比率三方面与AODVjr算法进行了比较ꎮ4.1㊀节点故障平均修复时间网络运行后ꎬ改进ILRA ̄AODVjr路由算法与AODVjr算法节点故障平均修复时间对比图见图4ꎬ由于改进算法在网络节点处于空闲状态时ꎬ通过空闲路由节点反向路由机制ꎬ建立备用链路信息ꎬ在网络中构建多条备用路由信息ꎬ网络中节点能量耗尽死亡ꎬ网络中出现链路中断ꎬ由于ILRA ̄AODVjr路由算法中有备用链路存在ꎬ减少路由发现过程ꎬ缩短网络局部故障修复时间ꎬILRA ̄AODVjr路由算法优于AODVjr路由算法ꎮ221
第3期何智勇ꎬ等:基于反向路由的Zigbee网络本地修复机制改进
4.2㊀数据分组端到端延时
数据分组端到端延时仿真结果见图5ꎬ随时间的增长ꎬ网络中有节点能量耗尽死亡ꎬ节点数据分组端到端延时不断增加ꎬ由于改进ILRA ̄AODVjr路由算法采用备用路由机制ꎬ提高了节点故障修复时间ꎬ避免了数据分组的丢失ꎬILRA ̄AODVjr路由算法优于AODVjr路由算法ꎮ
4.3㊀网络剩余能量比率
网络剩余能量比率仿真结果见图6ꎬ随网络运行时间的增长ꎬ网络中数据分组不断发送需要消耗能量ꎬAODVjr算法在网络出现链路中断后ꎬAODVjr上游节点启动路由发现过程ꎬ广播RREQ报文ꎬ节点能量消耗快ꎬ改进的ILRA ̄AODVjr路由算法采用空闲路由节点反向路由机制ꎬ避免了RREQ报文泛洪ꎬ有效保护了节
点剩余能量ꎬ网络剩余能量比率ILRA ̄AODVjr路由算法优于AODVjr路由算法
ꎮ
图4㊀节点故障平均修复时间对比图Fig.4㊀Comparisongraphoftheaveragerepairtimefornode
failure
图5㊀数据分组端到端延时对比图
Fig.5㊀Comparisongraphofdatapacketend ̄to ̄end
delay
图6㊀网络剩余能量比率对比图
Fig.6㊀ComparisongraphofNetworkResidualEnergyRatio
5㊀结语
本文在对Zigbee路由协议进行深入研究的基础上ꎬ提出了改进ILRA ̄AODVjr路由算法ꎬ通过空闲路由节点反向路由机制ꎬ向邻居节点发送TTL=2反向路由构建报文S ̄RREQꎬ在网络中产生多个备用局部路由ꎬ当网络高层节点能量耗尽ꎬ链路出现中断后ꎬ减少路由发现等待过程ꎬ缩短网络局部故障修复时间ꎬ减轻了网络拥塞和延迟现象ꎮ通过仿真实验ꎬ将改进ILRA ̄AODVjr路由算法与AODVjr路由算法进行比较ꎬILRA ̄AODVjr算法在节点故障平均修复时间和数据分组端到端延时方面有优势ꎬ延长了网络生命周期ꎮ
321
421
山㊀东㊀科㊀学㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀2018年参考文献:
[1]周武斌ꎬ罗大庸.ZigBee路由协议的研究[J].计算机工程与科学ꎬ2009ꎬ31(6):12 ̄14.
[2]赵博ꎬ吴静.基于ZigBee无线网络的Cluster ̄Tree路由算法研究[J].电子技术应用ꎬ2016ꎬ42(4):116 ̄119.
[3]LEEKKꎬKIMSHꎬCHOIYSꎬetal.AmeshroutingprotocolusingclusterlabelintheZigBeenetwork[EB/OL].[2017 ̄09 ̄01].http://dx.dor.org/10.1109/MOBHOC.2006.278654.
[5]QIUFꎬWANGJMꎬLENGJꎬDesignandimplementationofawirelesspersonalareanetworkbasedonAODVjrRouting[EB/OL]. [2017 ̄09 ̄01].http://dx.doi.org/10.1049/cp:20061277.
[6]SHANGTꎬWUWꎬLIUXDꎬetal.AODVjrroutingprotocolwithmultiplefeedbackpolicyforZigBeenetwork[EB/OL].[2017 ̄09 ̄01].http://dx.doi.org/10.1109/ISCE.2009.5156814.
[7]韩林呈ꎬ陈喜春.AODV协议局部修复机制改进[J].微型电脑应用ꎬ2016ꎬ32(4):65 ̄67.
[8]肖雳.AODV路由协议路由修复研究和改进[D].北京:北京邮电大学ꎬ2010.
[9]李子璇ꎬ童孟军ꎬ江浩然.AOMDV多路径协议的研究和改进[J].计算机时代ꎬ2016ꎬ8(8):7 ̄12.
(上接第112页)
[12]WEIXLꎬWEIJC.AstudyofthepruinosespeciesofHypogymnia(ParmeliaceaeꎬAscomycota)fromChina[J].TheLichenologistꎬ2012ꎬ44(6):783 ̄793.
[13]MCCUNEBꎬTCHABANENKOSꎬWEIXL.Hypogymniapapilliformis(Parmeliaceae)ꎬanewlichenfromChinaandFarEastRussia[J].TheLichenologistꎬ2015ꎬ47(2):117 ̄122.
[14]WEIXLꎬCHENKꎬLUMBSCHHTꎬetal.RhizinesoccasionallyoccurinthegenusHypogymnia(ParmeliaceaeꎬAscomycota) [J].TheLichenologistꎬ2015ꎬ47(1):69 ̄75.
[15]WEIXLꎬMCCUNEBꎬLUMBSCHHTꎬetal.Limitationsofspeciesdelimitationbasedonphylogeneticanalyses:AcasestudyintheHypogymniahypotrypagroup(ParmeliaceaeꎬAscomycota)[J].PLoSOne.2016ꎬ11(11):e0163664.
[16]CULBERSONCF.Improvedconditionsandnewdatafortheidentificationoflichenproductsbyastandardizedthin ̄layerchromatographicmethod[J].JournalofChromatographyAꎬ1972ꎬ72:113 ̄125.
[17]CULBERSONCFꎬKRISTINSSONH.Astandardizedmethodfortheidentificationoflichenproducts[J].JournalofChromatographyAꎬ1970ꎬ46:85 ̄93.
[18]RASSADINAKA.SpeciesetformaeHypogymniaenovaeetcuriosae. ̄NovitatesSystematicaePlantarumnonVascularium[M].LeningradꎬRUS:AcadSciURSSꎬ1967:289 ̄300.。