王朝百科
分享
 
 
 

S-MAC协议

王朝百科·作者佚名  2011-03-22  
宽屏版  字体: |||超大  

无线传感网络的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有效地标识由于侦听和碰撞产生的能量消耗。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有