S-MAC协议


请输入要查询的词条内容:

S-MAC协议


无线传感网络的MAC协议的S-MAC协议概述

S-MAC包括了从各种能量消耗方式中节省能耗的方法,比如:空闲侦听、冲突、串音和控制开销。在描述 S-MAC的构成之前,我们首先概述关于无线传感网络及其应用的设想。

传感网络由多个节点组成,利用短距离多跳通信来保存能量,大部分通信都发生在对等节点之间。网内处 理对网络生存期很重要,也就是暗示数据将作为整个消息以存储转发的方式进行处理。最后,我们假设应用 将具有很长一段空闲时间,并且能够容忍网络传递时间顺序的延迟。

1.周期性侦听和休眠

如上所述,在多数传感网络应用中,如果没有感测到事件发生,节点将长期空闲。我们假设这样一个事实 ,在该段时期内数据速率非常低,因此没有必要使节点一直保持侦听。S-MAC通过让节点处于周期休眠状态 来降低侦听时间,每个节点休眠一段时间,然后唤醒并侦听是否有其他节点想和它通信。在休眠期间,节点 关闭无线装置,并设置定时器,随后来唤醒自己。

侦听和休眠的一个完整周期被称为一帧。侦听间隔通常是固定的,根据物理层和MAC层的参数来决定,比 如无线带宽和竞争窗口大小。占空比指侦听间隔与整个帧长度之比。休眠间隔可能根据不同的应用需求而改 变,它实际上改变占空比。简单而言,这些值对所有的节点都是一样的,所有节点都可以自由选择它们各自 的侦听/休眠时间表。然而,为了降低控制开销,我们更希望邻居节点保持同步,也就是说它们同时侦听和 同时进入休眠。值得注意的是,在多跳网络中不是所有的邻居节点都能够保持同步。如果节点A和节点B必须 分别与不同的节点C和节点D同步,那么节点A和节点B可能具有不同的时间表,邻居节点A和B具有不同的时间表,它们分别与节点C和节点D保持同步。

节点通过周期地向它们的直接邻居广播SYNC包来交换它们的时间表。一个节点在预定侦听时间与它的邻居 节点通信,以确保所有邻居节点能够通信,即使它们具有不同的时间表。比如在图3.2中,如果节点A想与 节点B通信,节点A必须等待直到节点B在侦听c一个节点发送一个SYNC包的时间称为同步时间。S-MAC的一个 特征是它将节点形成一个平面型的对等拓扑结构,不像簇协议,SMAC不需要通过簇头协作。相反,节点在公 用时间表形成虚拟簇,与对等节点之间直接通信。该方法的一个优点是在拓扑发生变化时,它比基于簇方法 健壮。该机制的不足是由于周期休眠增加了延迟,而且,延迟有可能在每跳积聚。在后面将介绍一种能够较大程度降低延迟的技术协同休眠.

2.冲突避免

如果多个邻居节点同时想与一个节点通信,它们将试图在该节点开始侦听时发送消息,在该情况下,它们需要竞争媒体。在竞争协议中,IEEE 802.II在冲突避免这方面做得很好。S-MAC遵循类似的流程,包括虚拟载波侦听和物理载波侦听,解决隐藏终端问题的RTS/CTS(请求发送/清除发送)交换。每个传输包中都有一个持续时闾域来标识该包要传输多长时间,如果一个节点收到一个传输给另外一个节点的包,该节点就能从持续时间域知道在多长时间内不能发送数据。节点以变量形式记录该值,被称为网络分配矢量(NAV),NAV可以被看成一个计时器,每次计时器开始计时,节点递减它的NAV,直到减少到0。在传输之前,节点首先检查它的NAV,如果它的值不为0,节点就认为媒体忙,这被称为虚拟载波侦听。物理载波侦听在物理层执行,通过侦听信道进行可能的传输。载波侦听时间是竞争窗口内的一个随机值,以避免冲突和饥饿现象。如果虚拟载波侦听和物理载波侦听都标识媒体空闲,那么媒体就是空闲的。

在开始传输前,所有发送者都执行载波侦听。如果一个节点没有获得媒体,它将进入休眠,当接收机空闲和再一次侦听时唤醒。广播分组的发送不需要RTS/CTS,单播分组在发送者和接收者之间遵循RTS/CTS/DATA/ACK序列。RTS和CTS成功交换后,两个节点将利用它们的休眠时间进行数据分组传输,直到它们完成传输后才遵循它们的休眠时间表。在每个侦听间隔内,由于占空比操作和竞争机制,S-MAC有效地标识由于侦听和碰撞产生的能量消耗。

相关分词: S-MAC MAC 协议