1、摘 要I摘 要无线传感器网络路由算法设计是当前各高校研究的热点课题之一,由于传感器节点受到体积和成本等因素的限制,节点的能量和存储空间都非常有限。本文对移动 sink 节点的无线传感器网络做了系统分析,并结合蚁群算法中的信息素思想提出了一种适应于网络拓扑结构快速变化的信息素标识算法。通过模拟仿真得知此算法相对于其他无线传感器网络算法具有更高的数据传输成功率、较长的网络寿命以及较低的数据传输延时。关键词:无线传感器网络 移动 sink 节点 信息素ABSTRACTIIABSTRACTWSN routing algorithm design is one of the hot topics of
2、the research, the sensor nodes is limited by factors such as size and cost, energy storage space of the nodes are very limited. Mobile sink node in WSN, systems analysis, combined with the ideology of the pheromone in the ant colony algorithm pheromone identify the algorithm adapt to rapidly changin
3、g network topology. Learned through the simulation of this algorithm compared to other WSN algorithm has a higher data transfer success rate, a longer network lifetime and lower data transmission delay. Key Words: Wireless Sensor NetworkS;ant colony algorithm;mobile sink; 目 录III目录第 1 章 引言 11.1 选题背景及
4、意义 11.2 国内外的研究现状 21.3 课题的难点、重点、核心问题及方向 3第 2 章 无线传感器网络组成结构 52.1 无线传感器网络结构 52.2 无线传感器网络节点的限制 52.3 无线传感器网络的特点 72.4 路由协议的特点 9第 3 章 关于移动 sink 节点的一种路由算法 .113.1 问题描述 113.2 数据收集 113.3 网络模型 123.4 算法构建 123.5 队列管理 15第 4 章 模拟仿真 174.1 仿真环境 174.2 对比算法简介 184.3 默认参数时性能对比 184.4 节点密度对性能影响 194.5 通信半径对性能影响 224.6 储存队列对性
5、能影响 244.7 本章小结 25第 5 章 全文总结 275.1 总结 275.2 论文的不足 27参考文献 .28致 谢 29附录 .24ABSTRACT0第 1 章 引言1.1 选题背景及意义随着半导体技术和通信技术的发展,我们已经由PC时代和网络时代,进入后PC时代。自MarK Weiser在1991年首次提出普适计算(Ubiquitous Computing)思想以来,普适计算作为2l世纪的计算模式,日益受到人们的关注和重视。其中,无线传感器网络技术是普适计算思想大系统中的一个典型应用。无线传感器网络是当前国际上备受关注的、由多学科高度交叉的新兴前沿研究热点领域。无线传感器网络能够通
6、过各类集成化的微型传感器协作地实时监测、感知和采集各种环境或监测对象的信息,通过嵌入式系统对信息进行处理,并通过随机自组织无线通信网络以多跳中继方式将所感知信息传送到用户终端,从而真正实现普适计算的理念。无线传感器网络具有十分广阔的应用前景,在军事国防、工农业、城市管理、生物医疗、环境监测、抢险救灾、防恐反恐、危险区域远程控制等许多领域都有重要的科研价值和巨大实用价值,已经引起了世界许多国家军界、学术界和工业界的高度重视,并成为进入2000年以来公认的新兴前沿热点研究领域,被认为是将对二十一世纪产生巨大影响力的技术之一。在军事领域中,无线传感器网络多用于恶劣地形或敌控区的侦察工作,W无线传感器
7、网络节点一经部署就无法补充能量,故而无线传感器网络节点必须体积小、工作时间长、抗干扰和入侵能力强。在工业控制领域中,无线传感器节点一般是可以设计安放在固定位置上的,除了监测目标内部信息的情况之外,一般没有隐蔽性的要求,甚至可以对每个节点进行电池的更换,所以在工业控制领域中对无线传感器节点的体积和电池工作时间要求并不严格,在通信手段的选择上也相应较为灵活。但工业控制领域一般要求无线传感器对周围环境的变化要足够敏感,同时要在高噪音、高湿度、高温、高气压以及重粉尘、重油污等恶劣情况下仍然可以正常工作。在环境监测领域中,无线传感器节点一般不会有很大的位移,故而节点体积也可以不必做得太小,但是对于节点的
8、材质有很高的要求,一般都要求节点在任何情况下都不会污染环境,这样一般就需要采用环保型甚至可以生物降解材料的电子元件来制造节点,节点的成本会增加。在医学领域中,无线传感器的功能是实时测量和监测人体的生理数据,随着人的活动,无线传感器节点之间的相对位移十分频繁,无线传感器节点位移的距离远大于节点自身的大小,且带有强烈不规则性。参考文献1把不同应用领域内对无线传感器的体积、节能、规模、实时性、材料、信息安全等属性的要求进行对比分析,可以得到表1.1。表1.1 应用于不同领域的无线传感器网络节点属性要求体积 能量 可回收 实时性 材料 信息安全军事 毫米级 数月 不可 强 抗干扰 强工业 无限制 数月
9、 可以 中 无特殊 中灾害监测 无限制 数月/数年 可以/不可 强 无特殊 中环境监测 无限制 数月 可以 中 无污染 中人体体外 厘米级 数天 可以 强 无特殊 中人体体内 大分子级 数小时 不可 中 抗排斥 中通过表1-1可以看出,无线传感器网络路由算法的设计需要针对其即将应用的领域和执行的任务的特性来设计。即为每一种应用场景设计最契合要求的算法,这是最理想的状态。1.2 国内外的研究现状无线传感器网络的研究起始于20世纪90年代末期。由于无线传感器网络的巨大应用价值,它已经引起了世界许多国家的军事部门、工业界和学术界的极大关注。自2000年起,国际上开始出现一些有关传感器网络研究结果的报
10、道,美国自然科学基金委员会2003年制定了传感器网络研究计划,支持相关基础理论的研究。美国国防部和各军事部门都对传感器网络给予了高度重视,把传感器网络作为一个重要研究领域,设立了一系列的军事传感器网络研究项目。美国英特尔公司、微软公司等信息业巨头也开始了传感器网络方面的研究工作。同本、德国、英国、意大利等科技发达国家也对无线传感器网络表现出了极大兴趣,纷纷展开了该领域的研究。但是,目前大部分的研究尚处于起步阶段,少数投入实用的商业产品距离实际需求还相差甚远。我国在传感器网络方面的研究工作还很少,目前,国内一些高等院校与研究机构已积极开展无线传感器网络的相关研究工作,主要有清华、中科院软件所、浙
11、江大学、哈尔滨工业大学、中科院自动化所、中国人民大学等。目前国内研究热点主要集中在穿戴式计算、上下文感知环境、智能教室等领域,在支持无线传感器网络的无线通信网络技术的研究尚不多见。随着无线传感嚣网络应用的日益ABSTRACT2发展与不断深入,支持无线传感器网络的无线通信网络技术、超微型嵌入式实时操作系统等若干关键技术的研究将成为未来无线传感器网络应用的发展趋势和热点。 1.3 课题的难点、重点、核心问题及方向 要设计出优秀的无线传感器网络路由算法,就不得不对无线传感器网络路由算法的约束做研究。经过分析、归纳、总结,无线传感器网络路由算法的约束主要有以下三类。(1)能量约束从无线传感器网络发展的
12、现状中可以看到,目前无线传感器元件一般是以电池作为能源进行工作的。当电池能源耗尽的时候,无线传感器元件就将丧失工作能力,从而退出网络并被废弃或者直到其更换新的电池为止;当一个WSN 中的多个无线传感器节点能源耗尽时,该WSN 的传输能力就将大大下降,同时会增加其他信道上的流量从而加剧其他无线传感器节点的能量消耗;研究表明,当约四分之一的无线传感器节点能源耗尽的时候,该WSN 就将濒临瘫痪。如果无线传感器网络各节点是部署在不可充电的环境中,则能量消耗方面的因素直接决定着无线传感器网络的寿命。在这种情况下,节能将会成为算法设计中的要点。 (2)算法特性约束无线传感器网络路由协议由泛洪、直接传输二种
13、协议发展而来,目前有基于拓扑信息等几大类。每种协议不可避免地会在某些方面有所不足。泛洪协议是指向其传输范围内的每一个节点均转发数据,这样必然会有一条路径使得数据最快到达,虽然这样最快,但是消耗能量过多,同时过度占用了网络资源,故而泛洪协议的应用范围有限。直接传输协议是指每个节点仅向sink节点传输数据,不与其他任何普通节点进行数据传输,这样虽然最省能源,也避免了信息内爆,但是发送时间最慢,而且数据发送失败的几率很大,故而直接传输协议的应用范围更小。基于拓扑信息的协议是将整体或者局部的拓扑信息保存在节点上,当数据到来时利用已知的拓扑信息来进行计算,从而确定最佳的转发路径,这样的协议虽然具有很快的
14、速度和较低的能源消耗,但是需要花费一定的代价去维护拓扑表,而且这种维护并非是一劳永逸的,当环境发生改变,或者某些无线传感器的能源参考文献3耗尽后,原有的拓扑结构可能会发生变化,可能会失去一些信道,可能会由于某些点的缺失或者Sink 节点的重新选择而造成拓扑结构的效率低下,故而需要定期重新优化拓扑结构。有些路由协议本身具有某一方面的不足之处,例如基于地理位置信息的路由算法以每个传感器元件的地理位置作拓扑,其理论上只向最接近理想传输方向的节点传输信息,但一旦遇到了无线传感器节点部署中受到环境的限制而不可避免形成的空洞部分,如水塘等,而理想传输方向又只能延伸到一个死胡同方向时,这条信息将传进死胡同,
15、而无法继续传输。所幸的是目前流行的每种无线传感器网络路由算法都会针对其基础算法的“先天不足”作出相应的修改和补充以弥补缺点,达到较好的效果。路由协议无疑是当前无限传感器网络研究的热点之一,由于WSN 具有资源受限的特性,故而在其路由协议方面,同样要求非常苛刻。故而,只有针对特定的应用背景设计路由协议,才可能实现信息传输的高效。目前,WSN 路由协议研究还有一些根本性的问题需要进一步地研究、解决。ABSTRACT4第 2 章 无线传感器网络组成结构2.1 无线传感器网络结构无线传感器网络由两种节点组成:传感节点、汇聚节点。如图 2.1 所示。传感节点负责将传感器采集到的传感数据通过多跳路由转发传
16、送到汇聚节点。传感器节点具有传统网络节点终端和路由的双重功能,除进行本地信息收集和处理外,还对其它节点转发来的数据进行存储、管理和融合,与其它节点协作完成一些特定任务。汇聚节点的处理能力、存储能力和通信能力相对较强,它既可以是具有增强功能的传感器节点,有足够的能量和更多的内存与计算能力,也可以是带有无线通信接口的特殊网关设备。它连接传感器网络与Internet等外部网络,通过协议转换实现管理节点与传感器网络之间的通信,发布管理节点的监测任务,同时将收集的数据转发到外部网络。图2.1无限传感器网络结构图2.2无线传感器网络节点的限制 (1)电源能量有限传感器节点体积微小,通常携带能量十分有限的电
17、池。由于传感器节点个数多、成本要求低廉、分布区域广,而且部署区域环境复杂,有些区域甚至人员无法到达,所以传感器节点通过更换电池的方式来补充能源是不现实的。如何高效使用能量来最大化网络生命周期是传感器网络面临的首要挑战。参考文献5传感器节点消耗能量的模块包括传感器模块、处理器模块和无线通信模块。随着集成电路工艺的进步,处理器和传感器模块的功耗变得很低,绝大部分能量消耗在无线通信模块上。图22所示是Debora Estrin在Mobicom 2002会议上的特邀报告中所述传感器节点各部分能量消耗的情况,从图中可知传感器节点的绝大部分能量消耗在无线通信模块。传感器节点传输信息时要比执行计算时更消耗电
18、能,传输1比特信息100m距离需要的能量大约相当于执行3000条计算指令消耗的能量。图 2.2 传感器节点能量消耗情况从图中可以看到,无线通信模块在发送状态的能量消耗最大,所以如何让网络通信更有效率,减少不必要的转发和接收,不需要通信时尽快进入睡眠状态,是传感器网络协议设计需要考虑的问题。(2)计算和储存能力有限传感器节点是一种微型嵌入式设备,要求它价格低功耗小,这些限制必然导致其携带的处理器能力比较弱,存储器容量比较小。为了完成各种任务,传感器节点需要完成监测数据的采集和转换、数据的管理和处理、应答汇聚节点的任务请求和节点控制等多种工作。如何利用有限的计算和存储资源完成诸多协同任务成为传感器
19、网络设计的挑战。随着低功耗电路和系统设计技术的提高,目前已经开发出很多超低功耗微处理器。除了降低处理器的绝对功耗外,现代处理器还支持模块化供电和动态频率ABSTRACT6调节功能。利用这些处理器的特性,传感器节点的操作系统专门设计了动态能量管理和动态电压调节模块,可以更有效地利用节点的各种资源。动态能量管理是当节点周围没有感兴趣的事件发生时,部分模块处于空闲状态,把这些组件关掉或调到更低能耗的睡眠状态。动态电压调节是当计算负载较低时,通过降低微处理器的工作电压和频率来降低处理能力,从而节约微处理器的能耗,很多处理器都支持电压频率调节。2.3无线传感器网络的特点(1)大规模网络为了获取精确信息,
20、在监测区域通常部署大量传感器节点,传感器节点数量可能达到成千上万,甚至更多。传感器网络的大规模性包括两方面含义:一方面是传感器节点分布在很大的地理区域内,如在原始大森林采用传感器网络进行森林防火和环境监测,需要部署大量的传感器节点;另一方面,传感器节点部署很密集,在一个面积不是很大的空间内,密集部署了大量的传感器节点。传感器网络的大规模性具有如下优点:通过不同空间视角获得的信息具有更大的信噪比:通过分布式处理大量的采集信息能够提高检测的精确度,降低对单个节点传感器的精度要求:大量冗余节点的存在,使得系统具有很强的容错性能:大量节点能够增大覆盖的监测区域,减少洞穴或者盲区。(2)自组织网络在传感
21、器网络应用中,通常情况下传感器节点被放置在没有基础结构的地方。传感器节点的位置不能预先精确设定,节点之间的相互邻居关系预先也不知道,如通过飞机播撤大量传感器节点到面积广阔的原始森林中,或随意放置到人不可到达或危险区域。这样就要求传感器节点具有自组织的能力,能够自动进行配置和管理,通过拓扑控制机制和网络协议自动形成转发监测数据的多跳无线网络系统。在传感器网络使用过程中,部分传感器节点由于能量耗尽或环境因素造成失效,也有一些节点为了弥补失效节点、增加检测精度而补充到网络中,这样在传感器网络中的节点个数就动态地增加或减少,从而使网络的拓扑结构随之动态地变化。传感器网络的自组织性要能够适应这种网络拓扑
22、结构的变化。 (3)动态性网络参考文献7传感器网络的拓扑结构可能因为下列因素而改变:环境因素或电能耗尽造成的传感器节点出现故障或失效;环境条件变化可能造成无线通信链路带宽变化,甚至时断时通;传感器网络的传感器、感知对象和观察着这三要素都可能具有移动性;新节点的加入。这就要求传感器网络系统要能够适应这种变化,具有动态的系统可重构性。(4)可靠的网络传感器网络特别适合部署在恶劣环境或人类不宜到达的区域,传感器节点可能工作在露天环境中,遭受太阳的暴晒或风吹雨淋,甚至遭到无关人员或动物的破坏。传感器节点往往采用随机部署,如通过飞机播撤或发射炮弹到指定区域进行部署。这些都要求传感器节点非常坚固,不易损坏
23、,适应各种恶劣坏境条件。由于监测区域环境的限制以及传感器节点数目巨大,不可能人工“照顾”每个传感器节点,网络的维护困难甚至不可维护。传感器网络的通信保密性和安全性也十分重要,要防止监测数据被盗取和获取伪造的监测信息。因此,传感器网络的软硬件必须具有鲁棒性和容错性。(5)以数据为中心的网络目前的互联网是先有计算机终端系统,然后在互联成为网络,终端系统可以脱离网络独立存在。在互联网中,网络设备用网络中惟一的球地址标识,资源定位和信息传输依赖于终端、路由器、服务器等网络设备的口地址。如果想访问互联网中的资源,首先要知道存放资源的服务器口地址。可以说目前的互联网是一个以地址为中心的网络。传感器网络是任
24、务型的网络,脱离传感器网络谈论传感器节点没有任何意义。传感器网络中的节点采用节点编号标识,节点编号是否需要全网惟一取决于网络通信协议的设计。由于传感器节点随机部署,构成的传感器网络与节点编号之间的关系是完全动态的,表现为节点编号与节点位置没有必然联系。用户使用传感器网络查询事件时,直接将所关心的事件通告给网络,而不是通告给某个确定编号的节点。网络在获得指定事件的信息后汇报给用户。这种以数据本身作为查询或传输线索的思想更接近于自然语言交流的习惯。所以通常说传感器网络是一个以数据为中心的网络。例如,在应用于目标跟踪的传感器网络中,跟踪目标可能出现在任何地方,ABSTRACT8对目标感兴趣的用户只关
25、心目标出现的位置和时间,并不关心哪个节点监测到目标。事实上,在目标移动的过程中,必然是由不同的节点提供目标的位置信息。2.4 路由协议特点路由协议负责将数据分组从源节点通过网络转发到目的节点,它主要包括两个方面的功能:寻找源节点和目的节点间的优化路径,将数据分组沿着优化路径正确转发。ad hoc、无线局域网等传统无线网络的首要目标是提供高服务质量和公平高效地利用网络带宽,这些网络路由协议的主要任务是寻找源节点到目的节点间通信延迟小的路径,同时提高整个网络的利用率,避免产生通信拥塞并均衡网络流量等,而能量消耗问题不是这类网络考虑的重点。在无线传感器网络中,节点能量有限且一般没有能量补充,因此路由
26、协议需要高效利用能量,同时传感器网络节点数目往往很大,节点只能获取局部拓扑结构信息,路由协议要能在局部网络信息的基础上选择合适的路径。传感器网络具有很强的应用相关性,不同应用中的路由协议可能差别很大,没有一个通用的路由协议。此外,传感器网络的路由机制还经常与数据融合技术联系在一起,通过减少通信量而节省能量。因此,传统无线网络的路由协议不适应于无线传感器网络。与传统网络的路由协议相比,无线传感器网络的路由协议具有以下特点:(1)能量优先传统路由协议在选择最优路径时,很少考虑节点的能量消耗问题。而无线传感器网络中节点的能量有限,延长整个网络的生存期成为传感器网络路由协议设计的重要目标,因此需要考虑
27、节点的能量消耗以及网络能量均衡使用的问题。(2)基于局部拓扑信息 无线传感器网络为了节省通信能量,通常采用多跳的通信模式,而节点有限的存储资源和计算资源,使得节点不能存储大量的路由信息,不能进行太复杂的路由计算。在节点只能获取局部拓扑信息和资源有限的情况下,如何实现简单高效的路由机制是无线传感器网络的一个基本问题。(3)以数据为中心传统的路由协议通常以地址作为节点的标识和路由依据,而无线传感器网络中大量节点随机部署,所关注的是监测区域的感知数据,而不是具体哪个节点获取的信息,不依赖于全网惟一的标识。传感器网络通常包含多个传感器节点到少参考文献9数汇聚节点的数据流,按照对感知数据的需求、数据通信
28、模式和流向等,以数据为中心形成消息的转发路径。(4)应用相关传感器网络的应用环境干差万别,数据通信模式不同,没有一个路由机制适合所有的应用,这是传感器网络应用相关性的一个体现。设计者需要针对每一个具体应用的需求,设计与之适应的特定路由机制。针对传感器网络路由机制的上述特点,在根据具体应用设计路由机制时,要满足下面的传感器网络路由机制的要求:(1)能量高效传感器网络路由协议不仅要选择能量消耗小的消息传输路径,而且要从整个网络的角度考虑,选择使整个网络能量均衡消耗的路由,传感器节点的资源有限,传感器网络的路由机制要能够简单而且高效地实现信息传输。(2)可扩展性在无线传感器网络中,检测区域范围或节点
29、密度不同,造成网络规模大小不同;节点失败、新节点加入以及节点移动等,都会使得网络拓扑结构动态发生变化,这就要求路由机制具有可扩展性,能够适应网络结构的变化。(3)鲁棒性能量用尽或环境因素造成传感器节点的失败,周围环境影响无线链路的通信质量以及无线链路本身的缺点等,这些无线传感器网络的不可靠特性要求路由机制具有一定的容错能力。(4)快速收敛性传感器网络的拓扑结构动态变化,节点能量和通信带宽等资源有限,因此要求路由机制能够快速收敛,以适应网络拓扑的动态变化,减少通信协议开销,提高消息传输的效率。ABSTRACT10第3章 关于移动sink节点的一种路由算法3.1问题描述sink节点作为无线传感器网
30、内数据汇聚的中心是无线传感器网络中最为重要部分。它承担着发送上层命令的同时也接受下层节点请求的任务。由于网络中所有数据都要向sink节点汇聚数据,一方面,在无线传感器网络中,每个节点接受来自其它节点的信息,并以广播的形式发送蛤其它邻近节点,依次循环下去,最终将信息发送蛤sink节点,但网络中节点数目过多会造成信息的重叠,因而浪费能量;另一方面,由于受到节点能量的限制,这些节点会困通信任务繁重而过早消耗完自身的能量而死亡从而使网络瘫痪。sink节点可分为固定sink节点和移动sink节点 同定sink节点无法移动,只能在原地持续性地收集数据,需要每隔一段时间便将源节点的数据传送给提出查询的sin
31、k节点。该方式一般用于特定点的监测,数据传输路径较为同定。但是这样会使得位于传输路径上的节点能量快速消耗。其他节点的能量无法充分利用,造成传输路径中断。移动sink节点的位置会经常改变,常用于移动目标的追踪和实时性的监控。sink节点的移动会导致路由的改变。sink节点在每一次移动都必须通过泛洪来重建路由,导致泛洪过度泛滥。无形中大量消耗节点的能量。本算法的特点在于用蚁群算法的“信息素”系统来标识节点与路径的能量/数据传输状态,每个数据包通过对于不同节点与路径信息素浓度来自主选择节点传输数据。从而在保证信息传递的情况下减少了每次因为 sink 节点移动而带来的信息泛洪,实现了能量的有效利用,延
32、长网络寿命。3.2 数据的收集数据收集是无线传感器网络最主要的用途之一。无线传感器网络的数据收集可以定义为:通过传感器节点的相互协作感知并收集网络覆盖区域内用户感兴趣的数据,并可靠地传输到汇聚节点的过程。根据具体应用需求的不同,无线传感器网络数据收集方式可以划分为 3 类:(1)周期性的数据收集即传感器节点根据给定的时间间隔周期性地感知监控区域的数据,如温度、湿度、压力、震动等,并将这些数据传输给汇聚点。查询驱动的数据收集,是指用户通过汇聚点发出查询请求,其中包括需要的数据类型、时间和空间范围等。参考文献11传感器节点收到请求消息后,向汇聚节点发送符合用户需要的数据。(2)事件驱动的数据收集即
33、当传感器节点检测到某些数据值超过了设定的阈值时,表明监测区域中发生了特定的事件,传感器节点将记录下事件的参数,如事件类型、发生时间、位置等信息,并向汇聚节点报告。由于周期性的睡眠/ 侦听工作模式、节点失效以及节点的移动等原因,无线传感器网络的拓扑结构变化频繁;而且节点采用节约能量的短距离通信技术,传感器节点感知到的数据通常以多跳转发的方式传输到汇聚节点。因而,数据传输路径的选择,即路由算法是无线传感器网络数据收集中最为关键的问题,也是数据收集的核心内容。因此,本文中所说的数据收集主要是指如何将数据从传感器节点传输到汇聚节点的路由问题。数据收集最主要的目标是在用户可以接受的时限内,将数据完整可靠
34、地传递到汇聚节点。考虑到无线传感器网络能量受限的特点,数据收集还要在保证用户需求的条件下尽可能减少能量消耗、延长网络的生命期。可见,无线传感器网络数据收集主要的性能评价指标包括:平均数据递交成功率、平均数据递交延迟。3.3 网络模型假设传感器网络具有如下性质:(1)网络中节点均匀分布,所有传感器节点一旦部署,则都静止不动;(2)传感器节点具有相同的初始能量,并且能量不能补充,即一旦某节点的能量耗尽,则节点停止工作;(3)sink 节点移动并且有充足的能量;(4)所有节点都可以发送和接收数据,选择部分节点周期性地感应数据,这些节点称为源节点;(5)所有节点具有相同的最大传输范围 R,与 sink
35、 之间的距离大于 R的节点产生的数据通过多跳路由方式传送到 sink;(6)初始时网络连通。 (7)所有节点产生的数据同等重要。由于在无线传感器网络的通信过程中,数据通信的能量消耗远大于数据感应和数据处理的能量消耗,所以本模型只考虑数据通信的能量消耗 。etE3.4 算法的构建本算法采用蚁群算法的思想,以整条路径的能量、节点数据容纳量共同作为指导数据传递的信息素,同样的,信息素会随着时间的推移而不断“蒸发”以适应 sink 节点移动带来的网络拓扑不断变化,代表着随时间推移此路径可靠性不断降低。算法所采用的网络结构为分层结构,网络被划分为多个相邻的层,与 Sink ABSTRACT12的距离相同
36、的节点属于同一层。每个节点按一定概率将数据发送给路由表中信息素最高的几个节点。图 3-1 显示一个基于分层结构的网络,共包含三层,箭头代表着数据传输。图 3.1 基于分层的结构整个算法流程如下:(1)当整个网络初始化之后,sink 节点周期性发送广播消息,第一次收到广播的第一层节点按照 计算自己的信息素并向周围广播。其中, 为当ba* 前节点信息素, 为当前节点剩余能量百分比, 为当前节点空闲储存空间。b(2)收到由节点发出的广播内容的节点根据信息构建路由表,该表中储存有的所有邻居节点以及邻居节点的信息素浓度。再根据 a*)3.0.*4.0(21N/计算当前节点信息素并向周围节点广播。其中 、
37、 、 分别为当前节点的邻123居节点中信息素浓度最高的三个节点的信息素浓度, 为节点储存空间大小。(3)当网络构建完成后,每隔一段时间 所有节点周期性的按照 来t kn*对路由表中所有信息素进行蒸发,其中 为蒸发系数且小于 1。k(4)每隔一段时间 节点周期性的重新计算自己的信息素浓度并向邻居节点t广播。参考文献13(5)如果有节点发现自己能源不足,立即向邻居节点发出广播,邻居节点将其信息素完全清零并将其从邻居节点去除。(6)如果某 1 级节点发现自己与 sink 节点的链接断开,则立即重新计算其信息素浓度并向邻居节点广播。(7)重复第(3)-(6)步直到网络死亡。算法流程图如下所示:图 3.
38、2 算法流程图ABSTRACT143.5 队列管理对于传统的存储转发网络,当消息被发送至下一跳节点后,发送方通常会将该消息从自身的消息队列中删除。然而,在移动传感器网络间歇连通的环境里,将消息成功发送至下一跳节点,并不意味着该消息就一定能被汇聚点成功接收。因此在移动传感器网络中,当消息被转发到其他节点后,发送方节点仍将可能保存此消息的复本,网络也因此存在大量的冗余消息。队列管理的目的就是恰当地分类存储队列中的消息,以便决定当某个传感器节点遇到其他传感器节点时,队列中各个消息传递的优先顺序以及消息的丢弃原则。本算法采用节点的信息素和最大复制数来管理队列。消息的最大复制数用 MR 表示,是指消息在
39、某节点中能够被转发给其它节点的最大次数。MR 值的确定,是节点根据自身与 sink 节点距离,为使消息能够以一个较大概率被汇聚点成功接收,而对消息所需转发次数的预评估计算。每当新消息产生,或者当消息被复制到一个新节点,节点在接纳这个消息的同时,计算最大复制数并写入对应消息域。当节点运动过程中碰到合适的下一跳节点,在把消息复制给下一跳后,重新放回的消息的 MR 将被减 1,若 MR 被减为 0 则消息将被节点删除。每个传感器节点都拥有一个存储队列,用来缓存待发送的消息。这些消息有以下三种来源(如图 3.3 所示):(a)节点自身产生的消息。每当传感器节点自身的传感单元感知信息并产生数据时,节点将
40、数据封装成消息,并插入到自身的存储队列中;(b)其他节点传来的消息。当节点间传递消息时,接收方节点会将接收到的来自其他节点的消息插入到自身队列中;(c)发送后又重新入队列的消息。当节点把消息发送到其他传感器节点(非汇聚点)后,若消息的 MR 仍大于 0,将被重新插入队列,因为网络并不能保证发送出去的消息最终能被汇聚点接收。图 3.3 队列消息的来源参考文献15各个节点根据自身与 sink 节点距离的不同,分别预设 MR 值为 , , 。123如果节点为 1 级节点,则节点中的数据直接传输给 sink 节点。如果节点不为 1 级节点,则节点中的数据按照如下规则向周围的邻居节点进行转发,321nn
41、p.21其中 为向当前节点的邻居节点中信息素为第 n 高的节点发送的概率, 为当np n前节点的邻居节点中信息素浓度为第 n 高的节点的信息素浓度。第 4 章 模拟仿真ABSTRACT16为了验证此算法的有效性,利用 OPNET 分别对泛洪、直接传输、以及本算法(为了方便,将其称为信息素标识算法)进行仿真实验,并对它们的性能进行了比较。4.1 仿真环境所有仿真实验中,传感器节点随机分布在正方形区域内。sink 节点随机产生而且每轮在以 x,y 为中心的(-2,2)的邻域内随机取值。若无特别说明,默认情况下的主要仿真参数如表 4.1 所示。表 4.1 仿真参数仿真实验将对以 下性能参数进行统计:
42、(1)网络寿命(Network lifetime):从第一次网络构建开始,直到网络分离或所有源节点耗尽能量所经历的时间。在此仿真实验中,当网络内 80%节点死亡时即认为整个网络的能源耗尽,数据无法传输,从而判断为网络死亡。(2)数据递交率(Data delivery ratio):sink 实际接收到的分组数与网络产生的分组总数之间的比值。(3)平均分组延迟(Average packet latency):从分组在源节点产生的时间开始,参数 值发送数据能量 1 单位/次接收数据能量 1 单位/次网络范围 100*100节点数目 100传输半径 5传输效率 10 数据包/次节点储存空间 100
43、数据包参考文献17直到 sink 接收分组所经过的时间。4.2 对比算法简介(1)泛洪算法泛洪算法是无线网络中一种最基本的、最简单的路由算法。由于它具有实现简单、健壮性高的优点,成为实现网络服务和资源发现的主要手段,同时,在许多的无线网络路由协议中,泛洪算法还是这些路由协议的重要的组成部分和实现基础。泛洪算法是指在泛洪传播过程中,一个节点发送一个消息给它所有的邻居节点,这些邻居节点分别将该消息转发给它们自己的邻居节点,直到该消息发布给整个网络,即网络中所有节点均收到这个消息,这种算法使得泛洪包在转发过程中带有很大的盲目性,因此称之为盲目泛洪算法。盲目泛洪算法健壮性高、实现简单,但是由于算法未能
44、有效抑制冗余泛洪包和有效减少信道冲突概率,这使得每次泛洪过程都要消耗很大的能量,而且随着网络规模扩大、节点密度增加,这种情况将更加严重。(2)直接传输算法直接传输算法是无线传感器网络中最简单的算法,在传播的过程中,一个节点只会直接发送消息给 sink 节点,而不会与其他任何普通节点进行数据传输与信息交换。这种算法使得网络中的数据传输率极低,而数据的传输延时则极高;所以虽然此算法实现简单,网络寿命最长,但却基本不适合无线传感器网络的实际应用。这两种算法均实现简单,而且常常作为其他算法的基础。同时一个算法以数据为中心,另一个以能量为中心,所以常常用来作为其他算法的比较算法。4.3 默认参数时性能对
45、比首先来看默认参数下各算法的性能。在默认的情况下,sink 节点每 5 个时间片广播一次消息;为了避免众多节点同时广播消息导致网络堵塞,所以规定每个节点在每个时间片以 0.2 的概率向邻居节点发出广播;每个时间片中,每个节点的信息素蒸发系数 =0.8;与 sink 节点距离分别大于 3、5、8 的节点中数据的kMR 值分别为 1、2、3;每个节点在每个时间片内均产生一个数据包;每个节点ABSTRACT18的初始能量为 200 单位。表 4.2 默认参数时各算法的性能直接传输算法 泛洪算法 信息素标识算法数据传输率 13.5% 13.8% 16.4%平均传输延时 268.7 184.9 93.1
46、网络寿命 7374 2086 5334如表 4.2,与其他两种算法相比,信息素标识算法在获得最高传输成功率的同时,具有较低的传输能耗(表现为较长的网络寿命)和最低的平均传输延迟。直接传递策略在传输成功率和平均传输延迟两个度量指标上都具有最差的性能,原因在于传感器节点只能直接向汇聚点传递消息,移动 sink 节点环境下节点遇到汇聚点的频率不高,致使消息递交非常困难。此外,实验结果显示泛洪策略的传输成功率稍高于直接传递,而平均传输延迟比直接传递略小。网络运行的初期,泛洪策略使各传感器节点的消息队列很快被泛洪消息所填满。在此之后,由于队列管理只允许节点自己产生的消息加入队列,而不再接收其他节点传来的
47、消息,因此新产生的消息只能由其自身节点直接向汇聚点递交,从而使泛洪策略具有与直接传递策略相似的性能表现。然而比起传统的固定 sink 节点的情况,直接传输算法的性能则有了巨大的提高,这是因为在 sink 节点移动的情况下,直接传输算法的瓶颈与 sink 节点极低的相遇概率在此情况下已得到大大的提高。因为采用了不同的节点传输概率计算方法和不同的队列管理机制,信息素标识算法具有更高的消息传输成功率和更低的平均复本数量,同时引入了节点的信息素系统使节点传输概率的计算更加准确,因此在降低平均网络延时的同时,仍然取得了更高的消息传输成功率。综合以上分析可知,信息素标识算法的传输概率计算方法能够更准确地反
48、映出节点向汇聚点传输消息的实际能力,而与之配合的队列管理机制,则能够在保证较高消息传输成功率和较低传输延迟的同时,有效降低网络能耗开销。4.4 节点密度对于性能的影响本章主要通过对于仿真实验中节点密度的调整得出不同算法在不同节点密度环境下的数据,通过分析仿真的数据来对算法的优劣进行比较,同时也可分析得知算法的适应环境。参考文献19图 4.1 各算法的表示曲线本论文中的仿真数据曲线均按图 4.1 进行绘制。图 4.2a 不同节点密度对于算法数据传输率的影响从图 4.2a 可以看出,当节点的密度不断增大时,直接传输算法的数据传输率大致保持不变。这是因为直接传输算法的数据传输率只与 sink 节点的
49、相遇概率有关,而节点密度的改变不会对相遇概率造成影响。而泛洪算法由于刚开始时数据的大量传输迅速占满各节点消息队列,导致后继各节点的数据传输带有直接传递的性质,因而信息提交率比直接传输算法略高。对于信息素标识算法,由于节点密度的增加,各节点的邻居选择越大,网络的拓扑结构也就越密集,所以各节点的信息素浓度水平有一定提高;而信息素浓度水平代表着数据传输到 sink 节点的期望,所以同样表现为其数据传输率的提高。ABSTRACT20图 4.2b 不同节点密度对于网络寿命的影响从图 4.2 可以看出,节点密度对于直接传输算法的寿命毫无影响。而泛洪算法由于节点密度增加而向更多的邻居节点传输消息导致其寿命急剧减短。对于信息素标识算法而言,由于节点密度的增加导致处于 、 的节点数目增多,在整23个网络中传输的消息的副本增多,所以网络寿命有一定的减短。图 4.2c 不同节点密度对于数据延时的影响参考文献21从图 4.2c 可以看出,节点密度的改变对于直接传输算法的数据延时同样基本没有影响。综合图 4.2a 与图 4.2b 可以看出,直接传输算法的效率与节点密度基本没有关系。而由于泛洪算法在节点密度增大时网络寿命过短,数据提交量太低,所以其数据延时不具有参考意义,故舍去。对于信息素标识算法而言,节点密度增大有利于遇到下一跳节点,使消息更