一种基于带宽接入控制的AODV改进路由协议
2013-02-13张衡阳
周 鑫,张衡阳
(1.重庆电子工程职业学院,重庆401331;2.空军工程大学,陕西 西安710038)
责任编辑:许 盈
AdHoc网络是一种由多个移动节点形成的无线自组织多跳网络,通常用在一些无固定设施的通信环境中,如战争、自然灾害、临时会议等场合[1-2]。带宽是指单位时间内链路可传输的信息容量多少,表征在信道中传递数据的能力大小,近年来,随着语音、图像等多媒体业务应用的日益增多,如何在AdHoc网络环境中有效地分配和利用带宽,提高网络效率,成为了研究的热点课题之一。文献[3]使用探测包测试链路饱和的思想来估算带宽,用最大带宽减去已用带宽则为剩余的可用带宽,这种方法会增加网络开销,且不适合节点移动较快的网络。文献[4]采用马尔科夫链对IEEE802.11 DCF进行了建模,并提出了信道吞吐量公式,但并没有考虑公式中某些参数的获得问题,仅适用于理论分析。
移动自组网中的节点通常根据路由表进行数据的传输与转发,AODV协议是一种按需路由协议,由于该协议本身不提供拥塞控制,当网络负荷较重时,实时业务如语音、视频等会产生较大的延时,甚至大量分组被丢弃,导致网络性能下降。本文提出一种基于带宽控制策略的AODV改进路由协议,利用AODV周期性发送Hello分组包的机制,加入带宽估算和业务进入控制策略,使路径的带宽能够满足业务的实时要求,提高网络吞吐量,降低网络延时和丢包率。
1 AODV路由协议
当源节点想传输数据至目的节点而路由表中又没有相关路由记录时,AODV就会广播RREQ分组查找路由。RREQ分组包含有目的节点IP地址、源节点IP地址和RREQ ID等信息。RREQ ID为一递增的序号,用来判断当前路由是否为最新以及防止路由环路[5]。在路由建立过程中,RREQ沿途所经过的中间节点都要建立到源节点的反向路由;目的节点收到RREQ分组后,回传RREP应答分组沿反向路径直到源节点,此过程各节点会依次建立到目的节点的正向路由。
当节点收到重复的RREQ分组时,如果后到达的RREQ分组ID比之前收到的RREQ分组ID大或路由跳数更少,则更新路由信息并回传RREP分组,否则丢弃该RREQ分组。
当路由失效时,节点会启动路由维护过程,即往源节点发送RRER分组,源节点收到后重新发起路由建立过程,或由中间节点直接进行本地修复,直到新的路径产生。
2 对AODV协议的改进
本节对AODV进行优化改进,形成一种基于带宽控制的改进协议BAC_AODV(Bandwidth Reservation Control AODV)。主要包括三方面的内容:一是带宽估算;二是信道竞争节点数的确定;三是在路由建立过程中加入QoS控制管理。
2.1 带宽估算
带宽估算包括业务带宽需求(BWQ)、本节点剩余带宽(RBW)最小剩余带宽的估算(Min_RBW)三部分。
BWQ表示业务流在网络中传输时需要的带宽,当源节点发起路由寻找时,会在RREQ分组中携带该数值,即
式中:R表示分组产生率,不同的业务流类型具有不同的R值(如CBR,VBR);TDATA表示分组传输时间;C表示物理层传输信息时候的速率。
RBW表示节点自身剩余的带宽,可通过载波监听的方式计算得到,即
式中:Ti表示节点在一段TP的监听时间内,信道呈现为空闲状态的时间;C表示物理层传输信息时的速率。
对AODV协议Hello分组格式进行修改,加入自身的RBW值,Hello分组会周期性地广播给一跳距离内邻居,每个节点均可获得其所有邻居节点的剩余带宽N_RBWi。节点收到所有一跳内邻居节点的剩余带宽后,取最小值记为N_RBW,即
将式(2)和式(3)再取最小值,得
式中:RBW_min为最小剩余带宽,在路径寻找过程中使用该值进行建立路由的QoS控制管理。
2.2 带宽竞争节点数的确定
在IEEE802.11无线载波监听机制下,由于隐藏终端的原因,节点的通信不仅受到通信范围内节点的影响,也会受到干扰范围内节点的影响[6]。设干扰范围为通信范围的2倍,如图1所示,对B节点而言,1跳邻居节点A,F,C和2跳邻居节点S,D都会影响自己可以使用的带宽。
定义一个参数Ncn(带宽竞争节点数目),表示节点传输RREQ时,可能会影响自己占用带宽的节点数目(包含节点自身),考虑到RREQ是单向传输,本文对Ncn做了一种悲观的估算方法,即
图1 节点的通信范围和干扰范围
式中:d根据下一跳是否为目的端进行取值;m表示从源段开始的跳数。对于d而言,有
对于m而言,设中间节点到源节点的跳数为h,有m=min(h,2)。
2.3 路由建立与维护
当节点的路由表没有去往目的节点的路由记录时,则会广播发出RREQ分组进行路由发现,BAC_AODV协议对RREQ分组进行了修改,如图2所示。
图2 BAC_AODV修改后的RREQ格式
修改的RREQ分组利用原有的保留字段来携带BWQ值,去掉了节点序列号栏位,采用Flow_ID进行路由寻找和业务通信。不同的业务(如音频,视频)即使是同一个节点发出,其Flow_ID也会不相同。
中间节点收到RREQ后,将自己的RBW值与所有1跳邻居节点的N_RBW取最小值,得最小剩余带宽RBW_min(详见2.1小节所述),并根据式(8)进行带宽判断。
如果满足该式,则表明该条路径上的带宽满足于业务带宽的需要,将相关信息写入路由表,否则不转发该RREQ,回传RRER分组,该路径被删除。
中间节点如果收到具有相同Flow_ID的RREQ,则比较与先到RREQ分组中的跳数,选择跳数少的RREQ分组同样使用式(8)进行QoS控制判断后再做转发,否则直接丢弃该RREQ。
目的节点收到RREQ后,回传RREP到源节点,RREP分组含有Flow_ID,中间节点根据Flow_ID建立业务去往目的节点的正向路径。
BAC_AODV协议是以源节点产生的Flow_ID对业务进行标识,当中间节点发现路由无效时,不再进行本地局部修复,而是直接广播携带Flow_ID的RRER分组给周围邻居节点。收到RRER的邻居,如果其路由表中有此Flow_ID相关信息栏,则继续转发RRER分组直到源节点;反之邻居节点则不再转发RRER。源节点收到RRER后,会重新发起路由建立过程。
3 仿真与分析
本文采用NS-2.35软件,模拟在无线自组网环境下[7],使用VBR流承载MPEG-4视频业务,分析比较了在AODV和BAC_AODV两种路由协议下网络所表现出的性能差异。
仿真参数如下:网络范围1 200 m×1 200 m,50个无线通信节点随机分布;通信距离250 m,干扰距离500 m;仿真时间200 s,每隔2 s随机产生一条VBR业务流,共20条,根据文献[8],VBR业务流的分组产生率R值取102 packet/s,适宜于MPEG-4视频格式的传输;MAC层采用IEEE802.11DCF模式,发送缓冲队列值最大为50 packet/s,最大业务数据单元MSDU为1 500 byte。
选取网络延时(Delay)、网络吞吐量(Throughput)、分组丢弃率(Dropping rate)和业务流阻塞率(Blocking rate)为网络性能指标。其中延时是指发送端到目的端的时间间隔;吞吐量表示单位时间内目的节点成功收到的数据分组;分组丢弃率表示节点丢弃分组与总数据分组的比值;业务流阻塞率表示被限制进入网络的业务流数。图3和图4是VBR业务流在两种协议下的吞吐量对比和延时对比。
图3 两种协议下的吞吐量对比
图4 两种协议下的延时对比
可以看出,业务流在10条的时候达到饱和,随着业务流的增多,AODV协议的吞吐量会逐渐下降,平均延时明显增大;由于BAC_AODV采用QoS允许接入控制策略,当节点负载过重时,会拒绝其他业务流的进入,从而得到一个比较稳定的吞吐量,而在延时方面,BAC_AODV的性能也优于AODV协议。
图5是两种协议下业务流的阻塞情况比较。AODV协议没有建立业务QoS机制,不具备带宽和拥塞控制管理功能,即便是网络负载非常严重时,也不会限制业务流的接入,因此其阻塞率一直为0;而BAC_AODV协议在业务到达饱和后,通过带宽估计和接入控制,会限制后续业务流进入网络。从图中可以看到,当网络负载为15条VBR时,阻塞率为16%左右,为20条时,阻塞率为35%。本次模拟场景中,BAC_AODV协议始终维持网络中的VBR业务流数量在12~13条,之所以阻塞后续的业务流,其目的是为了给正在进行通信的业务流提供有效的带宽,保障网络的QoS。
图5 两种协议下的业务流流阻塞率对比
当分组重传次数大于设定的最大次数依然无法成功投递,或分组数多于发送缓冲队列最大值,都会导致分组被丢弃。图6显示为AODV和BAC_AODV的分组丢弃率比较。
图6 两种协议的分组丢失率对比
可以看到,随着业务流数量的增加,两种协议下的分组丢失率均有不同程度的上升。当网络中业务达到饱和后,BAC_AODV会控制新的业务流进入网络,避免出现网络过度拥塞使分组大量被丢弃的情况,因此分组丢弃率保持较低幅度的增长,总体上没超过15%;而AODV协议的分组丢失率随着网络负载的加重增加非常明显,甚至超过50%,总体性能表现不如BAC_AODV优越。
4 结束语
本文在AODV的基础上,提出一种基于带宽估算的QoS路由策略BAC_AODV,利用hello-message包携带带宽信息广播给周围邻居,并以此作为业务接入网络的依据。节点在收到RREQ后进行控制判断,使建立的路径满足业务流的带宽需求。从仿真结果可以看出,在网络负载加重的情形下,BAC_AODV协议能够更好地控制网络流量,降缓解网络拥塞,且网络吞吐量和延时性能均比原AODV协议优越,提升了网络效率。
[1]陈林星,曾曦,曹毅.移动Ad Hoc网络[M].北京:电子工业出版社,2006.
[2]李鹏,刘宇,李庆华.一种基于剩余能量考虑的Ad Hoc网路由协议[J].计算机应用,2008,28(2):399-401.
[3]KAZANTZIDIS M,GERLA M.End-to-end versus explicit feedback measurement in 802.11 networks[C]//Proc.the Seventh IEEE Symposium on Computers and Communications.Taormina,Italy:IEEE Press,2002:216-220.
[4]CHEN L,HEINZELMAN W B.QoS-aware routing based on bandwidth estimation for mobile Ad Hoc networks[J].IEEE Journal of Selected Areas on Communications,2005,23(3):115-120.
[5]周希林.一种改进的AODV路由协议[D].广州:中山大学,2010.
[6]高凌飞.基于AODV路由协议的可用带宽估计算法的研究[D].哈尔滨:哈尔滨工业大学,2008.
[7]柯志亨,程荣祥,邓德隽.NS2仿真实验—多媒体和无线网络通信[M].北京:电子工业出版社,2009.
[8]FITZEK F,REISSLEIN M.MPEG-4 and H.263 video traces for network performance evaluation[J].IEEE Network,2001,15(6):40-54.