移动AdHoc网络中基于距离和能量均衡的广播方法与流程

文档序号:12013575阅读:244来源:国知局
移动AdHoc网络中基于距离和能量均衡的广播方法与流程
本发明涉及无线通信技术领域,尤其是涉及一种能够有效抑制广播风暴,提高广播的可靠性,均衡网络中节点的能量,具有较高的到达率和较低时延的移动AdHoc网络中基于距离和能量均衡的广播方法。

背景技术:
移动AdHoc网络通常都具有自组织性、多跳路由、无线传输覆盖范围有限、链路带宽有限、网络拓扑动态变化、能源供应有限等特点,尤其是无线信道的广播特性以及隐蔽节点问题,使得移动AdHoc网络的广播与有基础设施的无线网络和有线网络中的广播相比,容易发生广播风暴,碰撞发生的概率也更高。特别是对于单信道的移动AdHoc网络,由于节点间数据的发送和接收都是在同一信道上进行,广播分组之间发生碰撞的几率大大增加。由此可见,广播会引入很大一部分的网络负荷,较严重地影响了网络的吞吐量和QoS(QualityofService)等性能,因此广播成为阻碍移动AdHoc网络发展的瓶颈之一。移动AdHoc网络中,最简单的广播方式就是洪泛广播,很多改进方法也是基于洪泛方法提出来的。在洪泛广播中,所有的节点不论何时第一次收到一个广播分组都会将这个广播分组继续传给它邻近的节点。总体来说洪泛算法比较简单而且能获得较大的网络覆盖率,但盲目洪泛在移动节点密集的网络中会造成大量重复的报文而消耗大量的网络资源。总结起来,洪泛广播主要存在的问题是广播风暴和广播的不可靠性,主要表现为信息冗余、信道争抢和信号碰撞。相对于广播风暴来说,关于不可靠广播的研究较少。不可靠广播会使某些路由不能建立、路由信息不一致等。关于不可靠广播的研究方案有基于洪泛的方案、基于最小生成树的方案和混合型的方案。基于洪泛的方法相对来说比较简单,也具有相对较高的可靠性,但是它会带来广播风暴问题。基于最小生成树的方案中,构造最小生成树计算量较大,也难以分布式实现。例如,Abdalla等人提出了一种基于概率和邻居信息的混合型方案:动态概率广播方法DP(DynamicProbabilisticbroadcastingalgorithms)。DP方案通过调整重播概率,使得在节点密度大的区域,广播概率较小,在节点密度稀疏的区域,重播概率较大,可以有效的减少广播信息冗余。但DP方法需要周期性地发送HELLO消息给周围的节点来交换拓扑信息,而接收到HELLO信息的节点除了自身要发送HELLO消息给邻居节点外,还需要对接收到的这个信息进行回复,这就造成了网络中资源和节点能量的消耗。中国专利公开号:CN101170560A,公开了一种自组织网络中的广播协议。包括2跳邻居节点的信息的维护、节点数据包处理和BRG(收到数据包且再次广播数据包的节点)集合的选择三个部分,具体为:在邻居节点中,选择唯一的与两跳节点相连的一跳节点作为转发节点;在一跳节点中,选择优先中级别最高的节点,优选级的选择由剩余能量和节点度数来决定,当节点剩余能量在原先能量的50%以上时,优先级=节点度数×N,10≤N≤100,当节点剩余能量在原先能量的50%以下10%以上时,优先级=节点度数×M,2≤M≤N,当节点剩余能量在原先能量的10%以下时,优先级=节点度数;通过优选级选择方式选取转发节点,直到将所有两跳范围内的节点全部覆盖为止。该发明的方法通过平衡节点间能量延长了网络的生命周期,不足之处是,对于剩余能量划分了三个级别,尚不能很好地平衡能量消耗;在同一个能量级别内,仅仅考虑了节点的度数作为转发优先级来选择,不能很好地抑制广播风暴,因为有些节点的度数虽然很高,但是邻居节点与自身的距离都很近,那么它的邻居节点若再次转发所获得额外的覆盖范围就很小;并且,该发明也没有考虑广播的可靠性。

