利用NS2進行無線網路模擬

2021-06-06 20:56:00 字數 2094 閱讀 8959

本博文的實驗取材與《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...