本博文的實驗取材與《ns-2網路模擬基礎與應用》無線網路實驗。
場景是三個節點,在乙個矩形區域,移動ad hoc網路使用dsdv路由演算法,然後在適當的時候設定它們的移動方向、速度,並在節點0和節點1之間嘗試建立ftp連線。指令碼**如下:
set val(chan)
channel/wirelesschannel
;#通道型別
set val(prop)
propagation/tworayground
;#無線傳播模式
set val(netif)
phy/wirelessphy
;#網路介面型別
set val(mac)
mac/802_11
;#mac型別
set val(ifq)
queue/droptail/priqueue
;#介面佇列型別
set val(ll)
ll ;#邏輯鏈路層型別
set val(ant)
antenna/omniantenna
;#天線型別
set val(ifqlen)
50 ;#介面佇列最大長度
set val(nn)
3 ;#移動節點的數目
set val(rp)
dsdv
;#路由協議
set val(x)
500
;#移動拓撲的寬度
set val(y)
400
;#移動拓撲的長度
set val(stop)
150
;#模擬時間
#初始化模擬引數和跟蹤物件
set ns [new simulator]
set tracefd [open ******.tr w]
set windowvstime2 [open win.tr w]
set namtrace [open simwrls.nam w]
$ns trace-all $tracefd
$ns namtrace-all-wireless $namtrace $val(x) $val(y)
#建立移動拓撲
set topo [new topography]
#設定移動場景範圍
$topo load_flatgrid $val(x) $val(y)
#建立god物件
create-god $val(nn)
#建立$val(nn)個移動節點並將它們連線到通道。
#配置節點屬性
$ns node-config -adhocrouting $val(rp) \
-lltype $val(ll) \
-mactype $val(mac) \
-ifqtype $val(ifq) \
-ifqlen $val(ifqlen) \
-anttype $val(ant) \
-proptype $val(prop) \
-phytype $val(netif) \
-channeltype $val(chan) \
-topoinstance $topo \
-agenttrace on \
-routertrace on \
-mactrace off \
-movementtrace on
#建立移動節點
for
#設定在nam中移動節點顯示的大小,否則,nam中無法顯示節點
for
#模擬結束後重設節點
for
#排程整個模擬過程的執行
$ns at $val(stop) "$ns nam-end-wireless $val(stop)"
$ns at $val(stop) "stop"
#$ns at 150.01 "puts \" end simulation\" ;$ns halt"
proc stop {}
$ns run
}與有線網路相比,無線網路的指令碼多了許多配置,但基本的配置也是固定的型別,做過幾個實驗後,就會慢慢適應有線網路的配置。
ns2 對無線網路模擬
在模擬無線網路時需要對tcl模擬指令碼檔案的引數進行設定,比如pt,cpthresh,csthresh and rxthresh。我們需要借助ns提供的threshold工具來計算相應的引數 extra utility called threshold,在 ns 2.33 indep utils p...
A 無線網路
accept 29 submit 107 time limit 1000ms memory limit 65536kb description 現在無線網路愈來愈普及,人們對網路質量的要求也愈來愈高。我們假設要在一條筆直的公路上安置無線網路接入點,以方便兩旁的居民上網。設公路的乙個終點為起點,那麼居...
NS2相關學習 無線網(2)
在這裡,我們將完成乙個簡單的無線多跳場景 首先,定義的引數如下所示 set val chan channel wirelesschannel set val prop propagation tworayground set val netif phy wirelessphy set val mac...