技术实现要素:
本发明的目的是为了克服广播风暴、可靠性不高、能量消耗不均衡的问题,提供一种能够有效抑制广播风暴、提高广播可靠性、均衡网络中节点的能量消耗的移动AdHoc网络中基于距离和能量均衡的广播方法。为了实现上述目的,本发明采用以下技术方案:一种移动AdHoc网络中基于距离和能量均衡的广播方法,包括如下步骤:(1-1)建立邻居信息表:移动AdHoc网络中的任一个节点J收到其任一邻居节点H的广播分组,节点J从广播分组中获取H的地址,并计算J和H之间的距离;如果节点J第一次收到来自节点H的分组,则节点J建立用于存储节点H的信息的邻居信息表;否则,节点J更新对应节点H的邻居信息表中的距离和生存时间LTM;生存时间LTM表示在没有进一步收到来自节点H的任何信息的情况下,对应节点H的邻居信息表的生存时间;在生命周期LTM内,如果节点J没有再次收到来自H的分组,对于J来说,H将不再是邻居节点,LTM计时到,则将其从邻居信息表中去除;如果在LTM内收到了来自该邻节点的任何形式的分组,则表示该邻节点还是节点J的邻节点,就需要更新LTM。(1-2)发送或转发广播分组:(1-2-1)当节点J需要发送广播分组时,节点J根据邻居节点数目Jnum和邻居节点的分布情况设定距离门限值Dth,并在邻居节点中选择一个邻居距离最大值Dmax;当邻居节点数目Jnum为1时,则将Dmax设为该邻居节点与J之间的距离,并将Dth设为0;当邻居节点数目Jnum为2-4时,则将Dth设为各个邻节点中与节点J之间距离的最小值,将Dmax设为各个邻节点中与节点J之间距离的最大值;当邻居节点数目Jnum大于4时,将Dmax设为各个邻节点中与节点J之间距离的最大值,设定Dth,并使Dth满足与节点J的距离大于Dth的邻居节点数目≥Jnum/2;节点J将距离门限值Dth和邻居距离最大值Dmax记录到广播分组的分组头中,并发送广播分组;节点J中预设的应答时间Ackt,当节点J将广播分组转发后的Ackt时间内,节点J没有收到来自任一邻居节点的相同广播分组,则节点J做出广播分组发送失败或发生碰撞的判断,节点J重新发送该广播分组,第二次发送完毕后不再设置应答时间Ackt来等待邻节点转发相同的广播分组;当节点J在Ackt时间内收到来自任一邻居节点的相同广播分组,则节点J做出广播分组已经成功发送的判断;(1-2-2)当节点J的任意一个邻居节点K收到这个广播分组后,如果K没有转发过节点J的广播分组,则节点K计算与节点J的距离DKJ,并建立对应邻节点J的邻居信息表或更新对应邻节点J的邻居信息表中的邻居距离和LTM;将DKJ与广播分组的分组头中的Dth和Dmax进行比较,确定节点K是否需要转发该广播分组:当DKJ<Dth时,节点K不转发该广播分组;当DKJ=Dmax时,节点K直接转发该广播分组;当Dth<DKJ<Dmax时,节点K利用公式计算转发权PI,其中,α为网络中设定的常数,R为节点的无线覆盖范围的半径,Ek为节点K的当前剩余能量,Emax为任一节点的电池所能提供的最大能量值;利用公式计算转发延时时间T1,其中,tanh()为双曲正切函数运算符,MT为设定的最大延时时间,PImax是PI的最大值,n是时间常数;然后K根据转发延时时间T1进行延时,等待转发上述广播分组;当DKJ>Dmax时,表明J的邻居信息表中没有K的信息,在这种情况下K将不转发该广播分组;(1-2-3)当节点K需要转发广播分组,节点K利用与节点J相同的方法确定Dth和Dmax,并将Dth和Dmax记录到转发的广播分组头中,将广播分组头中上一跳节点地址字段中的值修改为本节点的地址,然后节点K发送广播分组;(1-3)网络中所有节点反复交替执行步骤(1-1)至(1-2),直至所有节点停止广播该广播分组。在移动AdHoc网络中,要想实现可靠广播,必须同时解决信息冗余带来的广播风暴问题,以及碰撞带来的不可靠广播问题,同时节点的剩余能量均衡对于网络寿命至关重要。本发明提出的基于距离和能量均衡的广播方法(DistanceandEnergy-BalancebasedReliableBroadcast,DEBRB),既能抑制广播风暴,实现可靠广播,动态适应网络拓扑变化,同时又能均衡网络节点能量消耗,提高网络寿命。本发明通过取消HELLO分组交互,利用接收到的各种分组来获取邻居信息,从而达到降低节点能耗、减少信道竞争目的;根据节点的距离和剩余能量信息来选择转发节点进行分时转发,可以均衡网络中节点的能量消耗,并减少广播信息冗余,降低分组碰撞的概率;同时采用了重传机制,提高了广播分组的可靠性。作为优选,所述的节点K等待延时转发的过程中,如果K再次收到任一邻节点N转发的相同的广播分组,则节点K计算K和N的距离DKN;如果DKN的距离大于r,K继续延时,等待转发;如果DKN的距离小于r,则K取消延时,不转发;如果K在等待延时的过程中收到任何邻居节点转发的同一广播分组的次数大于1次,则K取消转发;其中,r的范围为:作为优选,所述的广播分组应答时间Ackt=t1+2t2+MT;其中,t1为一个广播分组的发送时间;t2为网络的传播延时。其中,t1=数据帧长度(b)/发送速率(b/s);t2=信道长度(m)/电磁波在信道上的传播速率(m/s)。作为优选,所述的节点K的剩余能量Ek利用如下步骤计算获得:节点K发送一个分组所消耗能量为:Esc=PsTp;节点K接收一个分组所消耗的能量为:Ere=PrTp;节点K转发一个分组所需的能量为发送和接收两种操作所需能量之和:Eifw=(Ps+Pr)Tp;节点K已经消耗的总能量为Ekc=NksEsc+NkrEre+NkfEifw则节点K的剩余能量Ek=Emax-Ekc其中,Ps为发射机的发射功率;Pr为接收机的接收功率;Tp为发送或接收一个分组所需时间;Nks、Nkr、Nkf分别为节点K发送的分组数、接收的分组数、转发的分组数。作为优选,所述α的取值范围为0.4至0.6。作为优选,所述的节点J与邻节点H之间的距离利用下述公式计算:其中,Pt为发射功率,Pr为接收功率,Gt和Gr分别为发射天线增益和接收天线增益,L是与传播无关的系统损耗因子,L≥1,λ为波长。作为优选,节点J中用于存储邻节点H的信息的邻居信息表包括H的地址、J与H之间的距离和对应这个邻居信息表的生存时间LTM。因此,本发明具有如下有益效果:(1)本发明中,每个节点根据自身的状况(与邻节点的距离、能量)来决定是否转发,同时,转发节点通过错时转发,可以降低节点对信道的争抢以及信号碰撞的概率,提高了广播可靠性。(2)本发明网络中的节点根据接收到的分组而不采用HELLO分组动态地更新邻居信息,降低了节点对信道的争抢概率。(3)本发明采用了能量均衡的方法,将节点的剩余能量作为一个决定转发权优先级的因子。如果一个节点在距离上满足转发条件,但它的剩余能量较低,将减小这个节点转发的概率,尽量选择剩余能量较高的节点进行转发,均衡网络中各个节点的剩余能量能提高网络的寿命。(4)本发明引用了丢包重传机制,提高了广播的可靠性,而且利用邻节点转发的广播分组进行“应答”的方式,并不需要额外的应答分组,不会额外增加网络的负荷。附图说明图1为本发明的广播方法的一种流程示意图;图2为本发明的广播方法建立邻居信息表的一种流程示意图;图3为本发明的广播方法的节点发送广播分组的一种流程示意图;图4为本发明的广播方法的广播分组接收和转发流程的一种示意图。具体实施方式下面结合附图和具体实施方式对本发明做进一步的描述。如图1所示,一种移动AdHoc网络中基于距离和能量均衡的可靠广播方法,包括如下步骤:步骤100,建立邻居信息表:移动AdHoc网络中的任一个节点J收到其任一邻居节点H的广播分组,节点J从广播分组中获取H的地址,并计算J和H之间的距离;如果节点J第一次收到来自节点H的分组,则节点J建立用于存储节点H的信息的邻居信息表;否则,节点J更新对应节点H的邻居信息表中的距离和生存时间LTM;生存时间LTM表示在没有进一步收到来自节点H的任何信息的情况下,对应节点H的邻居信息表的生存时间;在生命周期LTM内,如果节点J没有再次收到来自H的分组,对于J来说,H将不再是邻居节点,LTM计时到,则将其从邻居信息表中去除;如果在LTM内收到了来自该邻节点的任何形式的分组,则表示该邻节点还是节点J的邻节点,就需要更新LTM。LTM的大小可以根据具体的网络情形设置不同的值。步骤200,发送或转发广播分组:步骤210,当节点J需要发送广播分组时,节点J根据邻居节点数目Jnum和邻居节点的分布情况设定距离门限值Dth,并在邻居节点中选择一个邻居距离最大值Dmax;当邻居节点数目Jnum为1时,则将Dmax设为该邻居节点与J之间的距离,并将Dth设为0;当邻居节点数目Jnum为2-4时,则将Dth设为各个邻节点中与节点J之间距离的最小值,将Dmax设为各个邻节点中与节点J之间距离的最大值;当邻居节点数目Jnum大于4时,将Dmax设为各个节点中与节点J之间距离的最大值,设定Dth,并使Dth满足与节点J的距离大于Dth的邻居节点数目≥Jnum/2;节点J将距离门限值Dth和邻居距离最大值Dmax记录到广播分组的分组头中,并发送广播分组;节点J预设应答时间Ackt,当节点J发送广播分组后的Ackt时间内,节点J没有收到来自任一邻居节点的相同广播分组,则节点J做出广播分组发送失败或发生碰撞的判断;Ackt计时到,节点J重新发送该广播分组,第二次发送完毕后不再设置应答时间Ackt来等待邻节点转发相同的广播分组;当节点J收到来自任一邻居节点的同一广播分组,则节点J做出该广播分组已经成功发送的判断;步骤220,当节点J的任意一个邻居节点K收到这个广播分组后,如果K没有转发过节点J的广播分组,则节点K计算其距离节点J的距离DKJ,并利用DKJ更新对应邻节点J的邻居信息表中的邻居距离;将DKJ与广播分组的分组头中的Dth和Dmax进行比较,确定节点K是否需要转发广播分组:当DKJ<Dth时,节点K不转发广播分组;当DKJ=Dmax,节点K直接转发广播分组;当Dth<DKJ<Dmax,节点K利用公式计算转发权PI,其中,α为网络中设定的常数,R为节点的无线覆盖范围的半径,Ek为节点K的当前剩余能量,Emax为节点K的电池所能提供的最大能量值;利用公式转发延时时间T1,其中,tanh()为双曲正切函数运算符,MT为设定的最大延时时间,PImax是PI的最大值,n是时间常数;然后K根据转发延时时间T1进行延时,等待转发上述广播分组;当DKJ>Dmax,表明J的邻居信息表中没有K的信息,在这种情况下K将不转发;造成J的邻居信息表中没有K的信息,主要有以下几种情况:①节点K处在休眠状态,从未主动发送过任何单播、组播或广播分组;②在一个生命周期LTM内,K没有再次发送或转发任何分组,因此LTM时间到时,J将K的相对应的记录从邻居信息表中删除;③K在网络中扮演接收终端的角色,即K只负责接收而不会转发任何分组。步骤230,当节点K需要转发广播分组,节点K利用与节点J相同的方法确定Dth和Dmax,并将Dth和Dmax记录到转发的广播分组头中,将广播分组头中上一跳节点地址字段中的值修改为本节点的地址,然后节点K转发广播分组;步骤300,网络中所有节点反复交替执行步骤110至200,直至所有节点停止广播该广播分组。本实施例中的广播分组的转发权由接收节点自己决定,网络中的每个节点都存有一张邻居信息表,用来记录邻居节点的信息。节点根据接收到的来自邻居节点的分组的信号功率(不论是单播、组播还是广播),计算自己与发送节点的距离,来获取自己周围的拓扑信息。当某节点J要发送广播分组时,首先查看自己的邻居信息表,根据邻居节点的数目和距离,选择邻居距离最大值,并计算一个邻居距离门限值,将这两个值添加到广播分组中。J的邻居节点在接收到这个广播分组后,首先计算它们与J之间的距离,然后与这个广播分组头中的距离门限值进行比较。距离小于门限值的节点将不转发;如果邻居节点的距离大于门限值,则这些节点作为候选转发节点,进一步考虑自身的剩余能量。根据自身的剩余能量和距离,确定转发优先权,根据优先权计算转发延迟时间,进行分时合作转发。本实施例为了保证广播分组传送过程的可靠性,引入了丢包重传机制,中继节点转发广播信息后,如果没有再次收到来自邻节点转发的相同的广播信息,则认为本次转发不成功,重新发送。本实施例中取消HELLO分组交互,利用接收到的各种分组来获取邻居信息,从而达到降低节点能耗、减少信道竞争目的;根据节点的距离和剩余能量信息来选择转发节点进行分时转发,可以均衡网络中节点的能量消耗,并减少广播信息冗余,降低分组碰撞的概率;同时采用了重传机制,增加了广播分组的可靠性。图2至图4给出了网络中各移动站使用本实施方式的具体执行过程及交互过程,分别介绍邻居信息表的建立、节点发送广播分组和节点接收广播分组的流程。邻居信息表的建立流程如图2所示。当节点J收到来自某节点H的分组时,首先获取节点H的地址以及J与H的距离。同时J检查邻居信息表是否有节点H的记录表。如果没有记录,则将H的信息添加到邻居信息表中,设置H的生命周期LTM,等待在LTM时间内是否再次收到来自H的分组。如果有记录,接着检查J与H的距离是否与邻居表中的记录一致,若一致,立即更新节点H的生命周期LTM,将其设置为最大值;如果不一致,则更新关于节点H的邻居信息和LTM。若在LTM时间内收到来自H的分组,则继续检查J与H的距离是否与邻居表中的记录一致;如果LTM一到,还没有收到节点H的任何分组,则从节点J中删除对应节点H的邻居信息表。邻居信息表建立后,发送节点的处理流程如图3所示,当发送节点J欲发送广播分组时,首先会检查邻居信息表。如果只有一个邻居节点,则将Dmax设为这个邻居节点的距离值,将Dth设为0。如果有2-4个邻居节点,则将这些邻居节点中最小的距离值作为Dth,最大的作为Dmax。如果邻居节点的数目大于4个,则根据邻居节点的分布,计算门限值Dth,最远处的邻居节点的距离作为Dmax。将Dth和Dmax记录在广播分组的相应的字段中,然后发送广播分组,同时设置一个应答时间Ackt。如果在此时间内,节点J没有收到来自邻居节点的相同的广播分组,则J认为这个广播分组发送失败或者在接收节点处发生碰撞,J重新发送一次这个广播分组,来保证广播的可靠性。如果节点J收到来自邻居节点的相同的广播分组,那么这个广播分组就相当于对节点J所发送的广播分组的应答,则J认为邻居节点已经成功接收到它发送的广播分组,则不再处理与该广播分组有关的任务。节点转发的处理流程如图4所示,当任意一个邻居节点K收到来自节点J的广播分组后,根据接收到的信号强度,首先计算两者之间的距离DKJ,并更新邻居信息表中J的相关记录。然后将DKJ与广播分组头中的Dth和Dmax进行比较。如果DKJ<Dth,则节点K不考虑转发。如果DKJ=Dmax,表明K距离J较远,转发所获得的额外覆盖面积较大,则K将具有优先转发权,无需延时,直接转发。如果Dth≤DKJ<Dmax,则K有可能转发:节点K将进一步根据距离和剩余能量,确定转发权PI。根据PI确定转发等待时间,进行延时,等待转发。如果DKJ>Dmax,表明J的邻居信息表中没有K的信息,所以,在这种情况下K将不转发。通过上述判断后,如果节点K需要转发,节点K利用与节点J相同的方法确定Dth和Dmax,将这两个值记录到广播分组头中,并将分组头中上一跳节点地址字段中的值修改为本节点的地址。在节点K等待延时转发的过程中,如果K再次收到来自节点N转发的相同的广播分组,则K计算K和N的距离DKN。如果DKN的距离大于r,K继续延时,等待转发。如果DKN的距离小于r,那么K再次转发所获得的额外覆盖面积将很小,则K取消延时,不转发。如果K在等待延时的过程中收到任何邻居节点转发的同一广播分组的次数大于1次,则K取消转发;其中,r的范围为:若在应答时间Ackt内收到相同的广播分组,则节点K删除已存储的广播分组;若没有,则再次发送这个广播分组,并且不再发送该广播分组。网络中所有节点反复交替执行邻居信息表更新、发送和转发流程,直至所有节点停止广播该广播分组。根据本实施方式的流程就可以撰写出本发明协议方法的程序代码,代码编译成功之后就可以应用于网络的广播中。为了更好的体现本发明协议方法的性能提高,用网络仿真模拟软件对本发明协议方法进行仿真。根据仿真结果分析协议在到达率、转发节点比例、端到端时延平均值、网络生存时间等中优势所在。本发明协议方法主要可以从四个性能指标进行分析:(1)到达率(Reachability):也被称为可达度,定义为所有目的节点收到广播分组个数与所有目的节点应当收到的广播分组个数的比值。其中所有目的节点应当收到的广播分组个数就是源节点发送的广播分组的个数与所有目的节点个数之积。(2)转发节点比例(Retransmittedratio):定义为参与转发广播分组的节点数与网络中所有节点数的比值。(3)端到端时延平均值(Averageend-to-enddelay):定义为源节点产生广播分组到所有目的节点收到广播分组之间的时延的平均值。(4)网络生存时间(Networklifetime):定义为从网络仿真开始,至网络中第一个节点能量耗尽所持续的时间。为了能更好的看出本发明协议方法在这四项指标上的优势所在,将其与DP协议进行比较。主要观察两种协议在节点静止时和节点移动时两种情况下的性能。通过仿真后的数据分析,本发明协议方法在节点静止和节点移动两种情形下的到达率明显高于DP协议方法,降低了广播分组碰撞的概率,提高了网络效率,并进一步保证广播的可靠性,而DP算法由于只根据节点的邻居数目来动态调整节点的转发概率,并没有考虑在接收节点处可能存在的碰撞问题,因而相比于DEBRB算法到达率较低;在转发节点比例方面,本协议方法随着网络节点密度的增加,本协议方法维持在比较稳定的值,且始终优于DP方法,也就是说DEBRB减少了参与广播的节点数,更好地抑制了广播风暴;在端到端时延平均值方面,当网络中节点密度增加时,两种协议方法的时延均值都会增大,但DEBRB算法的时延均值始终低于DP算法,这是由于在DEBRB算法中,网络中的节点根据接收到的分组动态地更新邻居信息,选择转发节点进行分时转发,降低了节点对信道的争抢概率以及分组在队列中的等待时间,所以时延较小;在网络生存时间性能指标上,本协议方法的网络生存时间明显高于DP算法,具有较长的网络生存时间,这是因为DEBRB中考虑了能量均衡、不采用HELLO分组交互邻居信息,减少了能量消耗,均衡了网络中节点的能量。本发明通过网络中接收到的来自邻居信息的分组来获取节点周围的拓扑信息,降低了广播分组碰撞的概率;每个节点通过距离和剩余能量决定自身的转发优先级,从而减少了转发次数,较好地抑制了广播风暴;采用能量均衡的方法,均衡网络中各个节点的剩余能量,提高网络的寿命;采用了丢包重传机制,提高了广播的可靠性。本发明可较好的应用于移动AdHoc网络的广播技术中。应理解,本实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1