APP下载

无线传感器网络的SPIN协议数据不可达问题的改进

2010-04-16赵灵锴洪志全

电脑与电信 2010年10期
关键词:计数器路由无线

赵灵锴洪志全

(1.成都理工大学信息工程学院,四川成都610059;2.宜宾学院计算机与信息工程学院,四川宜宾644000)

1.引言

无线传感器网络WSN(wireless sensor network),是由大量智能传感器节点构成的信息采集、传送和处理的综合智能信息网络,具有环境适应性、自组织和低成本的特点。在目标入侵监测、目标跟踪、环境监测、战场侦察、生物医疗、抢险救灾以及工业加工过程的监控等领域,WSN都具有广阔的应用前景[1]。美国商业周刊和MIT技术评论在预测未来技术发展的报告中,分别将无线传感器网络列为21世纪最有影响的21项技术和改变世界的10大技术之一。

2.SPIN协议描述

无线传感器路由协议根据设计思路分为:简单的无结构路由、树或类树路由及地理位置路由[2]。在简单无结构路由中又包含三类:Flooding、Gossiping和SPIN。由于Flooding和Gossiping协议存在着“内爆”和“重叠”问题[2],从而导致了资源的盲目使用。针对这类传统路由协议存在的缺点,麻省理工学院计算机科学实验室Joalma Kulik等人于1999年在一个由NTT和DARPA共同资助的项目中提出了SPIN[3](sensor protocol for information via negotiation)协议。

SPIN协议是一种以数据为中心的自适应通信路由协议[4],假设所有传感器节点都可能是希望获得数据的汇聚节点,每个传感器节点都知道自己是否需要数据[5]。为了防止Flooding协议出现的信息“内爆”和“重叠”问题,传感器节点在传送数据之前全部使用元数据(meta-data,即描述传感器节点采集的数据属性的数据)进行协商,协商机制可确保传输有用数据。元数据的定义格式是与具体应用相关的,SPIN协议没有给出它的具体定义格式。

SPIN该协议使用三种类型的信息进行通信,即ADV,REQ和DATA信息[6,7]。通过三次握手实现数据传送。

(1)传感器节点A有需要传送的数据DATA信息,在传送前仅广播包含元数据的ADV信息;

(2)其邻居节点B在接收到ADV消息后,如对ADV中描述的信息感兴趣并且此前没有请求过该信息,则发送REQ消息提出数据传送请求;

(3)传感器节点A在接收到相应的REQ请求信息后,才向节点B单播发送包含原始数据的DATA数据包。

具体过程如图1,SPIN协议中节点的数据收发流程如图2。

图1 SPIN三次握手过程

图2 SPIN协议数据收发流程图

SPIN家族的协议有很多,主要的两个协议是SPIN-1和SPIN-2。SPIN-1协议就是前面阐述的基本三次握手协商机制。扩展的SPIN-2协议是基于预设值资源提醒机制协议,当资源充足时,SPIN-2使用的是三次握手协商机制;当资源低于某个预设值时,它将减少参与数据发送的次数。总体上,SPIN-1和SPIN-2都是简单高效的协议,不用维护每个邻居的状态。

3.SPIN协议数据不可达问题描述[8]

SPIN协议的一个优点是当拓扑和位置改变时,节点只需要知道单跳的邻居,特别适用于传感器是运动的场合。SPIN通过协商机制处理信息冗余,能够节约大量能量,很好地解决传统的Flooding和Gossiping协议所带来的信息爆炸、信息重复及资源浪费等问题。但其缺点是:在某种情况下,它会出现数据不可传递性的问题。

如图3,当节点A有数据信息需要传送时,对节点B、C发送ADV请求信息如图3(a),而节点B和C由于自身能量或对数据“不感兴趣”等原因未回应节点A的ADV请求(图3-b),那么这个数据转发的过程就无法顺利地进行下去,出现了“数据不可达”问题,于是对该数据“感兴趣”的后续节点D也将无法接收到这个数据。

图3 SPIN协议“数据不可达”问题

4.SPIN协议数据不可达问题的改进

为了改进SPIN协议中的数据不可达问题,需添加一种类型信息:CA(compulsory advice)用于发送节点发出的ADV信息未得到任何REQ回应时,向某节点强制发送数据的通告信息;因为SPIN-2协议在SPIN-1协议的基础上增加了能量管理功能,可能会出现节点收到CA而由于能量低于阈值,而不能回复REQ的情况,于是添加一个计数器COUNTER,用于记录CA发送的次数,发送节点发送CA达到预设次数就停止发送CA信息。

