请把opnet如何将数据包发出去我呀

部分内容翻译自OPNET帮助文档

包结构:  数据包最常用的是一系列域用于存储用户数据。包可以是有格式的/无格式的/value vector有格式包可以通过名字来引用域,而无格式包需要通过numeric index(即引用时使用数字表示域,如01,2等而不是名字)。域中可以存储各类信息如整型/浮点型等,也可以包裹另一个数据包(packet类型)还可以是structure类型,存储一种用户定义的数据结构

  初了域之外,每个包都包含控制信息如优先级/创建时间(地点)等,另外还包含信息用于支持包在链路上传递建模的支持

包大小:  包的每个域都有大小,包的总大小(total size)是所有包的域在加上一个基础值(bulk data size)注意包的总大小不是指包在内存中实际占用空间的大小,而是仿真中包的大小(用于计算延迟误码率等)。

包的所有权:  包是作为一個物理实体处理的即一个包在给定时间点只能处于一个位置,当包被发送出一个实体后即无法获得包的内容,包的所有者可以是模块(modules)或包流(stream)一个模块(或包流)可以以四种方式获得包的所有权:(1)自己产生包,通过调用KP:op_pk_ctreate(),op_pk_ctreate_fmt(),op_pk_ctreate_vvec()(2)自己产生包的复制品,通过KP:op_pk_copy()(3)通过从另一个包中解封装,通过KP:op_pk_nfd_get(),op_pk_fd_get()(4)从其它模块得到数据包,通过KP:op_pk_get()

  由于无格式包在改变大小时非常简单,故对穿越網络时需要动态改变大小的数据包来说采用无格式包更好。无格式包最基本的处理是KP:op_pk_get()和op_pk_send()分别是取得和设置域中的值,注意op_pk_send()有几个重載函数分别处理不同的参数。

我要回帖

更多关于 opnet如何将数据包发出去 的文章

 

随机推荐