OPNET网络仿真入门实例

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

OPNET网络仿真入门实例OPNET简介OPNET最早出自麻省理工学院的两个博士之手,最终得以商业化。OPNET被广泛应用于精确模拟领域,例如网络设备制造领域的企业商Cisco以及运营商AT&T,都采用OPNET来做各种各样的网络环境模拟和调试。在OPNET的各类产品中,Modeler几乎包含其他产品的所有功能,针对不同领域,主要的用途如下:(1)对于企业网的模拟,Modeler调用自带的已经建好的标准模型组建网络,在某些业务应用达不到事先预想结果或服务质量未及规定要求,比如说网上电子交易过程中交易延迟、数据库服务等业务响应时间慢于正常情况时,Modeler捕捉重要的流量进行分析,从业务、网络、服务器三方面来找出瓶颈。(2)对于比企业网更复杂的运行商(ISP)网络的模拟,Modeler把焦点放在整个业务层、流量的模拟,使得运营商可以有效地查出业务配置中产生的错误,例如网络中的哪些服务器配置不够妥善,让黑客容易攻击,有哪些业务的参数配置不合适等情形。(3)针对研发的需要,Modeler提供了一个开放的环境,使用户能够建立新的协议和配备,并且能够将细节定义并模拟出来。为使读者有一个生动、形象、更明确的理解,我们再进行如下说明解释:Modeler所能应用的各种领域主要包括三个方面即端到端结构、新的协议开发和优化、网络和业务层配合如何达到最好的性能。举例来说明一下吧,假设我们要将现有的IPv4的网络升级到IPv6的网络,需要确定采用哪种技术方式对转移效果来说比较好,这就属于端到端结构上的应用;新协议的开发,比如说目前流行的3G无线协议的开发,在系统级的仿真中,可以分析一种新的路由或调度算法如果使路由器或交换机达到QoS;在网络和业务之间如何优化方面,可以分析新引进的业务对整个网络的影响、网络对业务的要求,实际应用中网络和业务是对矛盾,通过Modeler模拟来查找网络和业务之间所能达到的最好的指标。软件的安装图1OPNET的安装比较简单,在此我们要说明的是安装Modeler的时候,有三个可执行安装程序,首先要安装software文件夹里的exe安装文件,然后接着选择任意顺序安装documentation和modeler文件夹里的exe安装文件,按照默认安装方式进行基本操作即可。有兴趣做深入开发研究的读者要注意,Modeler全部功能得以正常工作有赖于相关环境变量的设置,同时开发者在安装OPNET之前安装VC工具时一定要在注册环境变量选项前打勾。对于Modeler环境变量的配置,由于本文主要针对入门者,所以不需要过多涉及讲解,我们简单说明如下:在Windows下,在我的电脑上单击鼠标右键,点选“属性”—“高级选项卡”—“环境变量”打开环境变量配置对话框,在用户变量中主要添加编辑三个变量:include,lib,path,如图一所示。要添加的include路径目录主要包括VC、OPNET以及自定义的所有include文件目录;lib路径目录主要包括VC、OPNET的所有lib文件目录;path路径目录主要包括VC的\common\tools\WinNT、\MSDev98\bin、\common\tools、VC98\bin以及OPNET的\sys\pc_intel_win32\bin。OPNET仿真的步骤我们在使用OPNET进行网络仿真时,大体可以分成简单地概述为六个步骤:配置网络拓扑(topology)、配置业务(traffic)、收集结果统计量(statistics)、运行仿真(simulation)、调试模块再次仿真(re-simulation)、最后发布结果和拓扑报告(report)。现在我们将用实际例子来说明一下OPNET的应用,本例程将使用OPNETModeler快速创建一个网络,然后收集反映网络性能的统计结果,运行仿真,并且通过分析这些结果来解决网络中存在的问题。本例侧重于项目编辑器(ProjectEditor)的使用,展示Modeler建模和分析的功能,学会用OPNET来仿真模拟的基本过程。热身准备在例程开始之前,首先先喝点开胃汤,有一些重要的基本概念是需要我们理解掌握的,有助于我们更加清晰明白地向主题进军:项目(project)和场景(Scenario)一个项目说白了就是一组仿真环境,一个场景就是其中的一个仿真环境。场景是网络的一个实例,一种配置,具体来说就是拓扑结构、协议、应用、流量以及仿真配置。在Modeler仿真时,最高层次永远是一个项目,每个项目底下至少包含一个仿真场景,代表网络模型,它是具体的网络仿真环境配置。项目的提出初衷是方便对不同的仿真结果进行比较。项目提供场景复制功能,可以对场景进行备份,通过改变新场景的参数运行仿真来测试系统各方面的功能及是否存在瓶颈。子网(Subnet)OPNET子网和TCP/IP的子网不是同一个概念。OPNET的子网是将网络中的一些元素抽象到一个对象中去。子网可以是固定子网、移动子网或者卫星子网。子网不具备任何行为。只是为了表示大型网络而提出的一个逻辑实体。用一个简单的例子来说明,如运营商的骨干网,例如把骨干网的所有路由器放到一个视图里,肯定会十分凌乱,不如按照省份将同一省份的路由器都放到同一个子网中,然后以省份的名称来命名每个子网的名字,构建成的网络看上去就会比较有条理。节点(Node)节点通常被看作设备或资源,由支持相应处理能力的硬件和软件共同组成。数据在其中生成、传输、接收并被处理。Modeler包括三种类型的节点:第一种为固定节点,例如路由器、交换机、工作站、服务器等都属于固定节点;第二种为移动节点,例如移动台、车载通信系统等都是移动节点;第三种为卫星节点,顾名思义是代表卫星。每种节点所支持的属性不尽相同,如移动节点支持三维或二维的移动诡计,卫星节点支持卫星轨道。链路(Link)相对固定节点、移动节点以及卫星节点,链路也有不同的类型,有点对点的链路、总线链路以及无线链路。点对点的链路在两个固定节点之间传输数据;总线链路是一个共享媒体,在多个节点之间传输数据;无线链路是在仿真中动态建立的,可以在任何的无线收发信机之间建立。卫星和移动节点必须通过无线链路来进行通信,而固定节点除了有线链路外,也可以通过无线链路来建立通信连接。仿真随机种子(Seed)Seed是产生随机数的种子值,反映随机数的状态。只要选定一个种子值,整个随机事件系统就固定了,复杂仿真的随机过程就成了一次实现。目的是测试仿真系统的稳健性,具体来说,针对不同的Seed值进行一系列仿真,每次不同Seed值对应的仿真结果相近,则表明建立的模型有较高的稳健性(Scalability)。一般在发布仿真结果之前都要改变仿真种子进行多次测试,如果结果完全改变,则说明模块有疏漏,所得的结果只是一个特例,而不能完全反映系统的性能。模块(Modul)与仿真(Simulation)对于某个协议的仿真,可能因为其涉及的事件以及相互的联系非常庞大,造成建模的困难,这时把该协议分解成一系列的协议行为,对于这些行为进行单独建模后通过有限状态机把它们联系起来后便形成一个系统,这个系统可以称之为模块,它将抽象的协议直观化。而仿真是基于一系列模块的一组实验,它反映模块与模块之间的相互作用关系。模型、模块和对象模型通常指的是进程模型、节点模型和网络模型。模块具有实在的物理意义,例如进程模块,就是节点模型里的小方块。对象分为两种:一种是抽象对象,如复合属性;第二种是具体对象,例如模块、节点、收信机、发信机。在OPNET中对象提出的目的是设置和获得它的属性,因此对性需要有它的对象ID号Objid,作为程序获取对象属性的依据,一般是通过IMA核心函数获取或设置对象的属性。实例说明好,现在我们就开始我们的实例讲解,我们到底要创建一个什么样的网络,有什么样的要求呢?简单来说吧,我们现在需要为某公司的内部互联网的扩展制定一个合理的方案。目前,该公司在办公室的第一层有一个星型拓扑网络,现在要在第二层上增加另一个星型拓扑网络。用专业点语句来描述的话,这就是一个典型“what-if”问题,所要解决的是确保增加的网络不会导致整个网络的连通失败。建立网络拓扑结构要创建一个新的网络模型,首先要创建一个新的项目和一个新的场景。重要应用知识点:采用开始建立向导(StartupWizard)来建立一个新的项目和一个新的场景。开始建立向导有以下几个步骤:一,选择网络拓扑类型;二设定网络的范围和大小;三,设定网络背景图;四,选择对象模型家族。好,现在我们正式入手,开始创建一个场景步骤如下:(1)打开Modeler。(2)从FILE菜单中选择New...。图二(3)从弹出的下拉菜单中选择Project并单击OK按钮,如图二所示。图三(4)将你的项目命名为场景命名为。用来区分同一项目的不同版本,比如可以将项目命名为X_SM,将场景命名X_first_floor,其中X可以是数字1、2、3等,用来区别同一项目的不同的版本,比如我们现在就将项目命名为1_SM,将场景命名1_first_floor,如图三所示。(5)单击OK按钮。图四这时出现开始向导,创建新的背景拓扑图,如图四所示。图五选定网络的范围,在此我们选择office(办公室)选项,如图五所示,点击next进入下一步。图六指定网络的大小,按照默认即可,如图六所示,点击next进入下一步。图七选择OPNET自带的对象模型家族种类,如图七所示,点击next进入下一步。图八再次确认环境设置,如图八所示。图九这时出现指定大小和规格的工作空间,同时弹出一个对象模板(包括刚刚选定的对象模型家族的所有模型),如图九所示。我们在仿真应用中通过对象模板中的节点和链路模型来创建网络模型。进行到这里的时候,我们可一定要注意工作空间和对象模板这两个概念,因为后面我们的主要操作都是依托这二者来进行的,所以在此声明,以防读者阅读到后面的操作时对这些基本概念无印象而茫然迷惑。重要应用知识点:节点模型:代表实际的设备链路模型:代表连接设备的物理媒介,可以是电缆或者光缆等。可以通过对象模板中的图表直观地看出节点模型和链路模型。重要应用知识点:有三种方法可以来创建网络拓扑,任选其一:①导入拓扑图从对象模板中。②选择模型并放置在工作空间中。③使用快速拓扑配置工具。在此我们选择使用第三种方法,快速拓扑配置通过指定参数(节点模型和链路模型),一次性创建规则的拓扑结构。图十(6)从topology(拓扑)菜单中选择rapidconfiguration(快速配置),如图十所示。图十一(7)从配置下拉列表中选择Star(星型),单击OK...,如图十一所示。接下来需要为网络指定节点模型和链路模型。OPNET中标准模型的命名规则为:_...___其中为模型用到的协议,可能用到好几个协议,所有后面加添阿拉伯数字来表示。代表模型的大致功能,为模型派生类别。在下一步骤的选择中就要用到用这种方法来表示的交换机。(8)选择中心节点模型为3C_SSII_1100_3300_4s_ae52_e48_ge3。这是3Com公司的交换机。(9)选择周边节点模型为Sm_Int_wkstn,并设置节点个数为30.(10)选择链路模型为10BaseT。(11)指定网络在工作空间中放置的位置:设置中心的X轴和Y轴坐标为25;设置局域网饿半径范围为20。图十二(12)设置好单击OK按钮。如图十二所示。图十三项目编辑器中出现如图十三所示的网络拓扑。接下来需要扩展这个网络,首先增加一个服务器。这时将要用到第二种创建网络拓扑模型的方法:在对象模板中选择模型并放置在工作空间内。(13)打开对象模板。(14)找到Sm_Int_server对象,并将它放置到工作空间中。如果找不到该模型,可能前面的操作不正确,需要从左上角的下拉列表中选择Sm_Int_Model_List模型家族。(15)单击右键,结束节点放置。如果需要可以多次单击鼠标左键,放置多个节点。接下来,需要连接服务器和星型网络。(16)在对象模板中选中10BaseT链路对象。(17)在工作空间中的服务器(node_31)上单击鼠标左键,移动光标,再单击

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功