一种QoS保证的WMSNs实时路由协议*
2011-10-19程良伦
黄 曼,程良伦
(广东工业大学自动化学院,广州 510006)
随着无线网络技术的突破以及因特网业务的飞速发展,人们对通信业务的需求不再是单纯的语音通话,越来越多地倾向于图像、音频、视频等复杂的混合业务,迫切需要将信息丰富的多媒体技术引入到无线传感器网络中,因此无线多媒体传感器网络(Wireless Multiple Sensor Networks,WMSNs)应运而生[1]。但是,目前的无线传感器网络仍存在严重的能量受限、带宽资源约束、链路不稳定、以及节点处理能力不够强大等问题,而多媒体数据的传输需要网络具有更强的媒体传输能力,能否有效解决多媒体数据实时的传输问题,是 WMSNs实用化的关键[2]。
无线多媒体传感器网络传送的信息中包含实时的图像、音频或视频等多媒体信息,必须提供一定的服务质量(QoS)保证。QoS是网络将用户数据从源端传到目的端的过程中必须满足的一系列的服务要求,包括可用性、吞吐量、时延、时延抖动、丢包率、能耗等参数[3]。无线多媒体传感器网络中,不同数据包重要性差别很大,应该为不同应用提供不同的QoS支持。目前支持QoS的路由协议可以分为非跨层协议和跨层协议。如 ACOGA[4]、TMQODR[5]、SPEED[6]均为非跨层协议。ACOGA协议结合了ACO和 GAS两个算法,实现了动态 QoS路由。TMQODR协议具有QoS选路功能,根据业务流的QoS偏好选择最合适的路径,体现了区分服务的思想。但是这两个协议均未考虑网络的能量有效性问题。跨层协议有 QSAP[7]、QBDSR[8]等。QSAP 协议是在多天线系统中,根据数据流的大小来自适应地调节天线阵列,产生相应数量的空间信道,从而达到QoS中的能耗要求。QBDSR协议将QoS策略、延时、丢包率、带宽等参数加到RREQ包的包头,节点可以根据这些信息选择路由。跨层路由协议相对于非跨层协议,在节点物理结构和路由机制上的复杂性都有所增加,但是性能较好。
本文在研究SPEED协议的基础上,改善设计了一种QoS保证的无线多媒体传感器网络实时路由协议(WMSNRR),主要保证QoS的实时性要求,在实时性和能量成本之间进行有效折衷。该协议在路由发现过程中,充分考虑两跳邻居节点的剩余能量,避免“速率空洞”和“路由空洞”。同时,采用一种基于缓存队列长度和节点收发数据率的控制方法,对不同业务进行区分拥塞控制。该协议在能量有效性和数据实时传输性方面比SPEED协议有所提高,更适合无线多媒体传感器网络。
1 SPEED协议分析
SPEED协议[6]是一个实时路由协议。在一定程度上实现了端到端的传输速率保证、网络拥塞控制以及负载平衡机制。SPEED协议首先交换节点的传输延迟,以得到网络负载情况,并判断网络是否发生拥塞。然后节点利用局部地理位置信息和传输速率信息作出路由决策。当SNGF路由协议找不到满足传输速率的下一跳节点时,则通过邻居反馈机制(neighborhood feedback loop,NFL)保证网络传输速率在一个全局定义的传输速率阈值之上。同时,SPEED协议还通过反向压力路由变更机制来避免拥塞和路由空洞,使节点重新选择合适的下一跳路由。
SPEED协议主要由以下四部分组成:
(1)延迟估计机制。延迟估计机制是用来得到网络的负载情况,判断网络是否发生拥塞。将单跳延时来近似模拟当前节点负载情况,而延迟主要分为两部分,包括广播延迟和单播延迟。通常使用单播数据包的延时来决定下一跳节点的选择。单播数据包的延时是指发送节点将数据分组加上时间戳后发送给邻居接收节点,邻居节点记录收到数据分组到发出ACK的时间间隔,并将其作为一个字段加入ACK报文。发送节点接收到ACK报文后,从收发时间中减去接收节点的处理时间。由于数据包在空中传播的时间很短,因此将其忽略不计。延时计算公式为:
式(1)中,α(0<α<1)为当前延时的权重,用来权衡当前测得的延时和前一时刻的延时的比重,从而求得当前的平均延时。
(2)SNGF协议。SNGF协议用来选择满足传输速率要求的下一跳节点。该协议将下一跳候选节点分为两组,第一组中节点的转播速度大于给定的转播速度Ssetpoint,第二组中节点的转播速度则小于给定的转播速度Ssetpoint。Ssetpoint依赖于应用层的QoS要求以及节点自身的通讯能力,其范围为:
式(2)中,R为节点的有效通讯半径,T为网络带宽,L为数据包长。
在选择下一跳节点时,通常使用第一组中的节点作为候选节点。选择节点j(j为第一组中的节点)的概率为:
式(3)中,Speedj为节点j的转播速度,k为节点负载和传输延迟的折衷系数。K值越大,端到端的延迟越小。
(3)邻居反馈策略。邻居反馈策略是当SNGF路由协议中找不到满足传输速率的下一跳节点时采取的补偿机制。定义当传输一个数据包给邻居节点的速率小于给定的转播速度Ssetpoint,或者是由于碰撞造成的数据丢失为邻居节点丢失率。数据链路层将邻居节点丢失率信息反馈给转播率控制器,由转播率控制器给出决策。
(4)反向压力路由变更机制。反向压力路由变更机制用来避免拥塞和路由空洞。当某个局部的节点负载较重时,该局部节点的候选节点也将进行标记,在路由选择时,这些节点与负载较重的节点一样,不作为路由的被选节点,从而减小拥塞度。
2 WMSNRR协议设计
2.1 SPEED协议在WMSNs中的局限
(1)SPEED协议在路由发现时,只考虑了节点的实时转播速度,并没有考虑到节点的剩余能量问题。在选择下一跳节点时,通常只选择转播速度大于给定的转播速度Ssetpoint的节点作为候选节点。这样容易使得某些转播速度较大的节点被选择为传播节点的次数较多,能量消耗过快,从而过早死亡,引起网络拓扑变化。
(2)SPEED协议在选择下一跳节点时,只考虑数据从当前节点传输到下一跳节点的速率大小。采用这种方式可能存在下面的这种情况:下一跳节点的邻居节点集中所有的节点的数据传输速率非常小,小到几乎为零时,就会出现“速率空洞”现象。
(3)SPEED协议在出现拥塞现象时,使用反向压力信标消息向上一跳节点报告拥塞,上一跳节点在路由时尽量避开出现拥塞的节点,另辟路径。但是由于多媒体传感器网络主要针对的是大数据量、复杂媒体信息的获取、处理和传输,需要对用户的需求业务进行区分。因此,SPEED中的反向压力变更机制并不能完全直接应用到无线多媒体传感器网络中。
2.2 WMSNRR的网络模型
考虑一个随机部署的多媒体传感器节点形成的网络,多媒体传感器节点随机部署在监测区域内,其采集的数据沿着其他多媒体传感器节点逐跳进行传输,经过多跳路由传送到汇聚节点,最后通过Internet网络或通信卫星到达控制中心。假设:①汇聚节点位于一个方形观测区域的外侧,节点和汇聚点部署后均不再移动;②所有节点同构,每个节点都有一个唯一的标识;③节点已知自己和汇聚节点的地理位置信息。
传感器节点的绝大部分能量消耗在无线通信模块,为了减少节点的通信能量消耗,WMSNRR协议在路由转发策略中考虑两跳邻居节点的数据转发速率、剩余能量、地理位置等信息。除此之外,采用一种基于缓存队列长度和节点收发数据率的拥塞控制方法。该协议在能量有效性和数据实时传输性方面比SPEED协议有所提高。
定义1节点物理距离:节点间的实际直线距离。
定义2邻居节点:在节点i有效通信范围内,且到目的节点Sink的物理距离小于节点i到Sink的物理距离。
2.3 WMSNRR 机制
为满足WMSNs的特殊要求,WMSNRR协议主要在SPEED协议的路由决策和拥塞控制两个方面进行改善。
2.3.1 路由决策
WMSNRR协议在路由决策时仍先进行延迟估计,但是路由决策时不再只是将转播速率作为唯一的参考标准。而是综合考虑两跳节点的数据转播速率、剩余能量,地理位置等方面。在寻找路由时,节点i首先广播一个探测包,探测包包含该节点自身的位置信息和需要转播的数据包的大小等,然后等待其邻居节点的回复信息。回复信息包括每个邻居节点的ID号、剩余能量、延时、地理位置等。
假设当前节点为i,目的节点为s,节点i的一跳邻居节点j。dis为节点i到目的节点为s的物理距离,djs为节点j到目的节点的物理距离。节点j的转播速率Speedj可表示为:
式(4)中,Delayij为节点i和节点j之间的单跳延迟估计值。在Speed协议中,根据式(4)中的速率值来计算选择节点j作为下一跳的概率。Speedj越大,选择节点j的概率越大。但是,可能存在这种情况:节点j的转播速率很大,因此选择节点j作为下一跳节点。而节点j的所有邻居节点链路质量较差或者拥塞较严重,这时将没有满足节点j要求的下一跳节点,会出现较严重的延时。
因此本文考虑两跳节点的速率信息,即考虑节点j转播速率的同时,还考虑节点j的邻居节点k的转播速率。与式(4)原理相同,节点k的转播速率为:
如果节点j和节点k的单跳延时一直处于较小状态,节点j和节点k可能一直被选择为转播节点。同时,如果转播的数据量较大,节点j和节点k携带的能量将很快被消耗完,处于死亡状态,甚至引起路由“空洞”。在延时参数限度内,当数据包数量较大时,不必要每次都选择最大速度,可以对能耗和延时两个参数进行折衷考虑。因此,选择节点j作为下一跳时,不仅要考虑节点j自身的转播速率、节点j的下一跳节点k的转播速率,同时还要考虑节点j、k的剩余能量。选择节点j的度量标准如下:
式(6)中,cj为选择节点j作为下一跳的度量标准。w1为节点j的速率权重,w2为节点k的的速率权重,w1、w2满足:w1+w2=1,且w1>w2。由于在第一跳邻居节点转播数据时间段内,第二跳邻居节点可能出现被其它节点提前占用、或者自身感知到事件发生需要发送数据等新任务,导致节点转播速率降低,所以通常选择第一跳邻居节点的权重较大。Speedj、Speedk分别是通过式(4)、式(5)计算出来的节点j和节点k的转播速率。Ej、Ek分别是节点j和节点k的剩余能量。α和β可以调整节点的剩余能量在节点度量标准函数中的比重。当业务对延时要求非常高时,α和β值应调整到很小。反之,α和β值较大时,网络节点的能量消耗较均匀,出现路由空洞的情况减少。
节点j被选择为下一跳节点的概率为:
式(7)中,Nj为邻居节点集。k为节点负载和传输延迟的折衷系数。
图1中,A为源节点,F为Sink节点,B、D为节点A的下一跳邻居节点,节点C为节点B的邻居节点,节点E为节点D的邻居节点。根据上述路由机制,出现图(1)所示的网络状况时,节点 B、C、D、E的转播速率分别为:
取w1=0.6,w2=0.4,α、β 和k均为 0.5。计算得:
节点B和节点 D分别将以0.43和0.57的概率被选择为下一跳节点。
图1 基于两跳节点信息的路由
2.3.2 拥塞控制
拥塞导致的数据多次重传,不仅使得网络传输能力的下降,同时增加了网络流量和节点的能耗[9]。因此,有效的拥塞控制策略是系统节能和减少延时的一个重要因素。相对于普通无线传感器网络而言,多媒体传感器网络由于其需要对大数据量、复杂媒体信息的获取、处理和传输等特殊性,对网络拥塞控制的要求更加严格[10-11]。
本文采用了一种基于缓存队列长度和节点收发数据率的拥塞控制方法。该方法使用的前提是数据在发送之前,需要根据用户需求进行优先级划分,优先级按照实时性到非实时性依次递减。采用文献[12]中的反馈机制,通过调整不同优先级数据包的发送速率和丢包概率来达到预防和控制拥塞的目的。如果当前节点缓冲器中的队列长度L小于Lmin,则说明没有任何的拥塞情况发生,通知上游节点,将不同优先级的数据发送速率按照同一比例增大。如果队列长度L处于Lmin和Lmax之间,属于正常情况,这时上游节点按照优先级的顺序依次减少数据发送速率。当队列长度L大于Lmax时,说明即将出现拥塞,应按照一定比例减小两种数据发送节点的发送速率。不同优先级的分组数据发送速率可表示为式(8):
式(8)中,N表示优先级数目;Pi(i=0,1…,N-1)表示分组的优先级,且优先级高低顺序为P0>P1>…>PN-1;V为数据包的平均发送速率;L为节点当前缓冲区队列长度;Lmin:为缓冲区的下限阀值;Lmax为缓冲区的上限阀值;k和α均为速率参数,1<k<vmax/v,0<α<1,vmax为最大发送速率。当节点当前的队列长度L>Lmax+l时(l为缓冲队列裕量),节点出现了拥塞。如果该节点的数据发送速率大于数据接收速率,则减小上游节点的发送速率仍达不到消除拥塞的目的。此时,采用一定概率进行丢包。优先级为Pi的分组丢包概率为i/N,优先级越高,丢包概率越小。反之,优先级越低,丢包概率越大。
3 仿真与实验分析
仿真工具采用 NS2和 MATLAB,仿真平台在Linux系统下搭建。由于实际应用中,受到监测环境、监测要求等因素的影响,视频、音频等多媒体信号采集节点通常是随机的非均匀部署。因此,本实验将50个节点非均匀地分布在100×100的区域内,节点的坐标使用正太分布产生的随机数确定。节点的通信范围为40 m,每个节点的初始能量为1 J。在相同的节点分布条件下,对SPEED协议和WMSNRR协议进行实验对比分析。主要从以下2个方面来评估WMSNRR协议的性能。
3.1 节能效率分析
从图2可以看出,在能量开销方面,WMSNRR协议比SPEED协议更加节能。原因在于WMSNRR协议在路由选择过程中,因考虑了两跳节点的信息,及时发现路由空洞,避免了一些因路由空洞造成的数据丢失或重传带来的能量开销。其次,采用了基于分组优先级的丢包策略,在发生数据拥塞时,减少了可丢弃的分组多次重传消耗的能量。
图2 能量消耗
图3中,WMSNs网络使用 WMSNRR协议比SPEED协议时寿命更长,节点死亡时间延长。WMSNRR协议在选择路由时,将节点的剩余能量作为一个考虑因素,避免速率较大的节点一直处于数据分组的接收与转发状态。因为部分关键路径上的节点过早死亡,对后续的重要数据的传输以及整个网络的寿命影响较大。
图3 网络寿命
3.2 时延性能分析
WMSNRR协议与SPEED协议在时延性能方面比较结果如图4,在数据分组较小时,WMSNRR协议的优越性并不十分明显,而在数据分组超过一定值后,WMSNRR协议的时延性能大幅度提高。因为在数据包发送速率增大到一定数值后,部分节点会出现拥塞现象,WMSNRR协议的拥塞控制发挥了明显的作用。基于分组优先级信息的丢包控制策略,及时丢弃低优先级的数据分组,保证重要数据及时达到目的节点。
图4 数据传输延迟
4 结束语
本文提出了一种QoS保证的无线多媒体传感器网络实时路由协议(WMSNRR)。该协议在路由决策时,在保证端到端的传输速率基础上,不仅充分考虑两跳邻居节点的转播速率信息,尽量避免“路由空洞”和“速率空洞”的发生,同时还考虑两跳邻居节点的剩余能量,避免一些关键路径上的转播速率大的节点过早死亡,造成网络拓扑发生变化。此外,本文还采用一种基于缓存队列长度和节点收发数据率的拥塞控制方法,对不同业务进行区分管理和拥塞控制,保证QoS的实时性和准确性等要求。仿真实验表明,该路由协议在实时服务和能量开销等方面具有较好的性能。
[1]Wang Chong-gang,LiBo,Kazem Sohraby,etal.Upstream Congestion Control in Wireless Sensor Networks Through Cross-Layer Optimization[J].IEEE Journal on Selected Areas in Communications,2007,25(4):786-795.
[2]张正宜,金心宇.无线多媒体传感器网络实时任务分配算法[J].传感技术学报,2009,22(5):688-693.
[3]Luis Cobo,Alejandro Quintero,Samuel Pierre.Ant-Based Routing for Wireless Multimedia Sensor Networks Using Multiple Qos Metrics[J].Computer Networks,2010,54(17):2991-3020.
[4]崔梦天,钟勇,赵海军,等.ACOGA算法的多媒体网络QoS实现[J].电子科技大学学报,2009,38(2):266-269.
[5]郭攀红,杨扬,唐先明,等.基于业务流偏好的多QoS目标决策分层路由研究[J].计算机科学,2010,37(6):56-59.
[6]He Tian,Stankovic J A,Lu Chenyang,et al.A Spatiotemprol Communication Protocol for Wireless Sensor Networks[J].IEEE Trans.on Parallel and Distributed Systems,2005,16(10):995-1006.
[7]Mundarath J C,Ramanathan P,Van Veen B D.A Quality of Service AwareCross-LayerApproach forWirelessAd Hoc Networks with Smart Antennas[J].Ad Hoc Networks,2009,7(5):891-903.
[8]Keming Du,Yilin Chang,Bin Li.DSR-Based Cross-Layer QoS Design in Ad Hoc Networks[C]//Communications and Intelligence Information Security(ICCIIS),2010,224-227.
[9]赵永辉,史浩山.基于云模型的无线传感器网络拥塞及速率控制策略[J].传感技术学报,2010,23(1):133-138.
[10]Mohammad Hossein Yaghmaee,Donald A.Priority-Based Rate Control for Service Differentiation and Congestion Control in Wireless Multimedia Sensor Networks[J].Computer Networks,2009,53(11):1798-1811.
[11]Sinan Isik,Mehmet Yunus Donmez,Cem Ersoy.Cross Layer Load Balanced Forwarding Schemes for Video Sensor Networks[J].Ad Hoc Networks,2011,9(3):265-284.
[12]吴国伟,张岩.无线传感器网络中的逐跳跨层拥塞控制[J].计算机工程,2010,36(16):108-115.