NS2相關學習——無線網(2)
阿新 • • 發佈:2018-12-10
在這裡,我們將完成一個簡單的無線多跳場景
首先,定義的引數如下所示:
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跳。 通過提供這種資訊,防止在模擬執行期間神物件在節點之間的最短距離的計算,能節省下來不少時間。