低WSN服务能耗的MAC协议实现
2011-10-09张立新
张立新
(西安工业大学 机电工程学院,陕西 西安 710032)
在无线传感器网络中,由于存在隐藏终端以及网络拓扑部分连通等问题,节点之间的竞争机会并不均等。当信道负荷很重时,某些节点的吞吐量会急剧下降;同时还会导致节点接入信道的等待时间很长,这对网络的服务质量(Quality of Service,QoS)保证造成了困难[1-2]。然而在无线信道这种不可靠的传输媒介上,仅通过采用排队和路由技术所能提供的QoS保障远远不够,在数据链路层也必须提供一定的QoS保证[3]。
无线传感器网络常用的媒介访问控制 (Medium Access Control,MAC)协议主要有基于无线信道随机竞争方式(Carrier Sense Multiple Access,CSMA)和时分复用方式(Time Division Multiple Access,TDMA)[4],时分复用方式可以有效避免节点间的干扰,网络的QoS能得到保障,并能实行有效的休眠机制,但是需要实现时间同步,节点的硬件要求高,并且对网络变化敏感,只适用于拓扑结构稳定的网络;而随机竞争型MAC协议对网络变化不敏感,适用于拓扑结构经常变化的网络,但是在网络业务量较大的情况下分组发生碰撞的几率很大,网络的QoS难以得到可靠保障。
加州伯克利大学的Mustafa Ergen和Duke Lee等提出了一种针对无线链路的MAC协议的无线令牌环协议(Wireless Token Ring Protocol,WTRP)[3,5],具有冲突避免、扩展性和各节点间能量消耗平均3大优点。但是节点必须保持无线模块处于接收状态,以便随时接收传给自己令牌,否则就会导致令牌环认为节点丢失而重建令牌,加重了网络的负担和稳定性,节点的能耗得不到有效的保证。在WTRP的基础上提出一种新的无线令牌环协议WTRP-S(WTRP-Sensor)。
1 WTRP-S协议
1.1 算法简述
网络按照分群算法建立若干令牌环,令牌环上的每个节点都有自己的上游节点和后继节点。当节点收到上游节点发送的令牌后,开始在规定的时间内发送数据,然后再将令牌传向它的后继节点。每当节点发送数据的时间超出规定的时长,会被迫停止发送,将令牌传向后继节点。依次类推,同一个令牌环上的所有节点按照接收令牌的次序,轮流享用同一个无线媒介。该协议最大的特点是令牌环中的节点有数据要传送时才打开无线通信模块,并且节点关闭通信模块不会中断令牌的传递,令牌会主动传给下一个有数据要发送的节点,令牌环不需要重建。
1.2 关键技术
1)令牌帧结构 文中根据WTRP协议的帧结构,设计了一种适用于WTRP-S的无线令牌帧格式,如图1所示。
图1中帧控制字段(FC)用来标示分组的类型,诸如一般的令牌、邀请节点加入以及加入响应等令牌的类型;令牌环地址(RA)是指令牌所属的令牌环的地址,用来区分不同的令牌环;NON代表令牌环中节点的总数;序列号(Seq)代表发出令牌的节点在令牌环中的排序,取值为0~NON-1;生成序列号(GenSeq)是一个初始为0的值,每完成一轮令牌传递,就由令牌生成器进行一次递加;令牌环节点状态(SOAN)是一个位寻址字段,该字段的每一位都代表令牌环上的一个节点,置1表示有节点在令牌环的相应位置上,否则不在。该字段在令牌传递和关闭通信模块上具有极其重要的作用。
2)连接管理器 每个节点都设置有连接管理器,用来控制、管理令牌的传递和维护。每个节点内建一个管理列表,如图2所示。
图1 帧结构Fig.1 Frame structure
图2 连接管理器Fig.2 Connection manager
图2中Now-RA为当前令牌环的地址,即令牌中的RA;Self-Seq为节点在令牌环中的序列号,节点在加入令牌环时分配,代表节点在令牌环中的次序;Last-Gen为节点上一次获得令牌中的GenSeq,与本次所获得令牌中的GenSeq比较就可以知道节点休眠了多少轮;otherRing为节点监听到的其他令牌。
3)令牌传递 令牌环建立之后,无数据要传输的节点关闭无线通信模块,有数据发送的节点等待传给自己的令牌。上游节点发送令牌后,在一个等待响应窗的持续时间内等待节点的接受响应。将等待响应窗分成以“接受令牌应答”长度为间隔的若干个时隙,等待发送数据的节点接到令牌帧,将自身的序列号和令牌中的Seq比较,在相应的时隙内发送应答令牌帧。
图3 令牌环网络Fig.3 Token ring network
在图 3中,A为令牌环业主,B、C、D、E和 F依次加入令牌环,相应的Self-Seq为1、2、3、4和 5。假设D离开了此令牌环,则此令牌环的NON为5,SOAN为如图4的结构形式。
图4 SOAN结构Fig.4 SOAN structure
B完成数据发送后,发送Seq为Self-Seq(文中以1为例),SOAN为图4所示的令牌。E收到令牌,发现Seq为1,本身Self-Seq为4,而SOAN中,位2到位4共有两个1,则知道自己应在响应窗的第二个时隙发出响应。若在第一个时隙中有节点响应了令牌(C),则E不在等待,休眠一个节点持有令牌的时间之后再等待传给自己的令牌;若第一个时隙无节点应答令牌,则E在第二个时隙发出响应,并进行数据业务。这样,有数据发送的才等待令牌,令牌只发送一次就能完成传递,每个节点持有令牌时间有限,保证了服务质量又兼顾了能耗。
4)接入管理 当节点需要加入一个令牌环时,它打开无线通信模块并监听,若收到邀请令牌帧,则响应邀请,若节点被允许加入,设置自己的节点管理器数据。Now-RA为令牌中的RA,Self-Seq为SOAN中第一个不为1的所在位,Last Gen为GenSeq。节点若无数据发送则按规定关闭无线通讯模块。
如何以及何时唤醒休眠中的节点是节点节能的关键,采用以下调度方法唤醒休眠中的节点:
设该节点需要发送为多个数据信息,且发送的多个数据信息分为实时信息和非实时信息。根据节点发送的多个数据信息。
首先建立需要发送数据信息的参数模型为
式中:tis为任务状态;tia为任务实际启动时间;tio为完成任务的公式和函数;tir为任务最大执行时间;tif为任务最早启动时间;tie为任务最迟启动时间;tid为任务截止时间;tib为任务周期;tig为优先级。
其次建立要发送数据的特征,建立数据信息表,从所建立的数据信息表中取出首信息ti,根据其属性tig与所需要发送信息队列中的所有信息的tig比较,建立信息发送关系集为
由式(1)计算信息发送队列分配给信息ti的时间片,若ti有 u 个[tik→ti](k=1,2,…,u)关系,对于任一 tik信息所决定的ti最早发送时间 t’ikf为
根据式(1)和式(2)可以算出信息最早发送时间tif为
若 ti有 v 个[ti→tih](h=1,2,…,v)关系,对于任一 tih信息所决定的ti最迟发送时间t’ihe为
根据式(1)和式(4)可以算出信息最迟发送时间tie为
则由已被调度的 ti的u个[tik→ti]和 v个[ti→tih]的信息所决定的 tia由不等式式(6)和式(7)决定
即若存在所有已调度的 tij信息中的某个 j (j∈(u-2,u+w+2))满足不等式 (6)或式(7),则任务实际发送时间tia为
从而由式(8)算出发送信息队列分配给ti的时间片为[tia,tia+tir],并将其插入信息发送队列。
根据建立的调度方法计算信息发送的时间,并基于该时间打开本节点无线通信模块并监听,从而实现了节点运行时间最短的目的。
5)恢复机制 当节点需要离开令牌环时,首先等待发送权利,一旦获得发送权,将令牌帧中SOAN中第Self-Seq位置零,并将令牌传递出去,之后清零自己的连接管理器数据。如图2所示,D离开令牌环就将令牌帧的SOAN中的第3位置零。
当令牌环上某个节点失效(能量耗尽或故障等),令牌环业主在N轮(N为节点失效轮数)令牌传递中发现某节点无响应,就将令牌帧中的SOAN的相应位置零,这样,其他节点就可以加入这个空位,填补令牌传递中的时隙空缺,使服务质量不会因节点的失效而受到影响;若失效节点为误判,N轮之后又恢复了正常,发现令牌帧中的GenSeq>Last Gen+N,则知道自己应重新加入令牌环,不会干扰令牌的正常传递。
2 结果仿真及分析
在仿真过程中物理层使用IEEE802.15.4的2.4 GHz信道[6],比特率为250 kb/s,采用16进制准正交调制技术。共有3个节点,每个节点分别有45 000 bits数据要传输,开始传输时间分别为 56 ms、106 ms和 166 ms。MAC协议分别为WTRP、WTRP-S 和 IEEE802.15.4。
由于WTRP需要节点一直打开无线通信模块,所以能耗巨大,不具有可比性,实验只比较了WTRP-S和IEEE 802.15.4 MAC协议,如图5所示。
图5 能耗比较Fig.5 Comparison of energy consumption
从图5可以看出,WTRP-S在数据任务繁忙的网络中具有更好的能耗和传输时间控制,满足无线传感器网络的要求。
3 结 论
针对无线传感器网络的QOS和能耗要求,结合WTRP协议,提出了新的减小能耗的协议算法 WTRP-S。
从仿真结果显示,WTRP-S在保证网络QOS的同时,实现了节点的休眠,因此新协议更适用于WSN的特性,提高了网络的整体性能。
[1]Menouar H,Filali F,Lenardi M.A survey and qualitative analysis of MAC protocols for vehicular ad hoc networks[J].IEEE Wireless Communications,2006,13(5):30-35.
[2]Xu S,Saadawi T.Does the IEEE802.11MAC protocol work well in multi-hop wireless ad hoc networks [J].IEEE Communications Magazine,2001,39(6):130-137.
[3]Lee D.Wireless token ring protocol[D].Berkeley:Electrical Engineering, University of California Berkeley,2001.
[4]宋文,王兵.无线传感器网络技术与应用[M].北京:电子工业出版社,2007.
[5]于弘毅.无线移动自组织网[M].北京:人民邮电出版社,2005.
[6]Wireless medium access control (MAC)and physical layer(PHY)specifications for low-rate wireless personal area networks (WPANs)[J].LAN/MAN Standards Committee of the IEEE Computer Society, 2006:1-26.