《武汉工程大学学报》  2014年09期 74-78   出版日期:2014-09-30   ISSN:1674-2869   CN:42-1779/TQ
无线传感器网络自适应占空比媒体访问控制协议


0引言无线传感器网络(Wireless Sensor Networks, 以下简称:WSN)[1]是由大量廉价微型传感器节点以无线通讯方式自主形成的一个多跳自组织网络系统,具有数据采集、预处理、无线通信和自动组网的能力.由于无线传感器网络具有监测精度高、覆盖区域大、适应能力强等优点,通常被用于完成复杂环境下的远程监测任务.无线传感器节点携带的能量有限,所以一个好的节能无线传感器网络的媒体访问控制协议(Medium Access Control Protocol,以下简称:MAC 协议)能够尽量延长网络的生存时间[2].无线传感器网络存在数据传输量小、节点协同完成共同的任务、节点能量有限及网络能容忍一定程度的通讯延迟等特点,因此传感器节点的无线通信模块所处状态可大致划分为发送、接收、空闲(侦听) 和睡眠4种,并且节点大部分时间都处于空闲状态.图1为传感器节点的能耗图[3],由图1可以看出,传感器节点在空闲状态与接收状态所消耗的能量相当,如果能够适当减少无线传感器网络中每个节点的空闲时间,就可以延长整个无线传感器网络的生存周期.正是基于这种思想,低占空比无线传感器网络应运而生.目前,国际上和国内针对低占空比环境下的无线传感器网络协议通讯算法已有不少研究[1,45],并涌现出大量的成果.笔者在无线传感器网络节点媒体访问控制(SensorMAC,以下简称:SMAC )[6]协议基础上提出了一种基于单服务台排队系统模型(M/M/1/n队列模型)的无线传感器网络自适应调节占空比MAC协议(ADCSAMC协议),它可以使节点根据负载变化自适应地调节占空比,改变节点发送率,从而有效地减少能量消耗,提高网络的吞吐量,延长网络寿命. 图1传感器节点能耗情况Fig.1Energy consumption of sensor nodes1ADCSMAC协议建模1.1M/M/1/n队列模型排队论[78]又称随机服务系统理论,是研究拥挤现象的一门数学学科,它通过研究各种服务系统在排队等待中的概率特性,来指导服务系统的最优设计和最优经营策略.日常生活中存在大量有形和无形的排队或拥挤现象,如旅客购票排队、市内电话占线等现象.M/M/1/n[9]是排队论最基本的模型,其中两个M分别代表呼叫相继到达间隔时间为负指数分布和服务时间服从Markov性负指数分布,1代表只有一个并联服务器,n表示队列长度.即M/M/1/n服务系统满足条件: 系统只有一个服务台,每次只能处理一个数据,系统容量为n,数据按照参数为λ的Poisson流到达.1.2ADCSMAC节点队列模型通过对网络中节点的思考,笔者对所有的链路层队列模型都采用了如图2所示的基本概念和结构. 图2一个网络节点的M/M/1队列模型Fig.2An M/M/1/n queue model of sensor nodes该模型中,数据包以突发速率为λ的泊松过程到达节点,B表示节点的缓冲区,长度为N,系统以μ的服务率从缓冲区中按照数据到达的先后顺序移出数据.于是可以得到如图3所示的整个系统的转换状态图. 图3系统状态图Fig.3The system state diagram不妨假设系统处于状态n的概率为Pn,ρ=λ/μ≤1,则系统的常微分方程为:P′0(t)=-λP0(t)+μP1(t)P′n(t)=-(λ+μ)Pn(t)+λPn-1(t)+μPn+1(t)n=0,1,2,…(1)通过计算可以得到系统的稳态解,即当t→∞,Pn(t)时有:Pn=ρn(1-ρ),n=1,2,3,…,(2)则平衡状态下系统的队长为:Nn=∑∞n=0nPn=∑∞n=0nρn(1-ρ)=ρ1-ρ.(3)第9期郑更生,等:无线传感器网络自适应占空比媒体访问控制协议武汉工程大学学报第36卷需要指出的是Nn在系统中的真正含义是系统的处理模块和缓冲模块中的所有数据的平均数量,可以看出节点是一个典型的M/M/1/n排队系统.1.3ADCSMAC休眠调度依据由排队论知识可知,该系统在稳态下,系统中队列在缓冲区等待的平均数Nq为:Nq=ρ21-ρ.(4)将Ts与μ的关系Ts=1/μ带入ρ=λ/μ有:ρ=λTs.(5)由式(4)、式(5)和服务时间Ts可得:Ts=Nq+N2q4-Nq2λ.(6)将Ts与μ的关系Ts=1/μ带入式(4)并简化可得:μ=λ1Nq+14+12,(7)即当到达率λ一定时,μ的值与Nq成反比.依据式(7)来调整系统服务率μ以实现对节点占空比的调整.由于节点在第i帧的服务率μi与其每个同步周期开始时队列中已有的数据包个数ni有关,若ni的大小与缓存器的长度N越接近,就应立即增大μi,使队列中的数据包能够更快的发送出去,故将式(7)中μ乘上一个惩罚系数k,得到下列关系式:μi=μi-1·ki.(8)设式(7)中惩罚系数ki为:ki=N(N-ni)ni≠20.(9)1.4ADCSMAC算法描述虽然SMAC协议改进了IEEE 802.11的能耗问题,但是它本身存在许多缺陷.如全网统一设置固定占空比使得在网络流量负载较小时,会导致空闲监听能耗的增加;在流量负载较大时,会导致节点排队时延的增加.为解决SMAC协议能耗和延迟方面的缺陷,ADCSMAC协议在SMAC协议的基础上通过周期性的广播SYNC同步包来更新节点的休眠调度表.SYNC帧中包含发送者的地址及下次休眠时间表.发送SYNC同步包的时间间隔称为一个同步周期.SMAC协议同步周期大小可以根据无线传感器网络的实际情况而定,如果网络数据流量比较少或是比较稳定,同步周期可以长一点,通常间隔几个侦听周期后进行一次同步.通过同步包调整下次休眠时间,网络中节点发送SYNC同步包即可更新与调整占空比.当网络达到稳定后,节点在同步周期根据其缓冲区队列现有的数据量来调整下一个周期的占空比.在可调整范围内,若预测的占空比较上一帧小,则节点下一个周期的占空比在上一帧占空比的基础上增大kci倍,以保证在下一帧中系统能很快的将数据发送出去,从而减少数据延迟、缓解网络的过载和增大网络吞吐量;若预测的占空比较上一帧大,则节点下一个周期的占空比在上一帧占空比的基础上减小kci倍,以保证下一帧中系统有较长的休眠时间,从而减少能量消耗,延长节点寿命.占空比具体算法如下:给定节点占空比的初始值\[duty_cycle\]init,该初始值也为节点允许的最小占空比,即\[duty_cycle\]min=\[duty_cycle\]init.若\[duty_cycle\]i>\[duty_cycle\]min且\[duty_cycle\]i<\[duty_cycle\]i-1,则\[duty_cycle\]i=\[duty_cycle\]i-1*(1-kci),其中kci=ki/λi.若\[duty_cycle\]i<\[duty_cycle\]max且\[duty_cycle\]i>\[duty_cycle\]i-1,则\[duty_cycle\]i=\[duty_cycle\]i-1*(1+kci).若\[duty_cycle\]i<\[duty_cycle\]min,则\[duty_cycle\]i=\[duty_cycle\]min.若\[duty_cycle\]i>\[duty_cycle\]max,则\[duty_cycle\]i=\[duty_cycle\]max,其中,\[duty_cycle\]max为节点最大占空比.2仿真实验与结果分析笔者使用NS2仿真器分别对SMAC协议、网络信道接入自适应占空比协议(ADC协议) [10]和ADCSMAC协议进行仿真实验.节点随机分布于200 m×200 m的仿真区域内并采用节点到sink节点的距离信息对网络进行分层,网络节点只能向低层邻接点发送数据,仿真实验分别从能量消耗、平均时延和吞吐量3个方面来比较和衡量无线传感器网络性能.为了模拟不同负载下网络性能,随机选取网络中某节点以每隔1 s,2 s,3 s,4 s,5 s,6 s,7 s,8 s,9 s,10 s的时间间隔向sink节点发送数据包.2.1主要实验参数主要实验参数如表1所示.表1仿真参数Table 1Simulation parameters参数参数值仿真场景大小200 m×200 m初始能量/J1 000发送能耗/mW14.75接受能耗/mW12.50空闲监听能耗/mW11.50休眠能耗/μW15数据包大小/Btye100控制包大小/Btye10带宽/kbps 20初始化占空比/%10最大占空比/%902.2实验结果分析图4、图5和图6分别反映网状拓扑结构下网络在SMAC协议、ADC协议和ADCSMAC协议下的能量消耗、平均延时和网络吞吐量.从图4、图5、图6中可以看出,与SMAC协议相比,ADCSMAC协议表现出很好的能耗状况、平均延时状况和吞吐量状况.图4不同负载下的能量消耗比较情况Fig.4Energy consumption under different load 图5不同负载下的延时比较情况Fig.5Latency under different load 图6不同负载下的吞吐量比较情况Fig.6Throughput under different load由图4可以看出,当数据发送时间间隔小于5 s时,网络负载较重,网络流量较大,此时的能量节约主要表现在串音避免和有效的长消息传递;当数据发送时间间隔为10 s时,此时网络负载较小,ADCSMAC协议动态的调节节点的占空比,节点占空比增大,使节点处于休眠状态的时间变长,减少了通讯时间和次数,因此表现的更加节省能量.仿真结果显示,ADCSMAC协议的平均能耗比SMAC协议减少了48%,从图4中可以看出,虽然ADC协议能够在一定程度上减少能量消耗,但由于其是对节点过去7个周期内的数据流量进行加权统计来预测节点下一个周期的数据流量,进而调整节点占空比,这就导致其对节点流量变化不够灵敏而产生能量消耗.ADCSMAC协议的能耗比ADC协议的要低,平均能耗为其79%,这说明ADCSMAC采取的占空比调节机制更加的合理.由图5可以看出,ADCSMAC协议比ADC协议的延迟低,为其95%,ADCSMAC协议的平均延迟比SMAC协议减少了21%.由图6可以看出,ADCSMAC协议的平均吞吐量比ADC协议的略高9%,ADCSMAC协议的平均吞吐量比SMAC协议提高了33%.ADCSMAC协议比SMAC协议具有更小的延时和更高的吞吐量,这是由于ADCSMAC协议使用的休眠调度方案通过使在繁忙路径上的节点具有更频繁的激活以给其他节点更多的接入机会,让数据能够更快的转发.由于减轻了数据在转发节点的堆积,降低了冲突的概率,减少了因冲突重发带来的能耗和延时,因此在相同条件下ADCSMAC协议的网络平均延时更短、网络吞吐量更大.3结语无线传感器网络技术的飞速发展使得其可以被应用于不同的环境和背景下,而有效的MAC协议设计是确保网络节点生存的基础.笔者在SMAC协议所提出的固定占空比的基础上融入了M/M/1/n队列思想,提出了一种改进的自适应占空比MAC协议并对其核心思想进行阐述与仿真实验.结果显示在不同的网络负载中ADCSMAC协议与ADC协议和SMAC协议相比,能有效的调节节点的占空比,减少能量消耗,并根据队列模型预测节点下一周期的数据量,从而调整其占空比,减少碰撞和阻塞发生的概率,协议在减少网络延同时,能有效的提高网络的吞吐量.致谢湖北省教育厅为本研究提供了资金资助,在此致以衷心的感谢!