無線網路路由實驗 ( 利用 NS-2 模擬器 )

53
無無無無無無無無 ( 無無 NS-2 無無無 ) 無無無無無無無無 無無無無無 無無無 無無

description

無線網路路由實驗 ( 利用 NS-2 模擬器 ). 國立屏東教育大學 資訊科學系 王朱福 教授. 內容大綱. NS-2 網路模擬器簡介 快速安裝 NS-2 網路模擬器 開始使用 NS-2 網路模擬器 實作 NS-2 網路模擬器情境模擬 NS-2 網路模擬器實驗結果數據分析 無線網路路由實驗範例 (Flooding) ( 含說明範例及實驗作業各一 ) 無線網路路由實驗範例 (AODV ) ( 含說明範例及實驗作業各一 ). NS-2 網路模擬器簡介. 新設計出的路由協定若需評估其效能,往往受限於實際網路環境的實作需耗費許多的人力與時間,導致無法輕易進行實驗。 - PowerPoint PPT Presentation

Transcript of 無線網路路由實驗 ( 利用 NS-2 模擬器 )

Page 1: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

無線網路路由實驗 ( 利用 NS-2模擬器 )

國立屏東教育大學 資訊科學系王朱福 教授

Page 2: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

內容大綱

NS-2 網路模擬器簡介快速安裝 NS-2 網路模擬器開始使用 NS-2 網路模擬器實作 NS-2 網路模擬器情境模擬NS-2 網路模擬器實驗結果數據分析無線網路路由實驗範例 (Flooding) ( 含說明範例及實驗作業各

一 )

無線網路路由實驗範例 (AODV) ( 含說明範例及實驗作業各一 )

Page 3: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

NS-2 網路模擬器簡介

新設計出的路由協定若需評估其效能,往往受限於實際網路環境的實作需耗費許多的人力與時間,導致無法輕易進行實驗。

NS2 網路模擬器能快速地將新設計出的路由協定予以模擬,相當接近於真實的網路環境。因此,效能評估與即時修改對於網路從業人員 ( 工程師及研究者 ) 帶來相當的便利。

Page 4: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

NS-2 的基本結構

NS-2 網路模擬器簡介 (cont.)

Page 5: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

NS-2 的基本結構

NS-2 網路模擬器簡介 (cont.)

Page 6: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

NS2 是一個物件導向網路模擬器,它利用 C++ 與 Otcl 語言實作完成。

C++ 在 NS2 扮演內部角色,包括協定的規範,路由的方法建置等。

OTcl 在 NS2 扮演外部角色,它讓我們可簡易地進行所需網路情境的建置。

NS-2 網路模擬器簡介 (cont.)

Page 7: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

快速安裝 NS-2 網路模擬器 --Cygwin 軟體的安裝 (1/8)

執行所附程式中的 setup.exe

Page 8: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

選擇從本機端已下載好的PACKAGE安裝

快速安裝 NS-2 網路模擬器 --Cygwin 軟體的安裝 (2/8)

Page 9: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

Root使用者預設存放目錄(使用此預設即可)

快速安裝 NS-2 網路模擬器 --Cygwin 軟體的安裝 (3/8)

Page 10: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

修改此預設目錄

快速安裝 NS-2 網路模擬器 --Cygwin 軟體的安裝 (4/8)

Page 11: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

快速安裝 NS-2 網路模擬器 --Cygwin 軟體的安裝 (5/8)

Page 12: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

快速安裝 NS-2 網路模擬器 --Cygwin 軟體的安裝 (6/8)

Page 13: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

Click the “All Default” to “All Install”

快速安裝 NS-2 網路模擬器 --Cygwin 軟體的安裝 (7/8)

Page 14: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

Finish the install of Cygwin

快速安裝 NS-2 網路模擬器 --Cygwin 軟體的安裝 (8/8)

Page 15: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

1. 安裝 NS-2 請在 Windows XP 作業系統中以最高權限使用者 帳戶登入再執行安裝 (Administrator) 。

2. 第一次安裝完成以後,須先執行第一次的 Cygwin 軟體( 在桌面上 ) ,讓軟體可產生必備檔案。

