opnet基础入门

上传人:第*** 文档编号:34060228 上传时间:2018-02-20 格式:DOCX 页数:4 大小:51.05KB
返回 下载 相关 举报
opnet基础入门_第1页
第1页 / 共4页
opnet基础入门_第2页
第2页 / 共4页
opnet基础入门_第3页
第3页 / 共4页
opnet基础入门_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《opnet基础入门》由会员分享,可在线阅读,更多相关《opnet基础入门(4页珍藏版)》请在金锄头文库上搜索。

1、OPNET 基础入门1. 从协议间关系看,节点模块建模完全符合 OSI 标准,业务层 -TCP 层-IP 层-IP 封装层-ARP 层-MAC 层- 物理层2. 从网络物件层次关系看,提供了三层建模机制,最底层为进程模型,以状态机来描述协议;其次为节点模型,由相应的协议模型构成,反映设备特性;最上层为网络模型。三层模型和实际的协议、设备、网络完全对应,全面反映了网络的相关特性。3. 在进程层次模拟单个对象(模块)的行为,在节点层次中将其(模块)互连成设备(节点) ,在网络层次中将这些设备互连组成网络。4. 使用 Modeler 仿真可以大体分成 6 个步骤:配置网络拓扑(Topology-Ra

2、pid Configuration)、配置业务、收集统计量( 对象统计量和全局统计量) 、运行仿真并查看结果(设置 repositories 属性 Edit-Preferences) 、调试模块再次仿真、最后发布结果和拓扑报告。5. 在任何打开 OPNET 时候,最高层次永远为一个工程, 每个场景代表网络模块,一个工程就是一组仿真环境,一个场景就是其中的一个具体网络仿真环境配置方案(如网络拓扑、协议、流量等)。6. 工程编辑器最开始用来新建一个工程,指定工程名字和第一个场景名字后,网络配置小精灵(Startup Wizard)就出来了。可以选择手动建立网络,或者可以从特殊格式文件导入。之后设定

3、网络的范围,同时也可以指定度量单位,可以是经纬度、米、公里、英尺、英里等。接着选择常用的模板家族(Model Family) ,把它们包含(include)进去后,它们作为构建网络的候选组件。7. 可以设置背景的显示分辨率(Resolution:pixels/degree)和背景网格的解析率(Division) 。View-Background-Set Properties8. 在背景中,也可以引进 OPNET 自带的地图。例如 View -Background-Add Image Map 可以导入一些带有经纬度信息的卫星地图。也可以选择 View - Background-Add MIF M

4、ap 导入海岸线或高速公路信息。9. 重要概念:opnet 子网:opnet 的子网是将网络中的一些元素抽象到一个对象中去。节点:被看作设备或者资源。包括固定节点、移动节点、卫星节点。链路:点对点的链路在固定节点间传输(ppp Link)、总线链路通过共享介质在多个节点间传输数据(Bus Link) 、无线链路(Wireless Link) 。仿真随机种子(seed): seed 是产生随机数的种子值,反映随机数的状态。目的是测试仿真系统的稳健性,具体来说,针对不同的 seed 值进行一系列仿真,每次不同 seed 值对应的仿真结果相近,则表明建立的模型有较高的稳健性 (scalability

5、) 。模型和模板:模型通常是指进程模型、节点模型、网络模型模块通常是指具有实在的物理含义,例如进程模块就是节点模型里的小方块。对象:第 一种是抽象对象, 如复合属性。第二种是具体对象: 例如节点、模块 (module) 、状态机。10. 链路模型 10BaseT:它是 Ethernet 的另一种型态,它允许工作站利用双绞线连接。11. 中心节点模型 3C_SSII_1100_3300_4s_ae52_e48_ge3:这是 3Com 公司的交换机。12. Object Statistics:单个对象统计量Global Statistics:全局统计量13. Cisco 2514:Cisco(思科

6、) 路由器14. Server Load:服务器负载统计量Delay(SEC):全局时延统计量15. OPNET 采用离散事件驱动的模拟机理(Discrete event driven)(其中“事件”是指网络状态的变化)也就是说,只有网络状态发生变化时,模拟机才工作,否则被跳过。16. OPNET 推进是仿真时间,和逝去时间(Elapsed time)有着本质的区别。逝去时间是仿真程序运行的时间,是真实的时间,反映了仿真程序执行的速度,由机器的硬件速度决定。仿真时间是系统仿真的时间进度,反映当前仿真执行的进度。17.包发送:(1)调用 op_pk_send(),当包沿着源模块输出流到达目的模块

7、输入流时立即向目的模块触发流中断,整个过程时延由包流的“delay”属性指定。包到达的时刻为传输时延加“delay”的值。(2)如果要模拟包在包流传输过程的额外延时,以此来仿真模块有限的处理速度,这时可以调用 op_pk_send_delayed()函数,包将滞后指定的时间达到目的模块。(3)op_pk_send_forced()产生的事件不需要在仿真核心的事件列表中排队,而是插队到事件列表的队首立刻执行, 并且包不需要经历传输延时,直接到达目的模块。(4)用 op_pk_send_quiet()函数,采取一种静默的方式发送包,目的模块隔一定的时间间隔主动地去从队列中取出一个包。中断模式:为了

8、支持以上各种包传输模式, 还必须设置相应的包流“中断模式” (intrpt method)属性,它有三种可选值,分别是 scheduled、forced 和 quiet。选择 scheduled 对应采用 op_pk_send()和 op_pk_send_delayed()传输包,这时可以设置包流的“delay”属性;选择 forced 对应采用 op_pk_send_forced()传输包;选择 quiet对应采用 op_pk_send_quiet()传输包。包传递:包 传 递 也 有 四 种 方 式 ,分 别 是 op_pk_deliver() 、op_pk_deliver_delayed

