實驗 ( 三 ) 學習如何 使用 NS-2 和 NSG2
-
Upload
lucian-pierce -
Category
Documents
-
view
129 -
download
8
description
Transcript of 實驗 ( 三 ) 學習如何 使用 NS-2 和 NSG2
實驗 ( 三 ) 學習如何使用 NS-2 和 NSG2計算機網路 COMPUTER NETWORK
實驗步驟1. 安裝 VirtualBox( 載點 http://goo.gl/KaAV5u)2. 到 ubuntu 正體中文站下載 ubuntu 的映像檔3. 用 VirtualBox 安裝 Ubuntu 或 直接灌 Ubuntu( 則1 省略 )
4. 安裝 NS2 ,用 NS2 去執行 NAM=> 模擬結果視覺化5. 下載 NSG2 ,利用它產生所產生的 tcl 檔 + 公式程式檔=> 用 gnuplot 繪圖,把結果畫出來
NS2(Network Simulator,verion2)是一套物件導向的網路模擬器。他能模擬真實網路系統 的架構和特性。
而 NS2 是由 C++ 和 OTcl 作為開發語言,簡而言之,NS2 就 是一個 OTcl 的腳本解釋器,他把使用者所寫好的腳本進行解讀後,產生出模擬的結果,進而對結果進行分析,或者透過 NAM 工具程式把模擬的過程視覺化呈現出來。
Install NS2(1)先下載Ns-allinone2.35.tar.gz(http://goo.gl/Kdf9mp) nam-1-20090106.tar.gz(http://goo.gl/03RLfK)把這兩個壓縮檔放到家目錄底下
Install NS2(2)點選左上角 DASH 主目錄搜尋 terminal點選終端機
Install NS2(3)sudo: 讓我們切換身分 ( 系統管理員 ) 來進行某項任務apt get update :
更新最新套件=>sudo apt-get update
Install NS2(4)ls: 列出檔案ls –a: 列出所有檔案 包含隱藏檔ls –f: 直接列出結果, 而不進行排序ls
Install NS2(5)tar: 打包、解壓縮 -x 解壓縮或解打包的功能 -v 在壓縮過程中,將正在處理的檔 名顯示出來 -z 透過 gzip 的支援進行解壓縮 -f filename
後面接上立即被處理的檔名 =>
tar xvfz ns-allinone-2.35.tar.gz
Install NS2(6)apt-get install ****
安裝 **** 這個套件在這裡我們需要安裝build-essential
autoconf
antomake
libxmu-dev =>sudo apt-get install build-esstial autoconf automake libxmu-dev
Install NS2(7)cd: (change directory)cd: 到上一層目錄
cd XXX/ : 到 XXX 這個目錄 =>cd ns-allinone-2.35/
Install NS2(8)./install執行 install 安裝
Install NS2(9)先打 cd 回到上一層目錄gedit xxx打開 xxx 文件來編輯gedit .bashc
加入環境變數Path
( http://goo.gl/li9pwj)
Install NS2(10)環境變數可能的錯誤home/user 須改成自己設定的名稱Ex: home/user/ =>home/jimEpc/
Install NS2(11)mv:movemv AAAA BBBB
把 AAAA 搬移到 BBBB 這個目錄下
mv nam-1-20090106.tar.gz ns-allinone-2.35
Install NS2(12)cd ns-allinone-2.35
到 ns-allinone-2.35 的目錄下
Install NS2(13)tar –zxvf nam-1-20090106.tar.gz
解壓縮 nam-1-20090106.tar.gz 這個檔案
Install NS2(14)reboot
重新開機
sudo reboot
Install NS2(15)安裝 ns2 nam 套件、指令sudo apt-get install ns2sudo apt-get install nam
Install NS2(16)ns ns-allinone2.35/ns-2.35/tcl/ex/simple.tcl
執行 ns-allinone2.35/ns-2.35/tcl/ex/ 裡的simple.tcl 檔
Install NS2(17)看到這個畫面,代表你安裝成功了Ns2 會去執行 nam 程式,把模擬結果視覺化
Install NS2(18)1. sudo apt-get update
2. tar xvfz ns-allinone-2.35.tar.gz
3. sudo apt-get install build-esstial autoconf automake libxmu-dev
4. cd ns-allinone-2.35/
5. ./install
6. Cd
7. gedit .bashc
8. mv nam-1-20090106.tar.gz ns-allinone-2.35
9. cd ns-allinone-2.35
10.tar –zxvf nam-1-20090106.tar.gz
11.sudo reboot
12.sudo apt-get install ns2
13.sudo apt-get install nam
14.ns ns-allinone2.35/ns-2.35/tcl/ex/simple.tcl
Install NS2(19)影片教學網址1. Install Ubuntu over VirtualBox http://www.youtube.com/watch?v=IWZP1tV5hJY2.NS2 + Nam over Ubuntu
http://www.youtube.com/watch?v=ZQ_TkLWqRIU
Install NS2(cygwin)Cygwin (一個模擬 linux 的軟體)NS2 ( 2.28, 2.30, 2.31 等)中文安裝解釋流程(柯志亨)http://hpds.ee.ncku.edu.tw/~smallko/ns2/ns2.htm
可能遇到的問題 : 使用名稱 路徑不可有空白 ex: kenny chou X
不能有中文 ex: 周世剛 X
Install NS2(cygwin)執行桌面上的 cygwin 小圖示,然後在此視窗下,輸入 startxwin.bat ,會產生另外一個視窗,這視窗是在繪圖模式。在新視窗中輸入 cd ~/ns-allinone-2.xx/ns-2.xx/ns-tutorial/examples/輸入 ns example2.tclNS2 會去執行 NAM 程式,把模擬結果視覺化。如下圖,
Install NS2(cygwin)
Network Scenario Generator (NSG)NSG 是ㄧ個專門為 NS2 所設計的劇本產生器,目前最近版本為 NSG2 ,除了原本支援的無線網路之外,還有支援有線網路
How to use NSG2NSG2 下載網址︰ http://goo.gl/XoQrnv在執行 NSG2 之前必須先確定電腦中裝有 Java Runtime Environment ( JRE )或 Java SE Development Kit ( JDK ) 昇陽的 JAVA 官方網站︰http://java.sun.com/javase/downloads/index.jsp
Ubuntu java 安裝sudo add-apt-repository ppa:webupd8team/java
Ubuntu java 安裝sudo apt-get update
Ubuntu java 安裝sudo apt-get install oracle-java7-installer
Ubuntu java 安裝java –version測試所安裝的 JAVA 版本
Ubuntu java 安裝 1. 安裝指令 1-1. sudo add-apt-repository ppa:webupd8team/java1-2. sudo apt-get update1-3. sudo apt-get install oracle-java7-installer
2. 看看是否安裝成功 java –version
參考網站 :
http://apexu.com/apexu/tw/modules/publisher/item.php?itemid=35
The Network Topology
d
s1
s2
r
ftp
sink
null
tcp
tcp
1.7Mbps, 20ms
2Mbps, 10ms
2Mbp
s, 10
ms
cbr
NSG2(1)
NSG2(2)按右鍵以 Oracle Java 7 Runtime 開啟 nsg 2.1
NSG2(3)Scenario ->
New wirelsee scenario
NSG2(4)NODE
NSG2(5)Duplex-link
NSG2(6)Duplex-link
NSG2(7)Duplex-link
NSG2(8)TCP
NSG2(9)TCPSink
NSG2(10)
NSG2(11)UDP
NSG2(12)NULL
NSG2(13)
NSG2(14)FTP
NSG2(15)CBR
NSG2(16)Simulation
Parameters
setup
NSG2(17)TCL
NSG2(18) # 針對不同的資料流定義不同 的顏色,這是要給 NAM 用的 $ns color 1 Blue
$ns color 2 Red
NSG2(19) # 觀測 r 到 d 之間 queue 的變化,這是要給 NAM 用的
$ns duplex-link-op $n2
$n3 queuePro0.5
NSG2(20) # 在 NAM 中, TCP 的連線會以藍色表示 $tcp0 set fid_ 1
NSG2(21) # 在 NAM 中, UDP 的連線會以紅色表示 $udp2 set fid_ 2
NSG2(22)創新資料夾
NSG2(23)存檔
NSG2(24)terminal
NSG2(25)cd cnexample
NSG2(26)ns project1.tcl
NSG2(27)
NSG2(28)
NSG2(29)Out.tr
AnalysisEnd-to-End Delay 端點到端點的延遲= receiver time – sender timeJitter 抖動率 ( 延遲時間變化量 )
= (receiver time(j) – sender time(j)) – (receiver time(i) – sender time(i)), j > iThroughput 吞吐量packet loss 封包遺失率
NSG2(30)下載 measure-throughput.awk 檔 http://goo.gl/kvxHP0
awk –f measure-throughput.awk out.tr > cbr_delay
NSG2(31)sudo apt-get
Install gnuplot
NSG2(32)gnuplot
NSG2(33)gnuplot > set title “cbr_delay”gnuplot > set xlabel “simulation time”gnuplot > set ylabel “delay time”gnuplot > unset keygnuplot > set label “constant delay = 0.038706 sec” at 0.1 ,0.05gnuplot > set arrow from 0.5,0.05 to 0.5,0.04gnuplot > plot ”cbr_delay”
NSG2(34)
NSG2(35)gnuplot > set terminal gifgnuplot > set output “cbr_delay.gif”gnuplot > replot
NSG2(36)
作業本實驗請同學隨意設計一個網路拓譜,或如右圖,再將NSG2 所產生的 TCL 檔,利用NS及 AWK 指令 ( 如投影片59 , 64 指令 ) ,將產生的數值利用 gnuplot 繪出圖形且產生 GIF 檔 ( 如投影片 70頁 ) 。
作業Doc 檔上,須說明 :
1.封面 (班級、學號、姓名 )
檔名範例 :Hw3_498410561_張建雄2. 使用 NSG2 所產生的 TCL 檔3. 實驗結果圖 ( 如投影片 70頁 )
4.心得若有問題請 e-mail 給助教