文档介绍:无线传感器网络S-MAC协议研究江雪(munications,Nanjing210003)基金项目:国家自然科学基金(60372107)摘要:传感器节点能量受限,节能是传感器网络中媒体访问控制(MAC)协议设计的首要问题。采用周期性睡眠机制、自适应侦听机制、串音避免机制和消息传递机制可使得传感器媒体访问控制(S-MAC)协议在网络能耗和时延方面得到改进。对S-MAC协议的改进主要有两种方式:动态调整、区别控制包与数据包的发送条件进行发送。对无线传感器网络,要想设计出一种满足各方面要求的MAC协议是不现实的,可针对不同应用的要求,灵活采用不同的方式,设计出相应的协议。无线传感器网络通常包含大量自组织的分布式节点。由于其组网快捷、灵活,且具有不受有线网络约束的优点,可广泛应用于紧急搜索、灾难救助、军事应用等特殊环境,因而具有广泛的应用前景。由于传感器节点能量受限,节能成为传感器网络媒体访问控制(MAC)协议设计首要的问题。由文献[1]可以看到传感器媒体访问控制(S-MAC)协议就是针对传感器网络的节能需求而提出的。周期性睡眠机制、自适应侦听机制、串音避免机制和消息传递机制使得S-MAC协议在网络能耗和时延方面的性能很优越,但距离实际应用的要求还有一段差距。1S-MAC协议介绍S-,设计的主要目标是减少能量消耗,提供良好的扩展性。其主要实现机制包括周期性侦听和睡眠、串音避免、消息传递和流量自适应侦听。-MAC协议实现的关键技术(1)数据包的嵌套结构MAC:媒体访问控制图1S-MAC协议中数据包格式CRC:循环冗余校验MAC:媒体访问控制图2S-MAC协议的堆栈的网络模型S-MAC协议数据包的嵌套结构如图1所示。在S-MAC协议中,上一层数据包包含了下一层数据包的内容。数据包传送到哪一层,那一层只需要处理属于它的部分。(2)堆栈结构和功能在S-MAC协议堆栈内,当MAC层接收到上层传送过来的数据包后,它就开始载波侦听。如果结果显示MAC层空闲,它就会把数据传到物理层;如果MAC层忙,它将会进入睡眠状态,直到下个可用时间的到来,再重新发送。当MAC层在收到物理层传送过来的数据包后,先通过循环冗余校验(CRC)表示没有错误,MAC层就会将数据包传向上层。具体网络模型如图2所示。(3)选择和维护调度表在开始周期性侦听和睡眠之前,每个节点都需要选择睡眠调度机制并与邻居节点一致。如何选择和保持调度机制分为以下3种情况:(a)节点在侦听时间内,如果它没有侦听到其他节点的睡眠调度机制,则立即选择一个睡眠调度机制。(b)当节点在选择和宣布自己的调度机制之前,它收到了邻居节点广播的睡眠调度机制,它将采用邻居节点的睡眠调度机制。(c)当节点在选择和广播自己的睡眠调度机制之后,收到几种不同的睡眠调度机制时,就要分以下两种情况考虑:当节点没有邻居节点的时候,它会舍弃自己当前的睡眠调度机制,采用刚接收到的睡眠调度机制;当节点有一个或更多邻居节点的时候,它将同时采用几种不同的调度机制。(4)时间同步在S-MAC协议中,节点与邻居节点需要保持时间同步来同时侦听和睡眠。S-MAC协议采用的是相对而不是绝对的时间戳,同时使侦听时间远大于时钟误差和漂移,来减少同步误差,并且节点会根据收到的邻居节点的数据包来更新自己的时间,从而与邻居节点保持时间同步。(5)带冲突避免的载波侦听多路访问带冲突避免的载波侦听多路访问(CSMA/CA)的基本机制是在接收者和发送者之间建立一个握手机制来传输数据,这种握手机制是:由发送端发送一个请求发送(RTS)包给它的接收者,接收者在收到以后就回复一个准备接收(CTS)包,发送端在收到CTS包后,开始发送数据包,RTS与CTS之间的握手是为了使发送端和接收端的邻居节点知道它们正在进行数据传输,从而减少传输碰撞。(6)网络分配矢量在S-MAC协议中,每个节点都保持了一个网络分配矢量(NAV)来表示邻居节点的活动时间,S-MAC协议中在每个数据包中都包含了一个持续时间指示值,持续时间指示值表示目前这个通信需要持续的时间。邻居节点不论是收到发送者或接收者发往其他节点的数据包的时候,它就可以知道它需要睡眠多久,即用数据包中的持续时间更新NVA的值,当NVA的值不为零的时候,节点应该进入睡眠状态来避免串音。当NVA变为零的时候,它就马上醒来,准备进行通信。-MAC协议的网络性能分析(1)能量在无线传感器网络中造成能源消耗的主要因素包括下列几方面:空闲侦听、竞争冲突、串扰和控制开销。S-MAC协议针对这些能耗的主要因素,制订了相应的机制。节点采用周期性的睡眠和侦听机制,使节点周期性地进入睡眠状态,减少空闲侦听的能耗;采用串音避免机制使会干扰正在进行通信的节点进入睡眠状态,减少串扰的能耗;采用消息传