杨逊豪,何加铭,董义旺,吴 刚
(1.宁波大学通信技术研究所,浙江宁波 315211;2.浙江省移动网应用技术重点实验室,浙江宁波 315211;3.中国电信股份有限公司宁波分公司,浙江宁波 315001)
无线传感器网络(Wireless Sensor Networks,WSNs)作为新一代传感器系统,能够实时监测、感知、采集各种环境或监测对象的信息,并对这些信息加以处理,以便获取详尽、准确的信息[1]。但由于其受功能、特性及应用背景的影响巨大,因此设计具有最大化生存周期、最小化网络能耗的无线传感器网络,保证网络的连通性和有效减低能耗具有十分重要的意义。
媒体访问控制协议(Medium Access Control,MAC)[2],处于无线传感器网络底层,是保证无线传感器网络高效通信的关键协议之一,尽可能延长无线传感器网络寿命十分重要。目前无线传感器网络的MAC协议设计中还存在许多缺陷需要去解决[3-4]。因此设计无线传感器网络MAC协议应该在确保低能耗的前提下,具有尽可能高的吞吐量、尽可能小的时延、数据无误传输以及支持多种业务需要等特性以满足用户需求。
针对不同应用场合对无线传感器网络要求不尽相同的特点,MAC协议分为基于竞争协议、基于调度协议和混合 MAC 协议[5]。S-MAC 协议[6]是一种基于竞争机制的典型MAC协议,专门针对事件通知应用场景,可以较好地适应这种场景中的数据流变化。在没有数据时节点基本处于休眠状态,节省自身的能量;而在突发事件触发大量数据传输时,又可以自适应增加节点唤醒次数,从而加快数据传输。S-MAC的主要工作机制如下。
S-MAC协议最主要的运行机制为周期性侦听/休眠机制。它将时间分为多个工作周期,每个工作周期又分为侦听阶段和休眠阶段。在侦听阶段,节点完成与相邻节点间通信。在休眠状态,节点为了减少能耗,直接关闭发射接收器。若此时存在需要处理的数据,则执行缓存操作,待到节点处于侦听状态时再进行处理。
节点每隔一段侦听周期广播一次同步信息,邻居节点同样采用该策略,从而使得整个网络形成了若干个采用不同策略的虚拟簇。不同的虚拟簇之间通过簇间边界节点进行数据交换,通过虚拟簇机制,新节点很容易加入到现有网络中去。但是这些边界节点为了能够保证簇与簇之间能够顺利地进行数据传输,保存了多个调度,这样在每个调度规定的时刻都会被唤醒。但这种机制存在节点能量过度消耗的情况。
S-MAC使用了802.11的冲突避免机制,即虚拟载波监听和物理载波监听结合的RTS-CTS通告机制,协议规定每个节点控制一个时间帧,当节点有数据包要发送时,先进行等待,直到属于该节点的帧到来时,先广播带有接收节点和包长度的控制报头消息,然后传送数据。收到报头消息的节点如果不是接收节点,则关闭射频模块,较好地解决了隐藏终端问题和暴露终端问题。
在S-MAC协议初始化阶段,调度的同步十分重要。但是S-MAC协议的同步只能在较小范围内完成,导致了在全网范围内存在多个不同调度表的簇。簇边界上的节点,为了能够顺利与邻簇节点进行通信,需要在该节点上保存多个调度信息,因此边界节点会在每个调度表的监听时段醒来,相较于其他节点较少进入休眠阶段,能量消耗较大,导致了网络整体寿命的缩短。
为了解决这个问题,对现有的SS-MAC协议[7]进行改进,设计了一种算法规则,采用优先级标准作为依据,使得相邻的虚拟簇进行合并,最终实现整个网络调度的统一,消除边界节点,从而解决了不同虚拟簇间边界节点能耗过快的问题。
整个虚拟簇用树来表示,把创建根节点称为树根,簇中每个节点都存在一个权值,表示节点距离根节点的跳数,根节点的权值为零,其余节点在接入网络之前,权值预设为一个较大的初始值。算法采用从根节点到虚拟簇边界的最大权值来表示优先级,生成树统计模型如图1所示。改进后的 MAC协议称为TS-MAC协议,在每个节点上保存变量列表ValueList,包括某一虚拟簇全簇节点总数 Total、最大权值ValueMax、本节点权值 ValuePoint、父节点标识Father、子节点标识 Son[i]、同步包到达时间 ArriveTime[i]以及对应节点的下级节点总数SonNum[i]。
在文献[8]中介绍了一种GAF改进算法,在该算法的基础上设计了一种根节点选择策略。假设每个节点能够随时查询自身ID以及剩余能量,同时赋予剩余能量最大的节点为根节点,剩余能量次大的节点作为候选根节点,当根节点剩余能量达到阈值时,候选根节点将接替成为根节点,避免由于根节点能量耗尽引起节点间通信质量的下降。
算法初始阶段,节点按照ID依次发送和接收通知消息 M(N1,N2,Emax,Esub),其中 Emax 为现有虚拟簇内剩余能量最大值,Esub为剩余能量次大值,N1、N2为与此相对应的ID。
假设某虚拟簇内共有N个节点,任意一个节点ID为Nn,能量为En,Tr为初始时间,Ts为发送消息所需时间,具体根节点选举算法实现如下:
图1 生成树统计模型
这样所有节点均将获悉根节点的ID和剩余能量,完成根节点的选举。
创建生成树,统计簇内节点信息,实现虚拟簇内节点瞬时同步,算法实现如下:
根据生成树信息,进行簇的合并,算法实现如下:
针对无线传感器网络所存在的特性,必须考虑由于网络拓扑变化造成树结构变化的情况。对于新加入的节点,可以通过监听网络中其余节点的同步请求报文,获取周期T(取3~5个同步周期)内收到的具有最小权值的邻居节点作为自身父节点,并将权值加1作为自身权值,保证了生成树总是拥有最新的拓扑,增强了鲁棒性。当节点因某些原因与网络失去联系时,若该节点不属于根节点,则按照上述方法进行拓扑调整。本算法规则采用消息开始发送到无线信道的时刻作为同步消息时间戳,消除了时延误差,提高了时间同步的精度。
如图2所示,在实际传输中存在着传输时延、接收时延等不确定性因素,则 4 个时刻 T1、T2、T3、T4实际应该满足如下关系:
式中,εtrans12是消息由节点1传输到节点2的传输时延,εrecv2则是节点2接收消息时产生的随机误差;a12为节点2相对于节点1的局部误差。从上式中可以看到,报文间隔时间过长会造成同步精度的影响。因此,要求应答包返回的时间间隔不能太长,同时应答包一次所包含的同步信息也不能太多。
图2 消息交换机制误差
本文采用OMNET++仿真工具[9-10]对TS-MAC协议进行仿真分析。OMNET++是一款开源的网络仿真系统,近年来在科学和工业领域里逐渐流行,主要用于通信网络和分布式系统的仿真。
OMNET++进行TS-MAC协议建模仿真流程如图3所示。
图3 TS-MAC仿真建模流程
通过以上对TS-MAC协议的剖析和对OMNET++编程模式的理解,定义如下仿真环境。
仿真的节点拓扑如图4所示,N个节点呈线性分布,其中节点N-1为目标节点,节点0为源节点,相邻节点间隔为200 m。从源节点处开始发送数据包至目的节点,发送速率为n个/s。
图4 节点网络拓扑
主要仿真参数如表1所示。
表1 主要仿真参数
3.3.1 能耗分析
如图4所示模型进行仿真,得到边界节点消耗能量随时间变化的曲线,如图5所示。由于边界节点在300 s开始接收到2个调度表信息,因此其能量消耗速率较之前快一倍。而TS-MAC与SS-MAC协议下边界节点始终只有一个调度表,因此其能量消耗速率保持不变。但TS-MAC协议较SS-MAC协议在完成全网同步时间上要少得多,因此能量消耗幅度始终低于SS-MAC协议。从仿真输出结果可以看出,TS-MAC与SS-MAC协议下数据流持续时间都比S-MAC协议下要长,网络连通性较好。
图5 边界节点能耗
3.3.2 实时性分析
采用多次仿真取平均值的方法如图6所示,由图可以看出,SS-MAC协议在仿真时间达到3200 s处实现全网同步,TS-MAC协议在1600 s时实现全网同步,说明TS-MAC协议较之SS-MAC协议具有更好的实时性。
图6 协议实时性比较
针对 S-MAC协议中边界节点能耗过快,SSMAC协议中全局同步时间过长,无法快速实现全局同步的问题,提出了一种新的TS-MAC协议,通过设定优先级标准来确定虚拟簇的最大权值,利用生成树来完成根节点与下级节点的时间同步,以达到局部时间同步,并以此为标准在簇间边界节点上进行调度表的取舍,从而实现簇的合并和全网调度的同步,消除了边界节点。仿真结果验证了该算法能够有效地控制节点的能耗,提高了网络的连通性。
[1]马祖长,孙怡宁,梅涛,等.无线传感器网络综述[J].通信学报,2004,25(4):114-124.
[2]蹇 强,龚正龙,朱培栋,等.无线传感器网络MAC协议研究进展[J].软件学报,2008,19(2):389-403.
[3]KUNTZ R,GALLAIS A,NOEL T.From Versatility to Auto-adaptation of the Medium Access Control in Wireless Sensor networks[J].Journal of Parallel and Distributed Computing,2011,71(9):1236-1248.
[4]BOKAREVA T,HU Wen,KANHERE S,et al.Wireless Sensor Networks for Battlefield Surveillance[C]∥Proc of Land Warfare Conference,LWC-2006,Australia,2006:1-5.
[5]YAHYA B,BEN-OTHMAN J.Towards a Classification of Energy Aware MAC Protocols for Wireless Sensor Networks[J].Wireless Communications and Mobile Computing,2009,9(12):1572-1607.
[6]YE W,HEIDEMANN J,ESTRIN D.An Energy-efficientMAC Protocol for Wireless Sensor Networks[C]∥Proc of IEEE INFOCOM 2002,New York,USA,2002:1567-1576.
[7]刘 冰,杨 昀,张惠民,等.一种高效的无线传感器网络的 MAC层方案[J].无线电工程,2007,37(3):11-13.
[8]SANTI P.Silenceis Golden with High Probability:Maintaining a Connected Backbone in Wireless Sesor Networks[C]∥Proc of European Workshop on WSN,Berlin,2004:106-121.
[9]冯友宏,关可.基于OMNET的无线传感器网络算法的改进[J].传感技术学报,2010,23(6):859-862.
[10]杨永康,王永斌,刘宏波.基于Mixim模块的无线移动网络仿真[J].计算机与数字工程,2011,39(9):101-104.