《基于分层多簇模型的工业物联网协议设计》13000字(论文)_第1页
《基于分层多簇模型的工业物联网协议设计》13000字(论文)_第2页
《基于分层多簇模型的工业物联网协议设计》13000字(论文)_第3页
《基于分层多簇模型的工业物联网协议设计》13000字(论文)_第4页
《基于分层多簇模型的工业物联网协议设计》13000字(论文)_第5页
已阅读5页,还剩16页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于分层多簇模型的工业物联网协议设计目录TOC\o"1-1"\h\z\u\t"标题2,1,标题3,1,标题4,1,标题5,1"3076摘要 12399关键词 194811绪论 2213761.1课题的研究背景 2115071.2课题的研究现状 269782无线传感器网络分析 394252.1无线传感器网络的概念及特点 3320932.2无线传感器网络的体系结构 3317422.2.1节点结构 3285422.2.2网络结构 4282282.3无线传感器网络的关键技术 5122393路由算法分析 652563.1路由过程及特点需求 63773.2平面路由算法分析 6255393.2.1泛洪法 646733.2.2SPIN算法 7216723.2.3DD算法 8312353.3常见典型分簇路由协议 84333.3.1LEACH算法 928433.3.2PEGASIS算法 9139313.3.3TEEN算法 1089583.3.4TTDD算法 105623.4典型路由算法的性能比较 10257294LEACH协议的设计与实现 11127344.1LEACH的运作机制 11209194.1.1成簇阶段 11282104.1.2稳定传输阶段 12105584.2LEACH协议的实现 13300944.2.1环境配置 13193184.2.2LEACH协议的移植 13162984.3仿真实验 14199634.4LEACH协议的优缺点 16154054.5改进协议LEACH-C 17226114.5.1改进策略 17310064.5.2LEACH协议与LEACH-C的仿真比较 17314134.6实验结果分析 19161205总结 2022123参考文献 21摘要:近年来,随着第四次工业革命的到来,人工智能、机器人技术、可控核聚变等技术在各个领域的应用越来越广泛,工业物联网更是代表了第四次工业革命的全方位展开。无线传感器网络是物联网最为重要的关键技术之一,对工业物联网的发展有举足轻重的作用。针对无线传感器网络的节点能量会大幅度限制其生存周期的问题,一个能节约能量从而有效延长网络生命周期的协议至关重要。目前,许多成熟可靠的路由协议已经被提出,本文在系统研究过无线传感器网络的体系结构、发展现状后,详细分析了无线传感器网络的几种经典路由协议算法,并对于分簇路由协议中的LEACH协议作出着重研究,对传统LEACH协议做出仿真。关键词:工业物联网无线传感器网络LEACH协议引言无线传感器的路由协议根据节点规划的层次,可以分为平面路由协议和分簇路由协议两种。因为需要维护大量路由表的缘故,平面路由协议只在网络规模较小时适用;而分簇路由协议通过建立分层多簇的模型,令能量较高的节点成为簇头,来收集融合簇成员节点发送来的数据信息,并将处理后的精简信息转发到基站,从而有效提高了能量利用率。第一个被提出的分簇路由协议是LEACH(LowEnergyAdaptiveClusteringHierarchy)路由协议,对整个无线传感器网络的发展都具有十分重要的作用。但是,随着无线传感器网络的日渐成熟,LEACH路由协议的缺点也越来越明显,LEACH-C协议就是针对LEACH协议的不足所提出的改进方案。本文在对二者进行了仿真分析的基础上,研究了改进簇头选取机制、延长网络寿命的有关内容。绪论课题的研究背景物联网的发展与传感器密不可分。在2011年,德国率先提出了工业物联网的概念,之后工业物联网被广泛应用于改善大规模的工业环境之中,其中就包含了制造业、物流、能源和航空等行业的改良。除此之外,工业物联网还利用从小型环境传感器到供应链监控和高级分析等一系列工具和技术,做出更好的业务决策并获得竞争优势REF_Ref25407\r\h[1]。无线传感器网络的已成为信息领域研究的热门话题之一,在农业、医疗、工业、军事、智能交通等领域发挥着重要的作用,或将成为未来发展不可或缺的角色。物联网的发展离不开无线传感器网络的支撑,研究面向物联网的无线传感器,对于我们的日常生活也有着很大的意义REF_Ref26204\r\h[2]。传感器网络以节点为单位进行数据的传送,每个节点都有获取数据、分析数据、传送数据的功能,是整个无线网络的重要基石。随着物联网技术的应用,无线传感器网络更是展现了无限的发展空间REF_Ref30036\r\h[3]。与传统的传感器网络不同,无线传感器网络由数目十分庞大的传感器节点相互通信所构成,环境的影响或者是节点能量的减少都会导致网络的通信效果差。又因为无线传感器网络通常应用于恶劣环境中,这些环境通常来说人类无法靠近,节点能源无法得到更换和补充,因此,能够有效地减少能量损耗的数据传输策略是无线传感器网络亟待解决的核心问题。课题的研究现状工业物联网与无线传感器网络都具有十分广泛而深远的发展应用前景。在1998年,美国已经构建了“智能微尘”的计划书,其本质即是一种沙粒大小的微型传感器,可伴随着武器、物资、运输线等进入敌军阵地,从而无孔不入地获取情报,达到监视敌军的效果。在经济与商业方面,英特尔提出了与智能微尘十分相似的概念,通过向人体中植入小型的无线传感器网络,从而将无线传感器网络应用于临床医疗、火灾预防、身体健康分析等等。在我国而言,中国的经济正处于腾飞阶段,步入了中高速增长的新常态,但制造业仍然是大而不强的。在此背景下,国务院于2015年5月发布了《中国制造2025》来指引我国的经济转型发展REF_Ref6209\r\h[4]。目前,我国的绝大多数企业目前仍然未达到第四次工业革命的水准,在成本控制、生产效率和流程管理这三个方面仍然采用人工、抽样等非智能化的方式,依旧由很大的提升空间。这种情况下,我们要解决的问题主要有两个,第一是最基础的设计能力与制造能力的问题,第二是智能化的问题。目前对于无线传感器网络的研究已经证实,无线传感器网络中,节点的能量主要消耗在数据的传输这一模块,因此选用恰当的路径来传输数据就显得十分重要,这不仅能够节约资源能量,有效地延长传感器网络的寿命,更能够提高数据的传输效率,令网络高效实用。而LEACH协议作为早期经典的上层路由协议之一,其基于分簇的思想对早期无线传感器网络的发展起到了不可或缺的作用,但LEACH协议在簇首选举和能量均衡方面仍有很大的进步空间,因此成为众多研究的重点问题。无线传感器网络分析无线传感器网络的概念及特点无线传感器网络是由大量能量、功耗有限制的传感器节点在环境中分布组成的,这些节点可以感知周围环境,并将这些物理信息转换成数字信息,进行各种计算并存储REF_Ref20107\r\h[5]。无线传感器网络通常具有以下特点:规模大。此处的大规模意指两处,其一,无线传感器网络的监测区域大,传感器节点所能够收集数据的范围是十分大的;其二,节点的数量多,一个无线传感器网络可能包含了数以万计的传感器节点。自组织。在无线传感器网络中,没有中心节点的概念,因此也就没有任何一个节点承担组建网络的责任,所有节点是采用自组织的方式建立起网络连接的,这就代表着,网络的拓扑结构会随着节点的死亡而产生变化。因此,无线传感器网络更适用于环境恶劣,无法人工修理的地方。可靠性。由自组织性可以看出,无线传感器网络的设计目的之一就是为了在恶劣环境、极端天候之下传递信息进行收集工作,因此节点必须具备过硬的硬件条件,能够应对任何恶劣的环境条件。多跳路由。传感器节点体积小、能量有限、无法补充能量的局限性致使它不可能进行长距离通信,只能在邻居节点之间进行信息的传递。因此,在传输信息时,节点只能通过多跳发送的方式,由邻居节点转发来进行数据传递,每个节点既发送数据,也要传递数据,每个节点都必须拥有收发数据的模块。数据融合。当节点之间的距离很近时,他们收集到的数据也会十分相似,甚至完全相同。如果将这些相似的数据都发送给与外界相连的汇聚节点,既会造成系统资源的浪费,增大网络的拥塞,也会给汇聚节点带来很多冗余数据。数据融合技术的思想是,将网络底层中有效的数据整合提取出来,避免不必要的能量消耗REF_Ref26418\r\h[6]。以数据内容为中心。在无线传感器网络中,节点只关注数据的有效性,并不在乎该信息的来源。无线传感器网络的体系结构节点结构一般来说,传感器的节点是一个微型的嵌入式系统结构,出于控制成本的要求,无线传感器网络的节点通常是要以简单的结构、较小的体积作为目标来进行设计,在这样的硬件条件下,传感器节点不可能具备较高的处理能力、存储能力以及通信能力。由于无线传感器网络大多应用于恶劣的条件,无法做到人工补充能量,因此,一旦电源耗尽,节点就会死亡。无线传感器设计的首要目的就是在于延长整个网络的生命周期,因此,通信协议的设计的核心目的都是解决能量,设计硬件时,也会尽量选用功耗低的器件。传感器节点由能源供应模块、传感器模块、处理器模块和无线通信模块四部分组成,如REF_Ref8439\h图STYLEREF1\s2-1所示。图STYLEREF1\s2-SEQ图\*ARABIC\s11无线传感器节点结构由此图可以明显看出,传感器节点的结构并不复杂,并具有模块化的特性。其中,传感器模块具有采集数据的功能,负责监视网络范围内的对象,获取相对应的数据,进行数据的转换。处理器模块负责处理截获的数据,并进行节点内部和外部的数据交换工作。通信模块负责与其他的节点取得联系,而通信方式通常采用无线通信,这也是无线传感器网络与传统的传感器网络之间最大的不同之处。能源模块则提供了传感器节点运行所需要的能量,是整个网络的心脏,通常采用微型电池作为供能硬件。网络结构从体系结构上来看,无线传感器网络是由三部分不同的节点组成,分别是:传感器节点、汇聚节点、管理节点。这其中,管理节点和汇聚节点之间通过卫星、互联网、无线通信网络进行交流互通。无线传感器网络的体系如REF_Ref9239\h图STYLEREF1\s2-2所示。图STYLEREF1\s2-SEQ图\*ARABIC\s12无线传感器网络的体系结构目前普通的传感器节点的供电方式为微型电池供电,无法得到能量的补充,因此能量有限。在整个网络的效能层面来看,每个传感器节点都是具有双重角色、双重任务的。第一,节点要作为普通的网络终端,进行数据的收集;第二,要作为网络的路由器,进行对数据的转发和处理工作REF_Ref6227\r\h[7]。相对于传感器节点而言,汇聚节点能量更多,可以处理的数据量也更大,其本质即是特殊的传感器节点。从某种程度上说,汇聚节点很像是一个传感器节点与外界进行沟通的门,形似将内部IP地址转换为外部公用的IP地址的NAT协议,是无线传感器网络与外界相连的通道,实现了两种通信协议之间的转换。对内,汇聚节点收集信息、处理信息,甚至具备了一定的汇编能力;对外,汇聚节点将外部命令对内部传感器节点进行传达,起到了桥梁作用。管理节点则顾名思义,类似于系统内的管理员的角色,可以动态有效的管理无线传感器网络。网络内的传感器节点与汇聚节点的位置无从得知,但通过对管理节点进行管理和更改,管理员可以有效的了解整个网络的节点状况。无线传感器网络的关键技术无线传感器网络对人类未来的价值远远超出我们的想象。作为新兴科技之一,有许多指标可以用来评判无线传感器网络优劣,其中最重要的两个指标是能耗和数据安全,现阶段的研究也是通过改良这两点来进行的。而实现降低能耗和保证数据安全性两个目的,其关键因素在于以下技术:路由技术。在上节节点结构中,已经说明了无线传感器网络的节点的供电方式为电池供电,电池的能量是有限的,并且不能够得到补充,因此高效节能并且能够最迅速传递信息的路由算法十分重要。除此以外,无线传感器网络的节点出现死亡情境之后,自组织的无线网络也会发生对应的变化,所以一个具有易扩展性、健壮性的路由算法是十分必要的。网络安全技术。因为无线传感器网络的自适应性和节点数目大的特性,以及对地形和天候并无严苛的要求,所以无线传感器网络被广泛应用于军事、商业、医疗健康等领域,这就需要较高的信息安全度和传输过程的安全度。这其中混沌加密技术、秘钥管理协议、数字水印认证技术和防火墙技术是较为常用的为节点数据传输提供安全的方式。数据融合技术。上文已论述过,邻近的节点所收集的信息很有可能是相似甚至相同的,好的数据融合技术可以降低相似数据的传输,减小汇聚节点的工作量,提高传输效率,达到节约能量、延长无线传感器网络寿命的目的。定位技术。在很多特殊的环境中,不只需要接收节点传送来的数据,还需要接收数据的位置。譬如污染物的管控系统、矿物的挖掘系统等,单纯接收数据而没有数据所处的位置是没有意义的。因此,在不同的应用环境中,好的定位系统是十分重要的,否则会导致整个网络的低效。路由算法分析路由过程及特点需求无线传感器网络的路由算法的思想与RIP路由协议的思想类似,各节点维护一个包含了下一跳节点和目的节点信息的路由表,节点在接收到数据后,通过目的节点的地址来查找路由表,找到合适的下一跳节点,并进行数据的转发。无线传感器网络组建网络时是动态组建网络的,这意味着网络拓扑是在不断地变化的,路由表也要随着拓扑的变化而进行更新。节点通过不停地更新路由表的信息,来适应不多变化的无线传感器网络,使得自行组建的网络一直维持稳健。传统的路由算法不需要考虑节点的能耗问题,把首要目的放在了减少数据分组在传输中的跳数并且兼顾网络带宽上,然而,无线传感器网络中传感器节点能量无法得到补充,十分有限,因此延长网络的使用寿命才是算法设计的首要目的。而目前的无线传感器网络的路由算法,通常从以下几方面进行:第一,减少可避免的通信量。在数据传输的过程中,节点间的通信消耗能量最多,因此减少数据传输次数可以有效延长网络寿命。这就需要良好的数据融合技术支持。第二,提高容错性。当无线传感器网络运行到后半时,很可能已经出现很多节点已经死亡的情况,提高网络的容错性,即提供多条路径来传输数据,增强节点间的联系,避开已经死亡的节点。第三,均衡通信负载。在无线传感器网络中,如果某个节点需要传输大量的数据,其邻居节点也会进行较多次数的数据转发,这样很容易导致某个区域内的节点大量接连死亡,因此,使网络负载均衡,有利于提高整个网络的生存时间。平面路由算法分析平面路由算法的设计通常来说较为简单,并且硬件条件都容易实现。在这种路由算法里,目的节点通常为汇聚节点,传感器内所有节点的地位相同,进行的工作也相同,因此能耗方面较为均衡,不会出现节点大量死亡的情况。这种传感器网络的缺点也十分明显,它的扩展性较差,环境情况复杂时很容易无法妥善处理。在平面路由协议中,比较经典的有以下几种。泛洪法最早提出的平面路由算法是泛洪法。作为最经典的平面路由协议,它的思想是,传感器节点收集数据之后,会将收集到的数据包传输给周围的所有邻居节点,邻居节点再向自己的邻居节点传送数据,直到数据到达目的节点或者过期。泛洪法的思想十分简单,它不需要额外的空间来用于关注网络的拓扑信息,节点的死亡对数据传输毫无影响;更不需要耗费能量进行计算下一跳路由,很容易实现并且具有健壮性。泛洪法的缺点也十分显著:毫无策略地传输数据会导致一些无用的、全然不必要的能量耗费,甚至是会发生数据的重复传输。如图3-1左图所示,A和B两个节点是距离很近的两个邻居节点,在无数据融合的情况下,他们对环境的感知不会有太大差距,采集到的数据是相似的,甚至相同,这就产生了传输的重叠现象。更为严重的是,如果相似数据包都进行泛洪传输,会导致节点收到相同的数据信息,引发数据内爆。如图3-1右图所示,S节点接收到的信息通过泛洪法传输给了它的邻居节点A、B和C,继续泛洪传递消息时,节点D会收到来自A、B、C节点发送的同一数据信息,引起数据内爆。而这三个相同的消息是本可以避免的,这种能量的浪费对于有限能量的无线传感器网络来说十分致命。图STYLEREF1\s3-SEQ图\*ARABIC\s11重叠现象(左)与数据内爆(右)为了防止重叠与内爆现象,在泛洪法的基础上,研究人员提出了改进算法闲聊法,从向所有邻居节点传送数据改为了只向某一个随机的邻居节点传输数据,即进行“闲聊”。但这样造就了新的问题,由于节点对整个网络的拓扑结构没有把握,因此也无法知道进行闲聊的节点是否距目的节点更近,很容易造成数据在网络内乱窜,并没有从根本上解决问题。SPIN算法鉴于泛洪法的问题和缺点,以数据为中心的SPIN协议被提出并得到了重视。这是一种基于协商机制的自适应的路由协议,它将数据分为了三种不同的数据包,分别是ADV、REQ和DATA。其中ADV广播数据包,它的大小远小于数据本身的大小,当一个节点需要发送数据,定位下一跳该在哪里时,就广播发送ADV数据包。节点接收到ADV包,认为自己需要该数据,并决定接收该数据包时,就发送REQ请求包,否则抛弃ADV包。源节点收到REQ请求包之后,发送DATA数据包来传输数据给需求节点REF_Ref9705\r\h[8]。这种方法假设了每个节点都知道自己需要接受的收据,即每个节点都是汇聚节点。而广播方式传送的ADV数据包比广播正常数据要节省很多能量,通过这样的协商机制,SPIN协议在一定程度上避免了泛洪算法中存在的内爆和重叠问题。但是SPIN算法无法彻底解决传送数据时能耗的浪费问题,ADV数据包虽然比正常数据包小很多,但传送时仍然是随机方向传送的,在大规模的无线传感器网络里仍会引起数据内爆和重叠的问题。SPIN与传统的网络算法具有相似之处,这种类似“三次握手”的数据传递方式很好地均衡了网络的效能。图STYLEREF1\s3-SEQ图\*ARABIC\s12SPIN算法工作步骤DD算法DD算法又称定向扩散算法,这是一种以定向扩散为基础的多跳平面路由协议,DD算法在工作时依赖查询机制,工作过程主要由三个步骤构成:兴趣消息的扩散、梯度的建立和路径增强REF_Ref10721\r\h[9]。兴趣消息的扩散是通过洪泛进行的,网络中的其他节点接收有选择的接收消息,选择自己所需要的消息,这同时,路由的路径也已经被建立了,传输数据时从兴趣路径出发,最终到达汇聚节点。图STYLEREF1\s3-SEQ图\*ARABIC\s13DD算法工作原理常见典型分簇路由协议分簇路由协议,也被称为层次路由协议REF_Ref10893\r\h[10]。在设计的角度看,这类类协议由两部分组成,第一部分是分簇算法,第二部分是路由协议。分簇算法的作用是选择簇头,规定了邻居节点谁可以入簇,确定了成为簇内成员的准则;路由协议主要用于确定转发数据的下一跳节点,也就是建立信息的传输路径,形成一条从最远节点(信源)到汇聚节点(信宿)的链路。分簇路由协议与平面路由协议有很多不同,其中最大的差异在于,平面路由协议中的各个节点具有平等的地位,它们功用相同、能量相同。但分簇路由协议引入了簇的概念,每个簇中存在簇头节点,簇头节点的能量高于其他节点。因为簇头除了要进行每个普通节点都进行的数据收集以外,还要收集、处理、转发普通节点的数据。这样的设计方式令普通节点只需要进行消耗能量较小的信息采集工作,而后耗费较小的代价将信息传送给相距距离很近的簇首节点。这种设计均衡了网络的能量值,令每个节点都有较长的生存周期。图STYLEREF1\s3-SEQ图\*ARABIC\s14分簇路由结构LEACH算法LEACH算法是最早被提出的无线传感器网络中的层次路由算法,它的分簇思想在无线传感器网络中具有重要地位,许多在之后提出的分层路由算法,都是建立在对LEACH算法的研究和改进之上的。LEACH算法以“轮”的概念来组织数据的传送,在进行时由两个步骤组成,第一步是初始化阶段,第二步是数据传输。在初始化阶段,首先开始对簇首进行选举。每一轮中,节点会产生一个随机数,上一轮当选过簇头的节点,基于能量均衡的思想,必须退出选举。其余节点产生的随机数低于阈值,则就当选为簇头节点,高于阈值则成为普通节点。簇首选举完成后,其他节点会就近入簇,这样初始化阶段结束,数据传输阶段启动。普通节点的工作是收集数据,而簇头节点负责传输数据、与其他簇首节点通信,最终将数据传送到汇聚节点。LEACH算法通过形成簇均衡了网络负载,同时节约了能耗。簇内的节点只需要维护簇首的路由,降低了节点的消耗。但随机选取簇首节点的方式令网络有节点过早死亡的隐患。有关LEACH算法的内容将在第四章节详细介绍。PEGASIS算法PEGASIS算法是S.Lindsey等人提出的一种LEACH算法的改进算法,基于链状结构的PEGASIS算法对每个节点具有更好的管理能力。与LEACH相同,它也采取了分簇的思想。但不同的是,PEGASIS只要求有一个簇,每个节点只与离它最近的节点进行通信,这样一来就形成了一条单向的链,数据从链尾送去链首时,每经过一个节点,都会进行一次数据融合,将收到的消息与本地消息进行比对融合,再共同发送给下一跳节点,直到链首。链首节点的作用与簇首节点作用相同,都负责将信息传送给汇聚节点。图STYLEREF1\s3-SEQ图\*ARABIC\s15PEGASIS的拓扑结构显然PEGASIS算法优点显著,每次只形成一个簇降低了成簇能耗,并且每个节点只需要和最邻近的节点通信,也降低了通信的能耗。每一轮算法都选取不同的节点作为链首节点有利于网络的能量均衡。但是,PEGASIS算法是默认了节点不动并可以获取其他节点的位置,这使得网络的实时性变差,不利于对即时通讯要求高的系统。并且,数据通过链尾传递到链首节点后,显然最终链首节点需要传输的数据量会变得十分庞大,很容易导致链首节点失效死亡。TEEN算法TEEN算法是也一种基于LEACH算法的改进型路由算法,它的设计目的是便于响应式的应用。TEEN算法是并不每时每刻都将数据传送,只在周围的环境发生变化之后才传送数据,即一种反应式的路由。TEEN算法的工作流程与LEACH相似,在初始化阶段基本相同,但数据传输时,TEEN算法设置了软阈值、硬阈值两个阈值,用这两个阈值来控制数据发送的次数,以此来控制节点的能耗。在数据传输之前,簇头节点将告知普通节点硬阈值,当采集的数据未达到硬阈值时,节点不需要将数据传送给簇头,当数据超过了硬阈值,传输给簇头的同时,该数值成为新的硬阈值,并由簇首节点传输给汇聚节点。之后簇首并不是每次都将簇内节点传来的数据传送给汇聚节点,而是在数据与硬阈值的差值大于软阈值时才传送。显然,通过设置软硬阈值的方式,TEEN算法减少了数据传输量,降低了传输数据的能耗,但在无法确认阈值时,数据也就无法传送,造成了实时性较差的缺点。TTDD算法TTDD算法的设计目的是为了针对非单一汇聚节点的情况。当汇聚节点有多个或者汇聚节点在移动时,TTDD算法是十分实用的,在传送消息时,TTDD将消息传播给周围的节点,这些接收消息的节点就成为了交叉点。交叉点再向它的邻居节点传播消息,构建新的交叉点,令数据扩散,直到数据过期或者传送到了网络的边缘。当汇聚节点向网络内查询消息时,也是通过数据扩散的方式,将待查询数据传送给最近的交叉点,再由交叉点依次向下传送,再经由相同路径传播回来,交送给汇聚节点。这种格状的拓扑网络很容易应对汇聚节点在不断移动或者是有多个汇聚节点的情况,网络的适应性较好,但每个节点需要维护的路由表较多,每次数据传送能耗比较大。典型路由算法的性能比较通过上两节的分析,我们可以比较得出,层次型路由比平面型路由更有优势和实用价值。具体体现在以下几个方面:在能量方面,平面路由算法的节能策略大都集中在选择最优的传输路径上,而分簇路由的节能粗略更多样,通过不同的建立簇的方式、不同的信息传播路径都可以起到节能的效果。平面路由算法的路径是固定的,这种方式令整个网路会产生能量不均的情况,会导致某些节点的过早死亡。而层次路由动态构造路径的方式有利于整个网络的能量均衡,第一个死亡节点出现的时间往往远超平面路由算法。在路由表方面,平面路由算法需要维护的路由表很大,并且路由表是动态的,节点需要知晓所有邻居节点甚至更多节点的所在位置,才能不断地适应在变化中的网络。但分簇路由协议不同,簇内的普通节点并不进行与基站或者是汇聚节点的通信,只需要知晓自己簇头节点所在位置,维护与簇头节点进行通信的路由表,这就大大降低了节点的消耗。而簇头需要维护的是和其他簇头进行通信的路由表,这个表显然比平面路由的路由表少很多,从而实现了节能的目的。在整个网络的结构方面,平面路由算法不能够较快较好地适应网络的变化,节点位置的变化会引起其他节点路由表的变化,一个节点的死亡会造成众多节点的路由表变化,消耗不必要的能量的同时,还会导致整个网络的适应性较差。而分簇路由协议不同,它通过稳定的拓扑结构进行组网,降低了因为位置变化、节点变化造成的对全网络的影响,具有较好的适应性和健壮性,在最大程度上降低了因为节点死亡带来的影响。各个经典协议的性能如下表所示。表STYLEREF1\s3-SEQ表\*ARABIC\s11路由协议的性能比较路由结构路由协议能耗传输时延路径选择平面路由泛洪最多最小多跳SPIN较多较大多跳DD较多小多跳分簇路由LEACH较少小单跳PEGASIS少较大多跳TEEN少较小单跳TTDD较少大多跳总的来说,层次型路由有更好的适应性和利用价值。从表中可知,LEACH协议有很好的性能,作为最开始提出的分簇路由协议,也有众多人员提出对LEACH的改进算法。因此,下面将选取LEACH协议进行更深入的研究。