对于SPIN-1协议,节点收到CA信息,将向发送该信息的节点返回REQ表示可以接收DATA数据;对于SPIN-2协议,如果收到CA信息并能量高于阈值也返回REQ,低于阈值则不响应。当节点接收到DATA数据后,只用于数据中转,即对该数据对外发送ADV信息请求其它节点接收,而该节点不保存该数据。协议运行步骤为:

(1)传感器节点A有数据DATA需发送,向邻居节点发出ADV信息;

(2)邻居节点在接收到A节点的ADV消息后,如正常收到REQ信息,则节点A传送DATA数据并结束;如在规定时间内未收到任何REQ信息,表明数据不可达问题出现,节点A初始化计数器;

(3)节点A随机选择某邻居节点发出CA信号,通知该节点强制接收数据,并COUNTER计数器自减1;

(4)邻居节点收到CA信号,如能量未低于限定阈值,给传感器节点A返回REQ信息;如低于阈值,则不做任何响应;

(5)传感器节点A如收到REQ信号,则向邻居节点单播发送包含原始数据的DATA数据包;如规定时限内未收到REQ信号且计数器计数次数未达到预设次数,则返回步骤3);如未收到REQ信号但计数器计数次数达到预设次数,则结束;

改进后的SPIN协议收发数据流程如图4。

图4 改进后的SPIN协议数据收发流程图

再次分析图3,当出现图3(b)的情况时,节点A将通过随机发送强制传送通告CA信息(设节点B接收CA信号),B节点在收到CA并能量充足的情况下将返回REQ数据请求信息,之后接收节点A发来的数据DATA信息,此时DATA数据由节点A转发至节点B,B节点再按SPIN协议向其邻居发送ADV,最终对该数据“感兴趣”的D节点会顺利接收到该数据,从而避免了图3中数据不可达情况的发生。

对于计数器COUNTER的使用是避免出现全部节点因能量等问题全部无法返回REQ,在发送节点多次试探发送CA信号无果后,终止发送数据(此时表明网络已接近失效,网络多个节点能量几乎消耗殆尽),进而避免可能出现的由于能量过度消耗及带宽大量消耗而带来的网络崩溃。

本文中,笔者讨论了发送CA信息时随机选择仅一个节点的情况,实际中,根据需要发送节点可以同时随机选择多个邻居节点发送CA,以提高运行效率。

5.结束语

随着技术的发展,无线传感器网络也出现了多种路由协议,但SPIN协议仍然是主要路由协议之一,而SPIN协议中的数据不可达问题,一定程度制约了该协议的使用。本文从一个新的角度探讨了解决该问题的方法,通过对协议的补充,增加一种新的信息CA及计数器,在不改变协议核心思想的情况下,让数据不可达问题得到解决。

[1]AKYILDIZ I F,SU WL.SANKARASUBRAMANIAM Y.CAYIRCI E.A survey on sensor networks[J].IEEE Communications Magazine,2002,40(8):102–114.

[2]于宏毅等.无线传感器网络理论、技术与实现[M].国防工业出版社.2008,9:143.

[3]JOANNA KULIK,WENDI RABINER,AND HARIBALAKRISHNAN.Adaptive Protocols for Information Dissemination in Wireless Sensor Networks[C]//The 5th Annual ACM/IEEE International Conference on Mobile Computing and Networking 1999,174-185.

[4]CULLAR D,ESTRIN D,STRVASTAVA M.Overview of sensor network[J].Computer,2004,37(8):41-47.

[5]崔凤云.无线传感器网络SPIN路由协议的研究[D].成都:西南交通大学,2009,5:13.

[6]王潮,贾翔宇,林强.基于可信度的无线传感器网络安全路由算法[J].通信学报,2008,29(11):105-112.

[7]张文祥,马银花,郭继坤.无线传感器网络路由算法的研究[J].计算机测量与控制,2009,17(3):617-619.

[8]任秀丽等.无线传感器网络SPIN协议的一种改进方案[J].化工自动化及仪表,2006,33(2):35-38.

猜你喜欢

计数器路由无线
采用虚拟计数器的电子式膜式燃气表
《无线互联科技》征稿词(2021)
铁路数据网路由汇聚引发的路由迭代问题研究
无线追踪3
基于ARM的无线WiFi插排的设计
探究路由与环路的问题
ADF7021-N在无线寻呼发射系统中的应用
基于预期延迟值的扩散转发路由算法
计数器竞争冒险及其处理的仿真分析
PRIME和G3-PLC路由机制对比