9、() 、op_pk_deliver_forced()和 op_pk_deliver_quiet();与包发送不同的是包传递需要指定目的模块的 Objid。18. 什么是 ICI:用户自定义 的与事件关联的数据列表。将 ICI 绑定在将来某个事件中,当将来发生时取出ICI信息。19. ICI 包含数据的 属性域:属性名、类型、默认值。其中属性名是读取 ICI 数据的依据。20. 强制状态和非强制状态:强制状态(绿色)程序不终止,非强制状态(红色)程序中止等待下一个事件激活。21. 每个状态具有两个执行模块,入口模块在转入状态后被执行,出口模块在 转出状态前被执行。22.中断:中断时处于事件表表头

10、的事件,当中断被递交到对应的模块,控制权由仿真核心转移到对应的模块。如果模块是处理器或队列,中断被递交到对应模块中的进程。B E G S I M 中断在仿真时间 0 . 0 触发,先于其他所有中断类型。23 强制状态和非强制状态:强制状态执行入口代码,然后直接执行出口代码非强制状态执行入口代码,然后预约自中断,设置中断点,然后阻塞释放控制权。24. 属性提升允许用户在更高的模型层次设置属性的值。25 .创建进程建模过程:(1) 、设计进程模块:右击转移线,Edit Attributes-condition(2) 、定义转移条件、变量、申明统计量:点击 HB 定义宏来代替复杂的转移条件点击 SV

11、 定义状态变量申明本地统计量 Interfaces-Local Statistics,(3) 、创建状态执行代码(4) 、编辑进程接口:编辑进程接口界面来设置进程属性的值:Interfaces-Process Interfaces26什么叫句柄?句柄是一个标识符,是拿来标识对象或者项目的,它就像人的名字一样。27.常用的核心函数:(1)事件类的核心函数:在仿真过程中,事件类核心函数为进程模型提供有关事件的信息。op_ev_current()返回当前事件的句柄op_ev_next()在事件列表中获得该事件的下一个事件op_ev_seek_time()可以获得与输入的仿真时间最接近的那个事件的句柄

12、op_ev_next_local()返回下一个本地事件 op_ev_count()得到事件的个数op_ev_count_local()得到本地事件的个数op_ev_cancel()将无效的将来事件删除op_ev_pending()判断一个事件是否还在事件列表中等待调度op_ev_type()可返回一个事件的类型事件的两个常用属性分别是事件类型和调度时间。op_ev_code()可以得到这些事件的事件号(opnet 为每个事件分配一个事件号)op_ev_strm()决定包到达的流索引号op_ev_stat()决定事件作用的状态线索引号,注意它只返回输入状态线索引号,而得不到状态线触发条件等信息o

13、p_ev_time()可以返回事件调用的仿真时间op_ev_src_id()获取产生这些事件的源模块 ID 号op_ev_dst_id()获取事件的目的模块 ID 号有三种事件是没有源模块的,因为它们是仿真核心自动生成的,它们是:仿真开始事件 bigsim,仿真结束事件 endsim 和 regular 事件。op_ev_valid()来判断事件是否有效(2)中断类核心函数:op_intrpt_self()自中断op_intrpt_strm()流中断op_intrpt_stat()状态中断op_intrpt_begsim()仿真开始中断op_intrpt_endsim()仿真结束中断(3)包类

14、核心函数:包是 OPNET 中主要的数据模型,基于包的通信是 OPNET 仿真的主要通信机制包的操作有三类:创建和销毁包;设置和得到包中的内容;析取包的相关信息和属性。op_pk_create()创建一个无格式的包,括号中的参数指示包的大小op_pk_create_fmt()创建一个有格式的包op_pk_destroy()来销毁包op_pk_type()来判断包的类型op_pk_copy()函数可以复制一个包头、内容和原始包一摸一样新包仿真核心按照递增的顺序“0、1 、2 .”为包分配惟一的 ID 号,因此可以达到区分的目的op_pk_id()获取包的 ID 号(4)进程类核心函数:进程类核心

15、函数为进程或者队列模块(本书中进程模块与队列模块统称为进程模块,不加以区分)提供创建和管理多个进程的支持。op_pro_create()创建子进程op_pro_self()得到自己的进程句柄op_pro_parent()可以得到父进程的句柄 op_pro_root()得到根进程的句柄OPNET 为每个进程分配了惟一的识别号,称为 process id,可以调用 op_pro_id()得到它op_pk_get()得到包流上的包op_stat_local_read()读出状态线上的参数op_pro_mod_objid()获得其隶属的进程模块的 Objidop_pro_destroy()将它销毁,这

16、将释放存储进程状态变量的内存空间(5)拓扑类核心函数:核心函数决定网络和节点的拓扑结构op_topo_parent()返 回 父 对 象 的 Objidop_topo_child_count()返回指定类型子对象的个数op_topo_child()返 回 子对 象 的 Objid子对象 (Child) 是包含在父对象 (Parent)中更底层的对象。例如,模块是节点的子对象,而节点又是子网(Subnet)的 子对象;子队列和信道为复合属性的子对象,而复合属性又是队列、发信机和发信机的子对象。28.在 Edit Attributes 中将属性提升,则在 Interfaces 中可以看到该属性。在 Interfaces 将属性 hidden,则在上一层模型的 Edit Attributes 看不到该属性。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号