原本想把在ns2加入自己寫的無線感測網路協定的過程寫成一篇教學,但一方面有點懶的寫,另一方面,有
[1] Implementing a New Manet Unicast Routing 這個文件, [2] Tutorial for the simulator "ns" 這個網站, 這兩個參考資料一步一步寫的頗詳細, 要在ns2加入自己寫的協定應該是足夠了;
另外,[1]裡面的routing table在2.34版已經不能用了, [1]和[2]裡面的Needed Changes的內容和2.34版有些不同,無大礙就是了。
The ns Manual這個文件有非常豐富的ns2背景知識,不過似乎大部分的程式碼都是不能直接使用的,以及error model似乎是沒有功能的。
接下來這邊將會單純的記錄一些我覺得比較重要或特別的語法, 執行環境是ns2.34,winXp + cygwin。
訪問實體層 WirelessPhy* phy = (WirelessPhy*)((node_->ifhead()).lh_first);
若在.h裡宣告WirelessPhy* phy;
phy->node_off();
phy->node()->energy_model()
phy->node()->energy_model()->setenergy(0.01);
封包相關,pkt是封包名字 Scheduler::instance().schedule(target_, pkt, 0.05);
target_->recv(pkt, (Handler*)0);
dmux_->recv(pkt, (Handler*)0);
drop(pkt,"message");
Packet::free(pkt)
hdr_cmn* ch = ch->access(pkt);
透過各種不同的header存取封包內容,
其他 fprintf(stdout,"msg %d \n",intName);
例如:
TCL相關,大部分是無效的指令,我程式有bug可能也是原因之一 [1]裡面的透過Agent/Protoname set accesible_var_ true
$ns rtmodel-at 0.3 down $n1
|
- Mar 11 Thu 2010 13:26
Ns2 的一些雜項記錄
close
全站熱搜
留言列表