基于异步竞争的无线传感器网络MAC层协议介绍(X-MAC ContikiMAC)
无线传感器网络(wireless sensor networks, WSN)节点由电池供电,其能力非常有限,同时由于工作环境恶劣以及其他各种因素,节点能源一般不可补充。因而降低能耗、延长节点使用寿命是所有无线传感器网络研究的重点。
WSN中的能量能耗主要包括通信能耗、感知能耗和计算能耗,其中通信能耗所占的比重最大,因此,减少通信能耗是延长网络生存时间的有效手段。同时,研究表明节点通信时Radio模块在数据收发和空闲侦听时的能耗几乎相同,所以要想节能就需要最大限度地减少Radio模块的侦听时间(收发时间不能减少),及减小占空比。
传统的无线网络中,主要考虑到问题是高吞吐量、低延时等,不需要考虑能量消耗,Radio模块不需要关闭,所以传统无线网络MAC协议无法直接应用于WSN,各种针对传感器网络特点的MAC协议相继提出。现有的WSN MAC协议按照不同的分类方式可以
分成许多类型,其中根据信道访问策略的不同可以分为:

竞争协议
节点通过竞争策略使用无线信道。
调度协议
根据一个设定的计划表来协调网络中各节点工作,需要节点之间比较严格的时间同步,而且一般协议实现比较复杂。
混合MAC协议
其中,基于竞争的MAC协议又可以进一步分为:

同步竞争类MAC协议
如:S-MAC T-MAC P-MAC SIFT等,所谓同步就是要求所有节点同步到一个共同点时间,这样网络中所有节点在相同时间唤醒并竞争使用信道,因为节点同时工作,所以该类协议信道效率较高,但随之而来的一个缺点就是竞争和冲突比较严重。该类协议在高负载下冲突较大,而低负载下空闲侦听较多,因而近年来基于此提出的新协议不多。
异步竞争类MAC协议
如:B-MAC Wise-MAC X-MAC RI-MAC/RP-MAC等,该类协议中所有节点维持自己独立的工作周期,收发双方不同步,因而发送节点发出数据时接收节点可能正处于睡眠状态,所以需要使用LPL(低功率侦听)前导序列技术唤醒接收节点。
不需要维持节点同步,但需要二维的唤醒能耗。
B-MAC协议

节点周期性得侦听网络,使用扩展前导和LPL(低功率侦听)技术实现低功耗通信,使用空闲信道评估技术进行信道裁决。协议原来如图1所示:

                 图1 B-MAC协议原理

1
节点在发送数据分组之前先发送一段长度固定的前导序列,序列长度要大于接收方睡眠时间,以免接收节点睡眠过程错过前导序列。
B-MAC协议无需共享调度信息,可以有效缩短唤醒时间。节点在任意时刻都可以发送,而不用像同步协议中那样必须等待到下一个工作周期。
优点:

最显著的优点就是低功耗侦听,使得节点每次唤醒后侦听信道的时间非常短,特别当网络流量较小或没有流量时,能显著降低能耗。
节点不需要保持同步,因而协议实现非常简单。
缺点:
长前导序列使得数据分发的效率非常低,邻居节点的串音非常严重,而且极大地增加了时延。
B-MAC协议定义了WSN中常用的异步占空比的基本结构,Wise-MAC X-MAC等协议都是基于此的改进。

Wise-MAC协议

核心思想:让发送节点知道接收节点何时唤醒,因而发送节点只需要在接收节点醒来之前开始发送极短的前导序列(不需要再像B-MAC那样发送一个大于睡眠时间的长前导序列)就可以发起通信。
Wise-MAC中将接收节点的调度信息嵌入在确认包中,在每次数据发送完毕发回给发送节点。并在前导序列中对时钟漂移进行了补偿,当网络流量较小时需要的补偿量较大,反之亦然。这在一定程度上使得Wise-MAC具有流量自适应性。协议原理如图2所示:

           图2 Wise-MAC协议原理图

1
由于限制了前导序列的长度,Wise-MAC无论用于数据收发还是侦听的能耗都比B-MAC有了显著改善,平均延时仅需要半个侦听间隔的时间,也缩减为B-MAC的一半。而且前导序列的动态性使得协议在动态网络负载中表现优越。
缺点:

当网络负载很小时,其前导序列长度几乎等于节点的侦听间隔(第一次发送时没有邻居节点的调度信息,还需要发送长前导序列),这将导致Wise-MAC协议退化到B-MAC。
广播消息时为了唤醒所有邻居,必须使用完整的长前导序列。
X-MAC协议

