opnet实验报告范例

孙小飞老师

opnet实验报告范例

  OPNet仿真实验报告

  第一章 实验任务

  1.1 实验一

  – 设置一个仿真场景,假设PC有N台,服务器有M台,交换机和路由器根据N值进行配置

  – 当N=30,60,90和M=1时,设置仿真场景,配置连接设备,服务器配置FTP、TELNET、WWW、SNMP等服务,给出N不同取值时:

  1)整个网络平均延迟对比曲线图

  2)服务器与交换机链路的平均吞吐量对比曲线图

  3)服务器CPU负载变化对比曲线图

  – 当N=90,M分别取值1和2时,设置仿真场景,配置连接设备,服务器配置同上,给出M不同取值时:

  1)整个网络平均延迟对比曲线图

  2)服务器与交换机链路的平均吞吐量对比曲线图

  3)服务器CPU负载变化对比曲线图。

  1.2 实验二

  RIP协议的OPNET仿真分析

  第二章 OPNET网络建模及仿真方法

  2.1 OPNET简介

  OPNET是1986年由美国MIL3 Inc.(现在为OPNET Technologies Inc.)研制的,最初是用于军事需要,但很快就发展成为一款商业化软件,并成为目前世界上最先进的网络仿真和开发工具之一。现在全球大约有2700个OPNET用户,涉及企业、军事、教育、银行、保险等多个领域,被第三方权威机构评为“世界级网络仿真软件第一名”。作为商业软件的OPNET价格非常昂贵,但它也提供了专门用于教育和科研的免费版本,如OPNET IT Guru。

  OPNET支持面向对象的建模方式,并提供图形化的编辑界面,更便于用户使用;采用离散事件驱动的模拟机理,使计算效率得到了很大提高;将基于包的分析方法和基于统计的数学建模方法结合起来,大大加快了仿真速度,而且可以得到更加细节化的模拟结果;在物件拼盘中,包含了详尽的模型库:路由器、交换机、服务器、客户机、ATM设备、DSL设备等,还有其它厂商的配备,使OPNET在新网络项目的设计以及对现有网络的分析方面都有卓越表现;它为通信协议和路由算法的研究提供了与真实网络相同的环境。此外,功能完善的结果分析器为网络性能的分析提供了有效而又直观的工具;提供了多种业务模拟方式;具有丰富的收集分析统计量,查看动画和调试等功能;它可以直接收集常用的各个网络层次的性能统计参数,能够方便地编制和输出仿真报告。

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

  2.2 OPNET仿真关键技术

  2.2.1 层次化建模技术

  0PNET采用层次化的建模技术,提供了三层建模机制:网络模型、结点型和进程模型。网络模型为最上层,由可以嵌套的子网、通讯节点和在节点间进行通信的链路组成,在这一层完成网络拓扑和模型配置;进程模型是最底层,用有限状态机(FSM)来描述各个状态和状态间转移关系,进程模型是通信协议功能模拟以及与仿真有关的控制流行为实现的具体位置,其中FSM是用C语言描述的通信行为程序;结点模型定义结点的内部结构,由发信机模块、接收机模块、处理机模块、队列模块及包流、统计线等连接组成。通过0PNET的网络模型、结点模型和进程模型三层建模机制建立起来的模型和实际的网络、设备、协议层次完全对应,全面反映了网络的相关特性。网络模型、结点模型和进程模型分别在相应的项目编辑器、结点编辑器和进程编辑器中完成。

  本实验就是从第一个层次进行建模,从而完成仿真任务的。

  2.2.2 离散事件仿真机制

  0PNET采用基于离散事件驱动的仿真机制。事件是指网络状态的变化。网络状态发生变化时,模拟机进行仿真,状态不发生变化的时间段,不进行仿真,即被跳过,因而仿真时间是离散的。每个仿真时间点上可以同时出现多个事件,事件的发生可以有疏密的区别。仿真中的各个模块之间通过事件中断方式传递事件信息。每当出现一个事件中断时都会触发一个描述网络系统行为或者系统处理的进程模型的运行。通过离散事件驱动的仿真机制实现了在进程级描述通信的并发性和顺序性,再加上事件发生时刻的任意性,决定了可以仿真计算机和通信网络中的任何情况下的网络状态和行为。

  2.2.3 仿真调度机制

  在OPNET中使用基于事件列表的调度机制,合理安排调度事件,以便执行合理的进程来仿真网络系统的行为。调度的完成通过仿真软件的仿真核和仿真工具模块以及模型模块来实现。事件列表的调度机制具体描述如下:

  1.每个OPNET仿真都维持一个单独的全局时间表,其中的每个项目和执行都受到全局仿真时钟的控制,仿真中以时间顺序调度事件列表中的事件,需要先执行的事件位于表的头部。当一个事件执行后将从事件列表中删除该事件。

  2.仿真核作为仿真的核心管理机构,采用高效的办法管理维护事件列表,按顺序通过中断将在队列头的事件交给指定模块,同时接收各个模块送来的中断,并把相应事件插入事件列表中间。仿真控制权伴随中断不断地在仿真核与模块之间转移。

  3.当事件同时发生时,仿真核按照下面两种办法来安排事件在事件列表中的位置:

  (1)按照事件到达仿真核的时间先后顺序,先到达先处理(first come first

  serve。

  (2)按照事件的重要程度,为事件设置不同的优先权,优先权高的先处理。

  2.2.4 通信机制

  OPNET采用基于包的通信机制来模拟实际物理网络中数据包的流动。包是为支持基于信息源通信而定义的一种数据结构,可以动态创建、修改、复制、发送、接收和销毁。每个包含有一些存储信息的区域,通过包流实现同一节点模型的不同模块间的'传输。

  和基于包的通信机制类似的另一种通信方式是基于接口控制信息(ICI)的通信机制。ICI是与事件关联的用户自定义的数据列表。如果某个事件希望传递信息给予它相隔一段时间的将来某个事件,可以将ICI绑定在将来这个事件中,等到它将来发生时就可以取出ICI信息。因为ICI以事件为载体,所以可以用在各种有关事件调度的场合,例如同一节点模型的相同模块内部、同一节点模型的不同模块之间及不同节点模型之间都可以采用基于ICI的通信。如果流事件源于包的传输,但是需要传输额外的信息又想避免使用包本身,这时可以用ICI。

  2.3 OPNET仿真流程

  利用OPNET仿真,一般遵循以下工作流程:

  1.定义目标问题:明确和规范化网络仿真所要研究的问题和目标,提出明确的网络仿真描述性能参数。如网络通信吞吐量、链路利用率、设备利用率、端到端延迟、丢包率、队列长度等。

  2.建立仿真模型:根据研究的问题和目标,建立所需的网络、进程或协议模型(包括网络拓扑结构、协议类型、包格式等),配置相关业务。

  3.收集统计数据:收集要用于仿真模型实现和验证的相关统计数据。如网络流量、端到端延迟、丢包率等。

  4.运行仿真:利用仿真工具进行仿真实验,以得到所需要的数据。

  5.查看并分析结果:查看结果并利用相关分析工具和数学知识对仿真结果进行统计分析。

  6.调试再仿真:分析仿真数据,找出网络的性能瓶颈,然后通过修改拓扑、更新设备、调整业务量、修改协议等方法得到新的仿真场景,再次运行仿真。

  7.生成仿真报告:生成网络仿真的研究报告。

  由于网络的复杂性,在实际网络研究中,一般不可能一次就能达到仿真目的,而往往需要多次重复其中的部分或全部步骤。另外网络仿真过程中仿真参数尽可能根据需要合理选取,并不是越详细越好,无用的参数可能使系统的处理效率下降。