专利名称:Ad Hoc网络中能量均衡路由协议的实现方法
技术领域:
本发明属于无线通信技术领域的Ad Hoc网络的网络层路由方法,尤其 涉及一种能量均衡路由协议的实现方法。
背景技术:
传统无线网络的主要目标是在移动环境下提供高服务质量和高带宽效 率,能量消耗往往不是设计的主要考虑内容。而在移动Ad Hoc网络中,大 多数设备都是小体积的手持式装置,其电池供电能力有限,但是网络的自组 织、环境适应等特点使其在军事、家庭、大型会议等商用领域有着广泛应用。 虽然不同的应用场景对网络的其他性能要求不同,但是尽可能地延长网络生 命周期,保证目标任务的可靠执行是所有应用的共同需求,所以电池能量的 有效应用成为了研究的关键问题之一。
采用高容量的电池是增加节点工作时间最直接最有效的方法,然而在目 前的技术条件下,电池容量平均每十年只能提高20%左右,单位重量的电池 容量很难在短期内有大幅度的提高。因此,能量的节省只能从节点能量消耗 方面着手研究。另外,从降低网络运行成本和节约自然资源的角度来说,采 用节能机制也是一项意义重大的措施。
Ad Hoc的节能问题可以在硬件和软件方面进行改进。在硬件方面,随着 半导体技术的发展,越来越多的新技术应用到移动节点的生产和制造上,如 采用低功耗的器件设计、低功耗的显示技术、磁盘驱动器的节能算法、低功耗的I/0设备、低功耗的CPU等,从而降低了移动节点的能耗。然而,从网
络技术角度看,我们更关注的是如何在软件层次上,通过在协议栈各层设计 专门的节能协议来降低移动节点通信子系统的能量消耗,以延长节点的工作
时间。移动Ad Hoc网络的节能问题涉及网络协议栈的各个层次,每一层都 可以根据自身的特点和功能设计不同的节能算法。目前在移动Ad Hoc网络 的MAC (Media Access Control)协议、路由协议、拓扑控制和QoS (Quality and Service)管理等方面都进行了大量高能效算法的研究。开发良好的路由 协议是建立移动Ad Hoc网络的首要问题,能量均衡路由协议的研究更是具 有很高的实用价值。
利用能量均衡的思想来延长网络生命周期的节能路由协议有如下两种 第一种能量均衡消耗路由LEAR在路由发现时,根据节点的剩余能量来确定 该节点是否接收RREQ分组并进行转发,如果节点的剩余能量低于某一阈值 0,则丢弃RREQ分组,否则就参与路由发现过程。若源节点找不到合适的 路由,则再次发出路由请求,接到请求的节点均降低其阈值,再判断是否参 加路由。随着网络的运行,节点的能量会越来越小,所以需要不断的下调阈 值,以保证源节点能够找到路由。第二种能量均衡路由EAPR采用了与LEAR 相似但是更合理的方法,其采用如下的概率模型来决定是否接收处理RREQ 分组<formula>formula see original document page 5</formula>
式中
《——中间节点",转发RREQ分组的概率; ^——预先定义的能量比较阈值;"——调节概率的系数;
《一节点",.的剩余电池能量。
LEAR和EAPR都是在路由发现过程中直接对过度使用节点进行保护, 其能有效延长网络生命时间,但是同时存在一些问题
1) LEAR、 EAPR都采用预先定义阈值来判断中间节点是否参与路由发 现过程,随着网络运行,能量逐渐消耗,需对能量阈值进行不断调整,如果 阈值过大会导致无法找到路由,严重影响网络其他性能,过小会无法保护过 度使用的节点,从而使得能量均衡不明显。所以在这些算法中,阈值的调整 是一个难点,并且文献都没有具体说明阈值应如何有效选取和调整,这样导 致算法的可操作性较差;
2) 对于过度使用节点在LEAR中采用直接丢弃RREQ分组来对其保护, 有可能导致路由发现成功率较低,而源节点会不断地进行路由发现,其带来 的能耗甚至可能超过了协议本身所节省的能量,所以过度使用节点直接丢弃 RREQ分组对其进行保护是不可取的。
发明内容
本发明的目的在于克服上述现有技术的不足,提供一种Ad Hoc网络中 能量均衡路由协议的实现方法,该方法在不增加外控制分组的条件下,使得 所有中间节点能够通过合理的估计全网络的平均能量来决定自己是否参与路 由发现过程,从而有效保护了过度使用的节点,并最终达到延长网络生命周 期,提高网络性能的效果。
为达到上述目的,本发明的技术方案是这样实现的-
首先,网络中每个节点利用Hdlo分组向邻居节点通报自己的剩余能量值,与此同时每个节点保存自己收到的Hello分组中记录的邻居节点的能量信息5其次,如果源节点S需要向目的节点D发送数据,当没有现成可用路由 时,源节点S要生成一个RREQ分组,并根据自己所掌握的自身剩余能量《, 邻居节点个数",以及对应的每个邻居节点的剩余能量<formula>formula see original document page 7</formula>的信息," 利用<formula>formula see original document page 7</formula>计算其本地平均能量^,并将其值累积到RREQ分组记录网络能量信息的CAE域中,然后广播该RREQ分组;再次,对接收到该RREQ分组的第/跳中间节点/,同样利用玄<formula>formula see original document page 7</formula>计算其本地平均能量,其中《为节点/当前的剩余能量,n,为节点/的邻居节点个数,《,A",2,…,w,为对应每个邻居节点的剩余 能量,接着再根据^=(^) + ^)//来估计当前全网络的平均能量^,其中£, 为RREQ分组CAE域中的能量值,也就是从源节点S到第/跳节点/的路径 上所有中间节点本地平均能量值的总和;当《>6^!,则认为节点/不是过度使用的节点,它应该将自己计算的本 地平均能量《累加到RREQ分组的CAE域中,并转发该RREQ分组,式中 的"为比例因子,实际应用中取0.8;当《<"巧,则认为节点;是过度使用的节点,它应延时一段时间并在这 段时间中继续侦听RREQ分组,应用中延时时间应取O.l毫秒,假设在这段 时间内节点/又收到了"个相同的RREQ分组,如果"大于门限C,则认为该 广播已经覆盖了节点/的邻居节点范围,节点/无需再转发该RREQ分组,即 节点/丢弃该RREQ分组;而如果w小于门限C,则认为节点/的邻居节点中仍可能存在未收到该RREQ分组的节点,此时节点/应该将自己计算的本地 平均能量《累加到RREQ分组的CAE域中,并转发该RREQ分组,应用中 门限C取3或4;最后,当目的节点D收到第一个RREQ分组后,按照方向路径向源节点 S发送路由应答分组RREP,路径中的中间节点收到路由应答分组RREP后 记录前向路由,另外,目的节点应该丢弃后续收到的其他RREQ分组,至此, 路由发现过程完毕,而路由维护过程与原始AODV协议过程相同。本发明利用原始AODV协议本身的Hello分组和RREQ分组传递节点的 能量信息,实现了每个中间节点对全网络能量的合理估计,使得网络可以充 分保护过度使用的节点,避免因为部分节点能量过早耗尽所出现的网络分割, 仿真结果表示,本发明延长了网络的生命周期,并且在网络负载较重情况下 增大了网络吞吐量,降低了网络延时。
图1为发明提出的负载均衡路由方法有效性的说明图, 图中A、 B、 C、 D、 E、 F为网络中的通信节点; 图2为中间节点处理RREQ分组的流程图; 图3为能量有效性仿真曲线图,(a)网络生命时间;(b)存活节点个数; 图4为网络传统性能仿真曲线图,(a)分组投递率;(b)平均端到端时延;(C)路由开销。下面结合附图对本发明的内容作进一步详细说明。
具体实施方式
参见图1所示,来说明本发明提出的负载均衡路由方法有效性的,当源节点A有数据分组要向目的节点D发送时,如果采用最短路由算法AODV 或者DSR,从节点A到节点D的通信路由总是要经过节点E,因此节点E 较快耗尽其能量。如果节点E的能量全部耗尽,那么节点F就失去与网络的 连接,因此不再可能与节点F进行通信,造成了网络分割。而对于本发明提出的能量均衡路由方法,在路由发现的过程中,节点E 判断自己的能量过度使用后,启动定时器,超时后计算收到的路由请求分组 个数,由于节点E只收到了源节点A发来的RREQ分组,没有超过设定的门 限值,它会继续转发RREQ分组,那么节点D和F都能收到此RREQ分组, 但是节点D此时己经收到过节点C的RREQ分组,其会丢弃收到的节点E 发送的RREQ分组,所以最终从节点A到节点D的通信路由为< A-B-C-D >。 但是当节点A需要与节点F进行通信时,依然可以找到〈A-E-F〉这条路径, 不会像LEAR那样,由于节点E丢弃了RREQ分组,源节点需要不断进行路 由发现,造成能量浪费。参见图2所示,来说明本发明所要求的中间节点处理RREQ分组的流程, 首先,当一个中间节点收到一个RREQ分组,判断此RREQ分组是否已经被 处理过,若处理过则丢弃该RREQ分组,否则初始化历史RREQ列表并将计 数器加1;其次,利用上述方法计算当前网络平均能量的估计值,并结合自 身剩余能量值判断自己是否为过度使用的节点,如果不是则将自己计算的本 地平均能量值累积到RREQ分组中CAE域并转发RREQ分组,如果是过度 使用的节点,则启动定时器开始延时;再次,在延时过程中继续侦听RREQ 分组,同时对相同的RREQ分组接收个数进行计数,定时器超时时将计数结果与门限相比较,如果大于门限则放弃转发此RREQ分组,否则,将自己计 算的本地平均能量值累积到RREQ分组中CAE域并转发RREQ分组。参见图3所示,来说明本发明对网络能量消耗的均衡效果,仿真使用NS-2 仿真平台,仿真参数设定物理层为双向链路,信道传输速率为2Mbps,无线 传播模型为双射线模型,电波传输距离为250m,干扰距离为550m, MAC 层采用IEEE 802.11协议。仿真中,设定50个节点随机地分布在1000xl000m2 的区域内,移动模型采用随机路点模型,节点的最大移动速率为20m/s,节 点每停顿一段时间后,在网络区域内随机的选择一个目的点,然后在(0 20m/s)内随机选择一个值作为运动速度向目的位置运动。在仿真中,变化停 顿时间来反映节点的运动情况,停顿时间越短,说明节点运动程度越高。信 源采用CBR (Constant Bit Rate)数据流,最大连接数分别为20和30,分组 产生率为每秒2个,分组长度为512bits,仿真时间为400秒。在仿真中,将 式比例因子"设为0.8,过度使用节点的延时设为0.0001秒,图中AODV-20 的曲线代表采用传统AODV协议,连接数为20条件下,网络的生命周期与 存活结点个数的曲线,AODV-30则代表采用传统AODV协议,连接数为30 的情况,EBAODV-20代表采用本发明提出的EBAODV协议,连接数为20 的情况,EBAODV-30代表采用本发明提出的EBAODV协议,连接数为30 的情况。(a)图给出了两种协议在上述的仿真模型中的网络生命时间,可以看出, EBAODV的生命时间始终比AODV要高,这说明了提出的算法的在能量均 衡消耗方面的有效性,这主要是算法在路由发现过程中按照可操作性强的方 法保护了过度使用的节点,防止节点过早的离开网络。当停顿时间是50秒,页连接数为20时,与AODV相比,EBAODV的生命时间提高了大约20%, 而当停顿时间变长,即节点的运动性减弱时,其性能差异也随之减少,而在 连接数为30时,也存在节点运动程度越低生命时间差异越小的特性。这主要 是因为节点移动性越低,路径断裂的次数越少,那么实行路由发现的过程越 少,而提出的算法即是在路由发现过程中对过度使用节点进行保护,所以路 由发现过程越少,算法能起到能量均衡的效果越差。另外,总的来说,连接 数为30的生命时间差异要小于为20时的情况,这是因为在连接数为30时, 大部分节点都参与了通信,对于能量过度使用节点就很难找到替代节点,那 么对其的保护就受到了一定限制,导致对网络生命时间的延长也受到了限制。 (b)图比较了在停顿时间为50秒时,两种协议存活节点个数随着仿真 时间变化的情况,可以看出仿真时间到200秒时,连接数为20的EBAODV 和AODV都没有节点死亡,连接数为30时,EBAODV只有极少数节点死 亡,而AODV中己经有30°/。的节点死亡。在250秒时,连接数为20的EBAODV 只有几个节点死亡,而AODV有近26%的节点死亡,说明了提出的EBAODV 有效保护过度使用节点,使节点能量消耗尽量均衡,延长了网络生命时间。 从图还可以看出,随着网络的进一步运行,两者之间存活节点个数的差异变 小,在仿真结束时,EBAODV存活的节点个数甚至更少,这主要是因为AODV大部分节点都死亡后,其进行通信的任务量必然减少,节点的能量消耗会变 小,那么存活节点个数减少的幅度就相应要小一些。参见图4所示,来说明本发明对网络传统性能的提升效果,图中 AODV-20的曲线代表采用传统AODV协议,连接数为20条件下,网络的分 组投递率、平均端到端时延和路由开销的曲线,AODV-30则代表采用传统AODV协议,连接数为30的情况,EBAODV-20代表采用本发明提出的 EBAODV协议,连接数为20的情况,EBAODV-30代表采用本发明提出的 EBAODV协议,连接数为30的情况。(a) 图表明EBAODV在连接数为20,节点停顿时间为50s-200s时,其 投递率略低于AODV,这主要是因为在路由发现过程中一些过度使用的节点 丢弃RREQ分组,可能导致源节点找不到可用路由,进而影响了投递率。而 在停顿时间较大,即节点大部分时间都静止时,其投递率明显高于AODV, 这主要是因为路由断裂次数少,其进行的路由发现次数少,那么EBAODV 找不到路由的次数变少,那么由其带来的平均路由查询次数的增加就降低了, 即其负面影响因素变小,那么链路不可用平均概率降低的正面影响带来的性 能提高大于负面影响带来的性能降低,所以其投递率反而变好了。在连接数 为30时,EBAODV的投递率总高于AODV,这是因为高负载情况下,链路 不可用平均概率有较小的降低都会带来较大的性能提高。(b) 图表明连接数为20时EBAODV路由开销要高于AODV,这是因 为源节点在找不到路由时,会再次进行路由发现操作,而RREQ分组的传递 是采用广播方式,所以必然会导致路由开销的增大,即平均路由査询次数的 增加会对其造成较大影响。而在连接数为30时,EBAODV的路由开销性能 要好于AODV,这也是因为高负荷情况下,信道竞争激烈,数据碰撞严重, 对于能量过度使用节点进行保护相当于进行了一定程度上的负载均衡,这样 可以减少网络冲突, 一定程度上均匀分配数据流给节点,减少网络拥塞。(c) 图说明EBAODV的延时总是低于AODV的,这主要是因为 EBAODV的网络生命时间较高,且其在第一个节点死亡时,AODV己经有大部分节点死亡,那么很多源节点找不到路由将数据发送,数据将在链路层 的缓冲队列中排队等待,这样会极大增大分组转发延时,所以最终导致AODV平均端到端时延高于EBAODV。这也说明相对于投递率和路由开销 而言,正面因素即链路不可用平均概率降低对延时的影响更大。
权利要求
1、Ad Hoc网络中能量均衡路由协议的实现方法,其特征在于首先,网络中每个节点利用Hello分组向邻居节点通报自己的剩余能量值,与此同时每个节点保存自己收到的Hello分组中记录的邻居节点的能量信息;其次,如果源节点S需要向目的节点D发送数据,当没有现成可用路由时,源节点S要生成一个RREQ分组,并根据自己所掌握的自身剩余能量Ers,邻居节点个数ns以及对应的每个邻居节点的剩余能量Erk,k=1,2,…,ns的信息,利用<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><msubsup> <mover><mi>E</mi><mo>‾</mo> </mover> <mi>l</mi> <mi>s</mi></msubsup><mo>=</mo><mrow> <mo>(</mo> <msubsup><mi>E</mi><mi>r</mi><mi>s</mi> </msubsup> <mo>+</mo> <munderover><mi>Σ</mi><mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn></mrow><mrow> <mi>k</mi> <mo>=</mo> <msub><mi>n</mi><mi>s</mi> </msub></mrow> </munderover> <msubsup><mi>E</mi><mi>r</mi><mi>k</mi> </msubsup> <mo>)</mo></mrow><mo>/</mo><mrow> <mo>(</mo> <msub><mi>n</mi><mi>s</mi> </msub> <mo>+</mo> <mn>1</mn> <mo>)</mo></mrow> </mrow>]]></math> id="icf0001" file="A2008101503900002C1.tif" wi="46" he="10" top= "104" left = "33" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>计算其本地平均能量<overscore>E</overscore>ls,并将其值累积到RREQ分组记录网络能量信息的CAE域中,然后广播该RREQ分组;再次,对接收到该RREQ分组的第i跳中间节点i,同样利用<maths id="math0002" num="0002" ><math><![CDATA[ <mrow><msubsup> <mover><mi>E</mi><mo>‾</mo> </mover> <mi>l</mi> <mi>i</mi></msubsup><mo>=</mo><mrow> <mo>(</mo> <msubsup><mi>E</mi><mi>r</mi><mi>i</mi> </msubsup> <mo>+</mo> <munderover><mi>Σ</mi><mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn></mrow><mrow> <mi>k</mi> <mo>=</mo> <msub><mi>n</mi><mi>i</mi> </msub></mrow> </munderover> <msubsup><mi>E</mi><mi>r</mi><mi>k</mi> </msubsup> <mo>)</mo></mrow><mo>/</mo><mrow> <mo>(</mo> <msub><mi>n</mi><mi>i</mi> </msub> <mo>+</mo> <mn>1</mn> <mo>)</mo></mrow> </mrow>]]></math> id="icf0002" file="A2008101503900002C2.tif" wi="43" he="10" top= "143" left = "24" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>计算其本地平均能量Eli,其中Eri为节点i当前的剩余能量,ni为节点i的邻居节点个数,Erk,k=1,2,…,ni为对应每个邻居节点的剩余能量,接着再根据<maths id="math0003" num="0003" ><math><![CDATA[ <mrow><msubsup> <mover><mi>E</mi><mo>‾</mo> </mover> <mi>c</mi> <mi>i</mi></msubsup><mo>=</mo><mrow> <mo>(</mo> <msub><mi>E</mi><mi>sum</mi> </msub> <mo>+</mo> <msubsup><mover> <mi>E</mi> <mo>‾</mo></mover><mi>l</mi><mi>i</mi> </msubsup> <mo>)</mo></mrow><mo>/</mo><mi>i</mi> </mrow>]]></math> id="icf0003" file="A2008101503900002C3.tif" wi="30" he="5" top= "171" left = "62" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>来估计当前全网络的平均能量<overscore>E</overscore>ci,其中Esum为RREQ分组CAE域中的能量值,也就是从源节点S到第i跳节点i的路径上所有中间节点本地平均能量值的总和;当<maths id="math0004" num="0004" ><math><![CDATA[ <mrow><msubsup> <mi>E</mi> <mi>r</mi> <mi>i</mi></msubsup><mo>></mo><mi>α</mi><msubsup> <mover><mi>E</mi><mo>‾</mo> </mover> <mi>c</mi> <mi>i</mi></msubsup><mo>,</mo> </mrow>]]></math> id="icf0004" file="A2008101503900002C4.tif" wi="17" he="4" top= "204" left = "38" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>则认为节点i不是过度使用的节点,它应该将自己计算的本地平均能量Eli累加到RREQ分组的CAE域中,并转发该RREQ分组,式中的α为比例因子,实际应用中取0.8;当<maths id="math0005" num="0005" ><math><![CDATA[ <mrow><msubsup> <mi>E</mi> <mi>r</mi> <mi>i</mi></msubsup><mo>></mo><mi>α</mi><msubsup> <mover><mi>E</mi><mo>‾</mo> </mover> <mi>c</mi> <mi>i</mi></msubsup><mo>,</mo> </mrow>]]></math> id="icf0005" file="A2008101503900002C5.tif" wi="17" he="4" top= "238" left = "38" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>则认为节点i是过度使用的节点,它应延时一段时间并在这段时间中继续侦听RREQ分组,应用中延时时间应取0.1毫秒,假设在这段时间内节点i又收到了n个相同的RREQ分组,如果n大于门限C,则认为该广播已经覆盖了节点i的邻居节点范围,节点i无需再转发该RREQ分组,即节点i丢弃该RREQ分组;而如果n小于门限C,则认为节点i的邻居节点中仍可能存在未收到该RREQ分组的节点,此时节点i应该将自己计算的本地平均能量Eli累加到RREQ分组的CAE域中,并转发该RREQ分组,应用中门限C取3或4;最后,当目的节点D收到第一个RREQ分组后,按照方向路径向源节点S发送路由应答分组RREP,路径中的中间节点收到路由应答分组RREP后记录前向路由,另外,目的节点应该丢弃后续收到的其他RREQ分组,至此,路由发现过程完毕,而路由维护过程与原始AODV协议过程相同。
全文摘要
本发明公开了Ad Hoc网络中能量均衡路由协议的实现方法,本发明在路由发现过程为每个节点提供了一个实时的网络平均剩余能量参考值,能量充足的节点直接参与路由发现,而过度使用的节点则根据延时内接收到的路由请求分组个数决定是否参与转发分组。该方法在不增加而外控制分组的条件下,使得所有中间节点能够通过合理的估计全网络的平均能量来决定自己是否参与路有发现过程,从而有效的保护了过度使用的节点,并最终达到延长网络生命周期,提高网络性能的效果。
文档编号H04L29/08GK101335717SQ200810150390
公开日2008年12月31日 申请日期2008年7月18日 优先权日2008年7月18日
发明者任品毅, 佳 冯, 张国梅, 平 胡, 波 薛 申请人:西安交通大学