收稿日期:2009唱09唱07;修回日期:2009唱10唱26
作者简介:曾斌军(1984唱),男,硕士研究生,主要研究方向为无线传感器网络(zengbinjun@tom.com);费耀平(1959唱),男,河北平山人,教授,博士,主要研究方向为图形图像处理、计算机网络、模式识别、数据挖掘;李敏(1978唱),女,博士,主要研究方向为生物信息学、网络、数据挖掘;陶志坚(1978唱),男,主要研究方向为网络、数据挖掘. 一种基于功率控制的无线传感器网络MAC协议
曾斌军,费耀平,李 敏,陶志坚
(中南大学信息科学与工程学院,长沙410001)
摘 要:提出了一种基于功率控制的无线传感器网络MAC协议,根据节点接收阈值,计算出节点发送最优功率,在根本上减小发送功率从而节省节点能量。为了减少节点间的碰撞,引入了自适应调整竞争窗口和快速退避机制,减少节点空闲时间,从而进一步减少节点耗能。仿真结果显示在能量和吞吐量上都有显著提高。关键词:无线传感器网络;媒质接入控制;能量效率;功率控制 中图分类号:TP391.41 文献标志码:A 文章编号:1001唱3695(2010)05唱1931唱04doi:10.3969/j.issn.1001唱3695.2010.05
.094
NewMACprotocolbasedonpowercontrolforwirelesssensornetworks
ZENGBin唱jun,FEIYao唱ping,LIMin,TAOZhi唱jian
(InstituteofInformationScience&Engineening,CenterSouthUniversity,Changsha410001,China)
Abstract:ThispaperpresentedabasingonpowercontrolwirelesssensornetworksMACprotocol.Thisprotocolusedthenodereceivethresholdvalue,thencalculatedtheoptimizetransmissionpower.Itcouldultimatelyreducenodeconsumeenergy.Inordertoreducethecollisionbetweennodeandthedurationoftheidlelisteningtime,itaddedself唱adaptivecontentionwindowsizeandfastbackoffschemetomakefurthersavenodeenergy.Theresultshowsthatthen
ewMACreducesthenodeenergyconsumeandimprovesthethroughput.
Keywords:wirelesssensornetworks(WSN);mediaaccesscontrol(MAC);energyefficiency;powercontrol
刘爱勤0 引言
近年来,传感器节点功能的增强和无线通信技术的发展,推动了无线传感器网络的快速发展。无线传感器网络就是由部署在监测区域内大量廉价、低功率的传感器节点组成,通过无线通信方式形成一个多跳的自组织网络系统,其目的就是协作地感知、采集和处理网络中感知的对象信息,并发送给
[1]
。由于无线传感器网络具有易扩展性、自组织、分布式结
构、健壮性和实时性等特点,使其在军事、农业、医疗、环境监测等领域有着传统网络无法比拟的优势,必将开发出很多有价值的应用。传感器节点体积微小,通过电池提供能量,加上节点数量多、成本低、分布区域大,通常部署在比较危险或是人不能到达的地区,所以不可能给传感器节点补充能量。
如何最大化网络生命周期,即如何高效使用能量成为传感器网络面临的首要挑战。在通信模块中,节点的收发数据耗能最大,所以如何减小收发数据耗能成为节省能量的方式之一[2]
。为了能准时
收发数据,节点必须有段时间进行空闲侦听,实际上空闲侦听
也占用了大量的节点能量
[3]
,所以减少空闲侦听的时间也是
节省能量的方式之一。基于以上原因,本文提出了一种基于功率控制的无线传感器网络MAC协议。
1 相关工作
在无线传感器网络中,介质访问控制(MAC)协议决定无
线信道的使用方式,在传感器节点之间分配有限的无线通信资源,用来构建传感器网络系统的底层基础结构,对传感器网络的性能有较大影响,是保证无线传感器网络高效通信的关键协议之一。在设计
无线传感器网络的MAC协议时,需要考虑如下几个方面:a)节省能量,由于节点由电池供电,且不能提供再生能源,为了提高网络生命周期,节省能量成为设计考虑之首;b)可扩展性,由于节点数目多、分布密集,有旧节点因能量耗尽而无效或是因节点加入而使网络拓扑动态变化,协议必须适应这种变化;c)网络效率,包括公平性、实时性、网络吞吐量等。大量研究表明,通信过程中主要能量浪费在冲突导致的重传、节点接收不属于自己的数据包(串音)、发射/接收不同步导致的分组空传、控制分组的开销、节点空闲侦听等
[4]
。
S唱MAC(sensorMAC)协议
[3]
是在802.11MAC协议基础
上,针对能量浪费的四个方面采取了相应的措施来节省能量,即:通过周期性侦听/睡眠的低占空比方式,减少节点活动时间;通过RTS/CTS来消除节点间的数据传送的碰撞;通过网络分配矢量(NAV)机制使节点在NAV阶段进入睡眠而减少串音现象;通过将长消息分成几个分组发送,减
少重传需要发送的能量,并且在控制开销上通过一次RTS/CTS就可以完成长分组的发送,减少控制帧的数量。
SMAC协议将一个时间周期分为活动阶段(active)和睡眠
阶段(sleep),将活动时间和整个周期时间的比值称为占空比(dutycycle),公式为
第27卷第5期2010年5月
计算机应用研究
ApplicationResearchofComputers
Vol.27No.5May2010
D=Tactive
Tactive+Tsleep
D的大小反映了节点工作时间的长短,在无线传感器中,
希望D尽量小来减少节点的使用时间,从而节省节点的能量,
但太小的D带来的是很大的延迟且降低了网络的吞吐量。因
此D的选择也要根据应用的不同而选择合适的占空比。在SMAC中,活动阶段又分为三部分:SYNC、RTS和CTS。SYNC部分(主要包含该邻居节点下一次睡眠的时间)主要完成节点
之间的同步并且相同调度的节点形成一个虚拟簇,SMAC可扩电力线上网
展性也是通过SYNC帧发现新节点或弃除无效节点达到动态
适应拓扑变化,RTS和CTS阶段主要是用于收发RTS和CTS。
虽然SMAC在节省能耗上有了很大的突破,但是节省能耗
是通过牺牲传感器网络的延迟、吞吐量等,从而造成了SMAC在
能量上有优势,但有很大的延迟和比较低的带宽利用率[6]。由
于是固定的占空比,固定的发送功率和固定的竞争窗口大小,当
网络的负载很大时,由于固定的占空比使得网络的信道利用率 很低,固定的竞争窗口使得冲突的概率并没有减少,固定的发射
功率使得节点间的连通性过于复杂而浪费更多的能耗。
FP唱MAC[6]是在SMAC上改进的一个协议,主要是提高了SMAC的吞吐量和降低了点到点的传输延迟,通过减少占空比来达到这种要求。通过改变SMAC中的RTS和CTS部分,其中周期为P的是FP唱MAC改进SMAC后的周期,可以看到,相对于SMAC的周期,p比p′小(tm<tm1),并且它们的睡眠时间都一样,短的周期可以减少节点间的延迟,从而在一定程度上增加网络的吞吐量。并且由于p比p′少了两个控制帧(RTS和CTS),减少了控制帧的开销,从而也节省了节点的能耗,如图1所示。
由于FP唱MAC协议没有RTS和CTS帧,就无法控制节点间的冲突和串音等。通过引入简单退避机制来尽可能地减小冲突的概率。它的工作方式与SMAC有点不同的是,当节点A有数据要发送至B时,由于没有RTS和CTS帧,在节点A侦听到B发送来的SYNC消息时,就开始侦听信道,如果信道空闲,完成了退避时间后就发送数据给B,收到B发送的确认帧时,就认为数据成功发送,节点重新进入睡眠。由于B是采用简单的退避机制(即二进制指数退避机制BEB),该机制不能很好地适应当网络负载较大的环境,只是通过简单地侦听忙就加倍竞争窗口,成功发送一个数据就将竞争窗口变为最小。当网络负载很大时,窗口过大,使得节点的退避时长过长,增加延迟和节点侦
听时间;窗口过小,使得节点在碰撞后,选择新的退避时间又与旧的时间产生二次冲突,不但减小了吞吐量,增加了延迟,而且过多的碰撞使得节点频繁地重传数据重传,造成网络的信道利用率非常低。其在发射功率上与SMAC一样,采用固定发射功率。2 协议描述
针对SMAC和FP唱MAC协议的不足,提出了一种基于功率控制的MAC协议(powercontrolledshortperiodicMAC,PCSP唱MAC),主要是通过以下几个机制来解决以上的不足:首先,将功率控制引入到PCSP唱MAC中,通过调整节点发射功率,以最优的功率值来达到节省节点能量,并且减少冲突范围的目的;其次,通过减少RTS和CTS帧,改变SYNC帧的结构,得到节点的相关数据来计算节点的最优发射功率,并且减小了控制帧的数量,在一定程度上也减小了节点的能量;然后,通过引入一个参数(Cbusy),将竞争窗口的抖动性变得平滑,使得竞争窗口的大小在网络负载很大时,自适应地将窗口调整到合理值。2畅1 最优发射功率
使用发射功率控制可以控制干扰,其基本思想是调节发射机的发射功率,在满足通信质量要求的前提下,使得在接收机处的接收功率尽量小[7]。发射功率的大小影响着网络的连通性和网络拓扑等,大的发射功率使得节点将数据传输到需要的跳数减少,减小了时延,但由于覆盖的范围大,使得在该范围内节点间冲突的概率增加,抑制了其他节点的通信,从而减小了网络的整体吞吐量。小的发送功率可以减少节点间的相互影响,增加带宽利用率,但节点之间传输延迟会增长,所以发射功率大
小的选择直接影响着网络的性能[8]。本文选择最优发射功率值作为发射功率,根据电磁波在自由空间传播损耗的Friis公式,可得到接收端功率:
Pr=
PtGtGrλ2
(4π)2d2L
(1)其中:Pt为发送端天线发射功率;Gt、Gr分别为发射、接收天线增益;λ为波长;d为发射端到接收端的距离;L为传播损耗因子(L≥1)。节点通过侦听信道中的能量强度来判断是否有数据在信道中传输。当侦听到的能量强度高于节点的接收门限阈值Pt时,则说明信道中有数据在传输,接收节点能够正确接收信道内的数据。由此可得出发送节点所需的最小发射功率:
Pm=
RtLd2(4π)2
GtGrλ2(2)其中:Rt为接收节点的接收门限阈值,Pm为发送节点所需的最小发射功率。
由式(1)(2)可得
Pm=
RtPt
Pr
由此,根据已知的数据Pt、Rt以及Pr就可以计算出发送节点所需要的最小发送功率值Pm。考虑到信号在空间中的传输损耗,保证数据的可靠传输,必须将Pm乘以一个系数c(c≥1)。得出了Pm后,就把Poptimal(cPm)作为节点的最优发射功率值[9]。
2畅2 自适应调整竞争窗口算法
S唱MAC协议采用的退避算法是二进制指数退避算法(BEB),只是其窗口大小CW是固定的。BEB算法中的窗口调节和退避时长确定如下:
CW←CWmin,(initialization);
CW←min(2×CW,CWmax),if(busy);
·2391
·
计算机应用研究 第27
卷
CW←CWmin,if(idle);
B=random(0,CW-1)×SlotTime
其中:CW为竞争窗口大小,B为退避时间,random(0,CW-1)为在当前竞争窗口中的随机值。
当多个节点因同时完成退避后而发送自己的报文时,就会有碰撞发生。每当节点发送失败(如遇到ACK确认超时),则默认为网络中节点之间对信道的竞争程度加剧(发生了碰撞),因此,节点将当前的竞争窗口值CW加倍,直至达到最大门限值CWmax。由于退避计数器的值B是由在0~CW-1间随机选取的整数来决定的,所以节点在下一次发送之前更有可能选择较长的退避时间。从网络角度来看,在某一空闲时隙有多个节点同时发送的概率减小了,从而在一定程度上降低了冲突概率。每当节点成功发送一个报文,则又默认为信道竞争程度降低了,因此节点将CW重置为最小值CWmin。
BEB算法存在的一个问题是在某一小段时间内,它总是
有利于前一次成功发送的节点短时间内再次竞争信道,从而造成小时间尺度上的不公平性现象,短程不公平现象是由于CW变化过于剧烈而造成的。BEB的另一个问题是当网络中只有一个活跃节点(不存在报文碰撞问题)时,其竞争窗口CW始终等于CWmin(过大),仍然需要平均退避CWmin/
2个时隙才能发送一个报文;而当网络节点数较多时,节点每次成功发送后都将CW重置为CWmin(过小),这又会引起新的碰撞。算法参数不能随网络状况而改变造成了资源浪费。
鉴于BEB的不能自适应网络负载的变化,通过引入一个参数Cbusy来记录在退避过程中的碰撞
次数,每次监测到碰撞就增加1,将Cbusy和一个设定的阈值lthreshold相比较,如果Cbusy>lthreshold,则认为网络中冲突的次数太多,表示了网络需要传输数据的节点多,即网络负载较高,当前竞争窗口过小,在较小的窗口内有较多的节点竞争信道,引起频繁的碰撞。BEB算法成功传送一次就将CW重置为CWmin,使得竞争窗口抖动性太大,二次冲突概率加大。本算法不是简单地将CW重置为CWmin,使得窗口的抖动性更小,变化更平滑。如果Cbusy<lthreshold,表明网络负载较低,成功传送一次数据窗口将减小一半,如果连续几次成功发送数据,就将窗口大小置为CWmin。其中α为一个小于1的系数。在网络负载较高时,不想BEB将CW减半,而是将窗口大小变为αCWmin,窗口的减小相对于
BEB显得更平滑,并且由于减小后的CW值不会因为急剧减小而造成频繁的碰撞。β(β≥1)的系数,当网络负载较小时,当侦听到信道忙时,将CW变为≥βCW,其相对于BEB的指数增长使窗口快速增大而言,有着更合适的窗口大小。因为负载较小,需要传送数据的节点比较少,太大的窗口必然导致节点需要过长的退避时间而浪费节点的能量,并且增加节点间的延迟。当节点连续侦听到counter次空闲后,认为此时信道比较好,将CW置为CWmin,如下所示。其中:Cbusy表示当前信道忙的累积次数;lthreshold表示一个阈值;counter为计数器;α、β为一个常系数。自适应调节窗口算法如下:
ifCbusy>lthreshold乌昌
CW=min(CWmax,αCW);if(success) CW=min(2×CW,CWmax);if(busy)els
ifCW>CWmin
counter++;
CW=max(CWmin,(CW+1)/2-1); ifcounter>max_counter CW=CWmin; counter=0;
CW=min(CWmax,βCW);if(busy)
2畅3 扩展的SYNC消息
SYNC消息机制的作用与SMAC的同步消息机制差不多,
只不过在原来的基础上增加了一些字段来达到功率控制的目的,将原来的SYNC结构增加两字节,用于存储发送同步消息节点的发射功率值。由于采用了扩展的SYNC消息机制,并且减少了RTS和CTS帧,使得节点在侦听阶段比SMAC侦听阶段在控制帧的开销上要节省将近2/3。
当节点有数据需要发送时,首先在节点的调度表中出需要接收节点的唤醒时间,在得到目的节点的唤醒时间后,在目的节点发送同步帧之前打开收发器进行信道侦听,一旦接收到目的节点的SYNC消息后,发送节点从目的节点的消息帧中提取Pt的值,根据最优发射功率算法,算出发送数据需要的最优功率值,再随机选择一个退避时间,当退避的时间耗完后,物理层就进行载波侦听,来确定信道是否空闲,如果空闲,则开始传送数据。其他竞争节点侦听到信道忙后,根据侦听到的信道,从中提取出分组的长度,从而知道该次通信需要的时间,并且关闭收发器,待通信完后再打开收发器,选择一个新的退避窗口。为了提高网络的信道利用率和减小数据延时,所有节点在发送完ACK帧后,不是立即将收发器关闭,而是继续侦听一段时间,如果节点在这段时间侦听到别的SYNC消息,并且接收节点为自己,则继续接收数据,使得节点不必等到下一周期才发送数据,降低了延时,如图2所示。
当节点A、B都有数据需要发送给C,在节点A竞争到信道后,节点B侦听到信道忙后,提取分组中的数据长度得出通信需要的时间,当传输结束后,由于C不是立即关闭收发器,B选择了新的退避时间,如果信道空闲,则发送数据至C。通信完后,节点进入睡眠状态。
3 实验结果与分析
利用NS2仿真平台验证本协议,为了测试PCSF唱MAC的性能,将本协议与SMAC和FP唱
MAC在能量的消耗、冲突的次数、吞吐量三个方面进行比较,从而评估出PCSF唱MAC的性能。3畅1 实验设置
在仿真实验中,本文采用与SMAC相同的拓扑结构,由五
个节点组成的交叉型拓扑结构如图3所示,A和B为源节点,C为中转节点,E和D为汇聚节点。
在仿真中,通过调节源节点产生数据的快慢来表示网络中
负载的变化。在每种流量情况下,独立地仿真10次,然后取平均值作为最后的结果,仿真时间为1000s。其他一些重要的
·
3391·第5期曾斌军,等:一种基于功率控制的无线传感器网络MAC协议
参数如表1所示。
表1 仿真参数
Parameter
纳达尔资料ValueParameter
ValueNumberofnodes5Powerforreception/W1.0Maximumtransmission
range/m250Powerforidle/W1.0TraffictypeCBRtraffic
flowPowerforsleep/W0.001Packetlength/Byte1000Powerforsleep/idletransition/W
0.2SMACdutycycle/%10Timeforsleep/idle
transition/s0.005
Powerfortransmission/W
2.0(for250m)
3畅2 实验结果
按照图3的拓扑进行仿真,首先对三种协议的冲突次数进
行分析,如图4所示,在网络负载较小时,PCSP唱MAC和FP唱
MAC大致相同,由于PCSP唱MAC采用了功率控制,使得节点的影响半径变小,从而使得PC
SP唱MAC在负载较小时,比FP唱MAC在节点的冲突次数上少将近10%。随着网络负载的增
大,当负载大于4(packets/s)时,会发现FP唱MAC开始超过S唱MAC,冲突曲线变化加剧,因为FP唱MAC在冲突避免的措施中,只是应用了简单的退避算法,并且没有S唱MAC中的CTS控制帧来抑制其他节点,从而使得在负载较大时比不上S唱MAC,在退避算法上,S唱MAC和FP唱MAC的竞争窗口都是固定的,当网络负载增大时,太小的窗口会引起节点的再次碰撞,造成网络在该阶段碰撞加剧。由于PCSP唱MAC在退避阶段采用了自适应窗口调节机制,当负载比较大时,自动调整竞争窗口的大小,使得竞争窗口变大,减少冲突的可能性。使用自适应调节竞争窗口算法,使得节点窗口大小适中,维持在一个合理的大小,避免了节点的频繁冲突,使得冲突的次数比S唱MAC要少15%。
图5为不同负载下的网络吞吐率。网络负载比较小时,由于PCSP唱MAC采用了功率控制和自适应调节竞争窗口的大小,节点间的相互影响减少,在退避时间上比FP唱MAC的要小,而S唱MAC的周期时间比这两种协议都要长,并且竞争窗口固定,使得在网络负载小时,吞吐率比较低。当小于3(packet/s)时,此时网络负载不太大,由于S唱MAC采用了固定的空占比,使得节点不能很好地适应负载的变化,从而它的吞吐率比较低;PCSP唱MAC采用了三种技术来动态适应网络负载的变化,所以在负载较小时,对比S唱MAC,吞吐率也将近提高了25%。当网络负载较大时,如大于4(packets/s)时,三种协议的吞吐率大致相同,约为93%,主要是负
载较大时,节点间碰撞加剧,冲突导致的重传使得信道的利用率趋近饱和,从而使得吞吐率在该阶段几乎不变。
图6为不同负载下的网络耗能情况。PCSP唱MAC和FP唱
MAC协议由于具有较小的占空比,网络耗能都小于S唱MAC。
这是因为S唱MAC采用了固定的占空比,在网络负载比较大的时候,固定的占空比成为了降低节点能量的瓶颈问题,在负载
很大时,希望节点能尽量处在活动状态,提高节点的发送时长,降低网络的时延,增大网络信道的利用率。所以在网络负载较大时,PCSP唱MAC使用了自适应调节竞争窗口机制,使得在网络负载较大时,竞争窗口也随之增大,让节点选择在同一时间发送数据的概率减少,使得冲突要比S唱MAC少。相对于FP唱MAC来说,PCSP唱MAC通过引入了功率控制,使得节点的发射功率减小,减小节点的传输影响半径,进一步减少了节点相互影响,缩小了节点在同一时刻发送数据的可能,所以本协议在
网络负载较大时也比FP唱MAC协议要节省15%左右的能耗。4 结束语
本文提出一种基于功率的无线传感器网络媒质接入控制协议(PCSP唱MAC),在FP唱MAC
的基础上引入了功率控制来优化节点的发射功率,通过动态调整节点的竞争窗口大小,使得窗口的大小能够自适应网络负载的变化,窗口的大小维持在一个合理的范围内,减少节点间的二次冲突;修改了SYNC消息帧,使得在每次广播SYNC消息时,节点都可计算出最优的发射功率。PCSP唱MAC降低了节点的占空比,使得节点的活动时间减少,延长了网络生命周期。仿真结果显示,PCSP唱MAC在网络负载较大时,吞吐率方面没有很大的改善,但在冲突概率和能耗上达到了理想的结果。参考文献:
[1]孙利民,李建中,陈渝,等.无线传感器网络[M].北京:清华大学
出版社,2005:120唱250.
[2]AKYILDIZI,SUW,CAYIRICIE.Asurveyonsensornetworks
[J].IEEETransonCommunications,2002,40(8):102唱114.[3]YEWei,HEINEMANNJ,ESTRIND.Mediumaccesscontrolwith
coordinatedadaptivesleepingforwirelesssensornetworks[J].IEEE/
ACMTransonNetworking,2004,12(3):493唱506.
[4]CARDEIM,THAIM,LIYing唱shu,etal,Energy唱efficienttargetcov唱
erageinwirelesssensornetworks[C]//ProcoftheIEEEINFOCOM.Miami:IEEEComputerSociety,2005:1976唱1984.
[5]CHANGSUS,YOUNG唱BAEK.Atrafficaware,energyefficient
MACprotocolforwirelesssensornetworks[C]//ProcofInternationalSymposiumonCircuitsandSystems.NewYork:IEEEComputerSociety,2005:2975唱2978.
[6]
GRAGOPOULOSI,KARAPISTOLIE,PAVLIDOUF.FP唱MAC:a
distributedMACalgorithmfor802.15.4唱likewirelesssensornetworks[J].AdhocNetworks,2008,6(6):953唱969.
[7]KAWADIAV,KUMARP.Principlesandprotocolsforpowercontrol
inwirelessAdhocnetworks[J].IEEEJournalonSelectedAreasinCommunications,2005,23(1):76唱88.[8]
NARP,CAYIRCIE.PCSMAC:apowercontrolledsensor唱MACprotocolforwirelesssensornetworks[C]//ProcofIEEEEWSN2005.Piscataway:IEEEComputerSociety,2005.
[9]李方敏,徐文君,高超.一种适用于无线传感器网络的功率控制
MAC协议[J].软件学报,2007,18(5):1080唱
1091.
微拟球藻·
4391·计
算机应
用研
究 第27
卡车司机的自述
卷