辽宁科技大学硕士论文(1)OPNET0PNET是目前世界上最先进的网络仿真和建模的平台之一,由MIL3公司开发。它支持面向对象的建模方式,并提供图形化的编辑界面,更便于用户使用。它强大的功能和全面性几乎可以仿真任何网络设备、支持各种网络技术。除了能够仿真固定通信模型外,OPNET的无线建模器还可用于建立无线自组网和卫星通信网的模型。同时,OPNET在新网络的设计以及对现有网络的分析方面都有卓越表现。它为通信协议和路由算法的研究提供与真实网络相同的环境。此外,它的结果分析器为网络性能的分析提供了有效且直观的工具。OPNET产品系列主要包括以下四个产品:网络规划设计工具ITDecisionGure,网络研发仿真平台modeler、对无线和移动网络仿真支持的Modeler/radio。和在仿真网络环境中验证硬件设计的OXC。由于是商用软件,OPNET的价格非常昂贵,使得通常的公司、大学和研究所难以承受。国内,现在仅有有限的若干套OPNET软件,主要在大型电信企业、电信研究设计院中应用。(2)G10MoSimGloMoSim是运行在PARSEC(ParallelSimulationforComplexsystem)SimulationEnvironment环境下运行的无线网络仿真库.PARSEC(ParallelforComplexSystems)是一个由UCLA并行计算实验室开发的基于C的仿真语言。该语言能以顺序或者并行的方式仿真离散事件模型。同时,它还可以被当作一个并行程序设计语言使用:现在PARSEC己经可以运行在很多平台下了,包括很多UNIX系列的操作系统和Windows操作系统。GloMoSim设计出来的主要目的就是要仿真非常大型的网络模型,该模型将可以被扩展到仿真超过百万个节点。通过并行的仿真方法,G10MoSim可以明显的降低仿真模型的运行时间;G10MoSim主要采用节点聚集和层次聚集两种机制来提高仿真模型的效率,节省其运行时间。在网络规模增大,仿真时间增长的情况下,G10MoSm的优势较明显。G10MoSim是半商业化的软件,对企业应用收取较高的费用,对于学校教学研究,通过申请可以免费使用。(3)QualNetQualNet是一种应用于无线、有线以及混合动态网络的快速而且精确的开发、仿真系统。ScalableNetworkTechnologiesInc。公司将美国加州大学洛杉矶分校(UCLA)开发的开放源代码的GloMoSim成功地转化为了商第四章无线^dhoc网络仿真研究业版本一一QualNet。功能与G10MoSim相似,只是提供了图形化界面。(4)NS一2NS.2是美国DARPA支持的VINT项目的核心部分,由UCBerkeley.USC/ISI,LBL和XeroxPARC等大学和实验室联合开发。其目的是构造虚拟的网络平台,提供一系列仿真工具,实现新的网络协议的设计和开发。NS一2是一个离散时间仿真器,简单地说,时间规定了系统状态的改变,状态的修改仅在时间发生时进行。仿真处理过程的速率不直接对应着实际时间。一个时间的处理可能又会产生后续的事件,仿真器所做的就是不停地处理一个个事件,直到所有的时间都被处理完或者某一特定的时间发生为止。NS一2的核心是一个离散事件仿真引擎,NS.2中有一个“调度器”类,负责记录当前时间,调度网络事件队列中的时间,并提供函数产生新事件,指定事件发生的时间。NS2有丰富的构件库,支持广域网、局域网、移动通信网、卫星通信网等,所支持的路由方式包括层次路由、动态路由、多播路由等。NS2还提供了跟踪和监测的对象,可以把网络系统中的状态和时间记录下来以便分析。NS-2软件是一个软件包,包括Tcl/Tk,OTcl,NS,TclCl。其中Tcl是一个开放脚本语言,用来对NS进行编程;Tk是Tcl的图形界面开发工具,可帮助用户在图形环境下开发图形界面;OTcl是基于Tcl的面向对象扩展,自己的类层次结构;NS为本软件包的核心,是面向对象的仿真器,用c++编写,以OTcl解释器作为前端;TclCl则提供NS.2和OTcl的接口,使对象和变量出现在两种语言中。此外,NS2是免费的,开放源代码的,这使得利用NS2进行网络仿真的研究者可以很方便地扩展NS2的功能,也可以很方便地共享和交流彼此的研究成果。三种网络分析软件的比较(OualNet是GloMoSim的商业软件,功能相近),如表4.1:从如下表格中可以看出OPNET虽然功能强大,但价格昂贵,论文不采用。GloMoSim对大学免费。但获取该软件仍不容易,另外该软件的主要优势在于仿真大规模网络,论文关注的是中小规模的网络仿真,故也不采用。NS一2具有免费、开放的特性,获取容易,特别适用于科研使用。论文主要利用NS-2进行移动自组网研究,而NS一2加上CMU模块,己被IETF选定为路由协议的公用测试平台,并被该领域广大研究者所接受,故论文辽宁科技大学硕士论文最终选用NS.2作为仿真平台。仿真软件特点OPNETGloMoSinl事件驱动面向对象NS.2仿真方法建模方法建模环境事件驱动面向对象事件驱动面向对象图形化编辑器图形化编辑器在已有模型上修改或使用C/C++语言编写命令符编辑器将己有模型整合、改动或移植别的模型模块支持动态观察模型扩展在已有模型上继承或编制新模型支持动态观察使用图形显示器输出多种网络,但主要面向网络协议研究Unix,Linux,Windows仿真过程观察支持动态观察使用结果分析器输出几乎所有网络(包括无线通信和卫星网络)仿真结果适用范围使用图形显示器输出多种网络,主要面向大型网络运行环境WindowsNT/2000,Unix.SolarisUnix,Solaris,HP—UXNT/2000/XP价格十分昂贵昂贵,对学校免费免费表4-1三种仿真软件的比较4.3基于NS2的AdHoe网络仿真4.3.1NS2的控件层次结构NS2的一个最重要的特点就是它的构件库非常丰富,原则上可以对任何系统进行仿真,而不限于与通信网络系统。用户可以自己完成对所要研究的系统的建模工作,编写各种事件的处理代码,然后利用这个离散事件仿真器进行仿真。针对网络仿真,NS2已经预先做了大量的模型化工作,对一些通用的实体进行了建模,如链路、队列、分组、节点等,并用对象来实现了这些实体的特性和功能,这就是NS2的构件库,图4.1给出了NS构建库的部分类的层次结构。其中,TclObject是所有编译类(c++)的基类,每个编译对象都是当前用户从解释器中创建解释对象的同时在c++类结构中产生出的影像对象。Connector类是连接器,对收到的分组进行相应的处理,然后将分组递交给处理的对象或者将分组丢弃,而Queue、Delay、Agent、Trace都是Connector类的子类,均有完成同的功能。Classifier是分类器,收到~个分组后,节点检查分组的某些域,然后寻找与这个域的值相匹配的接收者,AddrClassifier是一个按照分组的目的地址进行匹配的类,用来支持单播分第四章无线hdhoc网络仿真研究组转发,而MastClassifier支持的是多播分组的转发。Replicator类的作用是生成一个分组的多份拷贝,把这些拷贝转发到相应的对象中。图4-1NS2构件库(部分)4.3.2NS2的基础节点是NS2中最重要的~个构件。一个节点是由分类器、复用器、代理、链路等更基本的构件组合而成。有线网络节点和无线网络节点的结构是不同的。不同的节点用链路连接起来,就构成了网络。如图4-2是一个单播节点的结构图:l’一’一一’一一‘一一一‘一一。一一一一一一一一’一一一’一一一一一一‘一一-’图4-2单播节点的结构
相关推荐: