APP下载

一种基于竞争的无线传感器网络低延迟MAC协议

2012-08-01秦艳华徐玉斌

太原科技大学学报 2012年5期
关键词:吞吐量全局信道

秦艳华,徐玉斌

(太原科技大学计算机科学与技术学院,太原030024)

无线传感器网络具有无中心、自组织、分布式控制和多跳等特点,使得传统无线网络的 MAC(Medium Access Control,MAC)协议不能满足无线传感器网络的需要。在无线传感器网络中,节点能量有限且难以补充,为保证无线传感器网络长期有效工作,MAC协议以减少能耗、最大化网络生存时间为首要设计目标[1];然而,在无线传感器网络的应用中,对于一些危险场合和紧急处理对象,需要及时采集来自监测区域内感知对象的信息,以便迅速做出准确而恰当的应急处理措施,这对无线传感器网络的实时性和延迟性能就提出了更高的要求。针对SMAC[2-3]协议进行了深入研究,在SMAC协议基础上设计了一种新的低延迟LDSMAC(Low Delay Sensor Medium Access Control,LDSMAC)协议,实现了多跳传输中延迟和吞吐量性能的优化。

1 相关工作

无线传感器网络MAC协议依据信道访问方式可以分为基于竞争的协议、基于调度的协议和混合协议。SMAC协议是一种典型的竞争型MAC协议。该协议基于IEEE 802.11,在多跳无线传感器网络中引入周期性侦听和睡眠的低占空比工作方式,使得节点在大部分时间里处于睡眠状态,降低了节点的能耗。但从SMAC协议的工作机制可以看出,SMAC协议虽然大大节省能量,却是以牺牲延迟和吞吐量为代价的。

B-MAC[4]协议使用扩展前导和低功率侦听(LPL)技术实现低功率通信,采用空闲信道评估技术进行信道裁决。节点在发送数据分组之前先发送一段长度固定的前导序列,为避免分组空传,前导序列长度要大于接收方睡眠时间。B-MAC协议无须调度信息因而可以有效缩短唤醒时间,但是在减少能量消耗上没有太大优势。

DMAC[5]协议针对SMAC协议的睡眠延迟和数据转发停顿问题提出了一种改进方法。根据节点转发数据形成数据采集树,采用不同深度节点之间的活动和睡眠的交错唤醒调度机制,数据能够沿着多跳路径连续传播,减少睡眠带来的通信延迟,但节点之间需要严格的时间同步。

2 LDSMAC协议设计

为了改善SMAC协议虚拟簇间调度不一致而导致的长延迟,提出了LDSMAC协议。该协议采用全局同步机制并通过邻居节点间的信息融合,使得网络内所有节点都同步到一个调度表上,从而解决数据传输中的转发延迟问题。该协议适用于无线传感器网络对延迟和吞吐量要求较高且周期性数据传输的场合。

2.1 协议概述

LDSMAC采用随机竞争信道的方式,并通过周期性侦听和睡眠的低占空比工作方式来降低节点的能量消耗。节点在侦听阶段发送全局同步包,成功接收到全局同步包的邻居节点将主调度设为全局调度并广播全局同步包,从而无线传感器网络内的所有节点形成一个巨大的虚拟簇。全网内的所有节点具有相同的调度表,在节点发送数据时周围节点始终处于激活状态,这就保证了数据的快速传输,大大地降低了延迟。

2.2 全局同步机制

LDSMAC协议为全网内的所有节点建立一致的侦听和休眠调度,是通过增加全局同步包来实现的。在建立全局同步时,节点接收到全局同步包后将其主调度设为全局调度,并广播全局同步包。在维护全局同步时,节点更新全局调度来消除节点的时钟漂移。

全局同步包的格式如表1所示。在全局同步包中,type表示帧的类型;length指该发送的帧长度,不包括MAC帧头;srcAddr表示源节点地址;syncNode表示全局调度的发起节点;sleepTime表示该节点距离下一次休眠调度的时间,即多长时间后进入休眠;state用于记录节点是否更改调度的标志位;gSchedFlag指该节点是否已经全局同步的标志位;hop表示全局调度的发起节点转发全局同步包的总跳数;transTime表示全局调度的发起节点转发全局同步包的总转发时间;CRC为循环冗余校验。

为了解决节点因为接收到不同的全局同步包而选择全局调度的问题,网络内所有节点的全局调度是以首次发送全局同步包的距离下一次休眠时间来设置的。假设节点i是网络内首次发送全局同步包的节点,经过n跳转发后到达节点j,若节点的处理延迟和排队延迟可以忽略不计,节点的侦听周期为T,总转发时间为tz,其中每跳的转发时间包括载波延迟和退避延迟,每跳的传输时间为tm,则节点j接收到的全局同步包的距离下一次休眠时间t的计算如公式(1)所示。

以图1为例,假设节点i是网络内首次发送全局同步包的节点,经过n+1跳转发后达到节点k,根据公式(1)计算得出节点k的距离下一次休眠时间为tk1,同理节点k接收到由节点l发送的全局同步包的距离下一次休眠时间为tk2,然后节点k通过比较得出tk1小于tk2,因此节点k丢弃节点l的调度而选择节点i的调度,从而实现了接收节点k更新全局调度为全网内首次发送全局同步包的节点调度。

表1 全局同步包格式Table.1 HSYNC format

图1 全局同步包的距离下一次休眠时间的设置Fig.1 The setting of the next sleepTime of HSYNC packet

2.2.1 建立全局调度

