530 likes | 672 Views
無線網路路由實驗 ( 利用 NS-2 模擬器 ). 國立屏東教育大學 資訊科學系 王朱福 教授. 內容大綱. NS-2 網路模擬器簡介 快速安裝 NS-2 網路模擬器 開始使用 NS-2 網路模擬器 實作 NS-2 網路模擬器情境模擬 NS-2 網路模擬器實驗結果數據分析 無線網路路由實驗範例 (Flooding) ( 含說明範例及實驗作業各一 ) 無線網路路由實驗範例 (AODV ) ( 含說明範例及實驗作業各一 ). NS-2 網路模擬器簡介. 新設計出的路由協定若需評估其效能,往往受限於實際網路環境的實作需耗費許多的人力與時間,導致無法輕易進行實驗。
E N D
無線網路路由實驗 (利用NS-2模擬器) 國立屏東教育大學 資訊科學系 王朱福 教授
內容大綱 • NS-2網路模擬器簡介 • 快速安裝NS-2網路模擬器 • 開始使用NS-2網路模擬器 • 實作NS-2網路模擬器情境模擬 • NS-2網路模擬器實驗結果數據分析 • 無線網路路由實驗範例 (Flooding) (含說明範例及實驗作業各一) • 無線網路路由實驗範例 (AODV) (含說明範例及實驗作業各一)
NS-2網路模擬器簡介 • 新設計出的路由協定若需評估其效能,往往受限於實際網路環境的實作需耗費許多的人力與時間,導致無法輕易進行實驗。 • NS2網路模擬器能快速地將新設計出的路由協定予以模擬,相當接近於真實的網路環境。因此,效能評估與即時修改對於網路從業人員(工程師及研究者)帶來相當的便利。
NS-2網路模擬器簡介 (cont.) • NS-2的基本結構
NS-2網路模擬器簡介 (cont.) • NS-2的基本結構
NS-2網路模擬器簡介 (cont.) • NS2 是一個物件導向網路模擬器,它利用C++ 與 Otcl語言實作完成。 • C++在NS2扮演內部角色,包括協定的規範,路由的方法建置等。 • OTcl在NS2扮演外部角色,它讓我們可簡易地進行所需網路情境的建置。
快速安裝NS-2網路模擬器 --Cygwin軟體的安裝 (1/8) 執行所附程式中的setup.exe
快速安裝NS-2網路模擬器 --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的安裝 (cont.) • 圖二: 輸入“ns”指令,如有出現%表示ns安裝成功 若沒有出現%, 請關閉Cygwin視窗, 重新執行Cygwin再試一次執行ns指令
快速安裝NS-2網路模擬器 --NS-2的安裝 (cont.) • 圖三: P.S. 命令提示字元若為%則表示目前是處於ns程式中, 可以執行 exit 旨令, 即會跳回命令提示字元若為$之狀態.
開始使用NS-2網路模擬器 (cont.) 進入資料夾 /home/Administrator/ns-allinone-2.33/ns-2.33/tcl/ex
開始使用NS-2網路模擬器 (cont.) 進入資料夾 /home/Administrator/ns-allinone-2.33/ns-2.33/tcl/ex
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網路模擬器情境模擬Scenario I (開啟來源檔:simple.tcl) • 兩部機器n0及n1透過2Mbps的有線網路來進行資料傳遞(參數設定如下圖所示)。
實作NS-2網路模擬器情境模擬Scenario I (simple.tcl檔解說(1/3)) 創造節點n0,n1 開啟*.tr記錄檔並寫入。*為檔名可更改。 開啟*.nam記錄檔並寫入。*為檔名可更改。
實作NS-2網路模擬器情境模擬Scenario I (simple.tcl檔解說(2/3)) 設定節點的Agent 設定封包產生器 開始發送的時間 、封包大小及發 送區間、
實作NS-2網路模擬器情境模擬Scenario I (simple.tcl檔解說(3/3)) 執行完ns指令,自動 執行 nam animation
實作NS-2網路模擬器情境模擬Scenario I (模擬結果)
無線網路相關設定(tcl檔部分擷取) • set val(nn) 2 ;# 節點數目設定 • set val(x) 1000 ;# 移動範圍大小設定(長) • set val(y) 1000 ;#移動範圍大小設定(寬) • set val(stop) 100.0 ;# 模擬時間設定
無線網路相關設定(tcl檔部分擷取)(cont.) • #節點座標設定 $n0 set X_ 100 $n0 set Y_ 100 • #設定節點的移動方式: • 當第五秒的時候,n0節點由座標(100,100)的地方開始以每秒10公尺的速度往座標(500,100)移動 $ns at 5 "$n0 setdest 500 100 10.0"
無線網路路由實驗範例 (Flooding) 情境設定:固定節點n0(100,100)為來源節點並發送封包,在第5秒時,n1節點(目的端節點)開始以每秒5公尺的速率往(500,100)地方前進,而第60秒時,n1節點開始以每秒10公尺速率往(200,100)方向移動回去,最後停留在(200,100)位置。 移動範圍: 1,000m*1,000m大小 模擬時間100秒 利用Flooding路由協定
無線網路路由實驗範例 (Flooding) Script-exercise (1/5) MFlood
無線網路路由實驗範例 (Flooding) Script-exercise (2/5)
無線網路路由實驗範例 (Flooding) Script-exercise (3/5)
無線網路路由實驗範例 (Flooding) 節點屬性配置圖
無線網路路由實驗範例 (Flooding) Script-exercise (4/5)
無線網路路由實驗範例 (Flooding) Script-exercise (5/5)
無線網路路由實驗範例 (Flooding) 模擬結果畫面擷取
無線網路路由實驗範例 (Flooding) 模擬結果 • 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) 請參考範例並依下列情境設定進行實驗 • 移動範圍:1,000m*1,000m • 模擬時間100秒 • 各節點位置設定如下: • n0(100,200), n1(200,100), n2(100,0), n3(400,100) • 採用Flooding路由協定並將結點 n1設定為來源節點而節點n3為目的端節點。 • 觀察紀錄檔(XXX.tr)。
無線網路路由實驗範例 (AODV) 移動範圍:1,000m*1,000m 模擬時間200秒 各節點座標及移動情境如下圖所示。 利用AODV路由協定
無線網路路由實驗範例 (AODV) Script-exercise (1/6)
無線網路路由實驗範例 (AODV) Script-exercise (2/6)
無線網路路由實驗範例 (AODV) Script-exercise (3/6)
無線網路路由實驗範例 (AODV) Script-exercise (4/6)
無線網路路由實驗範例 (AODV) Script-exercise (5/6)
無線網路路由實驗範例 (AODV) Script-exercise (6/6)
無線網路路由實驗範例 (AODV) 模擬結果畫面擷取