姜庆臣 ,高 峰 ,2
(1.浙江林学院,浙江 临安 311300;2.浙江工业大学,浙江 杭州 310032)
由于无线传感器网络WSN(Wireless Sensor Networks)[1]具有无线网、移动网以及节点的微型性、低成本、低功耗等综合特性,因此对其的研究已成为热点。WSN由大量的同构或异构节点组成,它们能够协作地进行实时监测、感知和采集各种环境对象的数据,通过节点内嵌系统对信息进行处理,然后通过无线网络将相关的信息发送到远端客户,并能接收远端客户指令对环境进行测控。但由于真实实验环境的建立存在诸多限制,如成本高、周期长、效果差等,因此需要一种良好的软件仿真技术来加速无线传感器网络关键技术的研究。但现实中WSN很多功能没有开发出来,也没有与处理大型网络速度相结合的高水平的协议和抽象算法等。无线传感器网络仿真[2]是一种使用软件模拟实际网络设备和网络链路的统计模型,并模拟网络流量的传输、记录网络运行过程中的各种参数,对不同类型的数据进行统计分析,得出网络性能的评估结果,以便对网络进行设计或优化的仿真技术。目前现有的模拟仿真技术在实现WSN的仿真上存在不少问题。因此,本文在阐述WSN的良好节点模型、结构框架及设计、路由协议、系统实现等方向,并根据WSN的技术特点对主流仿真环境进行系统分析和研究的基础上,提出了WSN仿真的关键指标和重点问题,并预测WSN的发展和研究方向。
WSN由大量随机布置在检测区域内的传感节点组成,它们能够协同地进行实时监测,感知和采集各种环境对象的数据,通过节点的嵌入式系统和程序对信息进行处理,并通过无线网络将相关的信息发送到客户端。WSN节点检测对象可以是温度、湿度、化学品浓度、振动、压力、光强度、音频信号、微波信号等。但是,由于WSN本身资源的限制(如蓄电能力、处理能力、存储空间及网络协议等),对以上检测事件,WSN仿真服务质量的操作机制需要做出权衡,如能耗、精确性、响应时间、扩展性、容错性及其他获益质量点等。因此,需要从节点到网络考虑以下几个方面因素:
(1)从单纯的传感节点方面看,主要涉及传感节点能耗、存储空间、带宽限制、操作和调试等,其目标主要体现在在现有的硬件资源下,如何从软件设计和功能上做出权衡。
(2)从网络规模和网络生成设计方面看,WSN可分单跳和多跳网络。特别针对大规模多跳WSN,传感节点分布的地理区域大、数量大、分布密集,从而导致网络规模庞大而复杂。这是网络生成涉及的技术难点,也是本文主要研究的内容。大规模多跳WSN中有一个特殊节点,称为汇聚(sink)节点或基站,传感器节点通过自组织方式构成网络,测控的数据沿着其他传感器节点逐跳地进行传输。在传输过程中测控数据可能被多个节点处理,经过多跳路由到汇聚节点,最后通过互联网或卫星到达管理控制台。其网络拓扑形式、数据检索和处理的不同阶段如图1、图2所示。
其中主要涉及网络动态性和可扩展性,如:由于应用环境的复杂性,其拓扑结构可能会出现无线通信链路的变化,导致传感节点通信时断时通,或者节点能耗问题造成传感节点出现故障或失效,或者感知对象的移动、新传感节点的加入或老传感节点删除等。
(3)从相配套的协议和路由的选择方面看,由于传感节点本身的限制和应用需求,不可能完全采用网络7层协议标准或TCP/IP协议。为了延长整体网络生命期,往往需要对网络协议进行重新定义,特别是在路由和传输层协议设计方面可对减少能耗起到关键作用,因此要求选择数据传输的最短路径。但最短路径的选择本身是NP难问题,特别是在延长网络整体生命期和传输数据最短路径上需要权衡。
目前各类路由传输算法协议只在某些方面做出优化,其适用场合也会因为应用环境及规模而变化,通用的、达到最好效能的路由和数据融合算法当前并不存在。其仿真技术关注点往往也是偏重某个或某些技术研究。下面对当前几种仿真平台进行分析和研究。
无线传感器网络仿真是评估WSN性能的有效方法之一,其优越性体现在初期应用成本不高,构建好的网络模型可以延续使用,后期投资不断下降。因此,一种好的WSN仿真平台的关键技术研究相当重要。
(1)NS2。NS2是由伯克利大学1989年开始开发的一种源代码开放的共享软件,是一种可扩展、可重用、基于离散事件驱动、面向对象的仿真软件[4]。NS2可以用于仿真各种不同的IP网,实现了多播、一些MAC子层协议、网络传输协议(如:TCP/UDP协议)、业务源流量产生器、路由队列管理机制以及路由算法等。其拓扑结构有星型拓扑(单跳)和对等式拓扑(Ad Hoc网络多跳形式)2种,通过编程语言OTCL(具有面向对象特性的TCL脚本程序设计语言)和C++实现。
(2)OPNET。OPNET是一个强大的、面向对象的、离散事件驱动的通用网络仿真环境。作为一个全面的集成开发环境,在无线传输方面的建模能力涉及仿真研究的各阶段,包括模型设计、仿真、数据搜集和数据分析,所有的无线特性与高层协议模型无缝连接。
当然,还有其他通用网络环境下的仿真环境,如GloMoSim、SENSE、Shawn等。
TinyOS是一种面向WSN的新型操作系统。TinyOS采用了轻量级线程技术、主动消息通信技术、组件化编程技术,它是一个基于事件驱动的深度嵌入式操作系统[7]。目前基于TinyOS主流仿真平台有2种。
(1)TOSSIM。TOSSIM是一种基于嵌入式TinyOS操作系统的WSN节点仿真环境的实现代表,源码公开,主要应用于MICA系列的WSN节点。其仿真应用随同TinyOS被编译进事件驱动的模拟仿真器。由于TinyOS基于组件的特性和仿真环境运行的程序与网络硬件程序基本相同,其代码可以不变地移植到实际节点上,只是在一些底层相关部分有所不同。
(2)OMNET++。OMNET++是一种开源的基于组件的模块化的开放网络仿真平台,近年来在科学和工业领域逐渐流行。作为离散事件仿真器,其具备强大完善的图形界面接口和可嵌入式仿真内核,运行于多个操作系统平台,可以简便定义网络拓扑结构,具备编程、调试和跟踪支持等功能,主要用于通信网络和分布式系统的仿真。
在软件功能和操作易用性方面,由于OPNET可以对数据分组、节点类型、链路类型、应用场景、网络拓扑结构等进行详细设置,所以OPNET明显优于其他仿真平台。但要实现OPNET WSN仿真,还需要添加能量模型,而且其最大问题是仿真速度慢,效率会随网络规模和流量增大而降低,且某些特殊网络设备的建模必须依靠节点和过程层次的编程方能实现;在涉及底层编程的网元建模时,还需要对协议和标准及其实现有深入了解。NS2主要致力于OSI模型的仿真,工作在网络数据包级,允许一定范围内的异构网络仿真,实现了协议分离等。可以使用NS2进行算法和协议的仿真研究,且源码开放使其能支持WSN仿真,包括传感器和电池模型、混合仿真支持等。总之,NS2是一种很优秀的仿真器,可以精确地仿真无线和有线网络,节点数目可达成千上万。尽管可以从标准和实验通信协议中获益,但在通用网络仿真软件上实现WSN协议和应用交互,经常要进行跨层设计,这会导致大量的协议添加和跨层协议修改工作,从而增加了仿真难度和工作量;而且NS2不对应用行为建模,缺少网络节点执行代码的仿真,特别对数据包级细节仿真方面,接近于运行时的数据包数量,使其无法进行大规模网络的仿真。TOSSIM虽具有一定的可信度和完整性,也能够捕获成千上万个TinyOS节点的网络行为和相互作用,但在能量消耗模型方面,没有现成的能量管理模块,无法对能耗进行有效性评价,必须设计开发独立的能量管理模型计算节点剩余能量。目前虽有PowerTOSSIM采用实测的MICA2节点能耗模型对节点的各种操作所消耗的能量进行跟踪,但是所有节点的程序代码必须相同,且无法实现网络级的抽象算法仿真。网络抽象级仿真规模上的各类仿真平台比较如图3所示。
在传感器网络中,单个传感器节点的特点是并发密集、模块化程度高。这些特点使得无线传感器网络仿真需要解决可扩展性与仿真效率、分布与异步特性、动态性、综合仿真平台等问题。而以上仿真只能在一些线性时空方式、多高斯数据分布下进行。因此,要充分利用面向对象设计思想,使仿真平台更接近现实模型,使整个系统的软件框架更加合理、明确。
以有效地减少能量消耗、延长网络使用寿命为目标,如高效的MAC协议、路由协议以及应用层协议。常见的路由协议有 SPIN、Direct Diffusion、TEEN、GEAR等,常见的拓扑控制协议有 GAF、SPAN、STEM等,它们各有其不同的前提条件及适用环境。但主要关注点为TCP实现协议,原因在于无线链路出错、信号衰减及交接等造成不能精确计算出吞吐量的期望值和实际值。目前大部分协议建立在基于能量平衡的、轮转的“簇”概念基础上,包括 LEACH、BCDCP、PEGAGSIS等协议。其使用场景的协议选择、簇头选择、TCP传输协议改良,有利于提供可靠高速的传输,减少能量消耗。
在传感器节点有限的资源(如:内存、计算能力、电能等)下,以主要仿真传感器节点处理、发送和接收k bit数据所消耗的能量作为评价指标基础。如在节点数据处理方面,仿真架构能够评估编译后在现存的传感器模块运行的算法的能耗;在节点之间通信方面,根据蓝牙无线技术的资料,单跳路由协议每个传感器节点的能耗与距离关系表示为:E=λk2(k=1,2,3…),其中,λ 是单位数据发送和接收单位距离时的能耗,k为节点与基站之间的距离。在多跳路由协议中,节点能耗与距离关系表示为 E=[d2-(k-1)2]/(2k-1)(k=1,2,…d),其中 d 是离基站最远的节点与基站的距离,k是任意一节点到基站的距离。
网络生成及通信模型主要考虑异构网络模型架构及可扩展性,以典型的“簇”网络为例,除了完成整个网络活动由“簇”的建立期和稳定工作期2种状态外,还要考虑后期簇的变化,如因环境因素、老的传感节点的删除、新传感节点加入及移动性等扩展功能。在异构网络互操作性上,要涉及到通信协议和网络跨层设计,包括低资源传感器模块和高资源微服务器平台交互等。在网络生命期方面,既要考虑单个节点的生命期,又要考虑整体网络的生命期。
除上述方向外,研究指标还包括:提供良好的可视化对象仿真环境、实现的管理平台、WSN的可靠性和容错性研究(消息的丢失、复原、运行时间等)、底层操作系统选择、智能化网络节点模型、节点代码的可移植性等。
当前,无线网络仿真的主流平台多种多样,商业版仿真软件主要有Mil3公司的OPNET、Cadence公司的VCC等软件。这些软件价格昂贵。广泛使用的免费仿真软件是NS2、TOSSIM及OMNeT++等。从以上分析和研究可以看出,在软硬件资源有限、仿真环境多样性的情况下,WSN仿真技术首先要能在能耗模型、节点行为、底层协议、抽象算法、网络异构及环境仿真等方面实现;其次,仿真技术还要具备完整性、可信度和伸缩性等功能。特别是在路由传输协议方面,如平面路由协议和聚类路由协议[5],需要从传统编程式路由算法协议(如:LEACH,BCDCP,PEGAGSIS,PEDAP)过渡到智能型路由协议(如:基于多智能体的WSN、基于模糊控制、神经网络的WSN数据融合路由算法、ACRA、Ant-Net等)。人工智能技术的高速发展,使得WSN具有学习能力的群体智能行为,使之能协同工作,这方面可能成为今后一个重点研究方向。当然,硬件技术的提高,如量子计算机的出现、高效的电池蓄电能力及存储技术等,对WSN也起到推动作用。
[1]钟幼平,黄佩伟.基于 OMNeT++平台的 SMAC协议仿真实现[J].信息技术,2008(2).
[2]胡静.基于OPNET的无线传感器网络仿真[J].电子电器教学学报,2006,28(6).
[3]马祖长,孙怡宁.大规模无线传感器网络的路由协议研究[J].计算机工程与应用,2004(11).
[4]孙利民,李建中,陈渝,等.传感器网络[M].北京:清华大学出版社,2005.
[5]MURUGANATHAN S, Daniel C F Ma, Rolly I.Bhasin, et al.A centralized energy-efficient routing protocol for wireless sensor networks[R].IEEE,2005.
[6]FALL K,VARADHAN K.NS-2 network simulator[M].University of California, Berkeley, 2004.
[7]LEVIS P, MADDEN S, GAY D, et al.The emergence of networking abstractions and techniques in TinyOS[A].ProceedingoftheFirstUSENIX/ACM Symposium onNetworked Systems Design and Implementation[C],2004.
[8]梁韡,于海斌.基于多智能体的无线传感器网络仿真平台的研究[J].系统仿真学报,2006(4).
[9]翟建设,李娜.基于分簇的无线传感器网络簇内数据融合算法[J].计算机工程,2008(6).