贊助廠商

娛樂城推薦

首頁

刊登資訊

  • 刊登者:匿名
  • 時間:2021-06-04 15:10:08

尚未解答Network_Sim-exponential distribution in packet size

Network_Sim-exponential distribution in packet size

大家好

想請問有關將封包大小設為exponential distribution

我的第一個方法是在TCLscript中,使用一個Expontial Variable

code如下

set exp [new Agent/Traffic/Exponential]
...
set rng [new RNG]
set rng seed 101
set size [new RandomVariable/Exponential]
$size set avg_ 123
$size use_rng $rng
$exp set packetSize_ [expr 1.0*[$size value]]
...

結果當我去看trace files時

每個封包都是一樣的大小都是416

但若是我直接把size(Exponentila Varialbe)的值印出來確認,似乎又是對的

是不能直接把這個參數丟給packetSize嗎?




想另外請教我之前的另一個作法

我是修改expoo.cc,藉由加入一個ExponentialRandomVariable

已下是我的另一個作法中expoo.cc的片段


class EXPOO_Traffic : public TrafficGenerator {
...
protected:
...
ExponentialRandomVariable expSize_;
...
}

int EXPOO_Traffic::command(int argc, const char*const* argv){

if(argc==3){
if (strcmp(argv[1], 'use-rng') == 0) {
burstlen_.seed((char *)argv[2]);
Offtime_.seed((char *)argv[2]);
return (TCL_OK);
}
if (strcmp(argv[1], 'use-rng-size') == 0){
expSize_.seed((char *)argv[2]);
return (TCL_OK);
}
}
return Application::command(argc,argv);
}

其實我google不到.seed的用法..

只是依樣畫葫蘆的試試看,但每次都跑出錯誤msg= =

想請問.seed中該傳入的參數是否是rng型態的變數

還有其它像是.setavg_(123.0)是可以指定指數型分配的平均值在123

但是我卻又不知道該如何修改再expoo.cc中

讓每次的封包大小都呈現指數型分配

另外像bind的用處也很讓我困惑

我曾經想說不讓程式bind到packetsize

就把bind('packetSize_',&size_)這行註解掉

然後重新make clean 、make ns2

最後跑出來的結果還是沒改變 冏

問題很多也很雜.. 真的很對不起QQ

希望能有大大為新手解答,如果我問了愚蠢的問題請見諒QQ..

--

0個答案 Network_Sim-exponential distribution in packet size

其他問題

友站連結