无线传感器网络的MAC协议全解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于竞争的MAC层协议
DMAC协议
数据预测机制 ◆在数据采集树中,越靠近上层的节点,汇聚的数据越多,对树的 底层节点适合的占空比不一定适合中间节点 ◆如果一个节点(父节点)在接收状态下接收到一个数据包,该节 点预测子节点仍有数据等待发送。在发送周期结束后再等待3μ个周 期,节点重新切换到接收状态 ◆在前一周期竞争信道失败的子节点侦听到父节点的ACK帧,知道 父节点将在3μ后醒来,据此调整自身调度计划,在3μ后唤醒自己与 父节点建立通信
串扰(Overhearing)
◆节点是以广播的形式发送消息的,广播范围内的节点就可能接收 到发向其他节点的数据包,造成串音干扰。 ◆当节点密度很大或者需要传输的数据很多的时候,串扰消耗的能 量也是很可观的。为尽量避免这种情况,节点应该在无数据收发时 关闭其接收器。
MAC层能耗来源
控制信息开销(Control packet overhead)
基于竞争的MAC层协议
S-MAC协议
基于竞争的MAC层协议
有“自适应侦听”机制的S-MAC协议
◆节点A、B确立通信关系时,节点C通过B的CTS帧内duration(持续 时间)字段得知信道通信结束时间。 ◆在节点A、B传输结束时,C立即唤醒自己,与B建立通信关系。 ◆两跳外的节点不参与其中。
◆优点:提高通信效率。
◆对以上不足的改进,提出了T-MAC协议:在保持周期侦听长度不 变的情况下,根据通信流量动态调整节点活动时间,用突发方式 发送消息,减少空闲侦听时间。其主要特点是引入了一个TA时隙。
基于竞争的MAC层协议
T-MAC协议
在节点活动周期内(SYNC、DATA),如果在一个给定的时间段TA内 没有发生特定事件(定时器超时、接收到数据、发现无线信道、监 听RTS/CTS,确认邻居节点完成数据传输等),则节点提前结束活动 进入睡眠状态。
k-1
]中,随机取出一个数R,令退避时间为
◆如数据帧在重传16次后仍无法成功发送,则认为传输失败并报告 给高层协议
MAC层能耗来源
空闲侦听(Idlelistening)
◆射频模块处于活动状态会消耗大量的能源。这是节点能量消耗的 最主要来源,射频收发器处于接收模式时消耗的能量比其处于待命 模式多两个数量级。 ◆为避免冲突,节点也需要不断的侦听信道,查询信道是否被占用。 空闲侦听的代价也是很大的。
基于竞争的MAC层协议
DMAC协议
MTS(More To Send)帧机制
◆必要性:虽然自适应占空比机制和数据预测机制考虑了冲突避免, 数据采集树中不同分枝节点仍有冲突的可能 ◆MTS帧只包含目的地址和MTS标志位。标志位为1时称为MTS请求, 标志位为0时称为MTS清除 ◆发送或接收到MTS请求的节点每隔3μ个周期就唤醒一次,只有 MTS请求已经被清除时,节点才回到原来的忙闲比方式
基于竞争的MAC层协议DM来自C协议Rx Rx Tx Tx sleep sleep Rx Rx Tx Tx
Rx Rx Rx Tx Tx
Tx sleep
sleep Rx Tx
Rx Tx
Tx
sleep
Rx
More to Send packet More Data Flag Data Prediction
无线传感器网络 的MAC协议
MAC协议概述
无线传感器网络的MAC层协议决定了如何使用无线 信道进行通信,以确保不同节点在同一时间进行消 息收发时不会造成碰撞。 降低能耗:MAC协议应在保持正常通信的前提下尽量降低设备的忙 闲比。
可扩展性:MAC协议必须能够适应无线传感器网络拓扑结构的动态 变化。
错误处理:MAC协议必须避免那些已知的和可能出现的错误情况, 以保证通信的可靠。
CSMA机制
MAC层CSMA/CA机制
数个节点进入退避阶段,如选择的退避时间一致,有可能会发生 碰撞,CSMA采用二进制指数退避机制规避再次碰撞。 ◆确定基本退避时间(基数),一般定为2T,即一个竞争窗口 ◆定义K为重传次数,K=min[重传次数,10] ◆从集合[0,1,2,···,2 t=R×2T
MAC层能耗来源
碰撞冲突(Collision)
◆两个以上节点在同时向一个节点发送数据帧,目的点发生数据冲 突,信号相互干扰,数据帧被破坏,源节点需重新发送。发送和接 收错误数据的能量被损耗,造成了能量浪费和信息延迟。 ◆利用RTS/CTS握手机制可解决冲突问题,但带来额外的协议开销。
MAC层能耗来源
CSMA机制
CSMA机制(虚拟载波监听)
虚拟载波监听
源站将还需占用信道的时间在
MAC 帧头字段“持续时间”中指 示给所有其他站,其他站会在这 段时间都停止发送数据。
“虚拟”是指其他站未真正监
听信道,而是检测源站发送帧中 的“持续时间”才不发送数据。 当一个站检测到正在信道中传 送的 MAC 帧首部的“持续时间” 字段时,就调整自己的网络分配 向量 NAV (Network Allocation Vector)。
活跃时间可延长
DMAC协议基本机制
基于竞争的MAC层协议
DMAC协议
自适应忙闲比机制 ◆如果节点在一个发送周期内有多个数据包要发送,就需要该节 点和树状路径上的上层节点一起加大发送周期占空比 ◆通过在MAC层数据帧的帧头加入一个标记(more data flag),以较 小的控制开销发送占空比更新请求。在ACK帧中加入同样的标记位 ◆节点提高忙闲比的条件:节点将相关标志位置1,或收到了该标 志位置1的ACK帧,传输路径上的节点依次提高忙闲比,增加了网 络的数据传输量。
基于竞争的MAC层协议
S-MAC协议
基本思想
周期性侦听/睡眠的工作方式(能量) 一致性的睡眠调度机制(空闲侦听) 流量自适应的侦听机制(减少延迟) 消息分割和突发传递(控制消息和消息延迟)
S-MAC协议的不足 ◆忙闲比固定,无法适应载 荷的动态变化 ◆节点休眠带来时延,不适 合实时性要求高的网络 ◆网络复杂、规模大的网络, 能耗较大
减少碰撞
减少控制 消息的能 量开销
基于竞争的MAC层协议
S-MAC协议
◆被同步节点:节点在决定自身调度计划前接受到其他节点的调度 计划,将收到的计划作为自身的调度计划。 ◆同步者:侦听过了既定时间段后,未收到其他调度计划,即将自 身的调度计划广播出去。 ◆在簇状拓扑结构时,簇内节点的调度计划是一致的。 ◆边界节点:节点在设置了自身调度计划后,又收到一份不同的调 度计划,则会同时采纳两种调度计划。边界节点多见于桥接两个不 同簇的节点,会按照两个簇的唤醒时间进行睡眠管理。
CSMA机制
MAC层“隐藏节点”效应
如只使用 CSMA机制,侦听到信道 “闲” 可能结果不正确,由于: 1.隐蔽站问题 ---- 发送方侦听不到: A, C 不能互相听到,中间有障碍物、信 号衰减,A、C 于是都发给 B, B 处此时会产生冲突。 2.信号强度衰减问题 ---- C 在发送,由于信号传输衰减,传到 A 处时,A 听 不到,A 以为听到信道闲,也发, 接收站 B 处此时产生冲突。 Signal strength
NAV
指出了必须经过多少时间才能 完成数据帧的这次传输,才能使信道 转入到空闲状态。
CSMA机制
CSMA机制的原则
先听后讲 ◆信道空 闲则发送 碰撞即停 ◆信道发生 碰撞,则停 止发送 边听边讲 ◆发送信号 时不断检测 信道是否碰 撞 退避重传 多次碰撞, 放弃发送 ◆最多重传 16次
CSMA机制
S-MAC协议的优势 ◆扩展性好 ◆载荷不大的情况下,能耗 较少 ◆串音避免 ◆适应上层协议的分簇机制
基于竞争的MAC层协议
T-MAC协议
◆T-MAC(Timeout MAC)协议,实际上是S-MAC协议的一种改进。 S-MAC协议的周期长度受限于延迟要求和缓存大小,而侦听时间主 要依赖于消息速率。为保证消息的可靠传输,节点的周期活动时 间必须适应最高的通信负载,造成网络负载较小时,节点空闲侦 听时间的相对增加。
A
B
C
Location
隐终端是指在接收者的通信范围内而在发送者通信范围外的终端。
CSMA机制
MAC层CSMA/CA机制
CSMA/CA: CSMA with Collision Avoidance
冲突避免: 增加 RTS-CTS 交互
CSMA/CA: 信道预约 发送站: 发出短的 RTS帧(request to send)预约信道 接收站: 应答短的 CTS帧 (clear to send)同意预约 CTS 为发送站保留信道, 起了通 知其它(可能隐蔽的)站点的效果 避免了隐蔽站点造成的冲突
基于竞争的MAC层协议
T-MAC协议
解决早睡问题的方法之一——FRTS(Future Request To Send) ◆节点C监听到B发送给A的CTS时,立即向 D发送FRTS,告知D所需等待时间,D睡眠 后醒来与C通信。 ◆A在发送DS占用信道,DS与FRTS长度相 同无有效信息,DS发送后,A开始发送数 据。 ◆FRTS机制提高了网络吞吐量,增大了数 据量和碰撞概率
◆缺点:所有接收到RTS和CTS帧的节点,都会被唤醒,增加了能 耗和串音的几率;缺乏多跳感知能力。
基于竞争的MAC层协议
有“消息传递”机制的S-MAC协议
◆无需在每个数据帧传送的过程中都发送RTS、CTS管理帧 ◆当有突发大量数据传输时,在第一个数据帧发送RTS-CTS管理 帧,目的节点对每个数据帧逐个确认。 ◆源节点和目的节点发送的每个帧都包含消息的剩余时间域。
基于竞争的MAC层协议
B-MAC协议
S-MAC协议采用忙闲比模式,忙闲比模式在能耗方面主要问题: 1、节点需要定期发送消息,如SMAC中的SYNC数据包; 2、节点在侦听期间需要开启接收机等待可能到来的数据包。
基于竞争的MAC层协议
DMAC协议
DMAC(Dynamic SMAC)基于SMAC和TMAC思想,采用预先分配方 法来避免睡眠延迟,在信道分配方面引入一种交错呼醒机制。 ◆假设网络中的节点保持静止,且每个路由节点有足够的存活时间, 保持网络在较长时间内路径不发生变化 ◆假设数据有传感器节点向唯一的Sink单向传输 ◆假设各节点间保持时间同步 ◆在一条多跳传输路径上,各节点交替唤醒,如同锁链一样环环相 扣,保证数据在树状结构上持续传输,不被睡眠所中断 ◆每个间隔分为接收、发送和睡眠三个周期 ◆每个节点的调度具有不同的偏移,下层节点的发送时间对应于上 层节点的接收时间
基于竞争的MAC层协议
T-MAC协议
解决早睡问题的方法之二——满缓冲区优 先(Full Buffer Priority, FBP) ◆节点C的TA时间即将结束时,收到B发来 的RTS。 ◆节点C对B的RTS不做CTS回应,而是向目 标节点D发出RTS。 ◆节点C与D开展通信。 ◆避免了D的早睡问题。 ◆控制了网络流量,但增加了碰撞的可能 性。
CSMA机制中的三种IFS
SIFS(Short IFS):最短帧间隔,优先级最高,用于需要立即响应的服 务,如ACK帧、CTS帧等。 PIFS(PCF IFS):点协调模式下节点使用的帧间隔,用来获得在无竞 争周期启动时访问信道的优先权。 DIFS(DCF IFS):分布式协调模式下节点使用的帧间隔,用以发送数 据帧和管理帧。
Active Sleep Active Sleep Active
S-MAC
Active Sleep Active Sleep TA TA Active
T-MAC
TA
基于竞争的MAC层协议
T-MAC协议
早睡问题 节点A获得发送数据到节点B的机会,节点A发送RTS节点B,节点B 应答CTS。节点C收到B发出的CTS而转入睡眠状态,在B接收完数据 后醒来,以接收B发送给它的数据。D可能不知道A和B的通信存在, 在AB通信结束后已经进入睡眠状态,节点C只有等到下一个周期才 能传输数据到节点D。
◆MAC层协议需要节点间交换控制信息,造成能量损耗,MAC的报头 和控制包(如RTS/CTS/ACK)非有效数据,消耗的能量对用户来说 是无效的。当数据帧较小时,协议开销很大。 ◆节点确认其邻居节点所处状态(是否存活等),进行同步等,也需 发送或接收一些消息,要消耗能量。
MAC层能耗来源
节能策略
尽量让传 感器节点 处于睡眠 状态 减少接收 到无需接 收的数据 分组