3. 將資料夾所附的 .bashrc 檔案,覆蓋於安裝完成之目錄 下。 (c:\cygwin\home\Administrator )

4. 將資料夾 ns-allinone-2.33 複製到安裝完成之目錄 下。 (c:\cygwin\home\Administrator )

5. 依照圖一 ( 下頁 ) 所示,並執行指令。6. 最後執行圖二與圖三所示指令,確認安裝成功與否。

快速安裝 NS-2 網路模擬器 --NS-2 的安裝

Page 16: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

圖一

進入根目錄下ns-allinone-2.33的ns-2.33目錄

進行編譯的動作

快速安裝 NS-2 網路模擬器 --NS-2 的安裝 (cont.)

Page 17: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

圖二 :

輸入“ ns” 指令,如有出現 % 表示 ns 安裝成功

快速安裝 NS-2 網路模擬器 --NS-2 的安裝 (cont.)

若沒有出現 %, 請關閉 Cygwin 視窗 , 重新執行 Cygwin 再試一次執行 ns 指令

Page 18: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

圖三 :

Use “startxwin.bat” the command to enter the window of“NAM Animation”

輸入”startxwin.bat”此指令

快速安裝 NS-2 網路模擬器 --NS-2 的安裝 (cont.)

P.S. 命令提示字元若為 % 則表示目前是處於 ns 程式中 ,可以執行 exit 旨令 , 即會跳回命令提示字元若為 $ 之狀態 .

Page 19: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

開始使用 NS-2 網路模擬器

Page 20: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

開始使用 NS-2 網路模擬器 (cont.)

Page 21: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

開始使用 NS-2 網路模擬器 (cont.)

進入資料夾 /home/Administrator/ns-allinone-2.33/ns-2.33/tcl/ex

Page 22: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

開始使用 NS-2 網路模擬器 (cont.)

進入資料夾 /home/Administrator/ns-allinone-2.33/ns-2.33/tcl/ex

Page 23: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

1. 在資料夾 C:\cygwin\home\Administrator\ns-allinone-2.33\ns-2.33\tcl\ex 內有一個 simple.tcl 檔 ( 作為描述網路環境與運作方式之腳本 ), 可以利用一般文書編輯軟體來觀看內容甚至修改 .

2. 利用 xwin 視窗來執行 simple.tcl 檔在 xwin 視窗中利用 Linux 指令 (cd) 進入資料夾

\home\Administrator\ns-allinone-2.33\ns-2.33\tcl\ex 之內執行 ns simple.tcl若 simple.tcl 內的程式撰寫無誤即會產生 out.nam ( 檔名可由 tcl程式設定 ) 並自動開啟 nam 程式來模擬運作情形

同時 , 亦會產生 out 追蹤檔 ( 檔名可由 tcl 程式設定 ) 提供各個封包傳遞之說明

NS-2 執行步驟

Page 24: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

實作 NS-2 網路模擬器情境模擬Scenario I ( 開啟來源檔 : simple.tcl)

兩部機器 n0及 n1透過 2Mbps的有線網路來進行資料傳遞 ( 參數設定如下圖所示 ) 。

Page 25: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

開啟 *.tr 記錄檔並寫入。 * 為檔名可更改。

開啟 *.nam 記錄檔並寫入。 * 為檔名可更改。

創造節點 n0,n1

實作 NS-2 網路模擬器情境模擬Scenario I (simple.tcl 檔解說 (1/3))

Page 26: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

設定節點的 Agent

設定封包產生器開始發送的時間、封包大小及發送區間、

實作 NS-2 網路模擬器情境模擬Scenario I (simple.tcl 檔解說 (2/3))

Page 27: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

執行完 ns 指令,自動執行 nam animation

實作 NS-2 網路模擬器情境模擬Scenario I (simple.tcl 檔解說 (3/3))

Page 28: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

實作 NS-2 網路模擬器情境模擬Scenario I ( 模擬結果 )

Page 29: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

NS-2 網路模擬器實驗結果數據分析

Page 30: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

無線網路相關設定 (tcl 檔部分擷取 )

set val(nn) 2 ;# 節點數目設定set val(x) 1000 ;# 移動範圍大小設定

( 長 )set val(y) 1000 ;#移動範圍大小設定

( 寬 )set val(stop) 100.0 ;# 模擬時間設定

Page 31: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

#節點座標設定$n0 set X_ 100

$n0 set Y_ 100

# 設定節點的移動方式 :當第五秒的時候 , n0節點由座標 (100,100) 的地方開始以每秒 10公尺的速度往座標 (500,100)移動

$ns at 5 "$n0 setdest 500 100 10.0"

無線網路相關設定 (tcl 檔部分擷取 ) (cont.)

Page 32: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

移動範圍 : 1,000m*1,000m 大小模擬時間 100秒利用 Flooding 路由協定情境設定 :固定節點 n0(100,100)為來源節點並發送封包,在第 5 秒時, n1節點 ( 目的端節點 )開始以每秒 5 公尺的速率往 (500,100)地方前進,而第 60秒時, n1節點開始以每秒10公尺速率往 (200,100)方向移動回去,最後停留在 (200,100)位置。

無線網路路由實驗範例 (Flooding)

Page 33: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

MFlood

無線網路路由實驗範例 (Flooding)Script-exercise (1/5)

Page 34: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

無線網路路由實驗範例 (Flooding)Script-exercise (2/5)

Page 35: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

無線網路路由實驗範例 (Flooding)Script-exercise (3/5)

Page 36: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

無線網路路由實驗範例 (Flooding)節點屬性配置圖

Page 37: 無線網路路由實驗  ( 利用 NS-2 模擬器 )
Page 38: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

無線網路路由實驗範例 (Flooding)Script-exercise (4/5)

Page 39: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

無線網路路由實驗範例 (Flooding)Script-exercise (5/5)

Page 40: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

無線網路路由實驗範例 (Flooding)模擬結果畫面擷取

Page 41: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

s 0.000000000 _0_ AGT --- 0 cbr 1000 [0 0 0 0] ------- [0:0 1:0 32 0] [0] 0 0 r 0.000000000 _0_ RTR --- 0 cbr 1000 [0 0 0 0] ------- [0:0 1:0 32 0] [0] 0 0 s 0.000000000 _0_ RTR --- 0 AODV 48 [0 0 0 0] ------- [0:255 -1:255 30 0] [0x2 1 1 [1 0] [0 4]] (REQUEST) s 0.000535000 _0_ MAC --- 0 AODV 106 [0 ffffffff 0 800] ------- [0:255 -1:255 30 0] [0x2 1 1 [1 0] [0 4]]

(REQUEST) r 0.001383333 _1_ MAC --- 0 AODV 48 [0 ffffffff 0 800] ------- [0:255 -1:255 30 0] [0x2 1 1 [1 0] [0 4]]

(REQUEST) r 0.001408333 _1_ RTR --- 0 AODV 48 [0 ffffffff 0 800] ------- [0:255 -1:255 30 0] [0x2 1 1 [1 0] [0 4]]

(REQUEST) s 0.001408333 _1_ RTR --- 0 AODV 44 [0 0 0 0] ------- [1:255 0:255 30 0] [0x4 1 [1 4] 10.000000] (REPLY) s 0.002023333 _1_ MAC --- 0 ARP 86 [0 ffffffff 1 806] ------- [REQUEST 1/1 0/0] r 0.002711667 _0_ MAC --- 0 ARP 28 [0 ffffffff 1 806] ------- [REQUEST 1/1 0/0]  

第一個欄位是封包發生事件的原因 : s(傳送 )r( 接收 ) d(丟棄 ) f(轉送 )

第二個是事件發生的時間 第三個欄位是發生事件的節點 ID 第四個欄位是說明在哪一層的事件 :RTR: 路由層 AGT:應

用層 MAC:媒體存取層 第七個欄位是封包的型態 第八個欄位是封包大小

無線網路路由實驗範例 (Flooding)模擬結果

Page 42: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

移動範圍 :1,000m*1,000m模擬時間 100秒各節點位置設定如下 :

n0(100,200), n1(200,100), n2(100,0), n3(400,100)採用 Flooding 路由協定並將結點 n1設定為來源節點而節點 n3為目的端節點。

觀察紀錄檔 (XXX.tr) 。

無線網路路由實驗練習 (Flooding)請參考範例並依下列情境設定進行實驗

Page 43: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

移動範圍 :1,000m*1,000m模擬時間 200秒各節點座標及移動情境如下圖所示。利用 AODV 路由協定

無線網路路由實驗範例 (AODV)

Page 44: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

無線網路路由實驗範例 (AODV)Script-exercise (1/6)

Page 45: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

無線網路路由實驗範例 (AODV)Script-exercise (2/6)

Page 46: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

無線網路路由實驗範例 (AODV)Script-exercise (3/6)

Page 47: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

無線網路路由實驗範例 (AODV)Script-exercise (4/6)

Page 48: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

無線網路路由實驗範例 (AODV)Script-exercise (5/6)

Page 49: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

無線網路路由實驗範例 (AODV)Script-exercise (6/6)

Page 50: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

無線網路路由實驗範例 (AODV)模擬結果畫面擷取

Page 51: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

s 0.000000000 _0_ AGT --- 0 cbr 1000 [0 0 0 0] ------- [0:0 1:0 32 0] [0] 0 0 r 0.000000000 _0_ RTR --- 0 cbr 1000 [0 0 0 0] ------- [0:0 1:0 32 0] [0] 0 0 s 0.000000000 _0_ RTR --- 0 AODV 48 [0 0 0 0] ------- [0:255 -1:255 30 0] [0x2 1 1 [1 0] [0 4]] (REQUEST) s 0.000535000 _0_ MAC --- 0 AODV 106 [0 ffffffff 0 800] ------- [0:255 -1:255 30 0] [0x2 1 1 [1 0] [0 4]]

(REQUEST) r 0.001383333 _1_ MAC --- 0 AODV 48 [0 ffffffff 0 800] ------- [0:255 -1:255 30 0] [0x2 1 1 [1 0] [0 4]]

(REQUEST) r 0.001408333 _1_ RTR --- 0 AODV 48 [0 ffffffff 0 800] ------- [0:255 -1:255 30 0] [0x2 1 1 [1 0] [0 4]]

(REQUEST) s 0.001408333 _1_ RTR --- 0 AODV 44 [0 0 0 0] ------- [1:255 0:255 30 0] [0x4 1 [1 4] 10.000000] (REPLY) s 0.002023333 _1_ MAC --- 0 ARP 86 [0 ffffffff 1 806] ------- [REQUEST 1/1 0/0] r 0.002711667 _0_ MAC --- 0 ARP 28 [0 ffffffff 1 806] ------- [REQUEST 1/1 0/0]  

第一個欄位是封包發生事件的原因 : s(傳送 )r( 接收 ) d(丟棄 ) f(轉送 )

第二個是事件發生的時間 第三個欄位是發生事件的節點 ID 第四個欄位是說明在哪一層的事件 :RTR: 路由層 AGT:應

用層 MAC:媒體存取層 第七個欄位是封包的型態 第八個欄位是封包大小

無線網路路由實驗範例 (AODV)模擬結果

Page 52: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

利用 AODV 路由協定實作 : 模擬時間為 1000秒的1000mX1000m 範圍區域內,共有三個節點,位置如下 : 節點 n0(350,500) , n1 (500,500) , n2 (650,500) , n0 和 n2之間有一條 CBR/UDP 的連線。在第 200秒時,節點 n1開始以每秒 2公尺的速度移動到座標 (500,900) ,而又在第 500秒時,再以每秒 2公尺的速度移動到座標 (500,100) 。

觀察模擬結果 (XXX.tr) 。

無線網路路由實驗練習 (AODV)請參考範例並依下列情境設定進行實驗

Page 53: 無線網路路由實驗  ( 利用 NS-2 模擬器 )

參考資料 http://www.isi.edu/nsnam/ns/ns-documentation.html

NS2 教學手冊 ( NS2 Learning Guide) By柯志亨 教授

Introducing NS2 (Lloyd Wood’s Homepage)