1. 程式人生 > >NS2相關學習——無線網(2)

NS2相關學習——無線網(2)

在這裡,我們將完成一個簡單的無線多跳場景

首先,定義的引數如下所示:

set val(chan)       Channel/WirelessChannel
set val(prop)       Propagation/TwoRayGround
set val(netif)      Phy/WirelessPhy
set val(mac)        Mac/802_11
set val(ifq)        Queue/DropTail/PriQueue
set val(ll)         LL
set val(ant)        Antenna/OmniAntenna
set val(x)              670   ;# X dimension of the topography
set val(y)              670   ;# Y dimension of the topography
set val(ifqlen)         50            ;# max packet in ifq
set val(seed)           0.0
set val(adhocRouting)   DSR
set val(nn)             3             ;# how many nodes are simulated
set val(cp)             "../mobility/scene/cbr-3-test" 
set val(sc)             "../mobility/scene/scen-3-test" 
set val(stop)           2000.0           ;# simulation time

在建立ns_(模擬器例項)後,開啟一個檔案(wireless1-out.tr)以獲得無線跟蹤。另外我們要設定nam曲線。

set tracefd  [open wireless1-out.tr w]      ;# for wireless traces
$ns_ trace-all $tracefd

set namtrace [open wireless1-out.nam w]           ;# for nam tracing
$ns_ namtrace-all-wireless $namtrace $val(x) $val(y)

建立移動節點之後,定義源節點移動和連線模式檔案,分別是val(sc)和val(cp)。

# 
# Define node movement model
#
puts "Loading connection pattern..."
source $val(cp)

# 
# Define traffic model
#
puts "Loading scenario file..."
source $val(sc)

在節點移動檔案scen-3測試中,我們看到節點移動命令,如

$ns_ at 50.000000000000 "$node_(2) setdest 369.463244915743 \
170.519203111152 3.371785899154"

這意味著在時刻50s,節點2以3.37m / s的速度開始向目的地(369.4,170.5)移動。 

$god_ set-dist 1 2 2

上句用於載入具有最短跳資訊的god物件的命令列。 這意味著節點1和節點2之間的最短路徑是2跳。 通過提供這種資訊,防止在模擬執行期間神物件在節點之間的最短距離的計算,能節省下來不少時間。