首页 理论教育 S-MAC协议:典型MAC协议的一种

S-MAC协议:典型MAC协议的一种

时间:2023-06-26 理论教育 版权反馈
【摘要】:3)串音避免为了减少碰撞和避免串音,S-MAC协议采用与802.11 MAC协议类似的虚拟和物理载波侦听机制以及RTS/CTS的通告机制。相对于IEEE 802.11 MAC的消息传递机制,S-MAC协议不同之处如图3-17所示。图3-17S-MAC协议与IEEE 802.11协议的突发分组传送

S-MAC协议:典型MAC协议的一种

S-MAC(Sensor MAC)协议[2]是在802.11 MAC协议的基础上,针对传感器网络的节省能量需求而提出的传感器网络MAC协议。S-MAC协议假设通常情况下传感器网络的数据传输量少,结点协作完成共同的任务,网络内部能够进行数据的处理和融合以减少数据通信量,网络能够容忍一定程度的通信延迟。它的主要设计目标是提供良好的扩展性,减少结点能量的消耗。

针对碰撞重传、串音、空闲侦听和控制消息等可能造成传感器网络消耗更多能量的主要因素,S-MAC协议采用以下机制:周期性侦听/睡眠的低占空比工作方式,控制结点尽可能处于睡眠状态来降低结点能量的消耗;邻居结点通过协商的一致性睡眠调度机制形成虚拟簇,减少结点的空闲侦听时间;通过流量自适应侦听机制,减少消息在网络中的传输延迟;采用带内信令来减少重传和避免监听不必要的数据;通过消息分割和突发传递机制来减少控制消息的开销和消息的传递延迟。下面详细描述S-MAC协议采用的主要机制。

1)周期性侦听和睡眠

为了减少能量消耗,结点要尽量处于低功耗的睡眠状态。每个结点独立地调度它的工作状态,周期性地转入睡眠状态,在苏醒后侦听信道状态,判断是否需要发送或接收数据。为了便于相互通信,相邻结点之间应该尽量维持睡眠/侦听调度周期的同步。

每个结点用SYNC消息通告自己的调度信息,同时维护一个调度表,保存所有相邻结点的调度信息。当结点启动工作时,首先侦听一段固定长度的时间,如果在这段侦听时间内收到其他结点的调度信息,则将它的调度周期设置为与邻居结点相同,并在等待一段随机时间后广播它的调度信息。当结点收到多个邻居结点的不同调度信息时,可以选择第一个收到的调度信息并记录收到的所有调度信息。如果结点在这段侦听时间内没有收到其他结点的调度信息,则产生自己的调度周期并广播。在结点产生和通告自己的调度后,如果收到邻居的不同调度,分两种情况处理:如果没有收到过与自己的调度相同的其他邻居的通告,则采纳邻居的调度而丢弃自己生成的调度;如果结点已经收到过与自己的调度相同的其他邻居的通告,则在调度表中记录该调度信息,以便能够与非同步的相邻结点进行通信。

这样,具有相同调度的结点形成一个虚拟簇,边界结点记录两个或多个调度。在部署区域广阔的传感器网络中,能够形成众多不同的虚拟簇,可使得S-MAC具有良好的扩展性。为了适应新加入的结点,每个结点都要定期广播自己的调度,使新结点可以与已经存在的相邻结点保持同步。如果一个结点同时收到两种不同的调度,如图3-16中处于两个不同调度区域重合部分的结点,那么这个结点可以选择先收到的调度并记录另一个调度信息。

图3-16 S-MAC协议的虚拟簇

2)流量自适应侦听机制(www.xing528.com)

传感器网络往往采用多跳通信,而结点的周期性睡眠会导致通信延迟的累加。在SMAC协议中,采用了流量自适应侦听机制,以减少通信延迟的累加效应。它的基本思想是在一次通信过程中,通信结点的邻居结点在通信结束后不立即进入睡眠状态,而是保持侦听一段时间。如果结点在这段时间内接到RTS分组,则可以立刻接收数据,无须等到下一次调度侦听周期,从而减少了数据分组的传输延迟。如果在这段时间内没有接到RTS分组,则转入睡眠状态直到下一次调度侦听周期。

3)串音避免

为了减少碰撞和避免串音,S-MAC协议采用与802.11 MAC协议类似的虚拟和物理载波侦听机制以及RTS/CTS的通告机制。两者的区别在于当邻居结点处于通信过程中时,S-MAC协议的结点进入睡眠状态。

每个结点在传输数据时,都要经历RTS—CTS—DATA—ACK的通信过程(广播包除外)。在传输的每个分组中,都有一个域值表示剩余通信过程需要持续的时间长度。源结点和目的结点的邻居结点在侦听期间侦听到分组时,记录这个时间长度值,同时进入睡眠状态。通信过程记录的剩余时间会随着时间不断减少。当剩余时间减至零时,若结点仍处于侦听周期,就会被唤醒;否则,结点处于睡眠状态直到下一个调度的侦听周期。每个结点在发送数据时,都要先进行载波侦听,只有在虚拟或物理载波侦听表示无线信道空闲时,才可以竞争通信过程。

4)消息传递

因为传感器网络的内部数据处理需要完整的消息,所以S-MAC协议利用RTS/CTS机制,一次预约发送整个长消息的时间;又因为传感器网络的无线信道误码率高,S-MAC协议将一个长消息分割成几个短消息在预约的时间内突发传送。为了能让邻居结点及时获取通信过程剩余时间,每个分组都带有剩余时间域。为了可靠传输以及通告邻居结点正在进行的通信过程,目的结点对每个短消息都要发送一个应答消息。如果发送结点没有收到应答消息,则立刻重传该短消息。

相对于IEEE 802.11 MAC的消息传递机制,S-MAC协议不同之处如图3-17所示。图中S-MAC的RTS/CTS控制消息和数据消息携带的时间是整个长消息传输的剩余时间。其他结点只要接收到一个消息,就能够知道整个长消息的剩余时间,然后进入睡眠状态直至长消息发送完成。IEEE 802.11 MAC协议考虑网络的公平性,RTS/CTS只预约下一个发送短消息的时间,其他结点在每个短消息发送完成后都不必醒来进入侦听状态。只要发送方没有收到某个短消息的应答,连接就会断开,其他结点便可以开始竞争信道。

图3-17 S-MAC协议与IEEE 802.11协议的突发分组传送

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