NS2:添加一个新的流量发生器(poisson分布)

来源:互联网 发布:手机人体建模软件 编辑:程序博客网 时间:2024/05/01 23:24

将poisson流量发生器整合到NS2中:

1、将poisson.cc文件拷贝至ns-2.30/tools文件夹中。

2、修改packet.h(ns-2.30/common/packet.h)文件:

(1)在enum packet_t { } 中添加新的数据分组类型: PT_POISSON

注意:此数据分组类型要与C++文件中定义的类型一致:

poisson.cc中的init()函数:

void Poisson_Traffic::init()
{
  if (interval_ < 0.0)
    interval_ = (double)(size_ << 3) / (double)rate_;

  if (agent_)
    agent_->set_pkttype(PT_POISSON);
}




(2)在class p_info { } 中的name_[PT_NTYPE]= "undefined"; 之前添加:name_[PT_POISSON]= "poisson";

注意:引号中的poisson名称与Otcl脚本中的代码一致:

set  poisson  [new  Agent/Poisson]




3、在ns-default.tcl(ns-2.30/tcl/lib/ns-default.tcl)中定义Otcl的变量并初始化默认值

Application/Traffic/Poisson set rate_ 300Kb;
Application/Traffic/Poisson set packetSize_ 210
Application/Traffic/Poisson set interval_ 0.5
Application/Traffic/Poisson set maxpkts_ 268435456;


4、在Makefile (ns-2.30/Makefile)中的tools/expoo.o  tools/cbr_traffic.o \ 代码后面添加:tools/poisson.o \

添加完后变成:tools/expoo.o  tools/cbr_traffic.o  tools/poisson.o \   (注意只有一个斜杠)




5、在ns-2.30下运行:make clean 以及make

完成对poisson流量发生器的整合。




原创粉丝点击