毕业论文--无线传感器网络.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《毕业论文--无线传感器网络.doc》由会员分享,可在线阅读,更多相关《毕业论文--无线传感器网络.doc(57页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、装订线 无线传感器网络摘 要 随着协议在通信等领域的广泛应用,对协议的研究越来越重要。人们需要借助一定的平台来模拟通信协议。OMNeT+就是近年来在科学和工业领域里逐渐流行的一种优秀的网络仿真平台,它作为离散事件仿真器,具备强大完善的图形界面接口和可嵌入式仿真内核,可运行于多个操作系统平台,可以简便定义网络拓扑结构,具备编程,调试和跟踪支持等功能。OMNeT+主要用于通信网络和分布式系统的仿真。Gossiping协议是对Flooding协议的改进,节点将产生或收到的数据随机转发,避免了内爆,但增加了时延 本文系统介绍了Flooding协议和Gossiping协议的仿真过程。Flooding协议
2、和Gossiping协议是两个传统的网络路由协议,网络中的节点把收到的数据包发送给它的所有邻居节点或者随机选择一个进行转发,这个过程一直重复直到该分组到达sink 节点或者该分组的生命到期。本文从如何设计模块开始,进而详细讲述了模块功能的实现,以及配置文件的编写。最后比较了这两个协议的通信流量,性能,时间效率。该仿真采用C+语言编程实现。关键词:C+ ;OMNeT+ ;Gossiping;仿真.Abstract With the wide use of protocol in the communications, research for protocol becomes more and
3、more important. People need the help of some platforms to simulate the communication protocol. OMNeT + + is an excellent network simulation platform which is popular in scientific and industrial field in recent years. As a discrete event simulator, it has a complete and powerful graphical interface
4、and has an embedded simulation kernel. It can also run on multiple operating system platforms and can define the network topology easily with programming, debugging and tracing support functions. OMNeT + + is mainly used for communication networks and distributed systems simulation. Gossiping protoc
5、ol develops from Flooding protocol. The node will forward messages randomly which are generated or received .It can avoid the implosion, but will increase the delay. This paper introduces the simulation of Flooding protocol and Gossiping protocol . Flooding and gossiping protocol are the traditional
6、 network routing protocols.The network node will send received packets to all of its neighbors or randomly select a node to forward . The process is repeated until the packet reaches the sink node or TTL expires. This article starts from the design of the module, and then introduces the realization
7、of the module function in detail and the way of writing the configuration file. Finally, we compare the two protocols in communication flows, performance and time efficiency. The simulation was programmed with c+ language.Keywords: C + +; OMNeT + +; Gossiping; simulation目 录1绪 论12开发工具的介绍-OMNET+和VC6.0
8、32.1 OMNeT+框架32.1.1OMNeT+组成32.1.2OMNeT+结构42.2 OMNet+的安装42.3 NED语言6 2.3.1 NED总概述6 2.3.2 NED描述的组件62.4 仿真过程92.5 配置文件omnetpp.ini92.6 VC开发环境的介绍103FLOODING协议的仿真123.1 泛洪法(FLOODING)的介绍123.2 经典算法的OMNET仿真133.3 系统设计134GOSSIPING协议的仿真194.1 Gossiping协议的介绍194.2 系统规划与设计204.2.1算法设计204.2.2模块设计20 4.2.2.1 application模块
9、的设计21 4.2.2.2 layer0模块的设计22 4.2.2.3 Manager模块的设计245两个协议的仿真结果及比较测试255.1 FLOODING协议的仿真结果及测试255.2 GOSSIPING协议的仿真结果及测试295.3 两个协议的对比分析33总 结36致 谢37参考文献38附录:部分源程序39 第 II 页 1. 绪论 无线传感器网络(Wireless Sensor Network,WSN)是由部署在监测区域内大量的微型传感器节点组成,通过随机自组织无线通信方式形成的网络系统。WSN在军事国防、环境监测、智能家居、生物医疗、危险区域远程控制等诸多领域有着广泛的科研价值和应用
10、前景。然而,传感器节点有限的处理能力、存储能力、通信能力以及能量问题,决定了无线传感器网络在真实环境大规模部署前,必须对其性能、运行稳定性等因素进行测试,通过整合网络资源以使网络最优化。此外,WSN新的协议算法在应用实施前也需要进行验证和分析。通过构建WSN仿真模拟环境,能够根据需要设计网络模型,模拟大规模节点网络,在一个可控的环境中研究WSN的各个运行环节,达到用相对较少的时间和费用获得网络在不同条件下的性能,因此无线传感器网络仿真模拟技术受到越来越广泛的重视。网络仿真是使用计算机技术构造拓扑结构,模拟网络协议的工作过程。它能设定网络特性参数,模拟网络流量在网络中的传输过程,对网络性能进行研
11、究和分析。网络是一个庞杂系统,用复杂系统理论来研究网络是近几年才出现的。而OMNeT+网络仿真平台的出现为用复杂系统理论研究和开发网络提供了一个用力的工具,用基于多智能体的概念和可计算理论来考察网络的运行,会对传统基于统计概念的网络运行机制带来新的挑战。本文以工作在OSI的七层模型中添加一个洪泛层,并以应用层和洪泛层为研究对象,借助OMNET+仿真平台,基于复杂系统的概念、思想、方法,用人工实验进行分析,并对信息随机性、突发性等引发系统堵塞的量化进行研究。 OMNeT+的用户接口用于实现仿真程序的人机交互,OMNeT+允许模型内部机制对用户可视化,也允许用户启动和终止仿真,并更改模型内部的变量
12、。OMNeT+中的图形化接口是一个用户工具,可方便用户了解模型内部的运行机制。用户接口和仿真内核的交互是通过一个已定义的接口实现的。无需改变仿真内核,就可以实现不同类型的用户接口。同样无需更改模型文件,仿真模型可在不同接口下运行。用户可以在强大图形化用户接口下测试和调试仿真程序,并最后可在简单快速的用户接口中运行,而且该接口支持批处理。Flooding协议和Gossiping协议.这是两个最为经典和简单的传统网络路由协议,可应用到WSNs中。这两种算法也是传统网络中最基本的路由方式,不需要知道网络拓扑结构和使用任何路由算法。每个传感器节点把自己接收到的packet 发送给所有它的邻居节点或者随
13、机选择一个进行转发,这个过程一直重复直到该数据包到达sink 节点或者该数据包的TTL值为零( TTL 是指在传感器网络里数据包能被转发的最大跳数) 。Gossiping 算法改进了Flooding 过程,每个传感器节点只把自己接收到的packet 随机发送给它的某个邻居节点,其他不变。这种方式虽然实现简单,但是并不实用于相关应用程序,而且还很容易带来内爆(implosion) 和交叠(overlap) 问题。在无线网络中,通过Flooding协议或Gossiping协议就可以找到一条路由,把数据包转发到目的节点。 Flooding协议算法的实现是在MAC协议层和应用层之间建立一个泛洪算法层。
14、应用层与泛洪算法层之间有2个操作:应用层发起广播;FA层递交FAM。FA层与MAC层也有2个操作:FA层发送FAM;FA层接收FAM,判断其是继续发送还是丢弃。整个模块中有3种子模块,application模块、layer0 模块和manager模块。其中application模块代表的是应用层,layer0模块代表的是FA层,manager模块代表的是调度节点模块,每个模块都有自己的功能。 Gossiping协议的仿真过程跟Flooding的仿真过程很类型,结构模块都是一样的额,只是在选择节点进行转发时,有所区别。该毕业设计对这两个无线网络协议进行了仿真,验证了这两个协议的可行性。通过对结果
15、的分析,对比了它们在转发数据包时所产生的流量、传输时间、效率以及性能。所以,本次毕业设计就是使用NED语言来描述网络的拓扑结构,用C+语言来实现各模块的功能。使用了开源的协议仿真开发工具OMNeT+,来部署和发布Gossiping协议的仿真环境。本文将重点论述该协议仿真拓扑结构的设计。如何设计网络中节点的结构成为设计的一个难点。而如何使用C+编码实现模块的功能是另外一个难点。在编写拓扑结构文件时,必须按照NED特有的语法。因此,本文将介绍协议仿真平台-OMNeT+的使用。OMNeT +是一个开源平台,主要用于编写文件,使用OMNeT+平台就可以实现Flooding协议和Gossiping协议的
16、仿真。2. 开发工具的介绍-OMNeT+和VC6.02.1 OMNeT+框架2.1.1 OMNeT+组成 OMNeT+主要由六个部分组成:仿真内核库(simulation kernel library,简称Sim),网络描述语言的编译器(network description compiler, nedc),图形化的网络编辑器(graphical network description editor,GNED),仿真程序的图形化用户接口Tkenv,仿真程序的命令行用户接口Cmdenv,图形化的输出工具Plove和Scalar。 Sim是仿真内核和类库,用户编写的仿真程序要同Sim连接,Sim在
17、OMNeT+中占据最为核心重要的地位。下面详细介绍的另外两重要组成部分。 (1)网络描述(NED)语言NED是模块化的网络描述语言。网络描述包括大量的对组件的描述,如通道,简单和复合模块的类型。这些组件描述可用于各种不同的网络描述中。NED语言用来定义模型中的网络拓扑结构,较为简单的网络拓扑可以使用GNED,但复杂网络的拓扑描述还应该用NED源文件方式书写。 (2)用户接口 OMNeT+的用户接口用于实现仿真程序的人机交互,OMNeT+允许模型内部机制对用户可视化,也允许用户启动和终止仿真,并更改模型内部的变量。OMNeT+中的图形化接口是一个用户工具,可方便用户了解模型内部的运行机制。 用户
18、接口和仿真内核的交互是通过一个已定义的接口实现的。无需改变仿真内核,就可以实现不同类型的用户接口。同样无需更改模型文件,仿真模型可在不同接口下运行。用户以在强大图形化用户接口下测试和调试仿真程序,并最后可在简单快速的用户接口中运行,而且该接口支持批处理。目前OMNeT+支持两种用户接口,即Tkenv和Cmdenv。对仿真进行的测试和调试可以在Tkenv接口下进行,Tkenv是一个简便易用的图形窗口化的用户接口,Tkenv支持跟踪,调试和执行仿真的功能。它在执行仿真过程中的任意时刻都能够提供详细的状态信息。Tkenv的主要特征有:各模块的文本输出有其独立的窗口,仿真过程中可以在Tkenv窗口中看
19、到自传消息,支持仿真动画,标记断点,具有检查窗口,可以检查和改变模型中的变量,执行过程中仿真结果的图形化显示并且结果可以用柱状图和时间序列图显示,仿真可重新进行,快照文件用于显示模型的详细信息。 Cmdenv接口用于实际的仿真实验,因为Cmdenv支持批处理。Cmdenv是一个简便的小型命令行接口,执行速度快。它可以在所有操作系统平台上运行。Cmdenv可以一次批处理配置文件中所有的仿真。2.1.2 OMNeT+结构 OMNeT+具有模块化的结构,图2.1是OMNeT+仿真的高层体系结构。 CMDENV 或 TKENV ENVIR Sim可执行模型模型组件 库 图2.1 OMNeT+仿真程序的
20、体系结构图2.1的箭头表示两组件之间的交互,图中共有5个箭头,表示了组件间的5种关系。 (1)执行模型和Sim:仿真内核管理将来的事件,当有事件发生时,仿真内核就调用执行模型中的模块。执行模型的模块存储在Sim的main对象中。执行模型依次调用仿真内核的函数并使用Sim库中的类。 (2)Sim和模型组件库:当仿真开始运行创建了仿真模型的时候,仿真内核就实例化简单模块和其它的组件。当创建动态模块时,仿真内核也要引用组件库。实现在模型组件库中注册和查寻组件也是Sim的功能。 (3)执行模型和Envir:ev对象作为Envir的一部分,是面向执行模型的用户接口。仿真模型使用ev对象来记录调试信息。
21、(4)Sim和Envir:由Envir决定创建何种模型,Envir包含主要的仿真循环,并调用仿真内核以实现必须的功能。Envir捕捉并处理执行过程中发生在仿真内核和或类库中的错误和异常。 (5)Envir和Tkenv,Cmdenv:Envir定义了表示用户接口的TOmnetApp基类,Tkenv和Cmdenv都是TOmnetApp的派生类。main()函数是Envir的一部分,为仿真决定选用合适的用户接口类,创建用户接口类的实例并执行。Sim和模型对ev对象的调用通过实例化TOmnetApp类进行。Envir通过TOmnetApp和其它类的方法实现Tkenv和Cmdenv的框架和基本功能。2.
22、2 OMNet+的安装一、安装前准备在进行安装之前,需要具备以下的软件环境:1、MSVC 6.0.SP1(也就是说在机器中必须安装有VC+6.0开发环境,最好是英文版的). 如果没有SP1,AddNedFile may crash IDE due to bugs in the Visual Studio Scripting Host。2、Ghostscript的下载地址为:3、OMNeT+的下载地址为:http:/omnetpp.org/download/release/omnetpp-3.3-win32.exe4、如果你想在VS2005中进行编译,那么OMNeT+3.3版本需要下载一个库文件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 无线 传感器 网络
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内