在路由層廣播乙個包:
packet *p = packet::alloc();//產生乙個包
struct hdr_cmn *ch = hdr_cmn(p);//增加普通包頭
struct hdr_ip *ih = hdr_ip(p);//增加ip包頭
……………
……………//設定其他內容
ih->daddr() = ip_broadcast;//目的位址設定為廣播位址
………………
scheduler::instance().schedule(target_, p, t);//傳送
在mac層廣播乙個包:
packet *p = packet::alloc();
//產生乙個包
struct hdr_cmn *hdr = hdr_cmn(p);//增加普通包頭
struct hdr_mac *mac = hdr_mac(p);
//增加mac頭部
……………
……………//設定其他內容
mac->macda() = -1;//目的位址為廣播位址
………………
scheduler::instance().schedule(downtarget_, p, t);//傳送
定義廣播包結構體
struct hdr_broadcastbase
inline static hdr_broadcastbase* access(const packet* p)
};從agent類繼承廣播應用類
class broadcastbaseagent : public agent ;
class sendtimer : public timerhandler
inline virtual void expire(event*);
protected:
broadcastbaseagent* t_;};
自己定義的廣播包結構放在自己定義的檔案裡面,後面需要修改ns原始碼裡面的部分檔案,比如:~/ns-2.*/common/packet.h, ~/ns-2.*/tcl/lib/ns-default.tcl, ns-packet.tcl,以及makefile檔案,再重新編譯整個ns。
ns2 對無線網路模擬
在模擬無線網路時需要對tcl模擬指令碼檔案的引數進行設定,比如pt,cpthresh,csthresh and rxthresh。我們需要借助ns提供的threshold工具來計算相應的引數 extra utility called threshold,在 ns 2.33 indep utils p...
利用NS2進行無線網路模擬
本博文的實驗取材與 ns 2網路模擬基礎與應用 無線網路實驗。場景是三個節點,在乙個矩形區域,移動ad hoc網路使用dsdv路由演算法,然後在適當的時候設定它們的移動方向 速度,並在節點0和節點1之間嘗試建立ftp連線。指令碼 如下 set val chan channel wirelesscha...
Omnipeek空口抓包 2 掃瞄無線網路
建立capture,選擇抓包網絡卡,在802.11選項中select channel by選擇scan,設定掃瞄的通道 edit scanning options,通常無線2.4g網路通道為1 14,這裡可以全部選中,掃瞄結果更全。開始抓包,在wireless的wlan中可以檢視掃瞄結果,例如 掃瞄...