WSNs的SMAC协议的研究

无线传感器网络SMAC协议的研究(选自IEEE eplore)

宋文邈, 刘严明, 张淑娥

电子与通信工程系

华北电力大学

保定, 中国

[email protected]



摘要—无线传感器网络在很多重要领域已经得到广泛的应用。然而,能源问题已经成为无线传感器网络的实际应用中的一大挑战。介质访问控制对能源消耗显著影响。在本文中,我们描述了一个高效节能SMAC协议,这是无线传感器网络一个众所周知的MAC协议。然后,我们介绍了TMAC协议,DMAC协议和SSMAC协议,这些协议的产生都是为了克服SMAC的缺陷。

 

关键词:无线传感网络:介质访问控制: 节能: SMAC协议: SMAC协议: DMAC协议: SMAC协议

Ⅰ无线传感器网络的介绍

    无线传感器网络是由几十到几千个具有感知,通信和计算能力的传感器节点,以自组织的方式所组成的一种无线智能网。传感器节点通过内部传感器采集各监测点的相关信息。传感器节点以节点间无线的、低功耗和多跳的方式传递和交换信息来实现自主地采集信息。无线传感器网络具有强大的获取数据能力,它可以在任何情况,任何时候,任何地方下工作。这使得无线传感器网络在许多重要领域,如军事,国防,医疗卫生,环境监测和交通管理等有着重要的应用前景。因此,它得到了世界各地许多国家的军事部门,工业界和学术界的高度重视,它也成为当今国内外研究热点的问题,被认为是十大影响21世纪的技术之一。

由于传感器节点的能量,处理能力,存储能力和通信能力都是非常有限。此外,网络拓扑结构非常复杂,网络的拓扑结构变化很快,因此,WSN在实际应用中面临很多的挑战。传感器节点是由能量有限的电池提供能量,并且很难进行充电和更换,从而,极易造成节点的异常工作。整个网络可能因为一个或多个节点停止工作而中断。因此,如何使网络低功率运行,使网络存活时间尽可能长已经成为无线传感器网络实际应用中所面临的主要技术挑战。

通过分析传感器节点,我们知道,射频模块消耗的能量是所有部件之间最多的。MAC协议对传感器节点的功耗具有很大影响,因为它直接控制射频模块。因此,有必要设计节能的WSNMAC协议。

Ⅱ导致能源消费的主要因素

为了设计一个高效节能的MAC协议,我们应该分析哪些因素导致能耗。通过大量的实验和理论分析,我们总结了造成传感器节点能量消耗的一些因素,如下:

 

空闲侦听

由于节点不知道什么时候该相邻节点发送数据给它。射频模块必须处于接收状态,以便接收发送给它的数据包。这种侦听会浪费很大的资源,尤其是在具有较低数据率的无线传感器网络中。

 

碰撞

在以竞争方式共享无线信道的情况下,当两个数据包在同一时间被发送时,会产生冲突,则报文必须随后重新发送。正如我们所知,传输数据需要能量。

 

偷听

当一个节点接收到发送到其它节点的数据包,该节点将处理这些不必要的数据,这将使得该无线接收模块和处理模块消耗更多的能量。

 

额外开销

发送,接收或侦听控制信息都需要消耗。因为控制包没有发送数据,只用于提供数据发送的方式。因此我们在保证数据信息可以正常发送的基础下,应尽可能多的减少控制消息的开销。

MAC层协议应该避免和减少上述因素导致的能耗。

Ⅲ. SMAC PROTOCOL

SMAC是专为无线传感器网络设计的最著名的协议之一。SMAC的设计旨在解决基于802.11MAC协议的无线传感器网络的节能需求。

SMAC采用了多项方式来减少我们上面所提到的能耗因素所带来的能源消耗:

 

A.周期性听和睡眠

    在许多传感器网络应用中,如果没有感知事件,节点将长时间处于空闲侦听状态。然而,空闲侦听需要消耗能量。此外,假设一个事实,即在此期间,数据传输速率是非常低的,那么在所有时间内保持节点侦听是没有必要的。 

为了减少空闲侦听,以降低能源消耗,SMAC采用了允许节点周期性地侦听和睡眠的机制。每个节点进入睡眠状态一段时间,然后通过定时器唤醒来重新开始侦听信道。在睡眠期间,该节点将关闭其射频模块,在这种方式中,节点可以节省一些能量。

 

一个完整的睡眠和侦听周期如图1所示,侦听的间隔根据物理层和MAC层参数,无线带宽和竞争窗口尺寸,通常是固定的。而一个应用程序的休眠间隔则根据不同的应用请求往往是有所不同的。

所有节点都可以选择自己侦听/睡眠机制.但是,在SMAC协议中,相邻节点往往会设置为同步模式,这样可以减少控制开销的开销。同步是通过周期性地交换包含发送者的地址和睡眠时间的同步数据包,在相邻节点之间相互发送来完成。

