一种复杂环境下的无线传感器网络路由协议

发布时间:2022-03-20 10:39:31   来源:作文大全    点击:   
字号:

【摘要】本文根据井下作业的复杂环境及其对QoS的要求,设计了相应的无线传感器网络路由协议。该协议法求出了每个节点到Sink节点的最少跳数,并存储在每个节点中,在能量有效性、能量均衡性、减小延迟性和投递率方面均都具有很好的性能。

【关键词】无线传感器网络;路由协议;QoS

1.引言

无线传感器网络是由大量密集,布置在监控区域的智能传感器节点组成的网络系统。随着无线通信、微处理器、微机电系统等技术的发展和对无线传感器网络研究的不断深入,应用化已经逐渐成为人们关注的焦点。井下作业频繁事故的发生给人们的生命和财产带来了巨大损坏。把无线传感器网络应用到井下来监控井下环境,预测事故发生的可能性。由于井下环境对消息传播影响较大,为了提高消息传播的可靠性该协议采用了回溯策略,需要在保证网络能量的有效性和能量均衡性的前提下完成的。

2.路由表建立过程

应用迪杰斯特拉算法求出了网络中的每个节点到Sink节点的最小跳数并保存在各个节点中,通过以下过程为每个节点建立一个路由表,表中存储了邻居节点的地址,能量值和到Sink节点的最小跳数。

Sink节点向网络中广播IFM2消息来通知网络中各节点启动路由表的建立过程。Sensor节点收到IFM2消息后也向网络中广播该消息,然后向邻居节点广播消息IEH(Identity with Energy and Hops),该消息中记录着该节点的地址、能量和到Sink节点的最小跳数。邻居节点收到该消息后,在自己的路由表中登记该节点的地址、能量和该节点到Sink节点的最小跳数。每个节点只需成功地广播一次IEH消息和IFM2消息。该过程结束后,每个节点的路由表就建立完成。表格建立后要对最小跳数不同的邻居节点分类,把最小跳数不同的邻居节点分为两类,以保证对不同信息采用选择不同的发送路径。

考虑到井下的特殊环境,把消息分为两种:常态消息——表明没有危险发生,报警消息——表明有危险发生。

当某节点有数据要发送或者转发时,它要从路由表中选下一跳节点。选取策略如下:当节点收到消息后,应用公式T=(E+N)/H(E值是邻居节点的能量大小,H值是邻居节点到Sink节点的最小跳数,N是可以设定的协议常量)计算该节点邻居节点的T值,计算出T值后比较所有邻居节点的竞争参数T,竞选参数T值最大的邻居节点被选为下一跳,如果有T值相等且并列最大的的多个邻居节点,就从这些邻居节点种任选一个作为下一跳。

不同的消息计算T值时N的取值不同。对于常态消息N取零。因为N值取零时,网络在传输常态消息时会最大限度地考虑网络中能量利用地均衡性。对于报警消息,由于报警消息要求及时快速地被传到Sink节点,所以N要取的值较大。通过以上证明可知如果N取值较大,节点在选取下一跳时,到Sink节点跳数值小的节点容易被选上,这样报警消息就能及时快速地被传到Sink节点。N值的具体取值要根据应用而定,如果报警消息发生的较频繁,N值就不能取得过大而弱化了邻居节点能量值在竞争下一跳时的作用,造成短路径被频繁使用而能量消耗殆尽。如果报警消息发生的不频繁,N值可以取得较大而把报警消息及时快速的传给Sink节点,并且网络通过传输数量较大的常态消息使得网络中的能量达到平衡。

用这种策略选下一跳节点,通过改变协议常量N的大小,可以改变节点能量在建立路径过程中作用的大小,来为不同消息服务。能为报警消息选择短路径传输到Sink节点,使得报警消息能及时快速的传播。同时还考虑了能量利用的均衡性和传输路径的优化。

为了适应网络中节点能量随时间动态变化的情况,回复帧ACK中增加了纪录节点能量值的字段。当某节点发送数据给下一跳节点时,如果收到该邻居节点回复帧ACK,它用该回复帧ACK中记录的该邻居节点的能量值替换掉路由表中的旧值;如果收不到下一跳节点的回复帧,那么该节点就认为该邻居节点无法接收数据,它会从路由表中把该邻居节点删掉,然后从路由表中另选下一跳节点接收数据。如果所有的邻居节点都不能接收数据时,该节点就把该数据回传给发送该数据的上一跳节点,由上一跳节点重新选取路径。当某节点收到回传数据时,在收到网络重组消息IFM1之前不会再向回传数据的节点发送数据。这种回溯策略保证了数据的可靠传输。网络中的节点不论自己是否发了数据都要通过接收邻居节点的ACK帧来更新该邻居节点的能量旧值,这样可以确保路由表中的能量大小与邻居节点实际能量大小一致。

3.SAR协议

SAR(Sequential Assignment Routing,有序分配路由)是1999年Katayoun Sohrabi等人在DARPA支持的一个研究中提出的一种主动型平面路由协议。该算法中sink点的所有一跳邻节点都以自己为根创建生成树,在创建生成树过程中考虑节点的能量、时延等QoS参数,各个节点从而反向建立了到sink点的具有不同QoS参数的多条路径,路径的QoS参数存储在该路径上的节点。节点发送数据时选择一条或多条路径进行传输,在选择路径时,节点为不同优先级的数据包选择相应的路径。

每条路径的能量会随着数据的传输次数增加而变化,那么该路径的服务质量也会发生变化。所以,要周期性的由Sink节点启动更新过程来更新路径上节点中记录的QoS参数,使得节点记录的QoS参数跟实际一致。

当数据传输失败时,要由传输数据的节点通过路由表另选路径传输数据。

在下面的仿真中,SAR协议的消息分为两个级别,报警消息为第一级别,常态消息未第二级别。报警消息传播时选择延迟小的路径,而常态消息传播时要考虑能量均衡利用。

4.结论

考虑到煤矿井下监控系统对路由协议的特殊要求,本文设计了RPQ协议。由于井下环境复杂,特别是在事故发生时网络容易遭到破坏,但网络还要把报警消息传到上位机,所以该协议采用了回溯策略,极大限度的保证了网络在损坏的情况下的把数据传输到上位机。由于井下巷道中布置的节点都是静态的,节点中存储的网络信息(最小跳数,路由表等)不用频繁更换,所以采用迪杰斯特拉算法思想求得最小跳数并存储在各个节点中,并采用路由表机制很适合井下环境。该协协议采用了公式T计算T值作为选取下一跳节点的策略,既考虑了能量的有效利用同时还保证了能量利用的均衡性。通过对公式中T中参数N的改变,使得网络满足不同消息QoS的需求。所以,该协议很适合于应用于煤矿井下监控的无线传感器网络。

参考文献

[1]Akyildiz I,SuW,et al.Wireless sensor networks:asurvey[J].Computer Networks,2002,38(4):393-422.

[2]孙利民,李建中,阵渝,朱红松.无线传感器网络[M].北京:清华大学出版社,2005.

[3]Richard Johnsonbaugh,石纯一,金涬.离散数学[M].北京:人民邮电出版社,2003:249-255.

作者简介:刘学(1983—),男,菏泽学院助教,研究方向:网络信息系统。