X-MAC协议也基于B-MAC协议的改进,改进了其前导序列过长的问题,将前导序列分割成许多频闪前导(strobed preamble),在每个频闪前导中嵌入目的地址信息,非接收节点尽早丢弃分组并睡眠。
X-MAC在发送两个相邻的频闪序列之间插入一个侦听信道间隔,用以侦听接收节点的唤醒标识。接收节点利用频闪前导之间的时间间隔,向发送节点发送早期确认,发送节点收到早期确认后立即发送数据分组,避免发送节点过度前导和接收节点过度侦听。
X-MAC还设计了一种自适应算法,根据网络流量变化动态调整节点的占空比,以减少单跳延时。
优点:
X-MAC最大的优点是不再需要发送一个完整长度的前导序列来唤醒接收节点,因而发送延时和收发能耗都比较小;节点只需监听一个频闪前导就能转入睡眠。
缺点:
节点每次醒来探测信道的时间有所增加,这使得协议在低负载网络中能耗性比较差。而且分组长度、数据发送速率等协议参数还需进一步确定
X-MAC原理图如图3所示:

                图3 X-MAC协议原理图

1
关于x-mac详细资料可以看其论文:

Buettner M, Yee G V, Anderson E, et al. X-MAC: a short preamble MAC protocol for duty-cycled wireless sensor networks[J]. Sensys, 2006, 14(4):307-320.
ContikiMAC协议

Contiki系统中专门从MAC层分离出RDC(Radiio Duty Cycing)层来负责控制无线收发器的开启和关闭来降低功耗。
ContikiMAC为contiki默认的RDC层协议。

ContikiMAC协议中使用的主要机制:

时间划分
快速睡眠
锁时优化
ContikiMAC只使用了异步的机制,没有标识信息也没有附加的消息头,它的数据也都是普通的链路层消息。

时间划分:
ContikiMAC协议具有一个基于传输过程中精确时间度量的、能量高效的唤醒技术。的唤醒技术利用一种价格低廉的CCA(空闲信道检测)机制来实现这种机制使用无线电收发器的RSSI(接收信号强度指示值)来判断指定信道的状态。
ContikiMAC中的时间划分必须满足一系列的限制。如图4:

             图4 ContikiMAC中的时间划分

1
要求:ta+td< ti< tc< tc+2tr< ts
ti:每次数据传输之间的时间间隔
tr:进行一次稳定的RSSI指示所需要的时间
tc:两次CCA检测之间的时间间隔
ta:手段数据包和发送ACK消息的时间间隔
td:从接收节点那里成功检测到一个ACK消息所需的时间
在IEEE 802.15.4标准下,不等式中一些变量被固化,如IEEE802.15.4标准定义的ta值为12个时间点我,在802.15.4中,一个时间单位是4/250ms.然后td=40/250,tr是由cc2420无线收发器的特性决定的,tr=0.192ms,不等式变为:
0.352< ti< tc< tc+0.384 < ts
给出了ts的下限,0.736ms(0.352+0.384),这也为我们的能传输的最小报文长度设了限制。对其它参数,contiki系统中使用时间参数配置为:
ti=0.4ms tc=0.5ms ts=0.884ms

快速睡眠:
contikiMAC中的并不实质性地检测数据传输,而只是检测无线信道的信号强度是否在特定的门限值之上。
如果一个邻居节点在向当前的接收节点发送数据,接收节点应该保持唤醒状态来保证接收到完整的数据包,然后需要发送一个回执。检测到该数据包的其它节点则可以快速切换回睡眠状态。然而,潜在的接收节点并不能立即回去睡眠,因为它们必须保证接收到完整的数据包。在检测之后,最安全的保持唤醒状态的时间是tl+ti+tl这里表示最长数据包所需的传输时间。
当由于检测到错误的无线噪声而唤醒时,的快速睡眠机制使潜在的接收节点可以早些进入休眠状态。这种优化机制利用了中的特定传输模式。

若CCA检测到活动,但信道活动状态的时间比tl还要长,说明CCA检测到的是噪声,节点返回睡眠
如果信道活动状态过程之后有一段比ti更长的静止,则返回睡眠。
若活动状态后有一段正确的静止长度,但接收节点检测不到任何数据报文头,返回睡眠。
快速睡眠如图5所示:

              图5 快速睡眠

1
锁时优化(phase-lock):
该机制类似于Wise-MAC,假设传感器网络中的每个接收节点都有一个周期的、稳定的唤醒时间间隔,则发送节点可利用接收节点的唤醒时间来优化传输过程,这就是锁时优化机制。
当发送节点检测到从接收节点返回的回执消息时,它会记录下检测到的时间,并以此判断出接收节点的唤醒时间。由于接收节点必须保持唤醒状态来保证完整地接收报文,则发送节点可假设收到消息意味着发送节点在接收节点唤醒状态的时间窗内成功向其发送了一个数据包,由此发送节点便可以知道其唤醒时间。在发送节点了解其唤醒时间之后,发送节点便可以在接收节点应该是唤醒状态的时候向其传输数据包。

             图6 锁时优化