SMAC中,每个节点维护一个调度表,用于存储其所有已知邻居节点的时间表。建立的调度表的过程如下所示:

    a) 在一个节点开始工作后,它会监听一个固定的时间周期。在此期间,如果没有听到它的邻居的时间表,它会选择采用自己的时间表,并开始应用它。在此之后,该节点广播一个SYNC数据包,将自己的时间表告诉其他节点。

b) 若在该固定时间内节点接收到相邻节点的调度,它会将自己的时间表设定设定为与邻居节点相同。

c) 如果一个节点在已经选择了一个时间表的情况下接收到一个不同的时间表,此时有两种情况:如果该节点没有其他邻居,它将删除其目前的时间表,并采用新的:如果该节点有其他邻居节点,并且拥有相同的时间表,它会同时采用这两个时间表。

SMAC仅可以同步到局部节点,并导致了多个虚拟群集。由此,边界节点将消耗比其它节点更多的能量,这将导致其死亡早于其他节点。整个网络的连通性将因为边界节点的死亡而受到威胁,同时网络的寿命也会缩短。

 

B.碰撞和偷听避免

1) 让我们思考碰撞和偷听是如何发生的:

 

2中,当节点A发送数据到节点B时,我们假设节点只能直接从他们的相邻节点接收信息。由于EFAB的两跳之外,因此不会影响到AB的数据传输。让我们来分析节点CD,当A发送数据给B,若D打算将信息发送到FB将偷听到信息,因为D是它的直接邻居,因此,影响了A传输信息到B的过程。为避免碰撞,节点D应该进入睡眠状态。由于CA的直接邻居,当A发送数据给BC将同样接收到数据,因此,造成偷听。为了避免偷听,C同样的应该进入到睡眠状态。

    2)碰撞和偷听的避免机制:

为了避免碰撞和偷听,SMAC协议如下虚拟和物理载波侦听和request-to-send/clear-to-

sendRTS / CTS)的机制,如同802.11 MAC协议机制。

发送数据时,每个节点都将经历到RTS / CTS/ DATA/ ACK的通信过程。在被传输的每个数据包有一个的域值,域值表示完成通信过程的剩余时间。当在侦听时间源和目的节点的相邻节点的报文时,它们将记录的时间长度的值。同时,他们进入睡眠状态。在通信过程中随着时间的流逝剩余时间将减少。当剩余时间减小到零,如果该节点是在监听周期中,它将会被唤醒:否则,该节点将保持睡眠到下一监听周期。

 

C.自适应侦听

SMAC协议中,引入周期性休眠机制会增加延迟。而且,传感器网络通常采用多跳通信。这种周期性睡眠机制的延迟引入会导致延迟的积累。SMAC采用自适应侦听机制,以降低的累积效应。

该机制的基本思想是让偷听传输过程的节点在传输结束后仅仅唤醒一小段时间。如果是下一个接收器,那么数据可以立即传送到它,而不必根据其时间表等到醒来才传,这种方式降低了延迟。如果该节点在一定时间内没有收到任何数据,它关闭其收发器,然后实行正常的作息机制。

 

D.消息传递

当发送大量的数据包,如果在传输过程中发生错误时,需要重新发送长包。在传输过程中通常只有几个位被损坏,因此,我们将浪费了大量的能源重传那些没有被破坏的位。如果我们将长消息分成许多独立的小数据包,我们要付出大量的控制开销和更长的延迟代价。

为了降低RTSCTS的控制开销,SMAC保留用于传输的所有片段的介质,将长消息分成许多小碎片,并将它们一次性的进行传输。RTS / CTS的所有数据报文和控制开销有一个域值,表示了通信过程的剩余时间。

为了可靠地传送和向邻居节点广播,目标节点必须回复一个ACK每个数据片段。如果发送方没有接收到ACK时,它会增加1个或者更多个片段的传输时间,并立即重传当前片段。当源节点或者目标节点的邻居节点在睡眠时候五一偷听到数据包时,节点将记录时间长度值。同时,他们进入睡眠状态。在通信过程中记录的剩余时间将随着时间的推移慢慢减少。当剩余时间减小到零,如果该节点是在侦听周期,它将被唤醒:否则,该节点继续保持休眠,直到下一侦听周期。

TMAC协议

TMAC协议提出主要针对SMAC中启用的固定活动时间的机制。TMAC定义了五种类型的事件和一个用于确定关闭时间的计时器。五种事件是:帧长度为加长型‚已经接收到数据ƒ发送数据时发生碰撞④已完成发送数据或ACK⑤相邻节点已经完成数据的交换。

现在,让我们看到图3中所示的工作机制。如果RF模块在一个给定的时间内侦听到五个事件当中的任意一个时间TA,在该事件结束后重新计时。如果RF模块在接下来的一个TA中没有听到任何事件的发生,该通道将被认为是闲置,该节点将关闭其射频模块,同时将进入睡眠状态。

 

Ⅴ DMAC 协议

DMAC协议主要解决的是节点睡眠引起的延迟问题。

DMAC采用如图4所示的交错调度机制。传感器节点的周期被分成三个部分,分别称为接收时间,发送时间和睡眠时间。接收时间和发送时间都是个数据片段传输的周期。每个节点有一个时间表,每个时间表有它调动机制,当上层的节点准备好接收数据时,下层的节点开始发送数据。

 

