NS2 – Installation
Outline Introduction Install Cygwin Install NS2
Introduction-NS2 The simulation network environment software Wired Wireless Install NS2 Under UNIX NS2 Under Windows Cygwin + NS2
Install Cygwin Cygwin 下載:http://cygwin.com/
Install Cygwin 執行所下載的 setup.exe
Install Cygwin 選擇安裝模式:Install from Internet
Install Cygwin 選擇所下載安裝檔案的暫存目錄
Install Cygwin 選擇 Internet 的連接方式
Install Cygwin 選擇下載地點:
Install Cygwin 選擇要安裝的軟體套件:選擇X11整個系列的套件(Default -> Install)
Install Cygwin 切換目錄模式:點選 View 按鈕,顯示所有套件的資訊(Category → Full)
Install Cygwin 利用搜尋的方式,選擇細部套件:套件 – gcc4、gcc、gcc-g++、gnuplot、make、patch、perl、tar、 X11全裝、diffutils、gawk、tar、 gzip、w32api(Skip -> X.X.X<軟體的版本>)
Install Cygwin 下載安裝中
Install Cygwin 安裝完成
Cygwin 開啟Cygwin,並確認有如下圖同表示成功安裝 帳號@電腦名稱
Download NS2 NS2 下載 http://www.isi.edu/nsnam/ns/ns-build.html#allinone 下載 ns-allinone-2.34.tar.gz 插入圖片
Install NS2 手動解壓縮 ns-allinone-2.34.tar.gz 將下載的檔案存放於 “E:\cygwin\home\帳號” 目錄下,並且解壓縮至此 手動解壓縮 ns-allinone-2.34.tar.gz 輸入解壓縮指令tar zxvf ns-allinone-2.34.tar.gz
Edit file1 編輯tclUnixTime.c ns-allinone-2.34\tcl8.4.18\unix\tclUnixTime.c 複製下面的內容加進去到tclUnixTime.c 程式碼檔案的 #include標頭檔的下面 #ifndef TIMEZONE_DEFINED_ #define TIMEZONE_DEFINED_ struct timezone { int tz_minuteswest; int tz_dsttime; }; #endif
Edit file2 編輯ns-linux-util.h ns-allinone-2.34\ns-2.34\tcp\linux\ns-linux-util.h 18行~24行 增加此行#include <stdint.h> #ifndef NS_LINUX_UTIL_H #define NS_LINUX_UTIL_H #include <stdlib.h> #include <stdint.h> #include "ns-linux-param.h" extern struct tcp_congestion_ops tcp_reno;
Edit file2 47行~55行 刪除2行 #define s32 long #define s64 long long #define uint64_t u64 #define uint32_t u32 #define ktime_t s64 extern ktime_t net_invalid_timestamp(); extern int ktime_equal(const ktime_t cmp1,const ktime_t cmp2);
Install NS2 切換至 ns-allinone-2.34目錄 cd ns-allinone-2.34
Install NS2 安裝 NS2 ./install
Install NS2 在安裝的過程中,由於Cygwin沒有安裝 diff套件,所以安裝程式會詢問要不要繼續,選擇 y 繼續安裝
Confirm Error 下圖為./install成功
Edit file3 在安裝完成後,在”E:\cygwin\home\帳號\.bashrc”檔案的最下面,加入下列的環境變數 export NS_HOME=/home/帳號/ns-allinone-2.34 export PATH==$NS_HOME/nam-1.15:$NS_HOME/tcl8.4.18/unix:$NS_HOME/tk8.4.18/unix:$NS_HOME/bin:$PATH export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.18/unix:$NS_HOME/tk8.4.18/unix:$NS_HOME/otcl1.13:$NS_HOME/lib:$LD_LIBRARY_PATH export TCL_LIBRARY=$NS_HOME/tcl8.4.18/library
Dwonload dos2unix-5.3.1 上網下載此檔案dos2unix-5.3.1-win32.zip 建立目錄dos2unix 解壓縮到/ns-allinone-2.34/dos2unix 將.bashrc複製到dos2unix目錄下 cd ns-allinone-2.34/dos2unix dos2unix .bashrc dos2unix目錄下的.bashrc 複蓋回去原來的位置 *注意:重新編譯好的.bashrc 檔案大小比原來的小
Dwonload examples http://www.isi.edu/nsnam/dist/ 下載 ns-allinone-2.29 版本 解壓縮後,找到ns-tutorial資料夾複製到ns-allinone-2.34/ns-2.34/底下 (如2.35版的無須下載範例)
Verify NS2 安裝驗證 cd ns-allinone-2.34/ns-2.34 ; ./validate 驗證非常耗時
Run example 執行範例 在命令列中輸入 startxwin 產生新視窗
Run example 執行範例(Cont.) 輸入 cd ns-allinone-2.34/ns-2.34/ns-tutorial/examples (2.34) ns-allinone-2.35/ns-2.35/tcl/ex (2.35) 輸入 ns example2.tcl(2.34) ns nam-example.tcl(2.35)
Result 執行範例(Cont.)
Reference Cygwin The Network Simulator - ns-2 http://www.cygwin.com/ The Network Simulator - ns-2 http://www.isi.edu/nsnam/ns/ Running Ns and Nam Under Windows 9x/2000/XP Using Cygwin http://www.sims.berkeley.edu/~christin/ns-cygwin.shtml Learing NS Website http://netlab.cse.yzu.edu.tw/ns2/ns2_website/