基于OPNET的LEACH协议仿真无线传感器网络分簇协议在OPNET平台上的模拟仿真.docx
- 文档编号:46763
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:29
- 大小:420.87KB
基于OPNET的LEACH协议仿真无线传感器网络分簇协议在OPNET平台上的模拟仿真.docx
《基于OPNET的LEACH协议仿真无线传感器网络分簇协议在OPNET平台上的模拟仿真.docx》由会员分享,可在线阅读,更多相关《基于OPNET的LEACH协议仿真无线传感器网络分簇协议在OPNET平台上的模拟仿真.docx(29页珍藏版)》请在冰点文库上搜索。
基于OPNET的LEACH协议仿真无线传感器网络分簇协议在OPNET平台上的模拟仿真
无线传感器网络分簇协议在OPNET平台上的模拟仿真
【论文摘要】
目的本论文的目的是为了研究无线传感器网络在OPNET上的仿真。
方法利用现有知识研究OPNET仿真平台,结合无线传感器网络的原理,以无线传感器网络的LEACH协议为例,做出无线传感器的拓扑结构,用OPNET仿真出来。
学会OPNET的仿真过程,建立LEACH协议的三层模型,并观察仿真结果。
结论无线传感器网络技术因为他的实用性现已成为当前研究最热门的技术,他的设计简单但是应用广泛,功能强大。
通过与DirectTrans协议的比较,可以看到LEACH协议耗能低,节点存活率高。
OPNET是个很全面的仿真技术,使用OPNET建立仿真,临摹现场,仿真结果精确。
只是学习过程比较困难,因为它本身就是个很强大的软件,必然会有许多的繁琐。
此外和它的使用方法也有关系,它与VC联调使用,结合了软件编程和硬件组成。
【关键字】OPNETModeler网络仿真技术无线传感器网络LEACH分簇协议
WirelesssensornetworkclusteringprotocolinOPNETsimulationplatform
【Abstract】
ObjectiveTheobjectiveofthisthesiswasthatWirelessSensorNetworksimulatewiththeOPNET.MethodUsedexistingtechnologytomakeintrusivestudyofOPNET.MadetheLEACHoftheWirelessSensorNetworktopologystructurewiththecurrenttraditionalsensorexpoundingtowirelesssensor,simulatewithOPNET.LearnedtheOPNET,setuptheLEACHlayer3andobservedtheresultofsimulation.ResultBecauseofthepracticabilityoftheWirelessSensorNetwork,itbecamethemostpopulartechnologytostudy.TheprojectingoftheWirelessSensorNetworkiseasybuttheapplicationisextensiveandhasthepowerfulfunction.ComparingwiththeDirectTrans,wecanseetheLEACHcouldloselessenergyandthenodehavelonglifetime.OPNETisonestrongertechnology.UsedtheOPNETtosetupthesimulationandcopythefiledhastheaccurateresult.BecauseofthestrongerofOPNETthatleadtomoretrouble,sothestudyoftheOPNETisdifficult.Besidesofthatithassomeconnectionwiththemethodsoftheusing.OPNETconnectwithVC,soitcombinedthesoftwareprogrammingwiththehardwaresub-unit.
【Keywords】OPNETNetworkSimulationTechnologyWirelessSensorNetworkLEACH
论文正文
1前言
无线传感器网络简介
无线传感器网络就是分布在监测区域内的大量的廉价传感器节点组成的,通过无线通信方式进行信息传送的一个多跳自组织网络。
无线传感器网络目前收到学术界和工业界越来越多的重视和应用,由于无线传感器涉及众多学科,所以成为目前最热门的IT研究技术。
美国已经在20世纪90年代开始研究无线传感器,并推广到军事方面。
我国也同步开始了无线传感器的研究。
无线传感器作为一种特定的网络形式、一种源于应用而又服务于应用的网络技术、一个完整的网络系统,它拥有构建网络架构的通信协议、有辅佐核心结构的支持技术、有一套完善的应用技术。
所以本论文从这三方面展开无线传感器的研究。
无线传感器网络仿真工具
无线传感器网络中,单个传感器节点的并发性很密集,并且模块化程度很高。
基于以上两个特点,无线传感器网络仿真需要解决可扩展性与仿真效率、分布与异步特性、动态性、综合仿真平台等问题。
目前的无线传感器网络仿真常用工具有:
NS2、OPNET、OMNET++,TinyOS。
对于他们的详细资料本人没有重点研究,所以在这不做重点介绍了。
希望有兴趣的人能够研究。
OPNETModeler的简介
OPNET于1986年由麻省理工大学的两个博士研究成的一种网络仿真软件,于1998年进入中国,目前处于起步阶段,但是涨势喜人。
OPNETModeler所能应用的各种领域包括端到端结构(endtoendnetworkarchitecturedesign)、系统级的仿真(systemlevelsimulationfornetworkdevices)、新的协议开发和优化(protocoldevelopmentandoptimization)、网络和业务配合如何达到最好的性能(networkapplicationoptimizationanddeploymentanalysis)。
OPNET的主要特性有:
1、网络模型层次化;2、建模方法简单明了;3、仿真引擎高效;4、动画;5、完全开放性的系统;6、有限状态机FSM;7、分析工具和调试器集成;8、全面支持协议编程;
OPNETModeler的模拟方式采用阶层性,从协议间关系看,节点模块建模完全符合OSI标准,业务层->TCP层->IP层->IP封装层->ARP层->MAC层->物理层;从网络物件层次关系看,它提供了三层建模机制,最底层为进程模型,以状态机来描述协议;其次为节点模型,有相应的协议模型构成,反映设备特性;最上层为网络模型。
三层模型和实际的协议、设备、网络完全对应,全面反映了网络的相关特性。
主要研究工作与内容安排
主要研究工作:
基于OPNET的无线传感器网络仿真,以无线传感器网络的LEACH协议为例,讲述在OPNET中建模的过程,学会使用OPNET,能够将LEACH协议仿真结果运行出来。
内容安排:
首先先对无线传感器网络进行简单介绍;其次对LEACH协议的算法和优缺点进行计算讨论;最后介绍OPNET的使用方法和基本应用,在OPNET中实现LEACH协议建模仿真,并讨论分析仿真结果。
2无线传感器网络
无线传感器网络的概述
无线传感器网络的体系结构有:
网络体系结构、节点体系结构和协议栈。
无线传感器网络结构
无线传感器网络系统是指大量传感器节点(sensornode)在监测区域(sensorfield)内或附近有组织的组成网络,通过多个节点跳转路由到汇聚节点(sinknode),汇聚节点通过互联网或卫星将信息发送给管理节点,用户由管理节点收集发送信息,配置管理整个无线传感器网络,维护网络正常工作。
图2-1-1是无线传感器网络。
图2-1-1无线传感器网络结构
无线传感器节点结构
无线传感器节点由四部分组成:
1、传感器模块:
监测区域内信息的采集和数据转换;2、处理器模块:
控制整个传感器节点的操作,存储和处理数据;3、无线通信模块:
与其他传感器节点进行无线通信,交换控制消息和收发采集消息,它有四种状态:
发送、接受、空闲、睡眠;4、能量供应模块:
为传感器节点提供运行所需的能量,通常采用微电池型。
图2-1-2是节点结构:
图2-1-2无线传感器节点结构
无线传感器网络协议栈
无线传感器网络协议栈有五层:
物理层、数据链路层、网络层、传输层、应用层;另外,能量管理平台、移动管理平台、任务管理平台。
图2-1-3是协议栈。
图2-1-3无线传感器协议栈
各层协议如下:
*物理层提供简单但是健壮的信号调制和无线收发技术。
*数据链路层负责数据成帧,帧检测和媒体访问以及差错控制。
*网络层主要负责路由生成与路由选择。
*传输层负责数据流的传输控制,是保证通信服务质量的重要部分。
*应用层包括一系列基于检测任务的应用层软件
三层功能如下:
*能量管理平台管理传感器节点如何使用能量,在各个协议层都需要考虑节省能量。
*移动管理平台检测并注册传感器节点的移动,维护到汇集节点的路由,使得传感器节点能够动态跟踪其邻居的位置。
*任务管理平台在一个给定的区域内调度和平衡检测任务。
无线传感器网络的路由协议
无线传感器的路由协议按照其最终形成的拓扑结构可分为:
平面路由协议和分簇路由协议。
在平面路由协议中每个节点的地位都是平等的,节点的可扩展性比较差,维护动态路由的变化需要很大的控制信息;在分簇路由协议中,群成员的功能比较简单,本身携带的路由信息简单。
这就必然会减少网络的控制路由信息,所以具有很好的可扩展性。
与其他传感器网络一样,无线传感器网络最重要的就是他的可扩展性。
随着传感器节点密度的增加,必然会导致网关节点的负载过重,这种超负载的现象必然会导致传输延迟或者是跟踪监测事件不及时。
另外,在大面积的单层网络监测区域内,传感器节点不支持长距离的通行,而单层网络是不可扩展性的,所以为了在不降低通信服务质量的前提下,又能解决额外的和超监测区域内的通信问题,我们提出了分簇路由协议。
分簇路由协议因具有管理拓扑方便,能量利用高效和数据融合简单的优点,成为当前研究最热门的技术之一。
在分簇路由协议中,网络常常被划分成很多簇。
所谓的簇,就是一些有关联的节点组成的节点的集合。
每个簇都是有一个簇头和一些簇内节点组成的,低一级网络的簇头就是高一级网络的簇内节点,由最高的簇头与基站联系。
分簇路由机制有以下几个优点:
1、成员节点大部分时间是关闭通行模块的,只有簇头节点在融合了所有成员节点的数据后与基站长距离联系。
这样节省了网络能量;2、成员节点的功能简单,这样就减少了路由控制信息的数量;3、分簇拓扑结构管理简单,有利于分布式算法,能够对系统变化做出迅速的相应变化,具有很好的可扩展性,容易克服节点移动带来的问题,适合大规模的网络。
LEACH协议是最早提出的分簇路由协议。
虽然有一些分簇路由协议独立于LEACH协议而单独开发的,但大多数分簇路由协议是受到LEACH协议的启发。
下面我们就以LEACH协议为例来讲分簇路由协议。
LEACH协议
2.3.1LEACH协议算法分析
LEACH(lowenergyadaptiveclusteringhierarchy)按簇将网络分成很多小区,每个小区由一个簇头和多个节点组成的,他的网络模型如下图所示。
LEACH算法是一种周期性自适应分簇拓扑算法,每个周期循环地分为簇的建立阶段、簇的形成和稳定的数据通信阶段。
它兼备了路由协议和拓扑控制机制的功能。
在簇的建立阶段相邻节点动态的形成簇,随机产生簇头;在数据通信阶段,簇内节点把数据发送给簇头,簇头进行数据融合并把结果发送给汇聚节点。
图2-3-1LEACH协议结构图
LEACH协议算法的循环分为以下三步:
一、簇的产生;二、簇的形成;三、簇的路由。
一、LEACH算法簇头的产生过程是分布式算法,即节点产生一个在0-1之间的随机数,与阀值T(n)比较,小于阀值T(n)的可以当选簇头,但是当过之后就不能再当了,设T(n)=0。
这样到后面,剩余节点当选簇头的概率就增大了。
当只剩下一个节点没有当选簇头时,这个节点必然就会当选,设T(n)=0。
其中:
p是节点当选簇头的概率;r是目前循环进行的轮数;G是最近1/p轮中还未当选簇头的节点的集合。
二、簇的形成算法:
簇头产生后,簇头向监测区域广播成簇头的消息,然后节点根据自己的位置和簇头的强弱决定加入哪个簇,这就是簇的形成的过程。
三、数据传输算法:
簇形成后,其他节点根据自己的地理位置来选择加入哪个簇就向那个簇发送加入消息,簇头收到加入消息就会向其他簇内节点发送TDMA和CDMA编码的定时消息。
簇内节点收到消息后就会在自己的时间内发送数据,经过数据传输,簇头收集簇内节点发送的消息后开始进行数据融合算法来处理数据,最后直接发送给汇聚节点。
2.3.2LEACH协议优缺点讨论及改进方案
优点:
从LEACH协议的工作流程可以看出。
LEACH是分布式的成簇技术、自适应的成簇算法以及簇头位置的轮换算法;LEACH算法能够随机选举簇头的方法避免簇头过分消耗能量,提高了网络生存时间;LEACH协议使用数据融合和数据压缩技术有效的减少通信量;最后是他的传输时延小。
缺点:
LEACH协议在簇头选择、通信方式和数据融合方面存在着一定的问题。
LEACH选择簇头的过程中会出现簇头个数远远偏离期望值,簇头分布不均匀的现象。
簇头分布过少失去了分层的意义,分布过多,就会导致簇头向汇聚节点发送消息时耗费过多的能量。
簇头分布不均导致耗损不均,降低了整个网络的寿命;LEACH算法通信方式问题是所有的节点采用单跳路径进行通信,虽然实现方便,但是如果簇头与汇聚节点相距很远的话,势必造成这个簇头成为盲节点,造成路由协议的低效率;另外会造成单位时间内需求宽带很大而另一时间又会很小的宽带设置矛盾;LEACH算法的数据融合问题是没有给出确定的数据融合方法,减少数据传输量来减少能量耗损是最有效的情况。
但通过减少分组个数,减少大量协商争用信道的操作,也是减少了能量耗损。
针对LEACH协议的缺点,我引进了它的改进方案:
1、最优簇头数目的选择:
经证明,最优簇头数目的计算公式:
接近或者等于最优簇头数目的选取,能够延长网络寿命,利于数据融合。
2、簇头选择遵循的依据是:
1)、节点的剩余能量;2)、簇头到基站的距离;3)、簇头的连通度和覆盖度;4)、簇内通信代价。
3、簇间采用多跳方式通信:
簇头节点把数据融合后发送给邻近的簇头节点,再由这个簇头节点转发给汇聚节点,这样就可减少单个簇头节点的能量耗损,提高路由协议的效率。
4、簇头节点均匀分布:
通过BS基站节点把传感器网络区域近似划分为最优簇头数目个部分,每部分为一个簇,每个簇的节点数目大体相同,从而达到簇头节点分布均匀的目的。
3OPNETModeler网络仿真技术
OPNETModeler网络仿真技术中的基本概念
OPNET的基本概念:
一、项目(Project)与场景(Scenario)
一个工程就是一组仿真环境,一个场景就是其中的一个具体网络仿真环境配置方案。
场景是网络的一个实例,一种配置,如拓扑结构、协议、应用、流量以及仿真属性等设置。
只要打开OPNET就需要建立一个工程包含该场景。
工程提出的初衷是为了对不同的场景仿真结果进行比较,工程提供场景复制功能。
将场景备份后的所有参数及结果都是相同的,通过改变其中一个或几个参数,查看结果并进行对比,也可以是不同的场景侧重系统的不同方面,验证系统在不同场合下的性能及是否存在瓶颈。
二、子网(Subnet)
子网是将网络中的一些元素抽象到一个对象中去。
一个例子:
如运营商的骨干网。
如果将所有路由器放到一个视图里会很凌乱,不如按照省份将同一省份的放到一个子网内,以这个省份命名这个子网。
三、节点(Node)
节点被看做设备或资源,由支持相应处理能力的硬件和软件组成,数据在其中生成、传输、接受并处理。
四、链路(Link)
连接节点并传输数据。
五、仿真随机种子(seed)
Seed是产生随机数的种子值,反映随机数的状态。
目的是为了测试仿真系统的稳健性。
针对不同的种子值,仿真结果相近,则说明建立的模型有较高的稳健性。
六、模块(module)与仿真(simulation)
对于某个协议的仿真,可能因为建模困难,我们可以把该协议分解成一系列的协议行为,对这些行为进行单独的建模后通过有限状态机把他们联系起来便形成一个系统,这个系统称为模块。
仿真是基于一系列模块的一组实验,他反映模块与模块之间的相互作用。
七、属性的隐藏(hidden)
属性的隐藏使得属性的可读具有阶层性,为了避免混淆就把这些属性隐藏起来,变成预设值,等到要用的时候再去底层查找。
八、属性的提升(promoted)
与属性的隐藏相反,OPNET规定等级低的参数可以不断提升,最后变成级别最高的仿真属性。
九、对象ID(Objid)与用户ID(userid)
Objid是对象识别号系统配置的,全局唯一,整数。
Userid是节点模型的一个属性,由用户设定,可以不唯一。
十、模型(model)、模块(module)与对象(object)
模型通常指的是进程模型、节点模型和网络模型。
模块具有实在的物理含义,例如进程模块就是节点模块里的小方块。
OPNETModeler的安装
本人所安装使用的OPNET是OPNETModeler,以下是我的安装过程:
1、拔掉网线,如果有防火墙软件,打开UDP2047端口或者彻底关闭防火墙。
2、执行145A,按照提示安装OPNETModeler软件。
最后选择License类型时,请选择Standalone模式。
3、接下来安装以下两个安装包:
和145A,按照提示安装文档和库文件。
4、将Crack目录下的文件(这就是License文件,用以添加License)拷贝到C:
\ProgramFiles\OPNET\下。
5、打开OPNETModeler,从OPNETModeler的Edit-Preference里检查licenseServerName和StandaloneLicenseServer观察standalone设置是否正确。
如果之前选Standalone模式,licenseServerName应该为localhost(在这为PC12uag),本机地址或主机名,StandalonelicenserServer应该为TRUE。
如果修改了某些设置,请重新启动OPNET
6、双击Crack目录下的,回车继续,等到出现结束提示后,回车关闭该窗口,这一部主要是添加License协议,在以后打开就可以看到License文件中就已经有1000个Licenses了。
7、此时安装过程就结束了,重新打开OPNET就可以正常使用。
OPNETModeler的基本应用技术
OPNET的基本应用:
一、接触OPNET工程编译器:
1、打开OPNETModeler,File->New->OK。
确定一个工程名(projectname)和场景名(scenarioname)。
点击OK。
2、跳出来一个网络配置器(StartupWizard:
InitialTopology)。
点击Createemptyscenario->next.
图3-3-1网络配置器
3、根据建立网络的规模在(StartupWizard:
ChooseNetworkScale)选择全球网(World)、企业(Enterprise)、校园(Campus)、办公室(Office)、地方(Logical)或者从地图上选择(Choosefrommaps)网络->next.
图3-3-2网络规模选择器
4、设定网络范围,在(StartupWizard:
SpecifySize)中选择度量单位,可以是经纬度(Degrees)、米(Meters)、公里(Kilometers)、英尺(Feet)、英里(Miles)等。
->next
5、在(StartupWizard:
SelectTechnologies)中选择模范家族(ModelFamily)。
图3-3-3模范家族选择器
二、网络拓扑中的背景信息及设置:
6、点击查看上一级拓扑按钮(Gotoparentsubnet)。
右击放入全球地图的按钮,点击(EditAttributes(Advanced)),可以看到这个子网的长宽经纬度。
7、用鼠标拖动子网,经纬度也会变化。
8、双击子网可以进入子网内部看到子网的范围。
9、用放大镜对子网放大,可以看到蓝色的边框,他表示了子网的范围。
10、设置背景的分辨率和解析率:
View->Background->SetProperties。
Resolution(分辨率)如果调大一倍,则背景放大一倍。
Division(解析率)如果设为,则网络标示的单位精确到度。
11、在背景中引进OPNET自带的地图:
1)、导入带有经纬度信息的卫星地图:
View->background->AddImageMap。
2)、导入海岸线或高速公路信息:
View->AddMIFMap,海岸线为绿色,高速路为红色。
三、背景图形的分辨率与节点图标分辨率的匹配:
(防止背景小节点大的混乱)
1)、调整物件显示的极限参数:
右击子网->EditAttributes(advanced)->Threshold。
可选择多个子网(Selectsimilarnodes),同时改变他们的极限参数。
2)、将子网简化成一个节点(如果不研究子网内部表现):
Openobjectpalette->ShareObjectPalettes->lanes->NodeModels->xxx_lane
四、查找物件:
1)、一拉一点的方法,只适合于网络规模小的情况下。
2)、Ctrl+B或View->ShowNetworkBrowse将会弹出物件浏览器,我们可以直接输入物件名来查找。
五、比较两个场景
1)、Scenarios->NetworkDifferences
六、显示一个流的路由
Protocols->IP->demands->displayrouterforconfiguresdemanded或者Ctrl+Alt+D
七、显示上次隐藏结果
Hide/ShowGraphPanels
OPNETModeler建立网络拓扑结构分析
3.4.1建立网络拓扑结构的步骤
建立拓扑结构的步骤分为以下五步:
1、配置网络拓扑;2、配置业务;3、收集结果统计量;4、运行仿真,调试模块再次仿真;5、最后发布结果和拓扑报告。
3.4.2建立一个简单的网络拓扑结构
一、开始建立一个场景:
1、打开Modeler.
2、从File菜单中选择New.
3、从弹出的下拉菜单中选择Project并单击OK。
4、将你的项目命名为initials_Sim,场景命名为initials_first_floor
图3-4-1输入项目名
*initials用来区分同一项目的不同版本,比如你可以将项目命名为1_sim。
将场景命名为1_first_floor。
5、单击OK按钮。
*这时出现开始向导,创建新的背景拓扑图CreateEmptyScenario。
*选择网络的范围:
world、Enterprise、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 OPNET LEACH 协议 仿真 无线 传感器 网络 平台 模拟
![提示](https://static.bingdoc.com/images/bang_tan.gif)