无线传感器网络中一种簇首节点避免拥塞的方法

时间:2022-07-10 12:12:06

无线传感器网络中一种簇首节点避免拥塞的方法

摘要:无线传感器网络的拥塞一般发生在有中继任务的簇首节点和汇聚节点部分。文中通过选用缓冲区占用率界定拥塞的发生,利用汇聚节点广播增加拥塞簇首节点的传输率,传输率由WLCA算法算出,仿真结果表明WLCA算法能在一定程度避免簇首节点的拥塞,但稳定性有待进一步加强。

关键词:无线传感器网络;簇首节点;拥塞

中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)06-1294-03

A Method of Avoiding Congestion for ClusterHead Nodes in Wireless Sensor Node

ZHONG Da-fu,TANG Yi-fang

(College of Computer Engineering and Technology, Guangdong Vocational Institute of Science and Technology, Guangzhou 510640, China)

Abstract: Congestion generally occurs in a cluster head node link which has the relay task and the sink node link in a WSN. It uses the buffer occupancy rate to define whether the occurrence of congestion or not. The sink node radios a higher transfer rate by the WLCA al? gorithm in order to improve the congestion. Simulation results show that the stability must be enhanced when the congestion is controlled in a certain degree.

Key words: wireless sensor network; cluster head node; congestion

无线传感器网络中的簇首节点既要中继转发汇聚节点的广播命令,又要融合簇内各监测点的信息,因此簇首节点可当作网络的中间路由节点,在有突发事件发生时,将多个数据流同时进行传送。但是这样较易发生网络拥塞。而无线传感器网络节点最显著的特点就是能量较低,所以它的拥塞机制不能完全照搬通过多次重传达到目的的TCP传输协议。无线传感器网络一旦发生拥塞和缓冲区溢出,将导致丢弃分组,如果多次重传,节点的大部分能量就会被通信消耗掉。因此,如何准确而有效地进行拥塞检测是很有必要的,并且工作重点应对簇首节点进行检测拥塞、避免拥塞,之后才进行拥塞发生的处理。

网络拥塞避免的首要任务是检测早期的拥塞[1]。簇首节点需要中继广播信息时,是作为路由器存在的,路由器能够有效地监控本地缓冲区的占有比率,因此可以通过此特性有效地监测早期拥塞。

1簇首节点拥塞状况的检测

就拥塞控制而言,作为网络中间节点的簇首节点能及时地,甚至可以提前准确地了解网络的拥塞状态,并依此实施有效的资源管理策略,使网络能有效地避免拥塞,或尽早从严重的拥塞状态中恢复过来[2]。

簇首节点过度地接收分组就会导致缓冲区溢出,这时,簇首节点能够通过拥塞计算方法,判断发生了拥塞。但是,等到簇首节点缓冲区溢出才界定网络发生了拥塞,拥塞已经很严重了。

图1是节点缓冲区监控的示意图,其中Bi是Ti时间内缓冲区内分组的数目,B是缓冲区分组的最大容量。

有多种策略可以用来监视网络的拥塞状况,但因为无线传感器网络中节点需要节省能量所以不能进行复杂的运算,本研究用拥塞程度Cd表示节点所处的网络状态:

根据式(1)计算,当Cd≥MAXth认为发生拥塞;当Cd≤MINth为空闲;MINth≤Cd≤MAXth为正常状态,这里MAXth和MINth是判断网络发生拥塞的最大、最小阈值。若节点判断它将要经历拥塞,源端节点本身不能修改分组的发送率,但会通知汇聚节点,由汇聚节点在新的周期针对每个簇广播新的分组发送率后强制执行。

监控区域的传感器需要针对不同的参数进行监测,传感器网络通常报告那些参数突然改变的情况,参数改变是由于事件引起的,相关的数据必须在不破坏原有的数据基础上融合后传送到汇聚节点中。所以传输分组中将保留事件号,区分不同的事件。簇首节点有时候需要中继或出于某种目的,它的目的节点不一定只是汇聚节点,可能是别的簇首节点,所以分组中需要给出目的地址。

每个分组中可以保留一位拥塞信息CN位,CN的分组可指示汇聚节点哪个区域发生了拥塞,当路由器发现拥塞状态超过某临界值时,就在所有分组中用CN填充该位,以警告簇首的邻居节点或发送端,该簇首所在的簇将要发生拥塞,让汇聚节点重新设置发送率。图2带有拥塞字段的源节点数据分组

监测区域源节点传送的分组结构如图2所示,而簇首节点需要带有自身的源地址,簇首节点也需要对源节点的信息融合后才发送出去,如图3所示。

2基于权值的簇首节点拥塞避免算法(WLCA)

为了避免网络产生振荡,假设源节点的发送率f在一定周期T内是不变的,节点发送率是由网关(汇聚节点)所决定的。进入到下一个周期并且依据网络当前状态,节点发送率通过网关广播信息才可发生改变。在每个间隔时间T结束后,簇首节点必须监听汇聚节点的广播,以便更新它们簇内的发送率[3]。

