OPNET Modeler网络建模与仿真 教学课件 ppt 作者 李馨 第1-5章 第4章

上传人:E**** 文档编号:89360192 上传时间:2019-05-24 格式:PPT 页数:110 大小:1.63MB
返回 下载 相关 举报
OPNET Modeler网络建模与仿真 教学课件 ppt 作者 李馨 第1-5章 第4章_第1页
第1页 / 共110页
OPNET Modeler网络建模与仿真 教学课件 ppt 作者 李馨 第1-5章 第4章_第2页
第2页 / 共110页
OPNET Modeler网络建模与仿真 教学课件 ppt 作者 李馨 第1-5章 第4章_第3页
第3页 / 共110页
OPNET Modeler网络建模与仿真 教学课件 ppt 作者 李馨 第1-5章 第4章_第4页
第4页 / 共110页
OPNET Modeler网络建模与仿真 教学课件 ppt 作者 李馨 第1-5章 第4章_第5页
第5页 / 共110页
点击查看更多>>
资源描述

《OPNET Modeler网络建模与仿真 教学课件 ppt 作者 李馨 第1-5章 第4章》由会员分享,可在线阅读,更多相关《OPNET Modeler网络建模与仿真 教学课件 ppt 作者 李馨 第1-5章 第4章(110页珍藏版)》请在金锄头文库上搜索。

1、第4章 节点编辑器,4.1 节点编辑器对象和操作 4.2 节点编辑器开发界面 4.3 节点编辑器应用举例M/M/1队列仿真,知识点: 节点编辑器的对象和操作 节点编辑器主菜单 节点编辑器弹出菜单 节点编辑器工具栏 本章导读: OPNET中的网络模型主要由两种对象构成:通信节点和通信链路。这些对象的大部分内部结构对于OPNET网络级编辑是不可见的。本章主要学习通过节点编辑器开发通信节点内部结构的过程,并通过构建一个具有M/M/1队列性质的实际网络仿真来进一步学习节点编辑器的使用。,4.1 节点编辑器对象和操作 在局域网中,带网络接口的一台计算机构成网络中的一个节点;在卫星网络中,每一颗卫星、每一

2、个使用碟型卫星天线的地球站和微波中继站等都是一个节点;在公司的电话网络中,每个固定电话设备、每个用户小交换机也都是一个节点。 笼统地讲,节点是通信中的一个设施或资源,数据在节点中产生、传输、接收和进行处理。节点由硬件和软件两部分组成。一个节点至少应具有以下六种功能:, 创建功能; 传输数据功能; 接收数据功能; 存储功能; 内部路由功能; 内部处理、维护和升级功能。 节点编辑器的对象就是网络中的设备节点模型。节点编辑器用来指定节点模型的内部结构。这些设备模型可以作为网络域中的节点对象使用(如计算机、数据包交换机和网桥等)。除了指定内部结构外,节点模型的开发者还可以定义节点模型的接口,以方便节点

3、的使用者使用。节点模型的接口包括节点模型的属性和统计量,这些属性和统计量可以是节点模型本身的,也可以来自对节点下层对象属性和统计量的提升。,在不同的仿真系统中,网络节点结构的复杂性和节点的活动范围可能存在很大差别。简单的终端(包括通过串行线路连接到客户计算机的终端)是星型网络中的节点;国家主干网上的公用包交换网络中心也可看作一个大型星型网络的节点。OPNET可以创建和仿真从小型办公室网络节点到洲际和国家主干链路节点的不同等级的网络通信节点,所有节点都可以归类为几种典型的节点模型,如表4-1所示。,表4-1 典型节点模型,为了建立实际可用的通信网络仿真模型并保证整个网络仿真行为的准确性,OPNE

4、T必须对实际节点的内部功能进行充分和准确的模拟。对于节点的多样性,OPNET提供足够的能力来定制任何形式的通信节点。OPNET还支持节点内部结构的重用,在OPNET中共享一个设计开发团队不同成员的开发成果十分方便。,4.1.1 节点编辑器对象 OPNET的节点建模类似于搭积木,这种方式广泛地应用于建模系统中,为多数工程师所熟悉。我们知道,数据通信中的OSI参考模型也使用搭积木的方式定义,每一块积木对应于一个不同的协议层次。OPNET采用与OSI参考模型相似的分层结构,将节点模型分解成不同层次的块(Block)对象,以便与协议模型进行良好匹配。,组成节点模型的不同类型的块对象通常称为模块(Mod

5、ule)。每一个模块包含一系列输入和输出、一些状态存储器以及通过模块输入和状态存储器计算其输出值的计算方法。在节点级,模块都是黑匣子,内部结构对用户不可见,但用户可以通过配置其属性的方式来控制模块的行为。节点模型中的每一个模块代表了节点操作中的一个特定功能。,节点内的数据流通过多种类型的连接线在模块间进行交换。节点模型指定了不同模块的输入和输出接口应怎样通过连接线对象进行连接。有两种类型的连接线对象,一种用于承载数据包,另一种用于传输单独数据。承载数据包的连接线称为数据包流,模块将数据包输出到数据包流上来发送数据包,或从数据包流上接收数据。传输单独数据的连接线称为统计线,模块通过向统计线输出统

