《OPNET网络仿真课件.pdf》由会员分享,可在线阅读,更多相关《OPNET网络仿真课件.pdf(338页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室培训内容培训内容日程内容第一天网络仿真与opnet简介Opnet架构和核心函数Opnet通用建模方法Opnet的事件和中断第二天Opnet的节点建模Opnet的进程建模统计量的收集调试技术第三天Opnet实例1、CSMAOpnet实例2、全向和定向天线移动Ad Hoc网络的概念、特点和应用及移动Ad Hoc网络单播路由协议交流与讨论2电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室3电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室网络仿真与网络仿真与OPNET简介简介1.仿
2、真技术1.1 什么叫仿真?1.2 仿真的分类1.3 网络仿真的意义?1.4 当前主要的仿真工具2.OPNET简介2.1 OPNET简介2.2 OPNET Modeler简介4电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室1.1 1.1 什么叫仿真什么叫仿真(Simulation)(Simulation)?创建协议和设备模型的环境。展示及预测网络性能的环境。包含上百个预建模块,用于研究网络在不同规模、技术以及应用条件下性能变化的环境。仿真就是采用模型来再现真实情况。模型是系统、过程或现象的物理的、数学的或其他逻辑的表达。5电子科技大学抗干扰通信国防重点实验室电子科技大学
3、抗干扰通信国防重点实验室1.2 1.2 仿真的分类仿真的分类跟据被仿真对象性质划分:连续系统仿真(Continuous System Simulation)离散事件系统仿真(Discrete Events System Simulation)根据功能用途划分:工程仿真(Engineering Simulation)训练仿真(Training Simulation)教育仿真(Education Simulation)根据虚实结合程度来划分:结构仿真(Constructive Simulation)虚拟仿真(Virtual Simulation)实况仿真(Live Simulation)6电子科技
4、大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室1.31.3网络仿真的意义网络仿真的意义网络仿真的产生背景:随着网络结构和规模越来越复杂化以及网络的应用越来越多样化,单纯地依靠经验进行网络的规划和设计、网络设备的研发以及网络协议的开发,已经不能适应网络的发展,因而急需一种科学的手段来反映和预测网络的性能,网络仿真技术应运而生。网络仿真的意义:有效提高网络规划和设计的可靠性和准确性,明显地降低网络投资风险,较少不必要的投资浪费。7电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室1.4 1.4 当前的主要网络仿真工具当前的主要网络仿真工具MATLABMATL
5、ABMATLAB的主要功能:数值计算功能符号计算功能数据分析和可视化功能文字处理功能SIMULINK动态仿真功能SIMULINK是MATLAB为模拟动态系统而提供的一个交互式程序,SIMULINK允许用户在屏幕上绘制框图来模拟一个系统,并能够动态的控制该系统。SIMULINK能够处理线性,非线性,连续,离散等多种系统。8电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室1.4 1.4 当前的主要网络仿真工具当前的主要网络仿真工具NSNSNS (Network Simulator)NS是一个由Berkeley、MIT开发的开源网络仿真软件。可以对无线、有线网、卫星网,局域网
6、和广域网等不同的网络形式进行仿真。它目前可以支持TCP,UDP协议,支持FTP,Telnet,Web,,CBR and VBR等高层业务;对无线网络,支持DSR、AODV、DSDV等协议。OPNET本次培训的主角。9电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室2 OPNET2 OPNET简介简介2.1 OPNET历史和现状OPNET公司起源于MIT(麻省理工学院),成立于1986年。1987年OPNET公司发布了其第一个商业化的网络性能仿真软件,提供了具有重要意义的网络性能优化工具,使得具有预测性得网络性能管理和仿真成为可能。OPNET公司目前为Nasdaq上市公司
7、,代号为OPNT,2002年被福布斯评为全美最佳200中小型企业。OPNET公司最初只有一种产品OPNET Modeler,到目前已经拥有Modeler、ITGuru、SPGuru、WDMGuru、ODK等一系列产品。对于网络的设计和管理,一般分为3个阶段:第1阶段为设计阶段,包括网络拓扑结构的设计,协议的设计和配置以及网络中设备的设计和选择;第2阶段为发布阶段,设计出的网络能够具有一定性能,如吞吐率、响应时间等等;第3阶段为实际运营中的故障诊断、排错和升级优化。而OPNET公司的整个产品线正好能面向网络研发的不同阶段,即可以作网络的设计,也可以作为发布网络性能的依据,还可以作为已投入运营的网
8、络的优化和故障诊断工具。OPNET公司也是当前业界智能化网络管理分析解决方案的主要提供商。10电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室2.2 OPNET2.2 OPNET产品介绍产品介绍 (1 1)OPNET公司的第一个商用化产品为Modeler,在此基础上又开发出了其他产品,使得其产品得种类更加丰富。目前OPNET公司得产品线除了Modeler外,还包括ITGuru、SPGuru、OPNET Development Kit以及WDMGuru。不同的产品面向的客户群也不一样。11电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室Produc
9、ts Address Distinct MarketsIntelligent Network Managementfor Service ProvidersAccelerating Network R&DEnterprisesService ProvidersManufacturersIntelligent Network Managementfor Enterprises12电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室2.2 OPNET2.2 OPNET全线产品介绍全线产品介绍 (2 2)Modeler主要面向研发,其宗旨是为了“Accelerating Netw
10、ork R&D(加速网络研发)ITGuru可以用于大中型企业,做智能化的网络设计、规划和管理;SPGuru相对ITGuru在功能上更加强大,内嵌了更多的附加功能模块,包括流分析模块、网络医生模块、多提供商导入模块、MPLS模块,使SPGuru成为电信运营商量身定做的智能化网络管理、规划以及优化的平台;WDMGuru是面向光纤网络的运营商和设备制造商,为其提供了管理WDM光纤网络,并为测试产品提供了一个虚拟的光网络环境。OPNET开发包(ODK,OPNET Development Kit)和NetBizODK是一个更底层的开发平台,其中ODK为开发时环境,NetBiz为运行时环境,可以用于设计用
11、户自定制的解决方案,定制用户的界面,并且ODK提供了大量的函数,用于网络优化和规划。OPNET的客户群:大型通信设备制造商、大中型企业、电信运营商、军方和政府方的研发机构、大专院校等。13电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室2.3 OPNET Modeler 2.3 OPNET Modeler 的主要特性的主要特性 (1 1) 层次化的网络模型。使用无限嵌套的子网来建立复杂的网络拓扑结构。 简单明了的建模方法。Modeler建模过程分为3个层次:进程(process)层次、节点(Node)层次以及网络(Network)层次。在进程层次模拟单个对象的行为,在节
12、点层次中将其互连成设备,在网络层次中将这些设备互连组成网络。几个不同的网络场景组成“项目”,用以比较不同的设计方案。这也是Modeler建模的重要机制,这种机制有利于项目的管理和分工。 有限状态机。在进程层次使用有限状态机来对协议和其他进程进行建模。在有限状态机的状态和转移条件中使用C/C+语言对任何进程进行模拟。用户可以随心所欲地控制仿真的详细程度。有限状态机加上标准的C/C+以及OPNET本身提供的400多个库函数构成了Modeler编程的核心。OPNET称这个集合为Proto C语言。 对协议编程的全面支持。支持400多个库函数以及书写风格简洁的协议模型。OPNET已经提供了众多协议,因
13、此对于很多协议,无需进行额外的编程。14电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室2.3 OPNET Modeler 2.3 OPNET Modeler 的主要特性的主要特性 (2 2)系统的完全开放性。Modeler中源码全部开放,用户可以根据自己的需要对源码进行添加和修改。高效的仿真引擎。使用Modeler进行开发的仿真平台,使仿真的效率相当高。集成的分析工具。Modeler仿真结果的显示界面十分友好,可以轻松刻画和分析各种类型的曲线,也可将曲线数据导出到电子表格中。动画。Modeler可以在仿真中或仿真后显示模型行为的动画,使得仿真平台具有很好的演示效果。集
14、成调试器。快速地验证仿真或发现仿真中存在的问题,OPNET本身有自己的调试工具OPNET Debugger(ODB)。源代码调试。方便地调试由OPNET生成的C/C+源代码。15电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室问题和目标问题和目标本次培训将要回答的问题OPNET Modeler是什么?OPNET Modeler为我们做什么?OPNET Modeler的使用方法?如何开始学习OPNET Modeler?目标了解OPNET Modeler可以解决的问题学习OPNET Modeler的使用方法使用OPNET Modeler解决问题16电子科技大学抗干扰通信国防
15、重点实验室电子科技大学抗干扰通信国防重点实验室学习学习OPnetOPnet的基础的基础基础技能C/C+程序设计和分析能力网络的基础知识17电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室18电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室项目和场景项目和场景 (Project & Scenario)(Project & Scenario)OPNET Modeler采用“项目-场景”的方法对网络建模。项目项目是一套场景的集合,用来探索网络设计的不同方面。一个项目至少包含一个场景。场景场景是网络的一个实例。通常一个场景代表网络的一套配置,例如拓扑、协
16、议、应用、流量以及仿真设置。19电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室工程工程/ /场景的工作流程场景的工作流程常见工程创建初始场景导入或创建拓扑导入或创建流量选择需要搜集的结果运行仿真分析结果复制场景修改配置重新运行仿真比较结果反复20电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室可供建模的对象仿真中对象间的数据传输网络、节点和进程对象属性对象命名仿真中报文的作用日程日程21电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室网络对象网络对象- -节点节点节点节点对象由图标表示。不同图标可以表示相同对象。所示的是
17、一些默认图标。固定节点固定节点:在仿真中固定不动。移动节点移动节点:根据所设定的轨迹或矢量(地面速率,方向以及垂直速率)在仿真中改变位置。其中,轨迹可以通过Modeler提供的图形界面工具或者文本编辑器生成。卫星节点卫星节点:根据所设定的轨道在仿真中改变位置。其中,轨道可以在Modeler中查看。SatelliteMobileFixed22电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室子网子网子网将组成网络的部件抽象成一个对象。子网所表示的结构与实际网络相同。Subnetwork23电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室链路链路链路链
18、路对象对物理层特性模型,包括时延、噪声等。无线链路在仿真中为任意两个无线收发机间建立。卫星和移动节点必须使用无线链路。固定节点可以使用无线链路。无线链路并不会被显示出来,而是在任何两个无线收发机之间建立。总线链路通过共享介质在多个节点间传输数据。点对点链路在固定节点间传输数据。Wireless linkBus linkPPP link24电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室节点对象节点对象- -模块模块模块模块是节点模型的结构单元。模块包括处理器、队列、收发机和数据源。处理器处理器是通用结构单元,具有完善的可编程支持。队列队列在处理器的基础上,提供了一个管理
19、数据报文的缓存。ProcessorQueue25电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室发射机和接收机发射机和接收机发射机是节点内对象与节点外通信链路之间的输出接口。接收机则是输入接口。26电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室发射机和接收机发射机和接收机三种不同的通信链路分别对应于三种不同的发射机和接收机。天线可以用在无线收发机上。Bus transceiversPoint-to-point transceiversPacket radio transceiversTransmitterReceiverTransmitterR
20、eceiverTransmitterReceiverAntenna27电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室模块间互联模块间互联报文流报文流(实线)从源模块向目的模块传递数据。统计线统计线(虚线)从源模块向目的模块传递单一的数据值。如图,hub_rx0可能向mac报告接收报文的事件。28电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室节点模型举例节点模型举例节点模型支持协议功能的层次化搭建模块间动态监控自由的节点构架属性提升ethernet_wkstn_adv Node Model29电子科技大学抗干扰通信国防重点实验室电子科技大学抗干
21、扰通信国防重点实验室进程模型进程模型 状态状态初始状态初始状态(黑色箭头所指)是进程模型执行的起始点。强制状态强制状态不允许在执行进程中暂停。非强制状态非强制状态允许在执行进程中暂停。下面的章节将会详细介绍不同状态间的区别。Initial stateForced stateUnforced stateredredgreen30电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室状态间连接状态间连接- -转换线转换线转换线转换线描述可能的状态转移方向,转换条件转换条件允许对应的状态转移。从一个状态发生转换时,有且只有一个转换条件被满足。如果条件(x = y)为真,转换时执行(
22、Reset_Timers;)。Transition executiveCondition statement31电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室执行模块执行模块每个状态具有两个执行模块入口模块入口模块在转入状态后被执行。出口模块出口模块在转出状态前被执行。32电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室核心函数核心函数- -介绍介绍核心函数核心函数(Kernel Procedure,简称KP)是Modeler提供的一些列函数,为建模者提供了常用的数据操作能力。例如,内存管理、数据结构、时间处理等等。所有KP以“op_”为前缀。
23、KP以通信模型为中心。33电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室核心函数核心函数报文包报文包:op_pk_create ()op_pk_create_fmt ()op_pk_copy ()op_pk_get ()op_pk_total_size_get ()op_pk_nfd_set ()op_pk_nfd_get ()op_pk_send ()op_pk_send_delayed ()op_pk_destroy ()子队列包子队列包:op_subq_pk_insert ()op_subq_pk_remove ()统计包统计包:op_stat_reg ()op
24、_stat_write ()op_stat_local_read ()op_stat_scalar_write ()中断包中断包:op_intrpt_schedule_self ()op_intrpt_type ()op_intrpt_strm ()op_intrpt_code ()仿真及事件包仿真及事件包:op_ev_cancel ()op_sim_time ()ID、拓扑及模块间访问、拓扑及模块间访问包包:op_id_self ()op_topo_parent ()op_topo_child ()op_ima_obj_attr_get ()分布包分布包:op_dist_load ()op_
25、dist_outcome ()常用核心函数举例核心函数的命名规则 op_ 在进程模型编辑器中,按ctrl-H可以得到常用KP的帮助。34电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室Proto-C囊括状态转移图C语言OPNET核心函数库状态变量(SV,各进程私有)临时变量(TV)什么是什么是ProtoProto- -C ?C ?35电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室对象属性对象属性属性属性是对象的参数,用于设定对象的行为。属性可以在仿真中动态更改。在进程中,可以访问所有对象属性。不同属性允许属于相同类型的对象表现不同的行为。36电
26、子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室对象属性对象属性尽管使用同样的进程模型,通过改变“data rate (bps)”属性,可以改变节点的行为。37电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室属性值属性值不同类型的属性,具有不同的取值范围。TypeDefinitionInteger整数:存贮空间;发送窗口大小;Double浮点数:处理速率;时间;String字符串:统计量名称;对象名称;Toggle布尔:状态标示;Typed file模型文件:OPNET可管理的文件的名称复合数据:多种数据的嵌套Compound38电子科技大学抗干扰
27、通信国防重点实验室电子科技大学抗干扰通信国防重点实验室属性提升属性提升属性提升属性提升允许用户在更高的模型层次设置属性的值。将低层对象的控制权交给高层对象管理具有更好的灵活性。可以将属性提升至网络层次,并在运行时设置属性值。39电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室属性提升举例属性提升举例当属性值被设置时,提升即被终止。当一个属性在mktg_lan对象上被设置,该属性将不会出现在corporate对象上。属性的命名是在对象层次结构之后加上后缀。bufroutermktg_lanpriority 由 buf 提升,并在mktg_lan 处设置。buf.prior
28、ity: 提升priority: 提升router.buf.priority: highcorporate40电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室模型层次模型层次每个节点对象的内部结构和行为由其模型(对象的model属性)决定。节点模型在节点编辑器中创建。41电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室对象层次对象层次每个处理器和队列对象的内部结构和行为由其模型(对象的model属性)决定。处理器和队列模型在进程编辑器中创建。Process model rip_udp_v342电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰
29、通信国防重点实验室对象命名对象命名每个对象在其所在的层次中具有唯一的名称。对象全名的格式top.43电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室对象命名对象命名opnetgen 的全名是top.usa.dc.opnet.wk9.gen44电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室对象间的数据流对象间的数据流在Modeler的仿真中,报文是信息交换的基本单位。不同对象间信息的交互通过不同的通信机制实现节点 节点:链路模块 模块:报文流、统计线状态 状态:转换线45电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室报文
30、报文报文系统间携带信息的实体以域为组织单元的通用数据结构在仿真中动态生灭的数据实体一个系统可能依赖于多种类型、结构的数据报文46电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室通信机制通信机制- -链路链路在网络域,节点通过链路传递报文。点对点和总线链路是可见的无线链路是不可见的47电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室通信机制通信机制 报文流报文流 & & 统计线统计线报文通过报文流在模块间传递。报文流的两端具有内建的报文缓存。统计线在目的模块引发中断,同时报告一个统计值。48电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信
31、国防重点实验室总结总结网络对象:网络对象:节点(固定、移动、卫星),子网,节点(点对点,总线,无线)。节点对象:节点对象:模块(处理器、队列、发射机、接收机、天线),连接(报文流、统计线)。进程对象:进程对象:状态(初始、强制、非强制),转换线。核心函数:核心函数:预先写好的用于通信和常用操作的函数。对象属性:对象属性:用于配置对象行为的动态参数。报文:报文:信息交换的基本单元。49电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室50电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室题目明确建模的对象粒度定义数据结果目标使用基本建模方法对网络进行仿
32、真研究通过一贯方法对仿真研究进行设计日程日程51电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室OPNET ModelerOPNET Modeler进行仿真的流程:进行仿真的流程:理解系统理解仿真的目的确定仿真内容定义输入和输出确定系统模型确定输出,运行仿真系统结果是否准确结果是否足够详细结果是否统计有效52电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室仿真研究的流程图仿真研究的流程图是结束开始结果统计有效?否否结果是否足够详细?选择输入运行仿真结果是否准确?定义输入和输出设定系统模型否确定建模内容理解仿真的目标理解系统53电子科技大学抗干扰通
33、信国防重点实验室电子科技大学抗干扰通信国防重点实验室理解系统理解系统建模者必须理解所提出的系统,以便准确建模。模型不会比建模者所理解的更准确。建议:获取所建模系统的说明书(标准、细则等)。54电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室理解目标理解目标需要通过仿真来回答的问题是那些?例如 通过将以太网集线器更换为FDDI集线器,将会得到多大的吞吐率提升? 在我的蜂窝网中采用自定义的协议将会提升多少效能? 加入1000个用户后会增加多少响应时间?55电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室确定内容确定内容从问题中提炼出具体的研究目标,例
34、如 定量分析特定接收机的吞吐率。 测量改变一条链路的传输速率后对系统的影响。 找出导致系统不稳定的临界负载量。目标决定了模型的粒度。56电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室什么是粒度?什么是粒度?粒度是细致程度。选择足够回答所提问题的粒度 粗粒度(牺牲细节)允许更快速的执行和更简单的设计。 细粒度(牺牲性能)允许更高的准确度,但是仿真运行更慢,设计更复杂。57电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室选择所需的粒度选择所需的粒度选择能够准确回答问题的最粗粒度。有时模型某些部分需要细粒度,而其他部分则不需要。OPNET Model
35、er具有很大的灵活性。58电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室粒度粒度- - 例例1 110个工作站由以太网集线器互联,对应用层端到端时延(ETE delay)进行建模。比较采用FDDI集线器时的时延性能。59电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室为例为例1 1决定粒度决定粒度需要为每个工作站的TCP、IP、MAC层建立完整的数据流模型。特别地,以太网和FDDI协议需要准确地反映时延性能。需要在多种负载下获取准确的结果。结论:该模型需要细粒度。60电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室粒度粒
36、度 例例2 2为下面的场景建模:在Chicago有2,000个工作站,在New York有4,000个,通过OC12链路互联。采用OC48链路能够降低多少反应时间?61电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室为例为例2 2决定粒度决定粒度将场景抽象成一个简单的高层模型 将2,000个在Chicago的工作站抽象成一个节点,4,000个在New York的工作站抽象成第二个节点。 集中观察两节点间的链路性能。结论:粗粒度足以。观察:建立完整的细节模型可能会导致仿真和开发的缓慢。62电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室定义数据输入
37、和输出定义数据输入和输出选择输入相当重要。如果已经 理解了系统 理解了目标 确定了内容 明确了问题你将能够定义合适的数据输入。63电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室定义数据输入和输出定义数据输入和输出输入可以代表模型的先天特性(例如连接性等),或者是一组参数(例如负载量等)。在研究系统的时候,固定大部分输入,仅在一定范围内更改一两个输入。确定哪些输出是需要的(吞吐率、时延等),并采用最佳形式表达(图、表、动画等)。64电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室v输出可能是各种表现形式图动画表定义数据输入和输出定义数据输入和输出
38、65电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室确定系统模型确定系统模型仿真软件可以通过多种方式表现系统。 理解仿真软件的特性。 理解如何采用这些特性最好地表达系统。66电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室选择输入的范围选择输入的范围固定大部分变量而仅仅在一定范围内更改个别变量的值。一般来说,可以通过分析的方法估计变量的上下限。在上下限中更改变量的值。经过初次仿真 扩大取值范围。 集中分析一个较窄的取值范围。67电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室选择输入范围选择输入范围 举例举例初始取值范围:
39、2.02.9 Mb/s,间隔0.1 Mb/s。第二次取值范围:2.42.6 Mb/s,间隔0.02 Mb/s。初始范围初始范围第二次范围第二次范围68电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室结果的准确性结果的准确性应该对输出的准确性做出判断 所有的输出是否都有意义? 能够给出证明吗?模型行为是否符合设想?技巧:先预测输出,然后与实际所得结果做比较。69电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室结果的细致性结果的细致性根据需要,调整输入范围放大、缩小。考虑 收集更丰富的统计量? 改变粒度? 对系统的其他方面进行建模?70电子科技大学抗
40、干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室结果的统计有效性结果的统计有效性模型运行是否达到稳态? 从早先的瞬态收敛到之后的稳态。 观察平均值的上升情况、队列的增加情况或者其他还在变化的输出。这往往意味着系统尚未达到稳态。71电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室结果的统计有效性结果的统计有效性增加仿真时间,直到得到稳定的输出。无法达到稳态的模型往往意味着系统不稳定。观察各统计值,确保模型达到稳态。72电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室结果的统计有效性结果的统计有效性仿真是否足量? 运行多次仿真,改变随机数种
41、子并采用不同的间隔。 做足量仿真,确保可信区间足够紧凑。73电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室总结总结是结束开始结果统计有效?否否结果是否足够详细?选择输入运行仿真结果是否准确?定义输入和输出设定系统模型否确定建模内容理解仿真的目标理解系统74电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室75电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室日程事件中断事件驱动仿真事件表与仿真时钟仿真核心进程与中断76电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室事件驱动仿真事件驱动仿真事件事件是在
42、一个特定时刻的一个特定动作的请求。OPNET仿真由事件驱动。在仿真中,时间在事件发生时前进。另外的方法包括定时中断。其缺点在于:定时精度影响结果精度长时间内没有事件时,导致仿真效率低下77电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室TimeEvent Type Module0.0 Initializesrc.gen0.0Initialize src.rte4.3Timer expiressrc.gen4.3Packet arrivessrc.rte表头表头事件表事件表OPNET仿真维护一个全局事件表。所有对象共享同一个仿真时钟。事件依照时间先后顺序排列。第一个事件位
43、于表头。事件包含一套数据。事件完成后,从表中删除。78电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室中断中断中断中断是位于表头的事件,而该事件由仿真核心递交给对应模块。事件所含数据可以由被中断的模块访问。某些模块可以设置初始中断。79电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室仿真核心仿真核心仿真核心(Simulation Kernel,简称SK)是管理事件表的实体。SK向对应模块依次递交事件。SK接收来自模块的请求,并将新事件插入事件表。80电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室事件表如何工作?事件表如何
44、工作?每当一个事件到达表头,仿真核心将该事件(中断)递交给对应的模块仿真核心获得控制权在模块中的进程获得控制权处理中断仿真核心删除中断,处理下一个到达表头的事件81电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室事件表的实现事件表的实现仿真核心使用具有专利授权的高效算法管理事件表。仿真时间仿真时间采用双精度浮点数,并由此对事件排序。0.01234 56789 11111 11 0.01234 56789 11111 22 0.01234 56789 11111 33 0.01234 56789 11111 44 0.01234 56789 11111 55 0.0123
45、4 56789 11111 66 0.01234 56789 11111 77 该中断触发一个事件发生在 0.01234 56789 11111 11仿真核心在最短时间内把一个事件安插在事件表中正确的位置上82电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室并发事件并发事件当两个事件同时发生时,如何处理?事件仍然顺序处理,尽管看起来是在同一个时刻发生的。仿真核心用两种方法确定事件先后次序先预约先服务优先级模块和事件被设置优先级高优先级的先服务83电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室事件表事件表有些事件必须在仿真初始进入事件表数据发生器
46、的初始事件处理器或队列的begsim事件事件表通常只含少量事件一个事件同时引发另外一两个事件后,被删除。事件表大小总是在不断缩胀。事件在执行前挂起挂起,挂起的事件可以被取消。84电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室中断的递交中断的递交当一个中断被递交到一个模块,控制权由仿真核心转移到对应模块。如果模块是处理器或队列,中断被递交到对应模块中的进程。85电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室强制状态强制状态强制状态(绿)与非强制状态(红)在执行时序上囧异。强制状态执行入口程序执行出口程序测试状态转换条件转移到新的状态状态转移状态
47、转移强制状态执行入口程序执行入口程序无等待无等待执行出口程序执行出口程序执行入口程序执行入口程序执行出口程序执行出口程序无等待无等待86电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室非强制状态非强制状态非强制状态执行入口代码标记中断点释放控制权并阻塞中断时从中断点处继续执行中断中断结束非强制状态状态转换阻塞,等待中断阻塞,等待中断执行出口代码执行出口代码执行入口代码执行入口代码下一次中断的下一次中断的起始点起始点阻塞,等待中断阻塞,等待中断87电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室状态转换状态转换在出口代码执行完毕后,测试所有状态转换
48、线的转换条件。有且只有一个条件被满足。转换到对应状态。具有条件“default”的状态转换当且仅当其他所有转换条件不满足。没有设置转换条件的转换线是无条件转换。88电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室进程如何处理中断?进程如何处理中断?流程图(除了初始中断外)执行出口代码标记中断点接收中断测试转换条件非强制状态?是否状态转换执行入口代码找到中断点89电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室进程模型举例进程模型举例3. 状态转换6. 状态转换2. 立即执行出口代码,并跳转到forece2状态。5. 立即执行出口代码。8. 设置中
49、断点7. 执行入口代码4. 执行入口代码1. 初始状态90电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室事件表举例事件表举例考虑如下模型网络模型节点模型:dest节点模型:src91电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室BEGSIMBEGSIM中断中断BEGSIM中断在仿真时间0.0触发,先于其他所有中断类型。BEGSIM通常初始化模块并预约中断。可以为处理器或队列设置begsin_intrpt属性。92电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室事件表举例事件表举例gen和queue的begsim中断被设
50、置,为事件表增加两项。TimeEvent TypeModule0.0BEGSIMsrc.gen0.0BEGSIM src.queueNode model93电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室处理初始中断处理初始中断考虑如下gen进程模型Node model: srcProcess model: gen94电子科技大学抗干扰通信国防重点实验室电子科技大学抗干扰通信国防重点实验室仿真开始仿真开始1. BEGSIM中断被递交到src.gen对象。2. 进程从初始状态Init执行(黑色箭头所指)。TimeEvent TypeModule0.0BEGSIMsrc.g