一般来说,簇首节点越靠近汇聚节点,拥塞就越严重。因为许多不在汇聚节点发射半径范围内的簇首节点不能直接发送信息给簇首节点,需要别的簇首节点中继信息,但此时的簇首节点保存的是前面融合的重要信息,如果多次重传,则需要耗费更多能量,所以本文采用设置权值的方法,通过检查分组字段,一旦发生拥塞,让靠近汇聚节点的簇首节点拥有更大的权值,尽快发送出去,这就是基于权值的簇首节点拥塞避免算法WLCA。

WLCA算法是依据前面介绍的方法在拥塞状态下修改节点的发送率,为了保证及时监测到拥塞,使用确认信息ACK,可由分组捎带。在簇首节点设置定时器,如果定时器超时,仍未收到汇聚节点新的反馈信息,则可判断这段路由发生了拥塞,按照WLCA算法修改拥塞信息位,重置定时器,由汇聚节点修改发送率。如果在规定的时间收到ACK,则说明处于正常状态,数据可按原来的发送率发送。

3仿真实验

为了检验WLCA算法的有效性,用NS2.34进行仿真,推选簇首采用分层leach协议,WLCA算法与SenTCP算法进行比较,因为两者都是专门针对中间节点的算法,两种算法针对同一拓扑结构进行实验。

如图4所示,监测区域为一个50×50的平面区域,部署31个节点,其中包括一个汇聚节点,WLCA算法设置每50s推选一次簇首。

图5为0.404s时的推选簇首的拓扑动画,正方形框代表推选出来的簇首节点,正六边形框表示普通节点。标号为30的是汇聚节点。

根据文献[4]提到的工程经验,MAXth和MINth是推算网络发生拥塞的最大最小阈值,MAXth一般取为0.9,MINth取为0.1。节点发射半径为20个单位,簇首节点之间的距离大于10个单位,每个分组长度为30字节,缓冲区大小设置为65分组,参考文献[5]的工程经验,节点发送一次数据的能量消耗为0.0145J,接收能量为0.0175J,每周期时间为10s。链路容量为2Mbps,延时为2ms,簇内是分时隙发送数据,端节点的时隙长度为20ms。源节点在[0s,20s]之间传送数据,发送率为每秒1~10次。标号为2,13,20的簇首节点不能直接与汇聚节点传送数据,需要通过中间节点中继,标号为14,18的簇首节点到汇聚节点这一段比较容易发生拥塞。

图6是WLCA算法与WenTCP算法的比较。从图6可看出,因为是突发瞬时数据量,在1s到5s之间,传送分组迅速增加,网络发生拥塞,而WLCA算法比SenTCP算法[6]在传送分组时能更快地把分组发送出去,保证了突发事件热点区域的链路利用率,而且还能保证更高权值节点的服务质量,但SenTCP算法更具稳定性,由于簇内是时隙传送,不会引起网络振荡。

4总结

本文主要针对无线传感器网络中使用的分簇链式网络结构出现的簇首节点链路进行了分析。提出了针对簇首节点的基于权值避免拥塞的WLCA算法。WLCA算法的主要特点是以缓冲区占有率为监测拥塞的标准,一旦拥塞,将提高相应高权值节点的发送率,以避免拥塞,WLCA算法简单易行,减少分组重传,适合无线传感器网络节省节点能量的要求。结果表明,在瞬时突况,传送的数据可快速到达,但稳定性不如SenTCP算法,更好的稳定性是将来研究的重点。

参考文献:

[1] Sankarasubramaniam Y, Akan O B, Akyildiz lan F. ESRT: Event-to-sink reliable transport in wireless sensor networks [C]. Annapolis, MD, United States,2003: 177-188.

[2] Kent S, Atkinson R. Security Architecture for the Internet Protocol[S]. RFC 2401, 1998.

[3] Floyd S, Jacobson V. Random Early Detection Gateways for Congestion Avoidance[J]. IEEE/ACM Transactions on Networking, 1993, 1(4): 397-413.

[4]余义斌,曹长修.基于预测控制理论的AQM算法[J],控制与决策,2006(9): 1044-1048.

[5] Heo Nojeong and Varshney P K, An Intelligent Deployment and Clustering Algorithm for a Distributed Mobile Sensor Network[C]// IEEE International Conference on Systems, Man and Cybernetics, 2003.

[6] Chonggang Wang, Kazem Sohraby, Bo Li. SenTCP: A Hop-by-Hop congestion control protocol for wireless sensor networks[C]. Proc. of IEEE 1NFOCOM ’05 , Mar. 2005

上一篇:Iptables+Linux高级路由的防火墙的实现 下一篇:EAI在车站综合信息平台上的应用