6、计量来发送单独的统计数值,或通过统计线接收输入统计量。 表4-2描述了用于构建节点模型的主要模型对象,包括各种模块和连接线。,表4-2 节点模型对象,从功能的角度看,模块代表了节点硬件或软件不同功能域的实现。对于硬件实现的功能域,整个硬件系统划分为许多独立的硬件模块,每个硬件模块对应于一个特定的硬件子系统。硬件子系统之间通过并行总线或串行线路进行连接。对于软件实现的功能域,每个软件模块对应于一个软件子层。这些软件子层之间通过函数调用或共享内存的方式进行进程间通信和数据传递。,1. 模块定义 模块代表了通信节点中用于数据生成、数据销毁和数据处理的部分。在OPNET中,根据在节点中功能的不同,模块

7、可以被分为五种类型:处理机、队列、数据包发生器、收信机和发信机。其中,处理机、队列和数据包发生器具有内部节点功能,而发信机和收信机具有到外部数据传输链路的连接。处理机和队列的行为可以在处理机和队列包含的进程模型中进行精确定义。其他模块的行为只能通过设置其属性值进行修改。,当影响模块状态的外部事件发生时,该模块内部的算法被调用。这是OPNET事件驱动仿真机制的必然结果。例如,当一个数据包到达模块的某一个输入流,或与模块连接的某个统计量发生变化时,该模块的处理机模型内部算法被调用。有时模块也可以自己安排其内部算法被调用的时间。 1) 处理机模块 处理机模块是节点模型中最重要的通用构造模块。处理机模

8、块的行为可以通过设置其包含的进程模型的属性值来指定。进程模型可以响应各种外部事件和中断,它为处理机模块提供特定的功能。处理机可以通过数据包流连接到其他模型,进行数据包流的发送和接收。,处理机模块主要用来对数据包进行一般性处理,该模块处理数据包的一个典型过程是:通过数据包流从输入流上接收数据包,处理该数据包,并通过输出流将该数据包发送出去。处理机模块处理完数据包后,输出的数据包可能会有短暂延时,并且数据包的内容也可能与输入有所不同。处理机模块通常用于模拟分层协议栈中单独一层的实体。分层协议栈中的每一层协议实体都进行该层的数据处理,并通过对上层的接口向上层实体提供预定义的服务。在OPNET中,将一

9、个处理机映射到协议对应层的实体上,通过处理机间数据包流的连线来模拟数据的走向,通过处理机接口来模拟下层向上层提供的服务。,为处理机模块指定适当的进程模型后,处理机模块可以作为网络流量发生器使用。在网络流量发生器中,包含于进程模型的用于流量配置的属性(如到达时间间隔、数据包大小和数据到达的概率密度函数等)被提升到节点的处理机模块属性列表中。网络流量发生器有多种标准类型,例如突发流量发生器和自相似流量发生器等。,虽然处理机模块经常通过成对的数据流(输入流和输出流)连接到其他模块,但是并不总是如此。例如,节点可能将处理机模块作为一个控制器。这时,处理机模块通过统计线路或远端中断直接与其他模块通信。处

10、理机模块同样可以作为数据源(发生器)或数据池使用,作为数据源或数据池的处理机模块一般只有一个输出流,或只有一个输入流。有时,处理机模块甚至根本不需要使用或处理任何数据包流,这也是可能的。,节点模型既可以使用处理机模块,又可以使用队列模块来实现一般的数据处理。通常,节点模块在响应数据包到达中断或数据包生成中断时就能对数据包进行完全处理的情况下,应该使用处理机模块。如果节点模块必须缓存到达的数据包以等待随后事件的处理,或多个数据包必须同时进行缓存处理,则使用附带缓存资源的队列模块将更为合适。 与所有对象一样,处理机具有多个可配置的内建属性。这些属性可以通过节点编辑器提供的图形化用户界面在节点域中进

