1.一种基于ZigBee技术的并发多径路由方法,其特征在于:主要包括:
步骤一,当节点没有到目的节点的路由时,采取RREQ广播路由发现过程,针对每一个目的节点的RREQ,中间节点只转发一次RREQ,当中间节点接收到非第一次到达的RREQ时,根据路由更新原则判断是否保存备份路径;
步骤二,中间的路由节点不回复RREP,目的节点在收到RREQ后,对来自于不同邻居节点的RREQ进行回复RREP路由帧;
步骤三,中间节点收到RREP时,首先判断该节点是否被该目的节点的路径占用,若没有被占用,则寻找没有转发RREP的路径中记载的反向路径的下一跳转发RREP,并且此过程必须将节点的剩余能量等级信息加载进RREP中转发;
步骤四,源节点在收到RREP后,根据RREP中记载的路径能量信息,选择时延最短和能量最高的路径并发传输数据,在每次数据业务传输结束后,将前一次参与数据传输业务的路径能量情况根据传输数据负载大小进行更新;
步骤五,路由维护:当源节点检测到路径中的某节点能量过低时,即低于预设值,给该节点的上游节点发送RERR信息,上游节点在接收到后本地修复路径,根据路由表存储的其他备份路径替代能量过低的节点,并将修复的新下一跳节点路径从反向路径告知各节点;
所述步骤三中,对RREP包设有反映路径能量信息的能量域,能量域大小为两字节,能量域记载了整条路径中的节点的剩余能量信息;
所述步骤四中,在一次数据传输完成后,源节点自适应地根据前一次传输任务的数据负载大小更新路由表中的路径剩余总能量,即如下所示:
路径剩余总能量=剩余总能量—路径跳数×数据负载大小×能耗。
2.如权利要求1所述的基于ZigBee技术的并发多径路由方法,其特征在于:所述路由维护还可采用以下方式,
节点在能量过低时,自动发送RERR信息告知周围邻居节点,邻居节点在收到RERR信息后删除与该节点相关的路由信息,并在本地修复路径,采用路由表中存储的备份路径替换失效节点。
基于ZigBee技术的并发多径路由方法\n技术领域\n[0001] 本发明涉及一种基于ZigBee技术的并发多径路由方法,属于网络通信技术领域。\n背景技术\n[0002] ZigBee技术主要应用于数据采集型为主的网络,由于网络中的节点没有二次电源供给,加之节点的数据处理能力有限、通信带宽受限,因此如何设计一个能效高、复杂度低和存储空间占用小的路由协议成为ZigBee网络层的研究热点。如图1所示为基于ZigBee技术的路由分类图。本发明设计的多径路由协议属于被动、平面、多径路由。\n[0003] 典型的路由协议包括AODV(Ad-Hoc On-demand Distance Vector按需距离矢量路由协议)、AOMDV(Ad-Hoc On-demand Multipath Distance Vector按需距离矢量多径路由协议)和DSR(Dynamic Source Routing动态源路由协议)协议等。AOMDV协议是从AODV协议发展而来的,延续了采用目的序列号来防止环路的规则,并根据每个节点的上一跳和下一跳均不相同为原则建立链路不相关型多条路径。但是AODV是单径协议,具有许多遗憾不足之处,因此在此基础之上,在没有额外增加开支的情况下,发展了多径协议AOMDV,AOMDV和AODV相比的改进如表1所示。\n[0004] 表1AOMDV和AODV的比较\n[0005] \n[0006] \n[0007] AOMDV协议的特点主要有两个:\n[0008] 1)通过采取目的序列号的方式避免环路\n[0009] 2)建立了链路不相关路径\n[0010] 下面从路由发现、路由维护两个方面来详述AOMDV多径路由协议。\n[0011] 1)路由发现\n[0012] 当源节点有数据要发送至目的节点时,首先查询自己的路由表是否有路由可用,若无,便发起路由发现过程寻找路由。AOMDV中利用RREQ(Route Request 路由请求分组)路由请求包作为路由发现的格式包。图2所示为AOMDV中RREQ的包格式示意图。图3所示为节点收到RREQ后的处理流程图。图3中所述的路由更新原则,该原则主要步骤如下:\n[0013] 步骤一,判断接收到的包的目的序列号和节点路由表中保存的目的节点的目的序列号大小;\n[0014] 步骤二,若接收到的包的目的序列号大,表示该路由包是一个足够新鲜的包(延续了AODV中的目的序列号原则,节点每次发送RREQ/RREP/RERR包均会增加自己的目的序列号并随RREQ/RREP/RERR包发送出去,因此目的序列号越大表示路由包越新鲜);RREP:Route Reply路由应答分组,RERR:Route Error路由错误分组;\n[0015] 步骤三,若收到的包足够新鲜,则将本节点路由表中的目的序列号更新为收到的包中的目的序列号;\n[0016] 步骤四,判断本节点是否是目的节点,若不是,则将本节点路由表中有关目的节点的广播跳数域设为无穷大,路径列表清空,然后将接收到的包所属的发送节点的信息存入路径列表中,若本节点是目的节点,则将广播跳数域置0;\n[0017] 步骤五,若接收到的包的目的序列号和节点路由表保存的目的序列号相等,此时依靠判断节点的广播跳数域和收到的包中的跳数两者的大小,只有当接收到的包中的跳数更小时,才将接收到的包中的信息保存在路径表中。\n[0018] 当目的节点收到RREQ后,AOMDV对RREQ采取的是宽松政策,即任何到达目的节点的RREQ,只要是来自目的节点的不同邻居节点,目的节点均会回复RREP格式包。\n[0019] 2)路由维护\n[0020] 在AOMDV中,节点会周期性的广播HELLO信息来维持网络拓扑信息的更新。同时,当节点的链路失效后,便会产生RERR信息,告知链路失效信息,收到RERR信息的节点会删除与失效节点相关的路由信息。\n[0021] AOMDV的主要缺陷有:\n[0022] (1)采用的主—备多径模式,只有当主路径失效的情况下才替换备份路径为主路径,因此没有充分利用多径高效性。\n[0023] (2)采用链路不相关多径路由模型,当业务繁忙时,共用节点可能过早衰竭,导致网络能量不均衡。\n[0024] (3)周期广播HELLO信息,路由开支过大。\n[0025] (4)中间节点可回复RREP,可能会将一条无效的路径反馈给源节点。\n发明内容\n[0026] 发明目的:针对现有技术中存在的问题与不足,本发明提供一种基于ZigBee技术的并发多径路由方法,在ZigBee中设计一种高效节能的多径路由协议,该路由协议以记录路径中所有节点能量的剩余能量等级信息为特征,利用多径进行并发传输为特点,并根据掌握的能量信息动态选择最优的路径进行数据传输。\n[0027] 技术方案:一种基于ZigBee技术的并发多径路由方法,主要包括:\n[0028] 步骤一,当节点没有到目的节点的路由时,采取RREQ广播路由发现过程,针对每一个目的节点的RREQ,中间节点只转发一次RREQ,当中间节点接收到非第一次到达的RREQ时,根据路由更新原则判断是否保存备份路径;\n[0029] 步骤二,中间的路由节点不回复RREP,目的节点在收到RREQ后,对来自于不同邻居节点的RREQ进行回复RREP路由帧;\n[0030] 步骤三,中间节点收到RREP时,首先判断该节点是否被该目的节点的路径占用,若没有被占用,则寻找没有转发RREP的路径中记载的反向路径的下一跳转发RREP,并且此过程必须将节点的信息按能量划分等级后将能量信息加载进RREP中转发;\n[0031] 步骤四,源节点在收到RREP后,根据RREP中记载的路径能量信息,选择时延最短和能量最高的路径并发传输数据,在每次数据业务传输结束后,将前一次参与数据传输业务的路径能量情况根据传输数据负载大小进行更新;\n[0032] 步骤五,路由维护:当源节点检测到路径中的某节点能量过低时,即低于预设值,给该节点的上游节点发送RERR信息,上游节点在接收到后本地修复路径,根据路由表存储的其他备份路径替代能量过低的节点,并将修复的新下一跳节点路径从反向路径告知各节点。\n[0033] 所述路由维护还可采用以下方式,\n[0034] 节点在能量过低时,自动发送RERR信息告知周围邻居节点,邻居节点在收到RERR信息后删除与该节点相关的路由信息,并在本地修复路径,采用路由表中存储的备份路径替换失效节点。\n[0035] 所述步骤一中,中间节点若是第一次收到RREP则转发该RREP,同时设置标识位为“节点被占用”,当节点再次收到RREP包后,检测标识位是否被设置,若设置,则丢弃该RREP;若没有设置,则保存路径并转发。\n[0036] 所述步骤三中,对RREP包设有反映路径能量信息的能量域,能量域大小为两字节,能量域将路径能量划分为4个等级。\n[0037] 所述步骤四中,在一次数据传输完成后,源节点自适应的根据前一次传输任务的数据负载大小更新路由表汇总前一次参与数据传输任务的路径的剩余总能量,即如下所示:\n[0038] 路径剩余总能量=剩余总能量—路径跳数×数据负载大小×能耗。\n[0039] 有益效果:与现有技术相比,本发明提供的基于ZigBee技术的并发多径路由方法,具有如下优点:\n[0040] 1)本发明建立一种节点不相关型多径,这种类型的多径避免了采取链路不相关型多径带来的共享节点失效后重新发起路由发现的路由开支。\n[0041] 2)本发明在RREP中携带了路径中所有节点的能量等级值,在到达源节点后可由源节点估算路径中的总能量情况。\n[0042] 3)本发明在路径选择时,利用RREP携带的路径能量信息,动态的选择能量最大的路径和时延最短的路径进行传输,增加了全网的生存时间,有利于全网的能量均衡。同时,通过对路径能量信息的更新和掌控,可以主动的对即将能量耗尽从而导致路径失效的情况加以预防和提前采取措施。\n附图说明\n[0043] 图1为基于ZigBee技术的路由分类;\n[0044] 图2为AOMDV中RREQ格式;\n[0045] 图3为RREQ流程图;\n[0046] 图4为本发明实施例的节点剩余能量划分等级示意图;\n[0047] 图5为本发明实施例的RREQ流程图;\n[0048] 图6为本发明实施例的RREP流程图;\n[0049] 图7为本发明实施例的REPP路由帧格式示意图;\n[0050] 图8为本发明实施例的能量划分等级处理流程图;\n[0051] 图9为本发明实施例的路由表格式示意图;\n[0052] 图10为本发明实施例的多径选路流程图。\n具体实施方式\n[0053] 下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。\n[0054] 本实施例的几个假设:\n[0055] 1.各节点的初始能量相等;\n[0056] 2.采用平面路由,各节点的地位相等;\n[0057] 3.将节点的剩余能量划分等级,划分等级如图4所示;\n[0058] 4.每条路径的跳数上限设为8跳;\n[0059] 5.采用分布式地址分配模式;\n[0060] 6.能量计算采用一阶无线电传输模型,能量计算公式如下:\n[0061] \n[0062] Er(k)=kEelec\n[0063] 其中Eelec表示发射机每发送一个比特需要消耗的能量,Eelec取决于调制方式、滤波器设置、信号传播速度等硬件因素;Et(k,d)表示一个节点发送k bit的信息到距离为d的另一个节点所要消耗的能量;Er(k)表示接收机接收k bit的信息所要消耗的能量;εfs,εmp分别表示信号放大器在自由空间和多径衰落两种环境下的能耗,式中[0064] 基于以上假设从以下几个方面来介绍本发明:\n[0065] 1)路由发现\n[0066] BMPR协议采用的RREQ格式和AOMDV中相同,但中间节点在接收RREQ的处理和AOMDV不同。源节点产生RREQ后,设置第一跳节点地址为255(广播地址),当源节点周围一跳内的邻居节点收到后,会将自己的地址替换为第一跳节点地址后转发RREQ。\n[0067] 在BMPR中,为了保证建立的是节点不相关型多径,除第一跳节点外,其余中间节点不接收来自不同第一跳节点的RREQ。以图5为例详述BMPR路由发现过程。为方便描述,图5中链路旁标记为链路的距离,本文中假设距离越小,时延越短。\n[0068] 基于以上假设,下面从几个步骤来分析BMPR协议中的路由发现过程:\n[0069] 步骤一,节点B先收到S发的RREQ,B收到后转发先后会被A、C、F、G、E节点收到,由距离可知,A和C先于B收到S的RREQ,根据第一跳节点原则,A和C将删除B发来的RREQ。此步骤之后的链路连接如图5(b)所示。\n[0070] 步骤二,节点A转发RREQ,G、F将会收到A转发的RREQ;节点C转发RREQ,F、E将收到C发送的RREQ;节点B转发RREQ,F、G、E将会收到B转发的RREQ。由距离可知,路径S-A-G和路径S-C-E首先收到RREQ,随后G收到S-B-G路径的RREQ,由于来自不同第一跳,G将删除S-B-G的RREQ,同理,E将删除S-B-E的RREQ;F将删除S-A-F和S-C-F路径的RREQ,此步骤之后的链路连接如图5(c)所示。\n[0071] 步骤三,G、F、E节点在收到RREQ后会转发,首先根据距离可知路径S-A-G和路径S-C-E最先收到RREQ,因此G和E同时转发RREQ,F先收到S-B-F的RREQ,随后同时收到S-A-G-F和S-C-E-F的RREQ,由于不同第一跳,F会删除来自G和E的RREQ,此步骤之后的链路连接如图5(d)所示。\n[0072] 步骤四,目的节点将分别收到G、F和E的RREQ由于BMPR协议中,目的节点对每个来自不同邻居节点的RREQ均回复RREP,因此此RREQ过程建立了三条节点不相关路径:\nS-A-G-D、S-B-F-D和S-C-E-D。\n[0073] 具体流程如图5所示。\n[0074] 2)路由回复\n[0075] 为了建立节点不相关型多径,在本发明中,节点若是第一次收到RREP则转发该RREP,同时设置标识位为“节点被占用”,当节点再次收到RREP包后,检测标识位是否被设置,若设置,则丢弃该RREP;若没有设置,则保存路径并转发。图6所示为本发明中对RREP路由包的处理流程图。\n[0076] 同时,本发明中对RREP路由包进行了改进,路由格式包如图7所示,在本发明中对RREP包增加了反映路径能量情况的能量域,大小为两字节。根据图4的能量划分,表述节点的能量状态需要利用2位比特并且本发明中假设每条路径的跳数上限为8跳,因此一条路径的能量情况需要使用两个字节,整体实现流程如图8所示。\n[0077] 最后针对路由表格式进行改进,增加了路径能量域作为路径选择时的依据,如图9所示为路由表格式。\n[0078] 3)路由维护\n[0079] BMPR协议中路由维护主要从两个方面阐述:\n[0080] ①主动维护:节点在感知到自己能量过低时,主动向周围邻居节点发送RERR信息(TTL=1),周围节点在收到后会删除与该节点相关的路由信息。\n[0081] ②被动维护:源节点由于掌握往目的节点的多条路径,并且掌握路径中所有节点的能量等级,由于源节点在每次业务结束后均为根据业务传输的数据大小实时的更新参与传输业务的路径中的节点的能量情况,因此,源节点可以提前预知即将能量过低的节点,此时,源节点会发送一个信息RERR(TTL= 路径跳数)给能量过低节点的上游节点,上游节点在收到该信息后会删除与失效节点相关的路由,并转发一个TTL=1的RERR告知周围邻居该节点的失效信息,同时启用本地修复,在路由表中寻找替换路径,若找到,则将更新路径告知源节点,若没有收到,则不通知源节点。\n[0082] 4)路径选择\n[0083] 在源节点和目的节点之间的多条路径建立后,源节点首依据RREP统计而来的路径能量情况,将数据负载分段选择时延最短和能量最高的两条路径传输(当时延最短和能量最高为同一条路径时,则选前两条能量最高的路径),在一次数据传输完成后,源节点自适应的根据前一次传输任务的数据负载大小更新路由表汇总前一次参与数据传输任务的路径的剩余总能量,即如下所示:\n[0084] 路径剩余总能量=剩余总能量—路径跳数×数据负载大小×能耗\n[0085] 该过程如图10所示。\n[0086] 本发明创造的主要保护技术点:\n[0087] (1)路径的能量情况进行等级划分,并将节点能量情况实时地通过RREP帧通知源节点。\n[0088] (2)源节点根据掌握的路径能量信息自适应地选择最优的(时延最短和能量最高,若时延最短和能量最高为同一条路径,则选能量最高的前两条路径)两条路径并发传输数据,并在业务完成后更新参与业务的路径能量情况。\n[0089] 本技术方案适用于数据量业务庞大的ZigBee应用场景中,利用该方案可以高效的将大容量数据传输给汇聚节点,并保证了全网能量的均衡,避免出现节点因距汇聚节点近而能量耗尽的情况。
法律信息
- 2020-05-22
未缴年费专利权终止
IPC(主分类): H04W 40/10
专利号: ZL 201310205845.X
申请日: 2013.05.28
授权公告日: 2016.03.16
- 2016-03-16
- 2013-10-16
实质审查的生效
IPC(主分类): H04W 40/10
专利申请号: 201310205845.X
申请日: 2013.05.28
- 2013-09-11
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2013-04-10
|
2012-12-20
| | |
2
| |
2008-01-16
|
2006-07-11
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |