首页 > 范文大全 > 正文

无线传感器网络S-MAC协议的分析与算法改进

开篇:润墨网以专业的文秘视角,为您筛选了一篇无线传感器网络S-MAC协议的分析与算法改进范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要 无线传感器网络(WSN)使用灵活,移动性强,架设便捷,应用范围非常广泛。媒体访问控制(MAC)协议是保证无线传感器网络高效通信的关键网络协议之一。重点分析了WSN中基于竞争的典型MAC协议――s-mac协议。针对S-MAC协议中采用的退避算法不能良好地解决节点通信公平性等问题,提出了BDQR退避算法。实验结果表明,该算法有效地提高了节点通信公平性,降低了信道的碰撞,延长了网络的生命周期。

关键词 无线传感器网络;媒体访问控制;S-MAC;退避算法

中图分类号 TP212.6 文献标识码A

The Analysis and Improvement of S-MAC Protocol for

Wireless Sensor Networks Sensor Networks

Lu Jian-qiang1Wang Wei-xing1Lin Zuan-hui1

1(College of engineering, South China agricultural university, Guangzhou 510642, China)

【Abstract 】Nowadays Wireless Sensor Networking(WSN) has been widely used because of its adaptivity, mobility and scalability.The MAC protocol is one of the most important network protocol which guarantees the WSN communication efficiency. The major concern of this paper is the typical contention-based MAC protocol in WSN―the S-MAC protocol. Considering the backoff algorithm of S-MAC protocol cannot resolve the fairness problem for nodes communication, the BDQR (Backoff Depends on Queue and Retry) backoff algorithm was presented in this paper. The simulation results demonstrated that by using this algorithm, the nodes can escape crowded contention window promptly when transmission is failed, The optimal transmission of Windows could be kept as well aslocating and solving the network congestion regional issues after a successful delivery. By using this protocol, node communication fairness was improved, channel collisions were reduced while network lifespan was prolonged.

【Key words】Wireless Sensor Networks (WSN) ; Medium Access Control (MAC) ; S-MAC ; Backoff algorithm

0 引言

无线传感器网络(WSN)综合了现代传感器技术、微电子技术、通信技术、嵌入式计算技术和分布式信息处理技术等多个学科,现在以其独特的优势广泛应用于气象和地理研究、洪水、火灾检测,监视农作物灌溉情况、土壤参数变化、牲畜和家禽的环境状况以及大面积的地表检测等[1]。而在无线传感器网络中,媒体访问控制(MAC)协议决定了无线信道的使用方式,其主要作用是为无线节点合理分配通信资源,避免众多节点在同一时间发射信号时产生碰撞冲突。对于目前大多数传感器硬件平台而言,无线通信模块是传感器节点能量的主要消耗

*基金项目:高等学校博士学科点专项科研基金(200805640010);华南农业大学校长基金(2008K006)

*Foundation Items: Specialized Research Fund for the Doctoral Program of Higher Education (Grant No. 200805640010); the project of the principal's fund of South China Agricultural University (Grant No. 2008K006).

者。由图1所示可见,通信过程中无线通信模块的发送、接收、空闲侦听状态消耗了节点大部分的能量[2]。而MAC子层直接

图1 WSN节点能量消耗图

Fig.1 WSN nodes energy consumption.

与物理层连接,即MAC协议直接控制着无线射频收发器的活动,决定着何时发送数据、何时接收数据和何时处于空闲侦听状态。所以MAC协议节能效率的好坏将严重影响网络的生命周期。

1 S-MAC协议分析

无线传感器网络应用的范围非常广泛,不同应用场合对网络的要求都是不尽相同的。基于竞争的MAC 协议简单、高效,扩展性好,并且不要求严格的时钟同步。在数据发送量不大, 竞争节点较少时,有较好的信道利用率。但基于竞争的MAC 协议往往只从发送数据的节点考虑问题,对接收节点的考虑相对较少,使得延迟一般较大。基于调度的MAC 协议在节省能量上有优势,但它们通常需要严格的时间同步,不能适应无线传感器网络不断变化的拓扑结构,所以扩展性能普遍不好。混合协议能较好地避免共享信道的碰撞问题,有效地减少能量消耗,但协议对传感器节点的计算能力要求较高,对整个网络的带宽利用率不高,并且实现起来十分复杂。

因此,对于无线传感器网络的MAC协议来说,并不存在一种适用于所有无线传感器网络应用的MAC协议,也不能说某种MAC协议相对其他MAC协议在所有方面都有明显优势。各种MAC协议均有各自的性能特点,或者倾向于提能量有效性方面,或者倾向于提高网络延迟方面,或者倾向于提高网络吞吐量方面等,在这些性能之间都存在不同程度的矛盾性,且受到多方面因素的制约[3]。因此,应根据具体应用环境来决定无线传感器网络的MAC协议。

1.1. S-MAC工作机制

无线传感器网络与应用高度相关,研究人员从不同的方面出发提出了多种MAC 协议。根据信道访问策略,MAC协议可分为竞争协议、调度协议和混合MAC 协议。S-MAC (Sensor-MAC)是基于竞争机制的典型MAC协议,它是Wei Ye等人在IEEE802. 11协议的基础上,针对无线传感器网络节省能量的需求而设计的[4]。S-MAC的主要工作机制如下:

1.1.1 周期性侦听/睡眠机制

周期性的侦听/睡眠机制是S-MAC协议最主要的运行机制。如图2所示,S-MAC将时间划分为若干个工作周期,每个工作周期由两部分构成:侦听状态和休眠状态。在侦听状态,节点可以和它的相邻节点进行通信,侦听、接收或发送数据。在休眠状态,节点关闭发射接收器,以此减少能量的损耗。如果此时有数据要处理,数据就被缓存起来,等到节点处于侦听状态再处理。通过周期性的侦听/睡眠调度机制,可以大大减少了空闲监听造成的能量损耗。为了进行同步和适应新加入节点,每个节点都要定期广播SYNC表明自己的调度信息,这个广播SYNC的周期称为SYNC周期,一般包括若干个侦听睡眠周期。

图2周期性睡眠/侦听机制

Fig.2Periodic listen and sleep

1.1.2 虚拟簇机制

在同步策略方面,S-MAC采用了一种非常聪明的虚拟簇机制。节点每隔n个侦听周期广播一次同步帧,相邻节点通过同步帧采取相同的侦听/睡眠策略,从而形成了一个个同步的小网络,这些小网络S-MAC称之为虚拟簇。这样整个无线传感器网络就形成了若干个采用不同侦听/睡眠策略的虚拟簇,如图3所示。虚拟簇之间通过边缘节点来进行数据传输。通过虚拟簇机制,新的节点也可以很容易地加入到网络当中。

图3 虚拟簇

Fig.3 Virtual clusters

1.1.3 冲突/窃听避免机制

S-MAC协议采用与802.11MAC协议类似的虚拟和物理载波侦听机制,以及RTS-CTS的通告机制,以此较好地解决了隐藏终端问题和暴露终端问题。

1.1.4 退避发送机制

为进一步减低数据发送碰撞几率,节点在侦听到信道空闲然后要传送数据的时候,将利用退避算法退避一个时间来竞争信道。一个好的退避算法,可大大降低节点间碰撞的概率,提高信道的利用效率。

1.1.5 流量自适应侦听机制

节点根据偷听到的邻居节点发送的RTS帧或者CTS帧,转入睡眠一定时间,并由此判断自己是否为下一跳目标节点。若为目标节点,当邻居节点发送结束后,即可唤醒自己立即进行接收。

1.1.6 消息传递机制

网络传输中,长消息传输成功率相对不高。因此,S-MAC协议为提高数据发送成功率,采用了消息传递机制,即把长消息分割为若干段消息,并集中突发传送减少协议控制消息的开销。

1.2 S-MAC协议缺点分析

S-MAC协议利用周期性的侦听/睡眠机制减少了空闲侦听所造成的能量浪费,并采用物理和虚拟载波侦听机制以提高数据发送的成功率,降低串音干扰,是无线传感器网络中应用较广的MAC协议。但是,S-MAC协议也存在着一定的缺点:一方面,当网络负载较低的时候,由于S-MAC协议采用固定的周期性侦听/睡眠机制,节能效果并不理想;另一方面,当网络比较繁忙时,S-MAC协议数据收发的延时和信道碰撞的几率都急剧增大,并非常容易导致网络堵塞和节点的“饿死”和“早死”现象。在第二个方面中,S-MAC协议所采用的退避算法机制过于简单和原始是一个突出原因。由此,本文提出一种全新的退避算法,试验结果证明采用新算法的S-MAC协议在无线传感器网络中的吞吐量、时延、能耗等方面均得到一定的提高。

