OPNET学习入门指南(共10页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《OPNET学习入门指南(共10页).doc》由会员分享,可在线阅读,更多相关《OPNET学习入门指南(共10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上OPNET学习入门指南1.预备知识这部分给大家介绍一下在加入课题组之后,和正式的投入课题开展工作之前大家需要具备的一些基本的背景知识。这些知识都是在大家以后的课题中或多或少,或明或暗的需要使用到的,打下一个扎实的理论基础对后面工作的开展有极大的好处,这个大家往后一定能够体会到。正所谓“磨刀不误砍柴工”,大家应该抓住这段宝贵的时间,尽可能针对这些知识有的放矢的多看,多想,多练习,多讨论,多交流。以便于能更快速的上手工作。1.1OPNET安装OPNET安装过程还是比较复杂的,后面有专门的安装说明,这里主要提醒一下,在安装之前一定要记得把VC的环境变量进行设置,具体的设置方
2、式网上能搜到,书上也有介绍。另外我这里的安装文件有8.1和10.0的,建议使用10.0,因为version高,使用界面更傻瓜一些,而且基本上国内那基本介绍OPNET的书里大多是根据10.0做介绍的。要先安装8.1获得了license再安装10.0,它能自动找到8.1的license。1.2OPNET书籍选用国内OPNET的书就那几本,个人感觉都差不多,讲得不够深入。我一开始在书店买的一本是人民邮电出版社出版的,讲得不详细,我只在学习各种编辑器熟悉菜单的时候用到了它。图书馆一共有六本OPNET的书,讲解最详细的一本是清华大学出版的,陈敏编著的,建议采用,我这里也有这个书的电子档。其它几本可以有选
3、择性的看看:李馨,叶明编的OPNET Modeler网络建模与仿真的OPNET核心函数介绍章节写得比较好,每个函数的实际应用都写出来了,而且函数也做了相应归类,不多掌握起来快;孟晨编的OPNET通信仿真开发手册中的OPNET编程基础部分写得很详实,对一些基本的代码做了介绍,并且对状态机的强制性状态和非强制性状态的区别以及它们的合理使用讲解得很清楚。当然OPNET学习的最好资料还是OPNET自带的英文帮助Tutorial,上面有各种例子,并且有分类好的最全的核心函数。1.3OPNET建模机制和仿真流程学习OPNET之前,熟悉一下OPNET的建模机制和仿真流程是很有好处的,这样更有针对性,不会出现
4、,打完了书上的例子,结果都出来了但是还不清楚自己在干什么的情况。OPNET采用分层建模的机制,从网络物件层次关系看,提供了三个层次的模型,从低到高依次是进程模型以状态机来描述协议;节点模型由相应的协议模型构成,反映设备特性;最上层为网络模型,表现网络的拓扑结构。三层模型和实际的协议,设备网络完全对应,最大限度的贴近了实际的网络系统。下面会对OPNET的这三个域网络域(network domain)、节点域(node domain)和进程域(process domain)进行进一步的介绍。OPNET这三个域分别都对应着相应的编辑器。网络域有项目编辑器和链路编辑器用来对整个网络的框架进行设计项目编
5、辑器设计网络大小,节点摆放;链路编辑器设计网络拓扑结构,链路的各种参数进行设计。节点域有节点编辑器,用于对各个节点内部进行具体的设计,涉及到各个模块的摆放,各个模块属性的设置;进程域有进程编辑器用来对每个模块里所调用的进程进行编程设计,它是最底层的也是设计中的难点所在,进程的编写实现了每个模块的基本功能。另外还有包格式编辑器用来对系统中所用到的数据包进行设计,探针编辑器用来收集感兴趣的统计量,ICI编辑器则用来创建,查看,编辑接口控制信息。一般opnet系统级仿真的基本流程如下:定义包格式定义链路模型定义节点模型构建网络模型收集统计量运行仿真,进行程序调试观察仿真结果进行结果分析当然在这个流程
6、开始之前就要对整个系统有一个全面的构想,这个顺序只是方便软件的使用,避免重复性的工作。1.4OPNET中的一些基本概念1.4.1.对象(Object) Object是Model的一部分,其可以在model中扮演下面的功能: a)定义行为 b)创建信息 c)储存和管理信息 d)处理、修改、转发信息 e)对事件作出响应 f)包含其他的object1.4.2.属性(Attribute) object的Attribute和一些允许访问Attribute或者使Attribute生效的程序组成了object的接口。这些程序可以是 OPNET自动生成的,也可以是用户编写的。包含有子object的object
7、称之为复合对象(compound object)。1.4.3.模型属性(Model Attribute)和属性提升(Attribute Promotion) Attribute除了可以描述object外,还可以用在model上用来表示model的参数。model的attributes机制可以提高 model的可重用性。具体地说,model的attribute被定义为model的一部分,但同时,他们也出现在object里,他们是在 object的model被规定后被object获得的。这是object的本能操作。 类似这种model attribute机制,object attribute也可以
8、被向上传给model,这种机制就是所谓的attribute promotion。Promotion导致object attribute不再有值,而是作为model的attribute出现在上层属性中。对于一路promote到所有model之上的 attribute,我们可以把它看作是simulation的attribute。从而把研究的系统看成是这些attributes的函数。1.4.4衍生模型(Derived Models) 有的时候,我们想只改变一个model的一些attributes就可以得到一个新的model。这种机制称为模型的衍生(model derivation)。衍生出的mode
9、l称为derived model,被衍生的model称为parent model,没有parent model的model称为base model。2.OPNET各域入门介绍2.1.网络域网络域network domain定义了通信网的拓扑结构。通信的实体是节点nodes。OPNET提供单向和全双工的点到点链路,也提供总线链路用以允许对任意大小的节点组尽心广播通信。2.2.节点域节点域node domain用来对通信设备进行建模,诸如路由器、网桥、工作站、终端等等。节点模块Node model是通过节点编辑器Node Editor生成,通过一些更小的模块(module)来表现。一些模块具有一定
10、的功能,这些功能已经定义好了,只用通过配置一组内部参数(built- in parameters)就可以了。它们包括各种各样用来在network domain连接通信连路的发送器和接收器。还有一些模块:处理器(processors)和队列(queues),也是高度可编程的,它们的动作通过进程(Process model)来描述。2.3.进程域进程域是最底层的域也是最难上手的域,如果全部使用OPNET自带的进程模块,那么我们永远只能是个OPNET使用者,但如果你想要搭建系统实现自己的一些想法,那么我们必须得学会进程的编写,开发自己的进程模块,上述到软件开发的层次。进程模型node model中的
11、各个module通过三种链接互连,分别是:packet streams,statistic wires,logical associations。Packet streams传送格式化的消息,我们称为packet。统计线Statistic wire传送简单的数字信号和控制信息,一般用于一个module用来监测其他module的性能和状态。Statistic wire和Packet stream都有参数用来配置它们的行为。Logical associations用来确认module之间的绑定。目前,它们只被用在发送器和接收器之间,用来表明它们在接入到Network domain上的链路时,应当被
12、当作一对module来使用。一个进程(process)可以被认为近似于一个执行程序。OPNET中的Process是基于Process model,他们是在Process Editor中定义的。进程组(process group)由许多process组成,这些process都是在同一个processor或者queue中执行。当仿真开始的时候,每个module只能有一个process,称之为root process。这个process之后能够创建新的process,他们之后也能再创建其他的process。在仿真中被创建的process称之为动态进程(dynamic process)。任何时刻只能有
13、一个process处于执行状态。当一个Process开始执行后,我们说这个process被调用(invoked)了。当一个process调用另一个process时,调用(invoking)process被暂时挂起直到被调用(invoked)process被阻止(block)。一个process如果完成了它当前调用的处理就将被阻止。当invoked process被阻止时,invoking process就将从它挂起的地方继续执行。OPNET中的Process能够对中断(interrupt)或者调用(invocation)产生响应。Interrupt可能产生自process group之外的源,
14、或者process group中的其他成员,或者这个process自己。Interrupt一般对应于一些事件,包括消息到达、计时器到时、资源释放或者其他模块的状态改变等等。OPNET的process editor使用Proto-C的语言来描述process model。Proto-C基于状态转移图(State Transition Diagrams STD)、一个高级指令库(kernel Procedures)和C或C+的通用部件。STD定义了模型的各个process所处的状态,以及使进程在状态之间转移的条件。这种条件称之为 transition。Kernel Procedures主要一系列的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OPNET 学习 入门 指南 10
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内