11、行编辑。在这些属性中,有一种特殊的所谓的“模型”属性。通过“模型”属性,用户可以选择处理机包含的根进程模型。当改变一个处理机模块的“模型”属性时,处理机的,其他属性可能随之发生变化:或出现新的属性;或改变已有属性的值;或有某些属性消失。属性的变化依赖于处理机包含的进程模型中声明的属性接口。进程模型的属性接口允许进程模型开发者为处理机内建属性预定义值。当添加新的进程模型属性后,新属性将被处理机对象自动继承。有时为了隐藏细节,一个处理机属性可被设置为隐藏状态,意味着虽然该属性存在并具有特定的值,但它并不会出现在节点编辑器中处理机的属性列表里。,2) 队列模块 队列模块和处理机模块有许多相似之处。像

12、处理机模块一样,队列模块可以包含任何描述一个特定进程或协议的进程模型,并可以通过数据包流连接到其他模块来发送和接收数据包。进程模型影响队列模块的属性列表,就如同进程模型对处理机模块的影响一样。 队列模块扩展了处理机模块的功能。队列模块与处理机模块最大的区别在于队列模块包含额外的内部资源子队列。子队列用于缓存和管理一组队列中的数据包。虽然可以使用一般的处理机模块实现队列管理,但是使用子队列和子队列核心函数,用户可以更加灵活地实现数据通信中不同的排队规则。此外,子队列自动计算仿真中的队列操作相关统计量(可以使用探针编辑器直接进行采集)。,每个队列模块都包含一组数量可定制的子队列。子队列是队列对象的

13、从属对象,但它有一些专门的配置属性。它以队列的子队列属性方式包含在队列之中。子队列属性是一个复合属性,其中每个属性单元代表一个相应的子队列。通过定义子队列的访问和管理方式,OPNET能够模拟数据通信中的任何排队协议。 队列模块的每个子队列长度(数据容量)默认是无限长的,可以通过在子队列中设置数据包的总量或总长度来限制队列长度。队列中的相关进程决定当子队列满时应采取的行动,例如删除队列中以前的数据包为新来的数据包腾出空间,或将新到来的数据包直接丢弃。如果某个子队列已满而又试图对它进行数据插入操作,则仿真内核不会报错,而仅向用户提供一个子队列满的通知消息。,多数与队列模块相关的OPNET核心函数都

14、直接对指定的子队列进行操作(例如数据包的插入和删除,访问队列相关统计量或子队列释放等)。另一些核心函数将队列模块的性质作为一个整体进行访问,它们不单独考虑子队列的操作。 队列模块内的每个子队列可以直接通过物理序号访问,也可以通过抽象的索引编号访问。抽象索引编号根据子队列间的相对关系来定义。通过抽象索引编号,用户容易选出队列中的最短子队列,或选出具有最大排队延时的子队列。,3) 外部系统模块 外部系统模块主要用于OPNET的协同仿真,它扩展了队列模块的功能。除了队列模块具有的所有属性外,外部系统模块还提供一个被称为“External System Definition Model(外部系统定义模

15、型)”的属性。该属性指定了在协同仿真中使用的外部系统定义(External System Definition,ESD)。如果将“外部系统定义模型”属性设置为“NONE”(默认值),则外部系统模块就是一个队列模块。当外部系统模块作为ESD模型使用时,该模块的进程模型将作为外部系统与OPNET其他部分的接口。,4) 发信机模块 发信机模块是节点模型内各数据包流和节点外部通信链路之间的外向接口。对应于不同类型的通信链路,发信机模块有两种类型:总线型和点到点型。由于通信机制的不同,这两种类型的发信机模块行为有一定差异。 发信机模块可以从一个或多个输入数据流中收集数据包并在通信链路对应的信道上中继这些

16、数据包。发信机接收到的数据包将以相同的索引号发送到通信链路的信道上。每个信道单独定义信道数据率,信道数据率和数据包大小共同决定了数据包的传输时间。当一个数据包到达发信机而发信机对应的外部链路信道还忙于处理前一个数据包时,到达的数据包会自动进入发信机中的缓冲区进行排队。,在节点模型内,一个发信机模块被看作一个数据池。因此,虽然发信机模块可能拥有很多输入数据包流,但它们并不具有输出数据包流。从网络模型的角度来看,发信机模块充当了节点模型的输出端口,而输出端口与相应类型的通信链路相连接:单工和双工链路连接到点到点发信机,总线链路连接到总线发信机。图4-1显示了发信机模块与网络和节点模型的关系。,图4-1 发信机模块与网络和节点模型的关系,在发信机模块中,外部信道是发信机的从属对象。发信机模块将信道包含在其“channel”属性中。“channel”属性的取值代表一个组合对象,它是发信机模块包含的所有信道对象的父对象。发信机的每个信道单独维护一

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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