基于OPNET的拓扑结构的建模与仿真

更新时间:2023-10-07 16:00:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于OPENNET的拓扑结构的建模与仿真

一、实验目的

opnet的拓扑结构的建模与仿真

二、 实验要求

1.采用opnet构建网络拓扑 2.采用opnet分析网络的性能

3.设备及材料

操作系统:Windows 2003/XP主机 网络模拟器:OPNET

三、实验内容

3.1概述

1)版本:OPNET 14.0 2)OPNET

i) OPNET历史和现状

NET公司起源于MIT(麻省理工学院),成立于1986年。1987年OPNET公司发布了其第一个商业化的网络性能仿真软件,提供了具有重要意义的网络性能优化工具,使得具有预测性的网络性能管理和仿真成为可能。

对于网络的设计和管理,一般分为3个阶段:

第1阶段为设计阶段:包括网络拓扑结构的设计,协议的设计和配置以及网络中设备的设计和选择;

第2阶段为发布阶段:设计出的网络能够具有一定性能,如吞吐率、响应时 间等等。

第3阶段为实际运营中的故障诊断、排错和升级优化。

OPNET公司的整个产品线正好能面向网络研发的不同阶段,即可以作网络的设计,也可以作为发布网络性能的依据,还可以作为已投入运营的网络的优化和故障诊断工具。OPNET公司也是当前业界智能化网络管理分析解决方案的主要提

供商。

ii) OPNET Modeler介绍

Modeler主要面向研发,其宗旨是为了―Accelerating Network R&D(加速网络研发)。 Modeler的主要特征:

??次化的网络模型。使用无限嵌套的子网来建立复杂的网络拓扑结构。 ??简单明了的建模方法。Modeler建模过程分为3个层次:进程(process)层次、节点(Node)层次以及网络(Network)层次。在进程层次模拟单个对象的行为,在节点层次中将其互连成设备,在网络层次中将这些设备互连组成网络。几个不同的网络场景组成―项目‖,用以比较不同的设计方案。这也是Modeler建模的重要机制,这种机制有利于项目的管理和分工。

??有限状态机。在进程层次使用有限状态机来对协议和其他进程进行建模。在有限状态机的状态和转移条件中使用C/C++语言对任何进程进行模拟。用户可以随心所欲地控制仿真的详细程度。有限状态机加上标准的C/C++以及OPNET本身提供的400多个库函数构成了Modeler编程的核心。OPNET称这个集合为Proto C语言。

对协议编程的全面支持。支持400多个库函数以及书写风格简洁的协议模型。OPNET已经提供了众多协议,因此对于很多协议,无需进行额外的编程。 ??系统的完全开放性。Modeler中源码全部开放,用户可以根据自己的需要对源码进行添加和修改。

??高效的仿真引擎。使用Modeler进行开发的仿真平台,使仿真的效率相当高。 ??集成的分析工具。Modeler仿真结果的显示界面十分友好,可以轻松刻

画和分析各种类型的曲线,也可将曲线数据导出到电子表格中。

??动画。Modeler可以在仿真中或仿真后显示模型行为的动画,使得仿真平台具有很好的演示效果。

??集成调试器。快速地验证仿真或发现仿真中存在的问题,OPNET本身有自己的调试工具——OPNET Debugger(ODB)。

??源代码调试。方便地调试由OPNET生成的C/C++源代码。

3) 软件安装 4) 软件使用 i) 启动软件

OPNET Modeler启动后的界面如图1所示:

重要概念:

项目与场景(Project & Scenario):OPNET Modeler采用―项目-场景‖的方法对网络建模。

项目(Project):是一套场景的集合,用来探索网络设计的不同方面。一个项目至少包含一个场景。

场景(Scenario):是网络的一个实例。通常一个场景代表网络的一套配置,例如拓扑、协议、应用、流量以及仿真设置。

子网(Subnet):OPNET 子网和TCP/IP 的子网不是同一个概念。OPNET 的子网是将网络中的一些元素抽象到一个对象中去。子网可以是固定子网、移动子网或者卫星子网。子网不具备任何行为,只是为了表示大型网络而提出的一个逻辑实体。

节点(Node):节点通常被看作设备或资源,由支持相应处理能力的硬件和软件共同组成。数据在其中生成、传输、接收并被处理。Modeler 包含三种类

型的节点:第一种为固定节点,例如路由器、交换机、工作站、服务器等都属于固定节点;第二种为移动节点,例如移动台,车载通信系统等都是移动节点;第三种为卫星节点,顾名思义是代表卫星。

链路(Link):链路有3种类型,点对点的链路、总线链路以及无线链路。 模块(module)与仿真(simulation):对于某个协议的仿真,可能因为其涉及的事件及其相互的联系非常庞大,造成建模的困难,这时我们把该协议分解成一系列的协议行为,对这些行为单独建模后通过有限状态机把它们联系起来后便形成一个系统,这个系统可以称之为模块,它将抽象的协议直观化。而仿真是基于一系列模块的一组实验,它反映模块和模块之间的互相作用关系。

对象ID(Objid)与用户ID(user id):Objid 是对象识别号系统分配的,全局唯一,整数。user id 是节点模型(对象的一种)的一个属性,由用户设置,可以不唯一。 3.2 OPNET实验内容

目前,公司在办公楼的第一层有一个星型拓扑的网络,现在要在第二层增加另一个星型拓扑网络。这时一个典型的―what-if‖问题,所要解决的是确保增加的网络不会导致整个网络的连通失败,如图2所示:

3.2.1步骤1:创建新的项目和场景 1) 打开Modeler。

2) 从File 菜单中选择New...。

3) 从弹出的下拉菜单中选择Project 并单击OK。

4) 单击OK 按钮, 出现开始向导,创建新的背景拓扑图,如图4所示:

图4. 开始向导:创建新的背景拓扑图 5) 单击Next,选定网络的范围,如图5所示:

图5. 开始向导:选择网络范围

6) 单击Next,指定网络的大小,如图6所示:

图6. 开始向导:指定网络大小

7) 单击Next,选择 OPNET 自带的对象模型家族种类,如图7所示:

图7. 开始向导:选择对象模型家族种类 8) 单击Next,再次确认环境变量,如图8所示:

图8. 设置完毕的开始向导

9) 单击完成,这时出现大小和规格如同所指定的工作空间,同时弹出一个对象模板(包含刚刚选定的对象模型家族的所有模型),如图9所示:

通过对象模板中的节点和链路模型来创建网络模型。 节点模型:代表实际的设备。

链路模型:代表连接设备的物理媒质,可以是电缆或者光缆。

可以通过对象模板中的图标直观地看出节点模型和链路模型。可以使用以下三种方法之一创建网络拓扑:

导入拓扑图。

从对象模板中选择模型并放置在工作空间中。 使用快速拓扑配置工具(Rapid Configuration)

图9. 工作空间和对象模板

3.2.2步骤2:创建网络拓扑 Topology –〉Rapid Configuration

从配置下拉列表中选择Star,单击OK...,如图11 所示:

图11. Rapid Configuration对话框

接下来需要为网络指定节点模型和链路模型: OPNET 中标准模型的命名规则为:

_...___其中为模型用到的协议,可能同时用到几个协议代表模型的大致功能模型派生类 别。

选择中心节点模型为3C_SSII_1100_3300_4s_ae52_e48_ge3。这是3Com 公司的交换机。

选择周边节点模型为Sm_Int_wkstn,并设置节点个数为30。 选择链路模型为10BaseT

指定网络在工作空间中放置的位置:设置中心的 X 和Y 轴坐标为25,设置局域网的半径范围为 20。

设置好单击OK 按钮,如图12所示:

图12. 快速拓扑配置对话框

项目编辑器中出现如图13所示的网络拓扑。

图13. 快速拓扑配置后的网络模型

接下来,需要扩展这个网络,首先增加一个服务器。这时将用到第二种创建网络

模型的方法:在对象模板中选择模型并放置在工作空间内。 打开对象模板,找到Sm_Int_server 对象,并将它放置在工作空间中。

图14. 从对象模板中添加Sm_Int_server 对象

接下来,需要连接服务器和星型网络: 在对象模板中找到10BaseT 链路对象。

在服务器上单击鼠标左键,移动光标,再单击星型网络的中心节点。 这时出现连接两个节点对象的链路。 单击鼠标右键结束链路创建。

2) 现在来查看Ethernet Delay 的结果,这是一个全局统计量: 在工作空间中单击鼠标右键,从弹出的菜单中选择View Results。 选择Global Statistics→Ethernet→Delay(sec),然后单击Show 按钮。 注意到网络收敛时的延时大约为0.4 微秒,如图32所示。

图32. 网络延时结果

3.2.6步骤6:复制场景并扩展网络

现在已经创建了一个基本的网络,并且收集了相关结果。现在可以扩展该网络并且验证在增加额外负载下,网络仍然能够很好地工作。

为了保留刚才的网络场景,以便和扩展的网络场景的仿真结果相比较,需要复制场景:

1)在Scenarios 菜单中选择Duplicate Scenario...。 2)命名新的场景为expansion。 3)单击OK 按钮。

这时出现和刚才网络模型一模一样的场景。 接下来,需要构建网络的另一部分。

4)从Topology 菜单中选择Rapid Configuration。 5)从配置下拉列表中选择Star,单击OK...。

选择中心节点模型为 3C_SSII_1100_3300_4s_ae52_e48_ge3。

选择周边节点模型为 Sm_Int_wkstn,并设置节点个数为15。 选择链路模型为 10BaseT。

指定网络在工作空间中放置的位置:中心的 X 轴坐标为75 和Y 轴坐标为62.5。局域网的半径范围为20。

6)设置好以后单击OK 按钮,这时项目编辑器中出现另一个局域网。 连接这两个局域网: 7)单击对象模板工具按钮。

8)选中Cisco 2514 路由器并将它放置在两个局域网之间。单击鼠标右键结束放置。

9)在对象模板中选中10BaseT 链路图标,在项目编辑器中分别连接node_30 和node_50(Cisco 路由器),以及node_49 和node_50。 10)单击鼠标右键。 11)关闭对象模板。

12)在File 菜单中选择Save 保存项目。 这时整个网络建好了,如图33所示。

图33. 扩展后的网络模型

3.2.7步骤7:再次运行

现在可以运行仿真了。

1)在Simulation 菜单中选择Configure Simulationl...,或者在工具栏中选择运行仿真按钮。

2)将仿真时间Duration 设置为0.5,即模拟执行半小时的仿真。 3)单击Run 按钮运行仿真。

4)运行完毕后单击Close 按钮关闭对话框。 3.2.8步骤8:比较结果

为了回答最开始提出的问题,需要将这两个网络的仿真结果进行比较: 1)比较服务器负载:

i)在服务器节点(node_31)上单击鼠标右键从弹出的菜单中选择View Results。 ii)选中Results for ―Current Project‖,选中两个场景,Office Network.node_31→Ethernet→Load(bits/sec)结果统计量,并在比较结果对话框的左下角的下拉列表中选择Overlaid Statistics,如图34所示。

图34. 比较负载结果

iii)单击show 查看比较的结果。

图35中曲线抖动很厉害,为了更加清楚两条曲线的走势,我们可以改变结果的收集模式,从View Results(如图36)对话框中间下面的下拉列表中选择time average,单击show,这时出现图37的结果,可以看出抖动被平滑了。

图35. 服务器负载结果比较图

图36. 选择time_average

图37. 平均负载比较图

iv)关闭server 的比较结果对话框。 2)比较网络延时:

最后,我们来查看增加第二个网络对网络的延时性能的影响。比较这两个场景的Ethernet delay 结果:

i)在工作空间中单击鼠标右键,从弹出的菜单中选择View Results。 ii)选择Global Statistics→Ethernet→Delay(sec)统计量。 iii)单击show 显示比较结果,如图38所示。

图38. 端对端延时比较

iv)关闭比较结果对话框。

v)从File 菜单中选择Close,保存并关闭项目文件。 3.2.9 结论

1)从图37可以看出服务器的负载有明显增加;

2)从图38可以看出以太网延时性能并没有因为服务器负载的增加而受影响。

本文来源:https://www.bwwdw.com/article/aj3d.html

Top