在LDSMAC协议中,节点在一个侦听和休眠周期内只能发送或接收一次同步包,但是接收节点在一个侦听和休眠周期内可以发送和接收多次全局同步包,但是为了节省能耗,发送节点在其邻居节点接收到全局同步包后,就不再广播全局同步包直到维护全局同步周期的到来。其建立全局调度和邻居列表的具体步骤如下:

1)节点至少在一个同步周期内侦听信道,如果节点没有接收到同步包或全局同步包,则节点选择自身的调度。

2)如果节点在选择自身调度后接收到同步包,则节点丢弃自身的调度而选择收到的同步包调度,并将发送节点加入到邻居列表。

3)如果节点在选择自身调度后接收到全局同步包,则节点丢弃自身的调度而选择接收到的全局同步包调度,并将发送节点加入到邻居列表。

4)如果节点在接收到全局同步包之前,已接收到邻居节点的调度且该调度不是全局调度,则节点丢弃邻居节点的调度而选择全局调度。

5)如果节点在接收全局同步包之前,已接收到邻居节点的调度且该调度正是全局调度,则节点选择调度表中的下一次休眠时间最小的调度。

2.2.2 维护全局同步

节点在建立全局同步后,网络内的所有节点通过全局侦听和休眠调度访问信道,但是由于节点的时钟漂移使得全局调度发生偏移。因此,LDSMAC协议每隔2分钟通过发送全局同步包进行全局同步的维护,其维护全局同步的步骤如下:

1)节点侦听信道,如果接收到网络内首次发送的全局同步包,则接收节点按照全局同步包的调度更新全局调度。

2)如果节点接收到不同的全局同步包,且接收到的全局同步包的下一次休眠时间小于其全局调度的下一次休眠时间,则接收节点将其全局调度更新为全局同步包的调度。

3)如果节点接收到不同的全局同步包,且接收到全局同步包的下一次休眠时间大于其全局调度的下一次休眠时间,则接收节点的调度已经更新为全局调度。

3 仿真实验和分析

基于NS-2.34仿真平台分别对总能耗、延迟和数据吞吐量进行了仿真实验,仿真参数如表2所示。仿真实验中定义了11个节点,并采用平面线性拓扑结构。

表2 仿真参数Tab.2 Network simulation parameters

3.1 能耗分析

图2对比了LDSMAC协议和SMAC协议在轻负载下的总能耗。由图可知,LDSMAC协议的总能耗比SMAC协议的总能耗增加5%~10%.因为LDSMAC协议增加了额外的控制开销,但是全局同步包的长度远远小于数据包的长度,并且简化了SMAC协议中虚拟簇间的边界节点多个调度。

图2 各跳下的所有节点总能耗Fig.2 Aggregate energy consumption on radios in the entire ten-hop network

3.2 吞吐量分析

图3对比了LDSMAC协议和SMAC协议由源节点到汇聚节点第10跳的数据吞吐量。由图可知,LDSMAC协议的吞吐量比SMAC协议的吞吐量增加10%~50%.网络的吞吐量受到很多因素的影响,例如冲突避免机制的有效性、信道利用率、延迟和控制开销等。由于竞争窗口的频繁出现导致了网络竞争状况变化,因此SMAC协议的吞吐量呈现时大时小现象。

图3 在不同负载下第10跳的数据吞吐量Fig.3 The throughput over ten-hop under different traffic loads

3.3 传输延迟分析

图4和图5分别对比了LDSMAC协议和SMAC协议在重负载下和轻负载下的延迟。由图可知,LDSMAC协议的延迟比SMAC协议的延迟减少了20%~50%.当占空比增加时,LDSMAC协议相比于SMAC协议的延迟下降幅度趋缓,因为占空比增加,节点侦听信道的时间更长,延迟相对降低。

图4 发包间隔为2 s时各跳的平均延迟Fig.4 The mean message latency on each hop when the message inter-arrival time is 2 s

图5 发包间隔为10 s时各跳的平均延迟Fig.5 The mean message latency on each hop when the message inter-arrival time is 10 s

4 结束语

LDSMAC协议采用全局同步机制使得全网内的所有节点都同步到全局的侦听和休眠调度,由于时钟漂移节点周期性进行全局同步的维护,保证了发送节点在数据传输时接收节点始终处于侦听状态,实现了多跳网络的连续传输,降低了网络的传输延迟,但是增加了额外的控制开销。

[1]蹇强,龚正虎,朱培栋,等.无线传感器网络MAC协议研究进展[J].软件学报,2008,19:389-403.

[2]YE W,HEIDEMANN J,ESTRIN D.Medium Access Control with Coordinated Adaptive Sleeping for Wireless Sensor Networks[J].USC/ISI TECHNICAL REPORT,2003(7):1-14.

[3]马嘉涛,徐玉斌.基于SMAC的传感器网络MAC协议移动性支持研究[J].太原科技大学学报,2011,32(5):357-363.

[4]JOSEPH P,JASON H,DAVID C.Versatile Low Power Media Access for Wireless Sensor Networks[C]//Proceedings of the 2nd international conference on Embedded networked sensor systems,Los Angeles,CA:ACM Press New York,2004.

[5]LU G,KRISHNAMACHARI B,RAGHAVENDRA C.An Adaptive Energy-Efficient and Low-Latency MAC for Data Gathering in Sensor Networks[C]//Proceedings of the WMAN,Santa Fe,NM,2004.

猜你喜欢

吞吐量全局信道
Cahn-Hilliard-Brinkman系统的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
信号/数据处理数字信道接收机中同时双信道选择与处理方法
落子山东,意在全局
一种无人机数据链信道选择和功率控制方法
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量
基于导频的OFDM信道估计技术
新思路:牵一发动全局