基于OPNET的拓扑结构的建模与仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于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。