向NS2中新增新的無線流動網路路由協議

2021-06-05 01:07:47 字數 1522 閱讀 1597

按照[1]所述,新增新的路由協議之後,很多人問為什麼總有「debug_」未定義的錯誤?這主要是因為沒有將移動節點的新路由協議與佇列關聯起來。關聯的過程實際上就是路由協議類通過 tclobject::lookup()獲得佇列的指標。common/packet.h

1: enum packet_t ;

common/packet.h

1: p_info()

trace/cmu-trace.h

1: class cmutrace :public trace ;

trace/cmu-trace.cc

1: #include 2:

3: /* ... */ 4:

5: void

6:cmutrace::format_protoname(packet *p, int offset)

7: 17:else if (newtrace_)

24:else

31: }

trace/cmu-trace.cc

1: void

2:cmutrace::format(packet* p, const char *why)

3: tcl/lib/ns-packet.tcl

1: foreach prot

tcl/lib/ns-default.tcl

1: # ...

2: # defaults definedfor protoname

3: agent/protoname setaccessible_var_ true

tcl/lib/ns-lib.tcl

1: simulator instproccreate-wireless-node args

7:# ...

8:}9:# ...

10: }

tcl/lib/ns-lib.tcl

1: simulator instproccreate-protoname-agent

ns-mobilenode.tcl

1: node/mobilenodeinstproc add-target

8: #...

9: }

queue/priqueue.cc

1: void

2:priqueue::recv(packet *p, handler *h)

3: 20:}

21:else

24: }

makefile

1: obj_cc =

2:tools/random.o tools/rng.o tools/ranvar.ocommon/misc.o common/timer-handler.o

3:# ...

4:protoname/protoname.oprotoname/protoname_rtable.o

5:# ...

6: $(obj_stl)

references:

[1]implementing a new manet unicast routing protocol in ns2

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...

ns2中變數的繫結

asrmagnet asrmagent bind pdistance pdistance 實變數 bind requerstor requestor 整形變數 bind time lastsent lastsesssent 時間變數 bind bw ctrlimit ctrlbwlimit 帶框變數...