网络仿真软件OPNET基础介绍

  • 格式:doc
  • 大小:54.00 KB
  • 文档页数:9

下载文档原格式

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

网络仿真软件OPNET

1.1 OPNET仿真软件概述

OPNET公司是全球领先的决策支持工具提供商,总部在美国华盛顿特区,主要面向网络领域的专业人士,为网络专业人士提供基于软件方面的预测解决方案。OPNET公司最早是由麻省理工学院(MIT)信息决策实验室受美国军方委托而成立的。1987年OPNET公司发布了第1个商业化的网络仿真软件,提供了具有重要意义的网络性能优化工具,使得具有预测性的网络性能管理和仿真成为可能。1987年以来,OPNET迅速而稳步地发展,作为高科技网络规划、仿真及分析工具,OPNET在通信、国防及计算机网络领域已经被广泛认可和采用。成千上万的组织使用OPNET软件来优化网络性能、最大限度地提高通信网络和应用的可用性。至今OPNET已经升级到了11.5以上版本。它的产品线除了Modeler 外,还包括ITGuru、SP Guru、OPNET Development Kit 和WDM Guru等。

OPNET的产品主要针对网络服务提供商、网络设备制造商和一般企业这3类客户。OPNET目前在全球有超过5000个客户,在全美设立了4个办事处,分别在加州、德州、北卡罗来纳州及马萨诸塞州,另外,OPNET也在全球设立了4个办事处,分别为法国的巴黎、英国的剑桥、澳大利亚的悉尼以及比利时的根特。新加坡经纬线科技公司是OPNET产品在亚洲地区的总代理。OPNET的全球部分电信级运营商客户,如AT&T、NTT DoCoMo、France Telecom等,这部分客户相对于中型企业,具有更复杂的网络结构和协议配置,因此管理起来更复杂。OPNET利用高网络智能来辅助运营商的网管人员管理网络,同时OPNET 具有很好的开放性和互联性,可以和当前很多流行的网络管理和监控软件一起协同工作,如HP公司的OpnetView、Tivoli公司的NetView、Cisco的Netflow以及Angilent公司的NetMetrix等。

目前OPNET的应用在国内还处于起步阶段,因此OPNET具有很大的研究及应用价值。

1.2 OPNET仿真技术

1.2.1三层建模机制

网络是复杂的系统,OPNETModeler建模采用层次化和模块化的方式,将复

杂的体系分解为不同的层次结构,每层完成一定的功能,一层内又由多个模块组成,每个模块完成更小的任务。网络域、节点域、进程域是构建OPNET Model 模型的三个层次。

节点域建模的方法是基于节点模块,每个节点模块实现节点行为的某一方面,诸如数据生成、数据存储、数据的处理或选路和数据的传输等。多个节点模块的集合构成功能完整的节点。模块间用包流线或统计线相连,其中包流线承载了模块间数据包的传输,统计线可实现对模块待定参数变化的监视,通过modules,paeketstreams和statistic wires的联合使用,用户可对节点的行为进行仿真。节点模块根据功能可以划分为处理器类、数据流线类和收/发机类三种。处理器类功能的实现是在进程域中通过Pro-C编程完成的。数据流类和收/发机类是通过管道阶段模型实现的。是通过管道阶段模型实现的。

作为三层建模机制的最底层,进程模型是实施各种算法的载体,因此是建模仿真过程中最重要的部分,同时也是最难实现的部分。进程模型主要用来刻画节点模型里的处理机以及队列模型的行为,可以模拟大多数软件或者硬件系统,包括通信协议、算法、排队策略、共享资源、特殊的业务源等。进程模型主要由状态和转移线构成。状态就是进程在仿真过程中所处的众多模式之一,状态之间是互斥和互补的,进程在某一时刻只能处在一个状态中,而所有的状态则构成了进程状态空间的全集。状态分为两类,强迫状态和非强迫状态,强迫状态是不允许停留的状态,当进程进入强迫状态时,仿真核心将强迫进程立刻转移到下一个状态。而非强迫状态不同,当进程进入非强迫状态后,将停留在此状态,等待事件、其他进程或仿真核心的触发。在每个进程模型中都至少有一个初始状态,是进程被访问的第一个状态,既可以是强迫状态,也可以是非强迫状态。

每个状态都有相应的动作与其对应,在Pro-C中这些动作被称为执行代码。状态的执行代码分为两部分,上面部分称为进入代码,是进程进入该状态时执行的动作;下面部分称为离开代码,是进程离开状态时执行的动作。非强迫状态被认为是系统真正的状态,因为当进程执行完非强迫状态的进入代码后,进程就处于阻塞,等待新的触发,而强迫状态是为了实际编程和状态控制的需要而提出的一种状态,进程不会停留在该状态。

转移则描述了进程模型从一个状态向另一个状态转移的过程和条件,包含4

个部分:源状态、目的状态、转移条件和转移执行代码。其含义为在源状态时,进程只要完成源状态的离开代码,就立即对转移条件进行判断,当转移条件成立,则执行转移代码,之后转移到目的状态。转移分为条件转移和无条件转移,分别用虚线和实线表示。

Proto-C语言是进程建模中支持各种算法实现的OPNET独有的语言。他包括三个方面,在限状态机,OPNET核心函数,标准的C和C++。

Modeler采用阶层性的模拟方式,从协议间关系看,节点模块建模完全符合OSI标准,业务层-TCP层-IP层-IP封装层-ARP层-MAC层-物理层;从网络物件层次关系看,提供了三层建模机制,最底层为进程模型,以状态机来描述协议;其次为节点模型,由相应的协议模型构成,反映设备特性;最上层为网络模型。三层模型和实际的协议、设备、网络完全对应,全面反映了网络的相关特性。在过程层次模拟单个对象的行为,在节点层次中将其互连成设备,在网络层次中将这些设备互连组成网络。几个不同的网络场景组成“项目”,用以比较不同的设计方案。OPNET中的建模工作在3种不同的层中完成,这3种层次也称为3个域。

Modeler采用面向对象模拟方式,每一类节点开始都采用相同的节点模型,再针对不同的对象,设置特定的参数。

基于事件出发的有限状态机建模(Finite State Machine Modeling),避免以时间出发,变成以事件出发的建模。采用离散事件驱动(Discrete Event Driven)的模拟机理,将基于包的分析方法和基于统计的数学建模方法结合,与时间驱动相比,计算效率得到了很大提高。例如在仿真路由协议时,如果要了解封包是否到达,不必要每隔很短时间周期性地查看一次,而是收到封包,事件到达才去看。每一时刻,FSM 将停留在特定状态,之后收到事件,完成事件并跳转状态。例如路由协议要做的事有获取周边节点地址,建立拓扑信息,之后路由表稳定下来,在收到封包将其转发到下一个节点,这些事件中断将引起相应的状态转移。

采用混合建模机制,把基于包的分析方法和基于统计的数学建模方法结合起来,既可得到非常细节的模拟结果,也大大提高了仿真效率。

1.2.2 离散事件仿真机制

OPNET采用基于离散事件驱动的仿真机制。事件是指网络状态的变化。当

相关主题