【OPNET学习系列文章之6】建立路由表
本文是在之前关于OPNET的文章基础上进行的,省略及不清楚的部分请参考前文。
本文实现的功能是为节点建立路由表。
1.网络模型
放置五个相同的节点,连接关系如图所示。
2.链路模型
链路模型为双工。
3.节点模型
节点模型包括四个发送端口、四个接收端口、一个队列和一个处理器。这里第一次在节点模型中使用队列,队列里面也是进程模型。如图所示。
4.进程模型
4.1队列q_0中的进程模型
如图所示。
在进程模型里设置rout_table属性,并提升到网络层和节点层,如图所示。
这样路由表就成为节点的一个属性,在网络层查看属性,如下图所示,为节点1的属性表。路由表是提前设置好的,在路由过程中直接读取。
整个网络中有多少个节点,路由表就有多少行。
【SV】状态变量,如图所示。
【TV】临时变量,如图所示。
【HB】中代码,如图所示。
init初始状态代码,如下所示。
arrival状态代码,如下所示。
svc_start状态代码,如下所示。
svc_compl状态代码,如下所示。
4.2处理器rout中的进程模型
如图所示。
在进程模型里设置模型属性send_rate,如图所示。
【SV】状态变量,如图所示。
【TV】临时变量,如图所示。
【HB】中代码,如图所示。
init初始状态代码,如图所示。
st_4状态代码,如下所示。
上:op_intrpt_schedule_self(0.0,-1);
下:op_intrpt_schedule_self(op_sim_time()+0.0,0);
sendpacket_0状态代码,如图所示。
处理器发送数据包后给队列处理,在队列中进行路由选择。
receive状态代码,如图所示。
5.运行
收集的统计量,如图所示。