分级模型:OPNET Modeler中的模型是分级设计的,与实际通信网络的分级结构自然对应。
图形化编辑:在工程建模的大多数环节中,可以使用图形化编辑器来定义和编辑模型,因此具有良好的用户接口。
方便的综合仿真和分析工具:OPNET允许用户对自己感兴趣的数据量进行统计,在仿真过程中自动收集,并且根据收集到的数据量对仿真结果进行图形化比较和性能评估。另外OPNET还支持动画,来动态的观看统计量的变化。
有限状态机(FSM):OPNET Modeler使用有限状态机来对协议和其他过程进行建模,在有限状态机的状态和转移条件中使用C/C++语言进行描述,可以按需求控制仿真的详细程度。
应用编程接口(API):OPNET提供许多应用编程接口,以便用户编程进行扩展。使用应用编程接口也是OPNET与其他仿真工具进行结合、协同仿真的一种重要手段。
OPNET的应用很广泛,典型的应用有网络规划、通信体系结构和协议的研发、分布式传感器网络和片上系统、通信系统排队论研究、无线网络和卫星网络的研究等。
2.1.2 OPNET应用范围
在不同的领域中,Modeler表现的用途不同。
(1)对于企业网,Modeler利用标准模型组网,这个是已经建立好的,如果某些业务达不到所要求的服务质量,Modeler可以通过捕捉重要的流量对其进行分析[4]。
(2)对于研发需求,Modeler提供的一个环境是开放的,用户通过建立新的网络设备和协议,能够根据需求模拟出其网络性能。
(3)对于比较复杂的运营商(ISP)网络,Modeler把重点放在整个业务层、流量模拟,使运营商有效查出业务配置发生的错误。
2.2 OPNET仿真技术
2.2.1 OPNET离散事件仿真机制
OPNET 采用的模拟机理(Discrete event driven)是由离散事件驱动的(其中“事件”是指网络状态的变化),也就是说,模拟机工作的条件是网络状态发生变化的时候,如果网络状态不发生变化就不执行任何模拟计算。因此,相比于时间驱动,它很大程度的提高了模拟机计算效率。离散事件驱动的事件调度器(Event Scheduler)实际上是仿真核心,它对所有进程模块期望完成的事件和计划该事件所发生的时间进行列表和文护[5]。
OPNET采用的离散事件仿真机制,仿真依靠事件的发生来驱动,仿真时间靠仿真事件的发生来推进。这种方法将仿真分解为独立的点,而事件将分别在这些点上发生。OPNET依照时间,将这样的点与事件相关连。每个事件代表了模型中状态变化或选择的需求。采用离散事件进行仿真,OPNET可以动态的模拟实际系统的行为。
2.2.2 OPNET仿真调度机制
OPNET采用基于事件列表的调度机制,合理安排调度事件,以便执行合理的进程来模拟网络系统的行为。通过仿真核、仿真模块工具和模型模块进行调度。
(1)每个OPNET仿真核内部都有一个独立的全局时间表,用来控制每个项目的执行,仿真中按照相应的时间顺序来调度列表中的事件,先执行的事件位于表头。一个事件执行完成后将从列表中删除。
(2)仿真的核心管理机构称为仿真核,它采用高效的办法文护管理事件列表。位于队列头的事件按顺序由仿真核通过中断驱动交到指定模块中。同时仿真核还接收所有模块传来的中断,并把在事件列表中做相应的记录。仿真控制权伴随中断不断地在仿真核与模块之间转移。
(3)当存在多个事件同时发生的情况时,仿真核用以下两种办法来处理事件在事件列表中的位置:根据时间的先后次序,后到达后处理(last come last serve);根据事件的重要程度,事件设置不同的优先权,优先权高的先处理。 基于OPNET的TCP协议研究与仿真(3):http://www.751com.cn/tongxin/lunwen_1272.html