1
关于contikimac的论文请阅读:

Dunkels A. The ContikiMAC Radio Duty Cycling Protocol[J]. Swedish Institute of Computer Science, 2012.
————————————————
版权声明:本文为CSDN博主「xiangwenchao712」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/vincentXWC/java/article/details/50095073

基于异步竞争的无线传感器网络MAC层协议介绍(X-MAC ContikiMAC)相关推荐

  1. 搬砖:新一代基于UDP的低延时网络传输层协议——QUIC详解

    技术扫盲:新一代基于UDP的低延时网络传输层协议--QUIC详解 本文来自腾讯资深研发工程师罗成的技术分享,主要介绍 QUIC 协议产生的背景和核心特性等. 1.写在前面 如果你的 App,在不需要任 ...

  2. QUIC详解(基于UDP的低延时网络传输层协议)

    一.QUIC 协议概述 Quic 全称 quick udp internet connection [1],"快速 UDP 互联网连接",(和英文 quick 谐音,简称" ...

  3. 基于嵌入式系统linux无线传感器网络软件平台,基于嵌入式网络的无线传感器网络平台硬件和软件实现...

    简要介绍资料的基于嵌入式网络的无线传感器网络平台硬件和软件实现主要内容,以获得更多的关注 随着技术的发展,基于分布式.无线传感器网络的应用也越来越多.本文提出了一个基于嵌入式系统的无线传感器网络实验平 ...

  4. 无线传感器网络标准化与协议分析

    无线传感器网络作为一门面向应用的研究领域,在近几年获得了飞速发展.在关键技术的研发方面,学术界从网络协议.数据融合.测试测量.操作系统.服务质量.节点定位.时间同步等方面开展了大量研究,取得丰硕的成果 ...

  5. Linux网络编程(网络七层协议,TCP/IP,三次握手四次挥手,TCP/UDP的区别)

    1.OSI 7层网络模型 1.网络七层协议 (1)OSI定义了网络互连的七层框架(物理层.数据链路层.网络层.传输层.会话层.表示层.应用层),即ISO开放互连系统参考模型. (2)各层功能定义 这里 ...

  6. 网络七层协议 五层模型 TCP连接 HTTP连接 socket套接字

    socket(套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程 ...

  7. 无线个人区域网WPAN 802.11局域网的MAC层协议 CSMA/CA

    目录 802.11物理层 802.11局域网的MAC层协议 无线局域网的特殊问题 CSMA/CA协议(Colision Avoidance) 802.11的MAC层​ CSMA/CA协议的原理 为什么 ...

  8. 无线传感网的MAC层协议

    非理想特性: 无线传感网的协议栈 MAC层的帧结构 MAC层协议:           功能:数据成真,真校验,             传感器节点之间分配和共享无线传感网节点           M ...

  9. 网络七层协议和网络状态报错误对应表

    网络七层协议: 7应用层:协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP 功能:文件传输.电子邮件.文件服务.虚拟终端   6表示层:格式 ...

最新文章

  1. 一些关于流量和带宽的知识
  2. web.config中配置字符串中特殊字符的处理
  3. 无偏移谷歌瓦片地址_[转]OpenStreetMap/Google/百度/Bing瓦片地图服务(TMS)
  4. 计算机软件知识pdf,[计算机软件及应用]PDF基础知识.doc
  5. JAVA多线程----用--取钱问题1
  6. 对数字信号处理中各种频率以及分辨率的理解
  7. 音乐艺考生如何提高视唱练耳技巧
  8. Jsp生成静态页面(转)
  9. xxlJob定时任务,文章的上下架
  10. 使用bootstrap时下拉菜单失效问题解决
  11. 阿狸html浪漫代码,好看可爱的阿狸空间留言代码_阿狸 你的乖巧我学不来
  12. 菜鸟刷题之路——Q5
  13. BZOJ4765 普通计算姬
  14. 超超超简单Typora修改字体颜色
  15. How to configure Copyright Profiles in IntelliJ IDEA
  16. 可视化小项目-全国房价分析
  17. 100多个flash常见问题大收集
  18. 成功的经验 失败的教训
  19. U-App 升级剧透,你不抢个内测账号?
  20. Nodejs-npm

热门文章

  1. 分享我的电子藏书:工具手册系列(共10本)
  2. 通达信指标公式颜色代码的四种写法(COLOR/RGB)
  3. PHP preg_match函数
  4. 企业办公新模式,随时随地云上协同!
  5. 计算机网络概念入门(十一)
  6. mysql sum 重复计算_mysql join sum时数据重复问题及解决方案
  7. 机器学习面试题之——LR问题集合
  8. HTML(二)语义化、核心常用元素
  9. 中国剩余定理(孙子定理)+ exgcd求逆元
  10. Java设计模式-策略模式(Strategy)