2 改进方案

2.1 S-MAC采用的退避算法

首先,我们来看一下S-MAC所采用的退避算法的原理:

Btime = random()* slotTime; (1)

在(1)式中,Btime代表节点的退避时间,slotTime是由物理层决定大小的时隙,random()是均匀分布于[0, CW ]的随机整数,在S-MAC中,CW是一个固定值。从(1)式中,我们可以看到无论节点发送成功与否,节点的退避时间都是在固定的竞争窗口里随机选取的,节点的竞争发送完全不能反映出网络实际情况。退避算法对数据收发的公平以及对信道的分配都不能起到很好的改善作用。

2.2 改进的退避算法

本文针对S-MAC原先采用的退避算法的缺陷,提出了一种改进的退避算法。为了便于叙述,本文将改进后的退避算法协议称为BDQR算法,改进后的S-MAC协议称为qS-MAC协议。

BDQR算法首先对竞争窗口设定最小值CWmin和最大值CWmax,即CW是在[CWmin,CWmax]区间动态调整。然后为了判断节点的发送意愿,添加一个数据发送失败计数器Fcourter。通过统计该节点发送失败的次数,反映出节点发送数据意愿的强烈度,以调整信道的公平性。为判断节点是否繁忙,添加一个变量q统计节点的数据包队列数,以此判断该节点是否处于无线传感器网络中的繁忙区域。最后设定一个退避窗口的分隔阀值CWm,通过CWm把竞争窗口区间分隔成如图4,以此判断当前网络流量的高低情况。

图4 竞争窗口

Fig.4 Contention window of BDQR.

以下是在四种不同的情况的时候,BDQR对竞争窗口作出不同调整策略的描述:

