opnet包处理问题
来源:互联网 发布:魅族手机仅限数据连接 编辑:程序博客网 时间:2024/05/30 05:07
一、队列中包处理
在节点模型的队列处理机中,主要三个队列函数:1.op_subq_pk_insert (index, pkptr, OPC_QPOS_TAIL);
2.pkptr = op_subq_pk_access(index, OPC_QPOS_HEAD);
3.pkptr = op_subq_pk_remove(index, OPC_QPOS_HEAD);
第一个是将包pkptr插入到由index指定的队尾中(OPC_QPOS_TAIL)。
第二个是将从index指定的队列中取得队头的包(OPC_QPOS_HEAD),但不删除。
第三个是将包从index指定的队列中删去队头的包(OPC_QPOS_HEAD)。
其中index可以是:0,1,2,3....
一般情况是,从高层收到包后,插入到指定的队列中,然后通过使用op_subq_pk_access得到队头的包并发送出去,如果成功接收则在队列中调用op_subq_pk_remove删除队头的包。
二、opnet包延迟问题
在opnet中,一般通过取当前时间与包创建时间之差做为延迟时间:eg:
ete_delay = op_sim_time() - op_pk_creation_time_get (pktmp);
包的创建方式有三种,分别对应仿真核心的三个函数:
1.op_pk_create(),创建一个无格式包
2.op_pk_create_fmt(),创建一个有格式包
3.op_pk_copy(),复制一个包
包的创建时间即为调用这三个函数的时刻。
一般情况下,在发送包的时候会考虑发送失败需要重传的情况,如果利用op_pk_copy()来复制当前要发送的包做为备份的话,随后的统计包延迟信息可能会不准确,因为复制的时候把包的创建时间给更改了。这时候我们就需要对其进行处理,如:
//从队列中取出一个包,但不删除,以备重传的情况
pkptr = op_subq_pk_access(QUEUE,OPC_QPOS_HEAD);
//获得包的创建时间
pk_create_time = op_pk_creation_time_get(pkptr);
//复制一份当前包,这时候包的创建时间发生改变
pkptr = op_pk_copy(pkptr);
//重设包的创建时间,使复制的包时间与队列中包时间一致
op_pk_creation_time_set(pkptr, pk_create_time);
仿真结果:
1.不使用重设时间的情况:
节点1创建一个网络层包的时间:
节点1创建一个MAC层包的时间
节点2收到包的时间:
可以看出,节点2收的包的MAC包与NET包时间是一样的,这里是原为在MAC层复制了网络层的包从而使包的创建时间发生改变。
2.使用重设时间的情况:
节点1创建一个网络层包的时间:
节点1创建一个MAC层包的时间
节点2收到包的时间:
从以上对比可以看出,收发节点的网络层包时间是一致的。
三、统计信息
在opnet中,统计信息默认是以秒为单位的。已知一个包的大小是1024bits,从图中可以看出,第14s时,接收的包是2048bits,在15s时是1024bits
这是在debug模式下输出的调试信息,可以看出,在10-11s时只有收到一个包,在14s时收到2个包,15时收到一个包,对应到上图可以看出是一致的。
- opnet包处理问题
- opnet几个基本问题
- opnet仿真问题总结
- opnet之csma_2node包跟踪
- opnet中仿真问题总结
- Opnet--快速定位应用问题
- OPNET
- OPNET
- 成功完成opnet 14.5 + win7 64-bit +vs2008的安装,附包交换仿真出现的问题及解决方案
- 网络丢包问题处理
- netty 粘包问题处理
- 处理tcp粘包问题
- 解决一个Opnet统计量问题
- OPNET导入STK轨道文件的问题
- opnet之包流与链路配合
- Eclipse 解决图片处理包问题
- 粘包问题处理(切片)
- Socket粘包问题的处理
- java 数据库程序设计 学习笔记
- Android Studio v0.1试用
- Android中ScrollView+TextView,更新内容后无作用的问题
- Splay Tree
- Cisco与Linux的NAT-Linux实现Cisco风格的NAT
- opnet包处理问题
- 第七章 Libgdx之Preferences
- Ubuntu 下 Bumblebee实现 Optimus(降温效果明显)
- 从零单排3
- java面向对象上:多态和抽象
- 移动建模工具
- 11.限制某个类所能产生的对象数量——之二
- Android基站定位
- Oracle查询