LEACH协议的设计与实现为了对LEACH协议进行充分的仿真实验,首先要了解LEACH的算法思想、运作机制、对环境的预设条件等信息,在透彻研究LEACH协议的基础上,再对LEACH协议的优缺点进行说明,之后提出改进。LEACH的运作机制LEACH协议通过随机选择簇头节点来平均分担网络中的数据传输,使传感器网络中节点能量得以平衡。LEACH协议引入了“轮”的概念,以进行周期性的数据传输。每轮中有两个阶段,第一阶段是簇首的选取,LEACH算法令每个簇首节点等可能地成为簇首节点,从而有利于能量的均衡。未被选举成为簇首节点的节点自动成为普通节点,并就近入簇。第二阶段是数据传输阶段,即进行稳定的数据传输。由于簇准备阶段相对于无线传感器网络来说,是无用的能量消耗,因此第二阶段的时间远多于第一阶段,如REF_Ref12041\h图STYLEREF1\s4-1所示。图STYLEREF1\s4-SEQ图\*ARABIC\s11LEACH协议工作流程成簇阶段在成簇阶段,LEACH协议的任务有两个,即进行簇头选举和形成簇。LEACH协议中没有设置中心节点,簇的选举是由各个簇自发进行的。选举簇头节点时,节点汇总自动生成一个在0到1之间的数,如果这个随机数不超过阈值T(n),则选举成为本轮的簇头节点REF_Ref12448\r\h[11]。该节点是否适合成为簇头节点由两方面的因素决定:第一,该节点担任簇头的次数。因为簇头需要进行更多的工作,担任簇头的次数越多,这说明它剩余的能量会比较少,基于网络的均衡性考虑,应避免出现能量十分少的节点;第二,簇头数占全部节点的数目。簇头数占比越多,就说明簇中需要更多的簇头节点,所有节点成为簇头节点的概率就会变大。T(n)的公式如下所示:其中,n代表了传感器网络中的某个节点,p是簇头数在全部节点中的占比,r是当前轮数,是大于等于0的整数。G是最近1/p轮都没有成为簇头节点的节点集合。当某节点在最近1/p轮中担任过簇头,其T(n)值为0,不可能有产生的随机数小于T(n)的情况,因此也就不可能担任簇头。因此,在每1/p次的循环里,每个节点都有且仅有一次机会来担任簇头。在簇头选举完成后,下一阶段进行簇的建立。被选举出的簇头会用广播的方式对全部的节点发送消息,普通节点收到广播消息后,会自行根据信号的强弱决定是否入簇。理论上讲,收到的广播信号最强,就说明与该簇头节点的距离最近,通信的能耗也就会最小,因此,普通节点是根据信号的强弱决定是否入簇的。在收到所有的入簇消息之后,簇头节点会统一发送同意入簇的消息,并告知该节点被分配到的TDMA时隙,各个簇内节点接收消息后建立路由表,簇组建完成REF_Ref12448\r\h[12]。稳定传输阶段在LEACH协议中,能够与基站和汇聚节点进行通信的只与簇头节点。簇内的普通节点只负责收集数据,并将数据在自己被分配到的TDMA时隙中发送给簇头节点,并不与汇聚节点进行联系。当时隙结束但仍未传送完数据时,簇内节点不可以继续传送数据,只能等待下一个时隙到来。这期间,为了节约能量,可以关闭数据收发机。而簇头节点的数据收发是一直进行从不关闭的,这也是簇头节点会更多地消耗能量的原因。在所有节点信息发送结束后,簇头节点进行数据的融合,最后将整合完毕的消息发送给汇聚节点。图STYLEREF1\s4-SEQ图\*ARABIC\s12稳定传输阶段流程图LEACH协议的实现环境配置作为计算机网络中常用的仿真模拟器,NS2(NetworkSimulatorversion2)在基于仿真的基础上集成了组播业务和局域网的多种协议仿真,囊括了TCP&UDP等多种协议,还有FTP、TELNET、WEB多种业务类型,可以对固定、无线、卫星、混合等多种网络进行仿真。因此,选择在VMware之下利用虚拟机安装NS2,在NS2环境中重新配置环境变量,进行LEACH协议的移植。除此之外,NS2还具有开源、免费等优势,具有较好的延展性和可扩展性。其中,NS2选择了最新版的2.35。图STYLEREF1\s4-SEQ图\*ARABIC\s13配置完毕的NS2主界面LEACH协议的移植LEACH协议的移植依托于NS2中的已有的协议和低层次的TCL开放式脚本语言,在mit.tar.gz协议包的基础上移植LEACH协议。LEACH协议中的主体部分是有关于#defMIT_uAMPS部分的定义和新环境变量的配置。值得一提的是,关于#defMIT_uAMPS是添加在Makefile中定义的,如果去掉这些重新编译NS2,LEACH这些修改的部分就不会生效了。LEACH协议的移植过程是要将不同文件中的源码进行添加和重新定义,定义完成后重新定义环境变量,修改.bashrc,在该文档的最后一行添加代码实现RCA_LIBRARY与uAMPS_LIBRARY的环境变量的配置。最后在终端执行,进行makeclean与make命令来进行编译,最终在终端获得运行成功的LEACH协议。其中最主要文件的作用如下:Leach_sims/conditions:罗列出了仿真的时间、基站所处的位置、节点初始能量、能量消耗模型、最优簇头数、传播因子的信息,TDMA时隙(预设为20秒)。Leach_sims/leach_alive:用于记录不同时间内存活的节点。Leach_sims/Leach.data:每个节点传递的数据。Leach_sims/leach.energy:记录了每个节点不同时间内的能量消耗。Leach_sims/leach.out:记录整个仿真的输出,包括了节点的数目、节点坐标位置、基站从某个节点接收的数据的描述等。Leach_sims/startup.energy:节点剩余能量。图STYLEREF1\s4-SEQ图\*ARABIC\s14LEACH协议移植后的主要文件仿真实验首先,将参数设置为共有100个节点,并且基站位置在(100,250)处,即无线传感器网络的中心的顶部位置,并未在整个网络的中心位置。设置节点的初始能量为1焦耳,簇头数占9%,即总共有9个簇头节点。最大进行轮数设置为100轮。初始节点的排布如下图所示。图STYLEREF1\s4-SEQ图\*ARABIC\s15初始节点位置这种情况下传感器网络内的100个节点是随机分布的,还并未选举簇头,也就是第一轮的第一步骤还没有进行,此时在终端运行LEACH协议,将文件内数据在MATLAB中进行分析画图,得到了如REF_Ref14644\h图STYLEREF1\s4-6所示的结果。图STYLEREF1\s4-SEQ图\*ARABIC\s16为首四轮的节点成簇情况由图分析可知,在第一轮和第二轮中,(x,200)附近的三个簇头节点担任了簇头节点,直接与基站进行通信通信,其余的簇头节点通过多跳路由的方式与基站进行联系。早在第三轮时,就已经出现了节点的死亡状况。节点(166.66,81.26)在第二轮时担任了簇头节点,且簇内有14个节点,进行数据传输和数据融合时耗费了过多能量,致使在第三轮能量耗尽而死亡。而在上两章节论述无线传感器网络的功能和结构时,已经证实了无线传感器网络的稳定和性能需要用推迟第一个节点的死亡时间的办法来维护,因此第三轮中簇首节点的死亡将给网络带来能量不均衡的影响。更重要的是,在100轮执行过后,节点的死亡率达到了92%,仅有8个节点存活,如图4-7所示,实心节点为已经死亡的节点,空心圆圈代表了还有能量、仍然存活的节点。图STYLEREF1\s4-SEQ图\*ARABIC\s17100轮后的存活结点同时,LEACH协议的优点也十分明显,在此情况下,虽然牺牲了几乎全部的节点,但是取得了十分可观的数据传输量,在同样每个数据包大小为100bit时,对比NS2中原有的最基础的MTE路由协议来说,将近10000bit的传输量在初始为1J的能量的条件下显得十分优秀。图STYLEREF1\s4-SEQ图\*ARABIC\s18两种协议的传输数据对比图而当基站位于整个网络的中心点时,成簇情况和节点的能耗情况均大不相同。在LEACH_test文件中修改参数,在其他条件不变时将基站位置修改为(100,100),成为传感器网络的中心点。此时再次进行仿真实验,节点的随机分布并未产生很大变化,第100轮的成簇情况如图4-9。并且,最终100轮过后节点的死亡率为78%,对比基站位于(100,250)时92%的死亡率来说,可见节点的能耗有了一定程度的延伸。图STYLEREF1\s4-SEQ图\*ARABIC\s19第100轮节点情况LEACH协议的优缺点在LEACH协议中,通过形成簇头节点与普通节点的两层结构,来区分了两者的不同任务,普通节点只需要进行将收集的信息传递给簇头节点的工作,这样就大幅减少了节点需要维护的路由表。并且随机选取簇头的方式使得负载均衡。当将初始能量设置为5J时,第一个死亡的节点出现在第32轮,足见LEACH协议可以带来较好的网络均衡性能。而随机成簇带来了LEACH协议的另一个优点,那就是充足的扩展性,投入更多的节点,该网络也会自动组网成簇。然而,就如同实验一中在第三轮就造成了节点死亡一样,节点的能量会影响整个网络的性能,而LEACH的随机选择簇头的算法就造成了很有可能在某次簇首选举中选择了能量低的节点或者距离基站较远的节点作为簇头,这就会大幅影响整个网络的性能。因此,在改进LEACH协议时,要优化簇头节点的选取,提高成簇的合理性。改进协议LEACH-C改进策略LEACH-C是LEACH的增强改进版,它增强了LEACH分簇时的算法,不再采取原始LEACH协议中使用随机选择的方式来选取簇首节点。LEACH-C协议使用每个节点向基站发送自己的地理位置和现有能量的方法,来由基站计算网络的平均能量。如果当前能量低于平均能量,则节点无法参与簇首的选择。在分簇阶段,基站采用模拟退火算法,即采用所有成员节点到分簇头距离的平方和最小的原则,然后根据节点能量选择数量和最佳地理位置的簇头,形成集合,再用广播的方式宣布簇头选举的结果。LEACH协议与LEACH-C的仿真比较在移植完成LEACH-C协议之后,进行与LEACH协议的比较,从传输数据量、能量消耗、存活结点三个方面比较优劣。在NS2实验环境下,设置节点数为100,簇的数量为5个,节点的移动范围为(1000,1000)的平面,基站位置在(500,500),在网络之中。数据导出后经由MATLA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论