(1) 发送失败未超过规定次数x时(Fcourter

CW = MIN(Z(f*CW),CWmax);f = [1.5,2.0],Z代表取整;

(2) 发送失败超过规定次数x时(Fcourter>=x),

若CW在[CWmin,CWm]区间,则将CW降至CWmin;

若CW在[CWm,CWmax]区间,则将CW降至CWm;

(3) 发送成功时,

CW =MAX(Z(s*CW),CWmin); s=[0.7,0.9] ,Z代表取整;

(4) 节点传输的数据包队列数q超过n个时,

CW立即降至CWmin。

每个节点的初始退避窗口CW均为CWmin。当节点发送数据失败时,数据发送失败计数器Fcourter统计发送的次数。当Fcourter小于规定的失败次数时,CW乘以一个参数f(f根据实际情况可取1.5-2.0),以尽快逃离拥挤的竞争窗口;当Fcourter等于或大于规定的失败次数时,表明节点非常“渴望”发送数据但是自身抢占信道的能力却较低,为了公平地分配信道,这时如果节点的CW在[CWmin,CWm]区间,则将CW马上降低到CWmin,如果CW在[CWm,CWmax]区间,则将CW马上降低到CWm,通过跳跃式调节节点CW的取值,有效提高节点抢占信道的能力。当节点发送数据成功后,CW乘以一个参数s(s根据实际情况可取0.7-0.9),以尽量保持当前对节点自身和整个网络都是适当的竞争窗口,解决“饿死”和“早死”现象。变量q是用来统计节点的数据包队列数的,通过该值我们可以定位无线传感器网络中的拥堵区域,为了尽快均衡网络的传输,当q等于大于n时候,当前CW将无条件降低到CWmin。

3 仿真验证

本文选用了目前使用相当广泛的网络仿真软件NS-2来进行协议算法的具体实现及网络的仿真。

3.1 网络拓扑与参数配置

3.1.1 试验拓扑结构

试验采用如图5所示的由5节点组成的拓扑结构。拓扑中有两个源节点为n0和n2,以及两个汇聚节点n1和n4。数据由n0通过n3传到n1;同时另一组数据由n2通过n3传到n4。

图5 5个节点的拓扑图

Fig.5 5 nodes topology

3.1.2参数配置

我们通过改变数据包发送间隔时间来改变网络负载。在这里,数据包发送间隔定为1.0s到15.0s,每个数据源共发送100个数据包。试验参数配置如表1所示:

3.2仿真结果

根据上述设定的NS-2仿真参数,在相同的网络环境中将IEEE 802.11、qS-MAC和S-MAC协议进行对比模拟仿真。以下将分别从吞吐量、时延[5]和能量有效性[6]3个方面进行试验比较分析。

从图6可以看到,与S-MAC相比qS-MAC协议具有较低的网络延迟,尤其是当流量负荷较重的时候。而IEEE 802.11拥有最低的网络延迟,这是因为它总是能发送数据。当网络负载越来越低的时候,也就是数据包传输间隔越来越大的时候,三种MAC协议的网络延迟趋向于一致。分析图7可得,当网

图6不同网络负载下的时延

Fig.6 Mean message latency under different traffic load

络负载降低的时候,三种MAC协议的网络吞吐量也在降低。当网络负载下降到非常低的时候,它们几乎是花费相同的时间来传输同样数量的数据包。同时,我们也可以看到,当网络负载比较重的时候,qS-MAC比S-MAC的表现好得多。以上试验

图7不同网络负载下的吞吐量

Fig.7 Throughut under different traffic load

结果表明,相比于S-MAC协议,采用BDQR算法的qS-MAC有效地改善了网络时延和网络吞吐量。

在能量消耗分析方面,为了权衡能量消耗和吞吐量变化的关系,我们利用能量有效性来反映。从图8我们可以看到,qS-MAC在不同网络负载的情况下,能量有效性表现都非常良好。在这里,一个现象是当网络负载比较低的时候,很明显看出IEEE 802.11比S-MAC和qS-MAC消耗了多得多的能量。试验结果表明,BDQR算法能降低数据碰撞的发生,均衡网络的传输,从而提高了网络的能量有效性。

图8 不同网络负载下的能量有效性分析

Fig.8 EnergyCtime cost per byte on passing data from source to sink under different traffic load

4 结论

本文在对S-MAC协议进行详细分析的基础上,指出了S-MAC协议中退避算法存在信道分配公平性的问题,提出了一种能够较好地解决信道分配公平性问题,并可以定位网络拥堵区域、均衡网络传输的BDQR退避算法。理论分析说明BDQR算法能够提高网络传输的公平性,降低数据的碰撞,延长系统的生命周期。最后,试验结果证明BDQR可有效降低网络时延,提高网络吞吐量和能量有效性。

参考文献

[1] Rentala P, Musunuri R, Gandham S. Survey on sensor networks Conf on Mobile Computing and Networking, 2001, 50(7):87-110.

[2] Estrin D., Tutorial: Wireless Sensor Networks, Part I: Introduction [R], nesl.ee.ucla.edu/tutorials/mobicom02(5/8/2009).

[3] V. Rajendran, K. Obraczka, and J.J. Garcia -Luna -Aceves. Energy- Efficient, Collision-Free Medium Access Control for Wireless Sensor Networks. The First ACM Conference on Embedded Networked Sensor Systems(Sensys 2003), Los Angeles, CA, USA. November, 2003.

[4] Ye W, Heidemann J, Estrin D. An Energy-Efficient MAC protocol for Wireless Sensor Networks [A]. INFOCOM 2002, New York, NY, 2002.

[5] Joanna Kulik, Wendi Heinzelman, Hari Balakrishnan. Negotiation- Based Protocols for Disseminating Information in Wireless Sensor Networks[J]. Wireless Networks, 2002,8, (2-3).

[6] Demirkol I, Ersoy C.MAC protocols for wireless sensor networks [J]. A survey Communications Magazine, IEEE, 2006 (8):115-121.

作者简介: 陆健强(1980-),男,在读硕士研究生,实验师,主要研究领域为智能系统与电子信息技术在农业上的应用;通讯作者:王卫星(1963-),男,博士,教授,主要研究领域为无线传感器网络、计算机测试与控制、电子计算与计算机在农业上的应用.