Transcript Document

NS2 – Installation
Outline

Introduction

Install Cygwin

Install NS2
2
Introduction-NS2


The simulation network environment software

Wired

Wireless
Install NS2

Under UNIX


NS2
Under Windows

Cygwin + NS2
3
Install Cygwin

Cygwin 下載:http://cygwin.com/
4
Install Cygwin

執行所下載的 setup.exe
5
Install Cygwin

選擇安裝模式:Install from Internet
6
Install Cygwin

選擇所下載安裝檔案的暫存目錄
7
Install Cygwin

選擇 Internet 的連接方式
8
Install Cygwin

選擇下載地點:
9
Install Cygwin

選擇要安裝的軟體套件:選擇X11整個系列的套件
(Default -> Install)
10
Install Cygwin

切換目錄模式:點選 View 按鈕,顯示所有套件的
資訊(Category → Full)
11
Install Cygwin

利用搜尋的方式,選擇細部套件:套件 – gcc4、gcc、gcc-g++、gnuplot
、make、patch、perl、tar、 X11全裝、diffutils、gawk、tar、 gzip、
w32api(Skip -> X.X.X<軟體的版本>)
12
Install Cygwin

下載安裝中
13
Install Cygwin

安裝完成
14
Cygwin

開啟Cygwin,並確認有如下圖同表示成功安裝
帳號@電腦名稱
15
Download NS2

NS2 下載

http://www.isi.edu/nsnam/ns/ns-build.html#allinone

下載 ns-allinone-2.34.tar.gz

插入圖片
16
Install NS2

將下載的檔案存放於 “E:\cygwin\home\帳號” 目錄下,並且解壓縮至此


手動解壓縮 ns-allinone-2.34.tar.gz
輸入解壓縮指令tar zxvf ns-allinone-2.34.tar.gz
17
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
18
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;
19
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);
20
Install NS2

切換至 ns-allinone-2.34目錄

cd ns-allinone-2.34
21
Install NS2

安裝 NS2

./install
22
Install NS2

在安裝的過程中,由於Cygwin沒有安裝 diff套件,
所以安裝程式會詢問要不要繼續,選擇 y 繼續安裝
23
Confirm Error

下圖為./install成功
24
Edit file3

在安裝完成後,在”E:\cygwin\home\帳號\.bashrc”檔案
的最下面,加入下列的環境變數
export NS_HOME=/home/帳號/ns-allinone-2.34
export PATH==$NS_HOME/nam1.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_H
OME/otcl1.13:$NS_HOME/lib:$LD_LIBRARY_PATH
export TCL_LIBRARY=$NS_HOME/tcl8.4.18/library
25
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 檔案大小比原來的小
26
Dwonload examples


http://www.isi.edu/nsnam/dist/
下載 ns-allinone-2.29 版本
解壓縮後,找到ns-tutorial資料夾複製到ns-allinone2.34/ns-2.34/底下
(如2.35版的無須下載範例)

27
Verify NS2

安裝驗證

cd ns-allinone-2.34/ns-2.34 ; ./validate

驗證非常耗時
28
Run example

執行範例

在命令列中輸入 startxwin 產生新視窗
29
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)
30
Result

執行範例(Cont.)
31
Reference

Cygwin
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/
32