创建包交换网络
一、概述
该例程将仿真一个简单的包交换网络。它包括四个周边节点和 1 个中心节点,周边节点产生业务,
而中心节点将这些业务转交给相应的目的节点(四个周边节点中的 1 个)。网络拓扑结构如图所示。
采用如下的层次化的步骤:
定义包格式→定义链路模型→创建中心交换节点模型→创建周边节点模型→建立网络模型
二、创建包格式
(1)打开包格式编辑器
(2)创建新的包域
左键创建,右键结束
(3)设置包域的属性
(4)保存
三、创建新的链路模型
(1)
(2)设置支持的包类型
单工、双工、总线都支持
(3)选择刚才新创建的包,status 都改为supported。
(4)链路模型的其他属性
(5)增加 link_delay 外部函数
四、创建中心交换节点模型
我们从定义节点模型开始,中心交换节点包含:四对发信机和收信机(每对收发信机对应一个周边节点),一个中心交换处理进程(用来按地址转交包)。
(1)创建节点模型
(2)定义收发机模型属性
五、创建hub进程模型
hub 进程模块将接收到的包按照目的地址转交给正确的发信机, 然后通过发信机将包发往目的节点。
(1)创建状态按钮
(2)创建状态转移
(3)定义PK_ARRVL条件宏
没有save,直接关闭即可
(4)条件执行代码route_pk()
(5)更改进程的属性
(6)编译模块
出现错误
OPNET Modeler & Visual Studio 2010 环境下编译 Process Model 可能出现的问题(网友提供的解决措施)
还是会出现问题:
是由于声明 PK_ARRVL 时,没有加空格的缘故
六、创建周边节点模型
当周边节点生成一个包时,它必须给这个包指定一个目的地址,然后将它发往中心节点。如果周边节点接收到一个包时,它必须计算该包的端对端延时。
因此周边节点必须包括一个业务生成模块、一个进程模块和一对点对点收发信机来完成这些任务。
(1)src模块设置
按图放置并命名模块。
(注意,promote是点击右键才会出来)
(2)设置收发机信道速率和支持的包格式。
七、周边节点处理模块
周边节点的处理模块主要有两个功能:( 1)为包分配目的地址并且发送出去。( 2)计算包的端对端延时。
(1)
(2)
(3)
(4)
将进程模型和节点模型匹配
八、创建网络模型
由于上面声明函数的时候出错,现在已经编译通过
八、收集统计量并分析结果
(1)
并没有ETE Delay。返回去修改。
查找原因是由于周边节点模型和进程模型并没有用匹配,所以匹配后,就出现了
(2)
九、配置仿真
对于这个例子,包的大小和收发机的速率都是恒定的,因此期望端对端延时也应该恒定不变。然而,如果包的产生速率足够快,就会导致部分包在发信机队列中积压,这时包
的端对端延时加大。如果包的产生速率不定,有可能造成业务突发,因此端对端延时也会受影响。为了模拟这些行为,需要配置 source interarrival time 仿真属性,将给它指定两个值。
(1)
出现问题,add不了。怎么求?