opnet陈敏教程第2、3章学习笔记

第二章 OPNET Modeler环境变量的设置及文件管理

1.当创建了一个新的文件目录后,其中包含的模型文件要想在OPNET下能够打开,需要将文件目录加入到OPNET源路径中,在File菜单下选择Models Files-->Add Model Directory,找到相关目录。如果想让它称为工作目录(所有新创建的文件将保存在该目录中),那么要选中Make this the default directory。

2.仿真时间和逝去时间。逝去时间是仿真程序运行的时间,是真实时间,反映了仿真程序执行的速度,由机器的硬件速度决定。而仿真时间是系统仿真的时间进度,反映当前仿真执行的进度,是一个抽象的时间,它的推进是根据仿真的逻辑来定的。

第三章 OPNET的通信仿真机制

1.有时候可能会出现仿真时间始终停留在某个时间点上,这肯定是由于程序的逻辑错误导致的。

2.仿真结束条件有两个:(1)Event List为空;(2)仿真时间推进到所设定的时间。

3.执行事件不需要任何时间,事件和事件之间可能跨越仿真时间,但是不消耗物理时间,事件执行过程直至事件执行完毕,仿真时间不推进,但需要物理时间,这个物理时间是受机器CPU限制的。

4.问题:在某个循环语句中执行了以下程序op_intrpt_schedule_self(op_sim_time(),中断码),这样仿真核心永远处理不完当前时刻的事件,因此仿真总是无法结束。为什么?这句话是什么意思?意思是:自中断。

5.当在时间上不能区分事件优先级时,那只好手动设定事件优先级来区分同一时间内事件执行的顺序,OPNET提供了3种方法:(1)在进程界面上设置事件优先级;(2)编程指定特定事件优先级;(3)增加冗余的红色状态。

6.问题:(p42)两句零时刻调度语句和两个红色的非强制状态(init、init2)互相抵消。怎么互相抵消的呀?

因为在仿真开始时候(零时刻),许多模块需要通过仿真核心触发仿真开始事件来进行初始化,而有些模块的初始化依赖于其它模块初始化的结果,即它要等待其他模块初始化完毕后才能进一步设置参数或做出某种决定。因为都是统一时刻的事件,仿真核心没有能力安排它们合理的顺序,因此通过引入冗余的非强制状态来界定同一时刻事件的发生顺序。

对于OPNET编写的标准OSI协议栈,它们是一个整体,相互关联,缺一不可而且一般情况下不允许出现重复的协议模块,为了在仿真开始时验证协议栈的完整性和兼容性,仿真初始化时存在一个协议注册和发现的过程。为了保证在协议发现之前其它协议模块都已完成注册,这时需要添加一个冗余状态,这样协议发现事件将发生在协议注册事件之后。

因此init2状态看似是冗余状态,其实不然,它其中为多个进程模块协同初始化的作用。

7.为了保证在协议发现之前其它协议模块都已完成注册,这时需要添加一个冗余状态,这样协议发现事件将发生在协议注册事件之后。

8.包队列隶属于模块,而不隶属于某个包流,因此,连接模块的包流可以有多个,但包队列只有一个。仿真核心不限制该队列的大小,队列采用先进先出(FIFO)模式管理包,位于队首的包才能被目的模块通过op_pk_get(stream index)获取并移除。

9.op_pk_send():当包沿着源模块输出流到达目的模块输入流时立即向目的模块触发流中断。整个过程的时延由包流的“delay”属性指定,所以包到达的时刻=包发送的时刻+包流“delay”属性的值。

op_pk_send_delayed():包将滞后指定的时间到达目的模块,以此来仿真模块有限的处理速度。

op_pk_send_forced():产生的时间不需要在仿真核心的事件列表中排队,而是插队到事件列表的队首立刻执行,并且包不需要经历从源模块输出流到目的模块输入流的延时,直接到达目的模块。

op_pk_send_quiet():采用静默的方式发送包。

10.包传递(Packet delivery)支持包在没有物理连接的两个节点间传递。

11.包流是支持包在同一节点模型的不同模块间传输包的物理连接,具体来说,它是源模块的输出端口和目的模块的输入端口之间的物理连接。

12.与包发送的4种方式相对应,包传递也由4种方式,分别是op_pk_deliver()、op_pk_deliver_delayed()、op_pk_deliver_forced()和op_pk_deliver_quiet(),但是与包发送不同的是:包传递需要指定目的模块的Objid。由于没有包流的参与,包传递没有窒息昂目的模块的依据,所以只能通过指定Objid的方法来定位目的模块。

13.接口控制信息(ICI,Interface Control Information)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值