基于SMAC的无线传感器网络MAC协议的分析与优化

时间:2022-10-16 12:06:55

基于SMAC的无线传感器网络MAC协议的分析与优化

摘 要:首先对MAC协议进行了相关介绍。然后重点介绍了一种基于竞争的无线传感器网络MAC层协议S-MAC协议。其核心是提出了一种新的无线传感器网络的MAC协议设计方案。基于动态调整占空比的思想,提出了ATC-smac协议。该协议在S-MAC协议的基础上改进了固定占空比的劣势,根据每个节点上的数据包的平均延迟调整占空比。通过动态地调整每个节点的占空比,使不同流量的节点拥有不同的工作时间,协议根据不同节点的流量情况自适应地对其占空比进行调整。经过仿真试验,得到ATC-MAC在网络端对端延迟、能量消耗以及吞吐量方面较S-MAC协议都有比较明显的提高。

关键词:无线传感器网路; MAC协议; 动态占空比; ATC-SMAC协议

中图分类号:TN915-34文献标识码:A文章编号:1004-373X(2011)19-0046-03

Analysis and Optimization of MAC Protocol of SMAC-based Wireless Sensor Network

ZHAO Xue-ying

(Gengdan Institute, Beijing University of Technology, Beijing 101301, China)

Abstract: The MAC protocol is introduced. A wireless sensor network MAC layer protocol based on competition named S-MAC protocol is analyzed. The core of this paper is the design scheme of MAC protocol of a new wireless sensor network, and the ATC-SMAC protocol based on the dynamic adjustment of duty cycle is proposed. This protocol improved the disadvantages of fixed duty cycle of S-MAC, and used the strategy of adjusting the duty cycle according to average packet delay on one node. Nodes with different traffic owned different work time according the duty cycle dynamic adjustment of each node. The protocol dynamically adjusted the duty cycle according to the traffic of each node. According to the simulation, the ATC-MAC is better than S-MAC in end to end delay, energy consumption and throughput.

Keywords: wireless sensor network; MAC protocol; dynamic duty-cycle; ATC-SMAC

收稿日期:2011-05-16 无线传感器网络[1]协议ATC-Smac主要是提高基于竞争的S-MAC协议的能量使用率,同时减少S-MAC协议的网络延迟。ATC-SMAC协议通过自适应地调整每一个节点的占空比,让节点在不同的流量下使用不同的占空比工作,做到流量大时工作更长的时间,流量小时工作更短的时间,没有流量的时候就不工作。

1 S-MAC协议的分析和研究

S-MAC协议是一种基于竞争的控制协议[2],具有同步机制功能与无中心等特点,不需要局部或全局中心主节点的调度传感器节点自己发现邻居节点,并合理地安排占用信道的时间。

1.1 S-MAC协议

S-MAC协议时间分为若干个帧,帧长度由应用程序来确定,帧内分为活动与睡眠两个部分。在睡觉时段,节点关闭发送器模块,缓存在此时负责采集数据信息,数据在等待序列中,到活动阶段集中进行发送[3]。在活动开始时,发送节点进入同步机制决定帧长度的确定方式,之后通过(RTS/CTS/DATA/ACK)机制发送数据信息,这个机制能够避免因冲突产生的能耗。通过同步机制,局部的节点之间可以采用相同的时间周期,采用相同的工作休眠策略,它方便了无线传感器网络发现新节点。

1.2 S-MAC的节能机制分析

为了减少无线传感器网络消耗的能量,在IEEE 802.11基础上提出了一种专门的传感器网络MAC协议S-MAC协议。无线传感器网络的冲突重传、接收到不是发送给自己的数据、控制信号、空闲侦听等造成传感器网络耗能的原因。它引入了节点间的SYNC机制,允许没有数据发送和接收的节点进入休眠状态以节省耗能。但根据前文所讨论的,睡眠的本身会引起数据的传输中断,从而增加延时。下面将具体分析S-MAC协议是怎么节能的。

1.2.1 交替侦听/睡眠机制

S-MAC协议的工作是按照周期进行的,在每个周期里,每一个基于S-MAC协议的节点都会工作一段时间、睡眠一段时间,通过减少节点的工作时间来节省能量。如图1所示S-MAC协议的一个周期包含了睡眠和侦听两个阶段,侦听阶段属于工作阶段,侦听阶段如果收到数据包,则节点之间会建立通信。如果节点处于睡眠状态,则节点不能接收任何数据,发送给它的数据都会被阻塞。处于睡眠状态的节点会在一定时间后醒来。在S-MAC协议中,相邻的节点是尽量同时睡眠同时侦听的,为了保证时间上的一致,防止时钟偏移,不同节点间需要定期广播同步包来交换时间信息,从而进行调整,做到同步。

图1 S-MAC的周期性侦听和睡眠1.2.2 “虚拟簇”机制

S-MAC协议使用了“虚拟簇”的机制,在“虚拟簇”机制下,节点之间的调度信息是通过节点广播SYNC包来实现的。S-MAC协议使用调度表来保存调度信息,每一个节点会保存一个调度表。节点会在启动的初期监听一段时间,因为S-MAC协议是固定占空比的,所以这段时间是固定的[4]。在监听的这段时间,如果节点能够收到邻居节点的调度信息,则它使用邻居节点的调度周期更新自己的调度周期,并且它会在一段时间后广播自己的调度信息。如果接收到的邻居节点的调度方式与自己的调度方式相同,则调度方式不变;如果发现邻居节点的调度方式与自己不同,而且还没有收到与自己调度方式相同的节点消息,则使用新的调度方式进行调度。

1.2.3 串音避免机制

基于竞争MAC协议能量消耗的一个重要原因就是串音。在S-MAC协议中,如果节点收到不是发送给自己的RTS数据包或CTS数据包,节点会直接进入睡眠状态。这样,发送数据包的节点就不会把数据包和ACK报文发送到刚刚进入睡眠的节点,从而减少了节点处理这些数据包所消耗的能量[5]。

1.2.4 冲突避免机制

竞争信道时产生的碰撞是每一个竞争类协议都会碰到的问题,S-MAC协议也对该问题进行了解决,尽量减少不必要的能量浪费。

上一篇:一起异地两相短路事故的分析 下一篇:利用矩阵实现气象卫星信号的可靠接收