在这种方式下,数据能够连续的从源节点传送到目的节点,这样,便实现了降低延迟。

Ⅵ  SSMAC协议

    为了提高边界节点的能量效率,一种同步传感器MAC协议被提出。

其主要思想是:当一个边界节点接收到来自其他簇发送的时间表,它将比较两个集群的节点数目,如果相邻的簇的数目为大于它自己的集群,边界节点将采用新的时间表并加入到新的集群。当进程在进行时,集群和边界节点将会最小化。

为了比较两个集群中的节点数目,SSMAC提出计算每个群集节点数目的方法。这种方法的主要思想是:在集群中的每个节点其子节点的数量,然后将数量告知其父节点。在这种方式中,集群的根节点获得集群节点的总数。同时,根节点将会一级一级的往下发送SYNC。这样,该集群中的每个节点都将知道集群中节点的总数,包括边界节点。现在,让我介绍一下SSMAC如何完成任务。

SSMAC,每个节点都有一个变量表,表中包含集群节点总数,节点等级,父节点,子节点数组[i]Num[i]

总数指的是集群中节点数量。等级表示节点在集群中的级别。父节点标识的上一级节点,子节点数组标识的是下一级节点数组,以及下属节点总数构成了Num数组。

我们在SYNC数据包中添加三个数据域。他们是SGLNAN。 SG是指发送方的水平标记。从LN中我们可以得知发送方子节点的数目。AN表示的发送节点所在簇的节点总数目。现在,让我们来看看这个过程:

 

    1)  如图5所示,在开始时,按照SMAC的方法同步所有节点,原始节点作为是集群的根节点。

a) 与第一级别的根节点同步的节点,与级别一节点同步的节点2

b) 当节点收到了带有等级标签SG和同步要求的SYNC时,节点将会设置自己的等级为SG+1

C) 在这一方式下,一个节点树便建立了。

2)  集群节点的数目的计算如图5b)所示。具体的计算过程如下:

a) 每个节点计算数字阵列的总数,并将总和写入到SYNC中的LN标签,同时将其进行广播。

b) 如果它的父节点接收到数据包,父节点会将LN写入到的相关的数组阵列。

c) 重复该过程,并且在结束时,根节点获取该簇的节点总数目。

d) 根节点将总数一级一级的往下广播,因此集群中的每个节点都知道节点总数。

    3)  整个过程如图5c)所示。

    4)  结果如图5d)所示。

致谢

感谢我的老师宋教授和张教授,他们给了我很多建议和帮助。在这里,我想表达我最真诚的感谢。我会更加努力,不辜负他们对我的期望,做到不让他们失望。

参考文献

[1] Ye W,Heinemann J,and Estrin D, “Medium access control with coordinated adaptive sleeping for Wireless Sensor Networks,”IEEE/ACM Transactions on Networking, pp. 493506, 2004

[2] Dam T V and Langendoen K, “An adaptive energy-efficient MAC protocol for wireless sensor networks,” proceddings of the 1st international conference on Embedded Networked Sensor Systems, pp.171180, 2003

[3] Jamieson K, Balakrishnan H, and Tay Y C, “Sift: A MAC protocol for event-driven wireless sensor networks,” MIT-LCS-TR-894, 2004

[4] JIANG Hua, YUAN Xiao-bing, WANG Peng, and LIU Hai-tao “Research of MAC Protocol for Wireless Sensor Cluster Networks,”Application Research of Computers, Vol.24 No.3 , March 2007

[5] WANG Lei, ZHANG Rui-hua, and XING Hou-zi, “Comparison study to MAC protocol on wireless sensor networks,” Computer Engineering and Design, Vol.27 No.21, Nov.2006

[6] LIU Jing-wei, Hao Fu-zhen, and YAN Chu-ping, “Improvement of energy efficiency in S-MAC protocol for wireless sensor networks,” Computer Engineering and Design, Vol.28 No.10, May 2007

[7] LI Feng,LI Yun,ZHAO Wei-liang and LIU Zhan-jun,“Efficient Adaptive MAC Protocol for Wireless Sensor Networks,” Application Research of Computers, Vol.24 No.3, March 2007

[8] YU Hai, ZHANG Wei-yong, FENG Lin, and QIAN Jun Research on the low power mechanism in MAC protocols of WSN,” JOURNAL OF HEFEI UNIVERSITY OF TECHNOLOGY, Vol.29 No.12, Dec.2006

[9] LIU Yan, LI De-shi, and TAO Wei-liang, “Study on MAC protocol in wireless sensor networks,” Transducer and Microsystem Technologies, Vol.26 No.3, 2007

[10] SHEN Zheng, YU Hong-yi, and LIU A-na, “Test Evaluation of an Improved S-MAC Protocol for WSN,” Journal of Information Engineering University, Vol.8 No.2, Jun. 2007

 

你可能感兴趣的:(WSNs的SMAC协议的研究)