2022年无线传感器网络高效的MAC协议研究 .pdf
-
资源ID:28418987
资源大小:49.47KB
全文页数:4页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年无线传感器网络高效的MAC协议研究 .pdf
无线传感器网络高效的MAC 协议研究0 引言无线传感器网络(Wireless Sensor Networks)由大量具有感知、计算和无线通信能力的廉价节点组成,通过节点间协作地感知和处理网络分布区域中监测对象的相关信息,为人们提供有关监测对象的详实而可靠的信息,可广泛应用于环境监测、抢险救灾、战场监视、城市交通、智能家居等多个领域。 MAC协议负责在传感器节点间分配有限的通信资源,构建传感器网络系统的底层通信结构,因此是传感器网络研究的一个重要方面。文献统计了传感器节点中通信单元、处理单元和传感单元的能量消耗,。从图中可以看到,传感单元和处理单元的能耗远远低于通信单元的能耗,而在通信单元的四种状态中,能耗依次按休眠、监听、接收及发送递增,所以尽量增大节点休眠时间是节省能耗的一个重要措施。目前传感器网络中的MAC 协议都将节省能耗作为研究重点,大部分协议都是通过节点周期性休眠以及不需要时关闭无线电收发器来节省能量。目前传感器网络中的MAC 协议大致可以分为发送端启动和接收端启动两类。在发送端启动的同步协议中,各节点使用相同的休眠调度表,在各自规定的时间醒来参与通信活动,保证节点尽可能多地休眠而不会错过任何一个数据。这类协议的典型代表有S-MAC 、T-MAC等。此类协议可以极大地减少节点空闲监听的时间,但要求节点间保持精确同步,而其开销却是不可忽视的。在发送端启动的异步协议中,各节点不需要按照相同的休眠调度表工作,发送端在有数据发送时在信道中发送一个长度略长于接收端休眠时间的前导信号,接收节点在醒来监听到前导信号时便开始接收数据。这类协议消除了显式同步的需要,但由于大量的前导消息增大信道的压力,降低了信道的整体利用率。这类协议的典型代表有B-MAC 、X-MAC等。接收端启动的协议是近两年提出的一种新协议,典型代表为RI-MAC 。发送端有数据发送时在信道中静默监听, 接收端醒来后即发送信标(beacon 消息 ) , 发送端在监听到信标后发送数据。该算法由于消除了发送端前导信号对信道的占用,提高了信道的利用率。但是在高负载情况下,发送端的盲等、过听会造成节点能量的大量消耗,另外正在发送的节点可能会较长时间占用信道,导致其它节点的数据包传输延迟增大。1 问题描述与分析由上述分析可知,异步的 RI-MAC协议没有采用发送端前导侦听技术,这既是它的优点,也是它的缺点。 优点是避免了某个发送节点长时间占用信道,缺点是发送端和接收端失去了有效的沟通渠道,在负载较大时可能导致发送端盲等和数据传输延迟增加。在图2 的例子中, S1和 S2 监听信道,等待各自的接收端R1和 R2醒来。 R2首先醒来发送beacon 消息, s2 向。 R2发送数据。在此过程中 R1醒来,发现信道被占用后转入休眠。随后S3 监听信道准备向R3 发送数据, R3 醒来后与 S3建立数据传输。在此过程中S1再次醒来,发现信道仍被占用,再次转入休眠。S1监听整个时间段,始终未监听到R1,数据传输被长时间推迟。在发送端启动的异步MAC 协议中,前导被发送端用来获取信道并声明有数据发送,只要相应的接收端如期醒来,数据传输就能够完成。而RJ-MAC依靠接收端发送beacon 消息来声明自己的存在,能否进行数据传输要取决于是否有发送端正准备向其发送数据。也就是说,作为数据生产者或转发者的发送节点,只能被动等待传输请求,却无法主动要求进行数据传输。作为一个异步MAC 协议, RI-MAC去除了节点间的同步。这在避免节点同步开销的同时,也使得发送节点无法知道接收端什么时候醒来。从而发送节点必须一直监听,直至数据成功传输。在图2 的例子中, S1长时间监听信道而得不到发送的机会。此外,接收端在接收完一帧数据后, 使用 beacon 消息作为响应, 发送端有数据可继续向其发送。这种策略使得接收端一旦开始接收数据后,将一直占用信道,直到发送结束。基于以上分析,本文考虑对 RI-MAC协议进行改进。2 IL-MAC 协议设计要点 IL-MAC主要在以下几个方面对RI-MAC名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 进行改进:2 1 自适应前导技术自适应前导技术在网络负载较轻时,发送端不使用前导:在数据积累较多时,发送端发送前导,主动请求数据传输,以期尽快进行数据传输。为此,每个发送端设定一个队列长度门限Qmax 。发送端有数据要发送时检查队列长度,小于等于Qmax则采用无前导方式,监听信道等待接收端醒来;若大于 Omax ,发送前导主动要求与接收端建立连接。在图 3中, S的队列长度小于等于Qmax ,S监听信道等待R醒来; R醒来后发送 hello消息; S听到后向R发送数据; R发送 hello消息告知传输完毕。在图4 中, S的队列长度大于Qmax ,S主动发送一系列包含接收节点(R) 地址的前导消息(preamble);R醒来后听到前导消息,在前导发送的间隔回复hello消息; S发送数据; R接收完毕后发送hello消息,告知接收完毕。进一步地,算法还可以在每个数据包中加入产生时间或优先级等信息,节点可以根据数据包的紧急程度选择采用何种发送方式。22 局部同步 RI-MAC的发送端并不主动寻求与接收端同步,而是静静地监听信道。IL-MAC 通过引入局部同步来改善这一点。节点在广播的hello消息中均包含该节点的休眠调度信息,这样邻居节点可以建立起一个休眠调度表。发送端有数据要发送时,先检查邻居休眠调度表;若表中有接收节点的休眠调度信息,可休眠并在接收端醒来前的某个时刻醒来;如没有接收节点的调度信息,坚持监听信道。一般来说,每个节点都有一个常规的休眠周期,即没有数据收发情况下的休眠周期。自适应前导技术,在常规的休眠周期中引入一些临时性的休眠调度,但临时调度行为不会干扰节点固有的休眠调度周期。图5 为某个节点的实际休眠调度周期图,其中每个slot为一个正常的休眠周期。节点在 slot1收发完数据后休眠;在 slot2醒来,发现队列长度大于QImax,查看邻居休眠表后再转入休眠;若干时间后醒来发送前导,与接收端完成数据传输后,再次进入休眠。在slot3醒来后,为等待接收端的 hello消息而长时间监听信道,直至slot4完成传输后休眠;在slot5仍按时醒来。由于晶振频率的不一致,各节点会有计时上的误差,即时钟偏移,需要进行同步。节点在所发送的每个hello消息中都包含最近一次按常规调度醒来的时间,并在hello包上打上发送时间戳。 收到 hello消息的节点将包中的发送时间戳加上hello消息的发送延迟( 消息长度发送速度),得到邻居节点的当前时钟值( 忽略信号传播时间) 。节点将自己的当前时钟值减去邻居节点的当前时钟值,得到相对于该邻居节点的时钟偏移量。为减小估计误差,可对最近 n次的时钟偏移量取算术平均值,作为当前时刻相对于该邻居节点的时钟偏移。各节点通过与邻居节点交换hello消息,获得与邻居节点的时钟偏差,并以此修正邻居休眠调度表。由于每个节点的调度周期相同,所以邻居休眠调度表中只记录每个邻居最近一次常规调度醒来的时间。23 竞争信道在 RI-MAC中,接收端接收完一帧后发送的beacon 消息有两个作用,一是告知数据接收完毕,二是询问是否还有节点要向它发送。因此,正在通信的接收端具有优先使用信道的权利,这在某些情况下会导致接收节点长时间占用信道。例如在一个树型网络中,所有节点都要向树根传输数据,越靠近树根的节点转发压力越大。假如有两个靠近树根的节点是邻居,就可能出现一个节点长时间占用信道,而另一个节点长时间无法接收数据的情况。取消 beacon 消息的第二个作用可以较好地避免这个问题,即当一个节点接收完数据后放弃信道,然后所有节点重新竞争信道,这会使网络中的数据传输更均衡。 24 消息格式 Hello包在 IEEE 802 1 5 4 的 beacon 帧基础上设计, 。其中,帧长度、 FCF(Frame Control Field)和 FCS(Frame Check Seq-uence)为原有的域。 Hello消息增加了用于标记帧功能的H域、接收节点和发送节点ID,记录最近一次常规调度醒来时间的名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - sys 域和 hello包发送时间戳time-stamp 。节点发送的hello消息 ( 查询是否有发送给自己的数据) 中 Dst 及 BW 域为空,发生冲突后填入 KBW 值,确认传输成功的hello帧中填入Dst 域,防止其它节点向其传输数据。H 域的第一位 (0 1) 标识该帧是接收节点发送的探询Hello 消息还是响应发送端前导的hello消息,第二位 (0 1) 标识该帧中BW 域是否有效, 第三位 (0 1) 标识该帧中Dst 域是否有效, 其余位置 0。图 7 为前导消息格式, 也是在 IEEE 802 15 4 的帧基础上设计的, 其中除 Hardware Preamble 、Frame length、FCF及 FCS四个固定域以外,加入了接收节点ID(Dst 域 ) 。3 仿真实验我们在NS2 平台上仿照了RI-MAC 的实验设置在网状拓扑结构下比较了RI-MAC与 IL-MAC 算法,其中节点传输半径为250m ,无线链路速率250 kbs,前导包长度6个字节,数据包长度50 字节,回退窗口大小0255,最大重传次数5 次,自定义的Hello包长度为13 字节。实验场景采用7×7的网格拓扑结构,每个格点上设一个节点,每个格子的边长为200m ,接收节点位于网络中心,每个节点的通信半径为250m 。在实验中利用不同范围内的节点依次产生数据包,在相关的空间范围内指定数据流来模拟网络负载。实验以接收节点为中心,依次采用9 个节点 (500m×500m ,8 个发送节点和1 个接收节点 )和 49 个节点 (1500m×1500m ,48 个发送节点和1 个接收节点 ) 的正方形区域划分为两组实验,在每组实验中每个发送节点每秒产生10、20 和 30 个包依次进行对比试验。仿真时间为 30 分钟,观察网络中的平均延迟、平均能耗以及吞吐量,取10 次实验的平均值作为实验结果。图 8、9 为平均延迟随节点发包数量变化的曲线。从图 8 可以看出, 在网络中负载较低、节点数量较少时, IL-MAC 中节点的平均延迟稍稍好于RI-MAC 。 而当节点数量增加时, ,IL-MAC 算法在延迟上要明显好于RI-MAC。这是因为IL-MAC 能够通过发送端传输模式的变换及时进行传输,将一些延迟高的数据通过前导优先发送。图 10、11 为平均能耗随节点数量及发送速率的变化曲线。总的来说,IL-MAC 协议在耗能上低于RL-MAC 。由于IL-MAC 在网络初始化时需要进行局部同步,会有一定的额外开销,因此在发送节点较少时IL-MAC 的优势并不明显。 但是随着发送节点的增多,节点之间的相互影响增大, IL-MAC 通过睡眠调度节省能耗的优势逐渐显现出来。如图11 中, IL-MAC 在较高负载时的性能要远远好于RI-MAC算法。图 12、13 为平均吞吐量随发送节点及发包速率的变化曲线。IL-MAC 协议在 9 个节点的网络中吞吐量与RI-MAC基本持平, 在 7×7的网络中表现出较好的性能提升。由于去除前导技术在发送节点过多时,因接收端相同发生冲突的概率很大,会造成吞吐量下降。如图13 中,当发包速度提高到每秒30 个包时, RI-MAC的吞吐量有一定的下降。而前导传输较少产生冲突,随着局部同步的引入,发送节点能够尽量缩短前导的长度,相比较于产生冲突的去前导来说, IL-MAC 能得到更高的吞吐量。4 结束语本文结合传感器网络中发送端启动和接收端启动算法的优点,设计和实现了一个能够自适应转换前导发送模式并具有局部同步功能的 IL-MAC 协议。 该协议根据发送端消息队列的长度来决定是否采用前导发送模式,减少了接收端的饥饿状态;当网络中负载较大时,避免了多个节点同时向一个节点发送数据带来的冲突,确保发送端能尽快与接收端完成消息传递;采用局部同步算法,大大减少了发送节点实时监听的时间。 IL-MAC在 RI-MAC基础上进行的一些改进充分利用了网络中的调度信息,克服了 RI-MAC存在的不足, 有效地降低了网络延迟,也在一定程度上克服了网络中一些随机、可变的因素,使算法性能更加稳定、均衡。此外在实验过程中也发现,由于本算法基于单信道通讯,若通信范围内有节点在传输消息,则邻居节点只能进行休眠。而多信道可以利名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 用不同的频率同时进行传输,在很大程度上减少冲突的发生,提高网络的吞吐量,下一步拟采用多信道传输的IL-MAC,使其能更好地适应更多应用的需要。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -