基于OMNeT的Ad-hoc网络仿真毕业论文.doc
《基于OMNeT的Ad-hoc网络仿真毕业论文.doc》由会员分享,可在线阅读,更多相关《基于OMNeT的Ad-hoc网络仿真毕业论文.doc(58页珍藏版)》请在咨信网上搜索。
1、摘 要本文主要工作是介绍 OMNeT+仿真平台,并基于OMNeT+搭建Ad hoc网络环境来进行仿真试验。首先是详细介绍OMNeT+仿真器的构成原理,尤其是对其NED语言和编程语法等做深入讲解,同时也对OMNeT+的移动框架(MF,Mobility Framework)组成原理进行了系统的讲解,因为它为我们提供了仿真无线移动网络所需各种基本模块,把我们从设计底层的模块结构和拓扑结构中解放出来,让我们能够把精力放在具体协议的实现上,加快了搭建仿真网络的过程,最后是进行Ad hoc 网络仿真环境的搭建,并在该环境中对在计算机网络中常用来检测网络连通性的Ping 命令进行了仿真试验,并对抽取所需的数
2、据进行分析。关键字 网络仿真 OMNeT+ Ad hoc网络AbstractThe main work of this thesis introduces the OMNeT+, and organize a Ad hoc network for the simulation test based on OMNeT+. Firstly, it introduces the structure of OMNeT+ in detail, especially its NED language and the syntax of program, as well as OMNeT+s Mobile
3、Framework (MF, Mobility Framework) principle, because it provides with basic modules for wireless and mobile network simulation, and free from the designing of the bottom of the modules structure and topological, so that , it can put more efforts on the achievement of the realization of the protocol
4、, speed up the simulation process. At last, it organizes an Ad hoc network, and simulate the Ping instruction, which is always used in the computer network to detect the networks connectivity, at the same time, it collects the required data for analysis. Key words Network Simulation OMNeT + + Ad hoc
5、 Network目 录摘 要IAbstractII第1章 绪论11.1 课题背景与意义11.2 本文的主要工作21.3 本文的组织结构3第2章 OMNeT+基础42.1 OMNeT+简介42.2 OMNET+框架62.2.1 OMNeT+组成62.2.2 OMNeT+框架72.3 OMNeT+语法82.3.1 NED语言82.3.2 简单模块算法实现和消息传递112.4 MF移动框架142.4.1 主机模型142.4.2 信道控制模块162.4.3 基本概念18第3章 Ad hoc网络基础223.1 Ad Hoc网络的概念223.2 Ad hoc网络特点233.3 Ad hoc网络协议栈253
6、.4 Ad hoc网络的应用领域26第4章 Ad hoc网络仿真的实现294.1 仿真试验294.1.1 NIC模块304.1.2 移动模块324.1.3 网络层模块324.1.4 信道控制模块354.1.5 应用层模块364.2 仿真结果分析374.2.1 丢包分析374.2.2 往返时延分析384.2.3 数据分析38结 论39致 谢40参考文献41附录1 外文文献译文43附录2 外文文献原文4854第1章 绪论1.1 课题背景与意义由于研究方向的不同,许多领域,并不太适合采用实地试验的方式,或者是为了节省时间、资金等目的,最好采用仿真的方式。比方说电路仿真、生物仿真,还有接下来我们要谈到
7、的网络仿真。网络仿真也被称为网络模拟,因为对各种网络仿真过程来说,其中也有“模拟”的含义,即网络仿真不但可以取代真实的应用环境得出可靠的运行结果和数据,也可以模仿一个系统过程中的某些行为和特征。顾名思义,网络模拟,就是用计算机程序对通信网络进行模型化,通过程序的运行模仿通信网络的运行过程。那么,为什么要进行通信网络的仿真呢?在网络迅速膨胀的今天,网络研究人员一方面要不断思考新的网络协议和算法,为网络发展做前瞻性的基础研究;另一方面也要研究如何利用和整合现有的资源,使网络达到最高效能。无论是哪一方面都需要对新的网络方案进行验证和分析。进行网络技术的研究一般有以下3种手段:(1)分析方法,就是对所
8、研究的对象和所依存的网络系统进行初步分析,根据一定的限定条件和合理假设,对研究对象和系统进行描述,抽象出研究对象的数学分析模型,利用数学分析模型对问题进行求解。(2)实验方法,就是设计出研究所需要的合理硬件和软件配置环境,建立测试床和实验室,在现实的网络上实现对网络协议、网络行为和网络性能的研究。(3)仿真方法,应用网络仿真软件建立所研究的网络系统的模拟模型,在计算机上运行这个模型,并分析运行的输出结果。然而,前两种方法都存在很大的局限性。分析方法的有效性和精确性受假设限制很大。当一个系统很复杂时,就无法用一些限制性假设来对系统进行详细描述。实验方法的局限性在于成本很高,重新配置或共享资源很难
9、,运用起来不灵活。而仿真方法在很大程度上可以弥补前两种方法的不足。仿真方法可以根据需要设计所需的网络模型,用相对较少的时间和费用了解网络在不同条件下的各种特性,获取网络研究的丰富有效的数据。网络仿真无疑提供了一个方便、高效的验证和分析方法,因此网络仿真技术在现代通信网络设计和研究中的作用正变得越来越大1。无线移动网络的迅速发展,特别是Ad hoc网络已成为当今无线移动网络领域研究的热点,使得我们对Ad hoc网络的性能研究变得越来越重要。对于欲建的网络应用系统,网络设计者需要验证其设计方案的可行性,以有效投资建立最优网络环境;对于新提出的网络协议我们需要验证其性能;网络规模越大,网络性能的计算
10、机仿真和性能分析工作越显重要。目前国外网络仿真技术已经相当成熟,已经有几种极为优秀的网络仿真软件。而国内由于起步较晚,并没有自主研发的仿真软件,或者是虽然有自主研发的软件,但是只能够应用于极为狭隘的特定项目,不能够对其他的研究者提供广泛的支持。因此,学习和使用国外现有的一些网络仿真软件,对于现阶段国内的研究者来说,是有极大帮助的2。仿真软件按照发行渠道来划分,有两大类:商业软件和非商业软件。前者的代表有OPNET、COMNETIII,后者则有NS-2、PARSEC、OMNET+等。因为商业化的网络仿真软件,其价格是非常昂贵的,而OMNeT+做为一个具备强大功能的免费仿真软件,是值的作为个人研究
11、之用的研究者利用的。1.2 本文的主要工作本文所做的主要工作是介绍 OMNeT+这个优秀的网络仿真平台,并基于OMNeT+搭建Ad hoc网络环境来进行仿真试验。首先详细介绍如何使用 OMNeT+,尤其是对其NED语言和编程语法等做深入讲解,同时也对OMNeT+的移动框架(MF,Mobility Framework)进行介绍,最后是进行Ad hoc 网络仿真环境的搭建,并在该环境中对在计算机网络中常用来检测网络连通性的的Ping 命令进行了仿真试验,并将对相关的数据进行统计分析。1.3 本文的组织结构本论文的主要目的是介绍OMNeT+及其移动框架,并搭建Ad hoc网络环境进行仿真试验,全文的
12、结构如下:第1章简单地介绍了课题的背景与意义、本文的主要工作,并综述了本文的组织结构。第2章从OMNeT+的应用领域和特点出发,阐述了OMNeT+框架,并对OMNeT+的组成和语法进行了详细的介绍,同时对应用于无线移动网络的移动框架的组成原理进行了讲解。第3章简要介绍了Ad hoc网络的概念、特点、协议栈及应用领域。第4章从Ad hoc网络各层的技术标准入手,参照OSI模型,利用OMNeT+搭建Ad hoc网络仿真环境,并对计算机网络的Ping命令进行了仿真试验。最后结束语部分对所做的工作加以总结,指出所做工作中的不足。第2章 OMNeT+基础2.1 OMNeT+简介网络仿真(Network
13、Simulation)是使用计算机技术构造网络拓扑、实现网络协议的模拟网络行为。它是一种介于试验和计算的技术,通过建立实际系统的数学模型,并按照相同的运行机理模拟物理系统的动态行为。它能获取特定的网络特性参数,进而可对网络性能进行研究和分析,达到改善网络运行状况的目的。它包括网络拓扑仿真、协议仿真和通信量仿真,模拟网络流量在实际网络中传输、交换等的过程。目前,知名的网络仿真软件主要有OPNET,NS2,GIoMoSim,OMNET+。OMNET+(Objective Modular Network Testbed in C+)是由AndrasVarga等1992年开始开发的一种强大的免费网络仿
14、真软件,它是一个跨平台,源码开放的模拟环境,主要用于网络通讯、协议、多重处理机以及分布式处理系统的模拟和评估复杂软件系统性能。OMNET+是基于离散事件的,所谓的离散事件系统是指Event(事件)只是在离散的时间点上发生,产生Event(事件)本身是不需要时间,两个接连的Event(事件)之间没有状态的改变。计算机网络的工作机制正是一个这样离散系统,因此可以用离散事件的仿真工具进行模拟。OMNeT+是一个面向对象的离散事件模拟器,它的全称是Objective Modular Network Tested in C+。它是一种基于模块的,内核源代码完全开放的仿真软件,可以运行于Linux、Win
15、dows及DOS等多种操平台之下。OMNET+可以应用于以下领域:(1)模拟通信网业务流(2)通信协议的仿真(3)排队网络(4)模拟多处理器和其它分布式系统(5)任何离散事件系统它能够建立目前几乎所有网络对象的基本模型之间的互连,并且使复杂的网络通信和拓扑结构得到高度切合实际的模拟和仿真。一个OMNeT+模型是由具有层次结构的模块嵌套而成,嵌套的深度没有限制,这样使用者能够用这些模块建立起真实系统的拓扑结构。模块之间通过传递消息进行通信,同时消息也能够是任意复杂的数据结构。消息既能够直接传到目的地,也能够通过门和信道,按预先确定的路径传到目的端。OMNET+具有以下几个特点:(1)使用C+语言
16、进行仿真,而C+语言具有广大的应用群。(2)提供了一个图形的用户界面,可能动态地观察仿真程序的运行。(3)使用参量的方试,可以不修改源代码和重新编译的情况下,对不同条件下的网络模型进行仿真。(4)可以使用非常简易的NED(Network Description Language)来代替C+完成网络拓扑的描述。(5)可以使用变量观察函数及绘图功能将考察的变量实时地绘成曲线,也可以将仿真结果输到指定文件中,然后再用其提供的工具Plove绘成曲线。(6)对硬件条件要求不高,运行速度较快,只想当于纯粹用C编写的1.3倍,而PARSEC是一个命令行模式的仿真器。总之,OMNeT+一种强大的免费网络仿真软
17、件,它是一个跨平台,源码开放的模拟环境,主要用于网络通讯、协议、多重处理机以及分布式处理系统的模拟和评估复杂软件系统性能。OMNET+是基于离散事件的,计算机网络的工作机制正是一个这样离散系统,因此可以用离散事件的仿真工具进行模拟3。OMNET+具有编程简单,易于掌握等特点,只要用户具有一定的C+语言知识就可以使用。使用它的NED语言可以非常方便地构建一个网络模型,它还提供Plove作为输出参数的观察工具。2.2 OMNET+框架2.2.1 OMNeT+组成OMNeT+主要由六个部分组成:仿真内核库(Simulation Kernel Library,简称Sim),网络描述语言的编译器(Net
18、work Nescription Compiler,nedc),图形化的网络编辑器(Graphical Network Description Editor,GNED),仿真程序的图形化用户接口Tkenv,仿真程序的命令行用户接口Cmdenv,图形化的向量输出工具Plove。Sim是仿真内核和类库,用户编写的仿真程序要同Sim连接,Sim在OMNeT+中占据最为核心重要的地位。下面详细介绍的另外两重要组成部分。1网络描述(NED)语言NED(Graphical Network Description Editor)是模块化的网络描述语言。网络描述包括大量的对组件的描述,如通道,简单和复合模块的
19、类型。这些组件描述可用于各种不同的网络描述中。NED语言用来定义模型中的网络拓扑结构,较为简单的网络拓扑可以使用GNED,但复杂网络的拓扑描述还应该用NED源文件方式书写。2用户接口OMNeT+的用户接口用于实现仿真程序的人机交互,OMNeT+允许模型内部机制对用户可视化,也允许用户启动和终止仿真,并更改模型内部的变量。OMNeT+中的图形化接口是一个用户工具,可方便用户了解模型内部的运行机制。用户接口和仿真内核的交互是通过一个已定义的接口实现的。无需改变仿真内核,就可以实现不同类型的用户接口。同样无需更改模型文件,仿真模型可在不同接口下运行。用户可以在强大图形化用户接口下测试和调试仿真程序,
20、并最后可在简单快速的用户接口中运行,而且该接口支持批处理。目前OMNeT+支持两种用户接口,即Tkenv和Cmdenv。对仿真进行的测试和调试可以在Tkenv接口下进行,Tkenv是一个简便易用的图形窗口化的用户接口,Tkenv支持跟踪,调试和执行仿真的功能。它在执行仿真过程中的任意时刻都能够提供详细的状态信息。Tkenv的主要特征有:各模块的文本输出有其独立的窗口,仿真过程中可以在Tkenv窗口中看到自传消息,支持仿真动画,标记断点,具有检查窗口,可以检查和改变模型中的变量,执行过程中仿真结果的图形化显示并且结果可以用柱状图和时间序列图显示,仿真可重新进行,快照文件用于显示模型的详细信息。C
21、mdenv接口用于实际的仿真实验,因为Cmdenv支持批处理。Cmdenv是一个简便的小型命令行接口,执行速度快。它可以在所有操作系统平台上运行。Cmdenv可以一次批处理配置文件中所有的仿真。2.2.2 OMNeT+框架OMNeT+具有模块化的结构,图2-1是OMNeT+仿真的高层体系结构。图2-1 OMNeT+仿真程序的体系结构图2-1的箭头表示两组件之间的交互,图中共有5个箭头,表示了组件间的5种关系。(1)执行模型和Sim:仿真内核管理将来的事件,当有事件发生时,仿真内核就调用执行模型中的模块。执行模型的模块存储在Sim的main对象中。执行模型依次调用仿真内核的函数并使用Sim库中的
22、类。(2)Sim和模型组件库:当仿真开始运行创建了仿真模型的时候,仿真内核就实例化简单模块和其它的组件。当创建动态模块时,仿真内核也要引用组件库。实现在模型组件库中注册和查寻组件也是Sim的功能。(3)执行模型和Envir:ev对象作为Envir的一部分,是面向执行模型的用户接口。仿真模型使用ev对象来记录调试信息。(4)Sim和Envir:由Envir决定创建何种模型,Envir包含主要的仿真循环,并调用仿真内核以实现必须的功能。Envir捕捉并处理执行过程中发生在仿真内核或类库中的错误和异常。(5)Envir和Tkenv,Cmdenv:Envir定义了表示用户接口的TOmnetApp基类,
23、Tkenv和Cmdenv都是TOmnetApp的派生类。main()函数是Envir的一部分,为仿真决定选用合适的用户接口类,创建用户接口类的实例并执行。Sim和模型对ev对象的调用通过实例化TOmnetApp类进行。Envir通过TOmnetApp和其它类的方法实现Tkenv和Cmdenv的框架和基本功能4。2.3 OMNeT+语法OMNet+是面向对象的离散事件模拟工具,为基于进程式和事件驱动两种方式的仿真提供了支持。OMNet+采用了混合式的建模方式,同时使用了 OMNet+特有的NED语言和 C+进行建模。2.3.1 NED语言NED 语言包含的组件:import 指令,通道定义,简单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 OMNeT Ad hoc 网络 仿真 毕业论文
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。