Hướng dẫn dùng Cygwin cài đặt NS-2 trên Windows full update


Bài viết này nhằm mục đích giới thiệu với các bạn phần mềm NS2 ( Network Simualator version 2 ) và hướng dẫn sử dụng NS2 để mô phỏng các giao thức nói chung và các giao thức trong công nghệ MPLS nói riêng.

Bài viết được tập hợp từ các nguồn trên internet và quá trình thực hiện của bản thân. Tất cả các hướng dẫn đều có video minh hoạ.

Trong topic mọi người có thể cùng nhau thảo luận các vấn đề trong MPLS và các thắc mắc trong việc sử dụng NS2.

Mở đầu. 

Giáo trình thực hành và tài liệu về NS2 (tiếng việt + tiếng anh ) , tài liệu hướng dẫn các bài lab
Tài liệu này giới thiệu khá chi tiết về NS2.
Mời các bạn download link mediafire tại đây.

Tài liệu về việc xây dựng các thành phần MPLS trong NS2.

Cài đặt.

Sau khi đọc tài liệu trên các bạn có thể cài đặt theo 2 cách:
+ Cách 1: Cài đặt gói allinone
+ Cách 2: Cài đặt từng gói cần thiết.

Ở đây mình xun hướng dẫn theo cách 1.

Lưu ý ở bước này. Nếu bạn có ý định cài đặt NS2 để mô phỏng các giao thức khác thì bạn cần cài đặt thêm module hỗ trợ. Với việc mô phỏng MPLS thì bạn cần phải cài đặt thêm module MNS để có thể thực hiện được mô phỏng các giao thức trong MPLS. Do bản việc phát triển các module để mô phỏng MPLS được thực hiện bơi nhiều người nên khi tìm kiếm tài liệu có thể các bạn thấy tác giả khuyên dùng các bản Ns-allinone khác nhau.

Ví dụ với việc mô phỏng các giao thức phân phối nhãn (LDP) và định tuyến ràng buộc được khuyên dùng trên bản ns-allinone-2.18 còn mô phỏng giao thức RSVP-TE thì được khuyên dùng trên bản ns-allinone-2.29.

Với phạm vi bài viết này mình đã test thử với một số giao thức và đã thành công trên bản Ns-allinone-2.33 nên mình sẽ thực hiện trên bản này.
Bắt đầu cài đặt.
Mở terminal của ubuntu thực hiện các lần lượt lệnh sau để thực hiện việc cài đặt.

Dowload bộ cài ns-allinone-2.33
1.
Code:
wget http://nchc.dl.sourceforge.net/sourceforge/nsnam/ns-allinone-2.33.tar.gz
Chú ý, nếu down bộ cài NS2 trước rồi thì bạn copy bộ cài vào thư mục home của bạn (thư mục home có dạng /home/"tên đăng nhập" ) của ubuntu không cần thực hiện lệnh trên nữa. Ví dụ mình đăng nhập với tên sun thì thư mục home của mình là /home/sun

Giải nén ns-allinone-2.33

2.
Code:
tar -xzvf ns-allinone-2.33.tar.gz
Di chuyển vào thư mục ns-allinone-2.33 bằng lệnh
3.
Code:
cd ns-allinone-2.33
Cài đặt thêm các gói cần thiết

Code:
sudo apt-get install -f build-essential libxt-dev libxt6 libsm-dev libsm6 libice-dev libice6 libxmu-dev
Thực hiện lênh sau để cài đặt.
4.
Code:
./install
Sau khi cài đặt bạn cần đặt lại đường dẫn cho các gói phần mềm. Cần chỉnh sửa thêm file /.bashrc. Để mở file /.bashrc thực hiện lệnh sau.

5.
Code:
gedit ~/.bashrc
Xuất hiện cửa sổ soạn thảo, bạn hãy thêm các dòng sau vào dưới cùng của cửa sổ này (sau từ fi). Tùy từng bản ns-allinone khác nhau mà tên các gói là khác nhau. Thường thì sau khi cài sẽ xuất hiện chỉ dẫn cho các đường dẫn, các bạn có thể copy từ đó xuống. Dưới là đường dẫn cho bản ns-allinone-2.33. Thư mục home của mình là /home/sun (sun chính là tến đăng nhập vào ubuntu của mình ). Tùy từng tên đăng nhập của mọi người thay cho hợp lý.

Code:

# LD_LIBRARY_PATH
OTCL_LIB=
/home/sun/ns-allinone-2.33/otcl-1.13
NS2_LIB=
/home/sun/ns-allinone-2.33/lib
X11_LIB=/usr/X11R6/lib
USR_LOCAL_LIB=/usr/local/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$X11_LIB:$USR_LOCAL_LIB

# TCL_LIBRARY
TCL_LIB=
/home/sun/ns-allinone-2.33/tcl8.4.18/library
USR_LIB=/usr/lib
export TCL_LIBRARY=$TCL_LIB:$USR_LIB# PATH
XGRAPH=
/home/sun/ns-allinone-2.33/bin:/home/sun/ns-allinone-2.33/tcl8.4.18/unix:/home/sun/ns-allinone-2.33/tk8.4.18/unix
NS=
/home/sun/ns-allinone-2.33/ns-2.33/ns
NAM=
/home/sun/ns-allinone-2.33/nam-1.13/nam
PATH=$PATH:$XGRAPH:$NS:$NAM
sau khi thiết lập đường dẫn xong bạn save file /.bashrc này lại và mở một cửa sổ terminal mới gõ lệnh ns nếu xuất hiện dấu % thì việc thiết lập là thành công.

Việc cuối cùng là xác mình lại việc cài đặt ns2. Di chuyển vào thư mục ns-2.33 (chú ý lúc này bạn đang ở thư mục ns2-allinone-2.33 , nếu bạn bật cửa sổ terminal mới thì bạn gõ lệnh đầy đủ

6.

Code:
cd ~/ns-allinone-2.33/ns-2.33

thực hiện lệnh dưới để xác minh lại việc cài đặt đã ổn hay chưa.
7.


Code:
 ./validate
Nếu không thông báo error thì bạn phải cài đặt lại. Thường sai sót trong quá trình cài đặt là ở việc đặt sai đường dẫn (biến môi trường ) cho các gói phần mềm.

Trên là quá trình cài đặt NS2 độc lập, như mình đã nói trước nếu bạn muốn cài đặt module cho việc mô phỏng MPLS nói riêng thì bạn cần cài thêm bản patch (MNS) cho ns2. Việc cài đặt patch được thực hiện như sau.

Thực hiện tương tự như trên nhưng trước khi gõ lệnh số 4 ("./install" ) bạn giải nén module MNS cho NS2 trước. Copy file mns_rsvp vào thư mục ns-allinone-.233 trong ubuntu rồi thực hiện lần lượt các lệnh sau

Code:
cp -R ns-2.33/ ns-2.33-goc
patch -p0 < mns_rsvp.patch
Sau đó tiếp tục thực hiện lệnh số 4 ( ./install ) và các lệnh còn lại như lúc cài đặt chưa hỗ trợ MPLS.

Cuối cùng kiểm tra việc cài đặt MNS xem đã thành công hay chưa bằng lệnh

Code:
ns /ns-allinone-2.33/ns-2.33/tcl/ex/mns_v2.0/test-constraint-routing.tcl
Nếu xuất hiện dòng thông báo trên cửa sổ terminal dưới thì việc cài đặt là thành công.

Chú ý : trong quá trình cài đặt bạn phải chờ để ubuntu tải các gói về. Hãy cố gắng làm chậm và từng bước một. Nêu có khó khăn gì hay post tại đây
mình và mọi người sẽ giúp các bạn

Hướng dẫn dùng Cygwin cài đặt NS-2 trên Windows

NS-2 (Network Simulation version 2) là phần mềm chuyên dùng để mô phỏng các giao thức mạng. Rất nhiều đề tài tốt nghiệp chuyên ngành CNTT sử dụng NS-2 để demo. Chúng ta có thể cài NS-2 trên Linux hoặc Windows. Trên Linux thì chỉ việc giải nén rồi gỏ ./install để cài (có thể set thêm biến môi trường) nhưng chẳng lẻ cài có NS-2 mà cần phải cài luôn Linux thì …. uổng

. NS-2 cũng có thể cài trên Windows bằng các sử dụng Cygwin để giả lập môi trường Linux. Sau đây là hướng dẫn cụ thể :razz:: 

Download Cygwin và NS-2 (phiên bản 2.27)

Sau khi download về giải nén, bạn được 4 file như sau:

Nhấp file setup.exe để cài. Chọn Install from Local Directory, next

Các bước còn lại như trong hình




Nhấn View, chỗ nào có Skip cứ nhấp vào hết (cài hết chắc ăn
:mrgreen:

) 


Trong khi cài, nếu có hộp thoại báo lỗi thiếu gói thì cũng OK cài tiếp (mình cài bị thiếu 1 gói). Thật ra mình cũng chưa hiểu hết các gói đó nhưng gói bị thiếu không ảnh hưởng gì đến việc cài NS-2
:evil:

Cài xong, bạn copy file ns-allinone-2.27.tar.gz trong thư mục ns-setup hồi nãy download (và giản nén) vào thư mụcC:cygwinhomeAdministrator

Trong đó Administrator là tên user bạn đang sử dụng. Lưu ý: tên user không được có khoảng trắng.

Nhấn shortcut ngoài desktop để chạy Cygwin
:arrow:

. Giải nén gói cài bằng cách gỏ lệnh sau: 


Vào thư mục vào giải nén và gỏ lệnh ./install để cài.


Đợi cho đến lúc cài xong (khoảng 15 phút) ….

Copy đè tập tin .bashrc trong thư mục ns_setup lúc tải về vào
C:cygwinhomeAdministrator. Tắt cygwin rồi mở lại:


Khởi động Xwin bằng cách gỏ lệnh startxwin.bat


Cữa sổ Cygwin hiện lên

Chạy thử một ví dụ NS-2, gỏ các lệnh như trong hình (dùng lệnh ns để chạy file source):


Vậy là ta đã chạy NS-2 trên windows được rồi đó!
:wink:


Một số Ebook và tài liệu tham khảo:
 


Link 1

Link 2

Link 3


*Hướng dẫn sửa lỗi cài ns-allinone-2.34 trên ubuntu 9.10
Mở terminal của ubuntu thực hiện các lần lượt lệnh sau để thực hiện việc cài đặt.
1. Dowload bộ cài ns-allinone-2.34


http://www.mediafire.com/?3f4q58xdpff7nq1

Chú ý, nếu down bộ cài NS2 trước rồi thì bạn copy bộ cài vào thư mục home của bạn (thư mục home có dạng /home/"tên đăng nhập" )
Ví dụ mình đăng nhập với tên mrviet thì thư mục home của mình là /home/mrviet

2.Giải nén ns-allinone-2.34
Code: tar -xzvf ns-allinone-2.34.tar.gz

3. Di chuyển vào thư mục ns-allinone-2.34 bằng lệnh
Code: cd ns-allinone-2.34

Cài đặt thêm các gói cần thiết

Đầu tiên update cho apt-get :
Lệnh code : sudo apt-get update

sau khi update xong ta thực hiện lệnh :
sudo apt-get install -f build-essential libxt-dev libxt6 libsm-dev libsm6 libice-dev libice6 libxmu-dev

4. Thực hiện lênh sau để cài đặt.
Code: ./install

Chú ý: với bản Ubuntu 9.10 có thể gặp lỗi sau
otcl.o: In function `OTclDispatch':
/home/ns/ns-allinone-2.34/otcl/otcl.c:495: undefined reference to `__stack_chk_fail_local'
otcl.o: In function `Otcl_Init':
/home/ns/ns-allinone-2.34/otcl/otcl.c:2284: undefined reference to `__stack_chk_fail_local'
ld: libotcl.so: hidden symbol `__stack_chk_fail_local' isn't defined
ld: final link failed: Nonrepresentable section on output
make: *** [libotcl.so] Error 1

Li này là do file config của otcl sử dụng nhầm linker (ld thay vì gcc).
Sửa bằng cách edit file otcl-1.13/configure trong thư mục ns-allinone-2.34
gedit otcl-1.13/configure
sửa dòng 6304 từ

SHLIB_LD="ld -shared"

thành
SHLIB_LD="gcc -shared"

5.Sau khi cài đặt bạn cần đặt lại đường dẫn cho các gói phần mềm. Cần chỉnh sửa thêm file /.bashrc. Để mở file /.bashrc thực hiện lệnh sau.

Code: gedit ~/.bashrc

Xuất hiện cửa sổ soạn thảo, bạn hãy thêm các dòng sau vào dưới cùng của cửa sổ này (dưới từ fi). Tùy từng bản ns-allinone khác nhau mà tên các gói là khác nhau. Thường thì sau khi cài sẽ xuất hiện chỉ dẫn cho các đường dẫn, các bạn có thể copy từ đó xuống. Dưới đây là đường dẫn cho bản ns-allinone-2.34. Thư mục home của mình là /home/mrviet ( mrviet chính là tến đăng nhập vào ubuntu 9.10 của mình ). Tùy từng tên đăng nhập của mọi người thay cho hợp lý.

Chỗ code này chú ý là : /home/mrviet là dùng cho máy của tớ tên đăng nhập là mrviet
còn của các bạn, tên đăng nhập gì thì thay /home/mrviet là : /home/tênđăngnhậpcủaban

Code:
#environment values for NS2/NAM

# LD_LIBRARY_PATH

OTCL_LIB=/home/mrviet/ns-allinone-2.34/otcl-1.13

NS2_LIB=/home/mrviet/ns-allinone-2.34/lib

X11_LIB=/usr/X11R6/lib

USR_LOCAL_LIB=/usr/local/lib

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$X11_LIB:$USR_LOCAL_LIB

# TCL_LIBRARY

TCL_LIB=/home/mrviet //ns-allinone-2.34/tcl8.4.18/library

USR_LIB=/usr/lib

export TCL_LIBRARY=$TCL_LIB:$USR_LIB

# PATH

XGRAPH=/home/mrviet/ns-allinone-2.34/bin:/home/mrviet/ns-allinone-2.34/tcl8.4.18/unix:/home/mrviet/ns-allinone-2.34/tk8.4.18/unix

NS=/home/mrviet/ns-allinone-2.34/ns-2.34/

NAM=/home/ mrviet/ns-allinone-2.34/nam-1.13/

PATH=$PATH:$XGRAPH:$NS:$NAM

Sau khi thiết lập đường dẫn xong bạn save file /.bashrc này lại và mở một cửa sổ terminal mới gõ lệnh ns nếu xuất hiện dấu % thì việc thiết lập là thành công.

6. Việc cuối cùng là xác mình lại việc cài đặt ns2. Di chuyển vào thư mục ns-2.34 (chú ý lúc này bạn đang ở thư mục ns2-allinone-2.34 , nếu bạn bật cửa sổ terminal mới thì bạn gõ lệnh đầy đủ

Code: cd ~/ns-allinone-2.33/ns-2.34

7. thực hiện lệnh dưới để xác minh lại việc cài đặt đã ổn hay chưa.

Code:
./validate

Cách 2:
Download file script genPATH (nội dung file xem ở cuối bài)
http://210.245.86.152/tantt/msk15/genPATH
(mirror http://www.mediafire.com/file/kjgg5njmz2q/genPATH )
đặt vào thư mục ns-allinone-2.34/

Chạy lệnh
bash genPATH
Sau đó chạy lệnh:
source ~/.bashrc
-Kiểm tra:
Chạy thử bằng cách gõ lệnh
ns
Nếu thấy xuất hiện dấu nhắc:
%
là đã thành công. Nếu chưa được kiểm tra lại bước Thiết lập biến môi trường.

+Cài đặt gnuplot và xgraph:

sudo apt-get install gnuplot xgraph

------------------------------------------------------
Nội dung file genPATH:
#!/bin/bash
PWD=`pwd`
ns2PATH="#LD_LIBRARY_PATH\n
OTCL_LIB=$PWD/`ls $PWD | grep tcl-`\n
NS2_LIB=`pwd`/lib\n
X11_LIB=/usr/X11R6/lib\n
USR_LOCAL_LIB=/usr/local/lib\n


# TCL_LIBRARY\n
TCL_LIB=$PWD/`ls $PWD | grep -e tcl[0-9].*`/library\n
USR_LIB=/usr/lib\n

# PATH\n
XGRAPH=`pwd`/bin:$PWD/`ls $PWD | grep -e 'tcl[0-9].*'`/unix:$PWD/`ls $PWD | grep -e 'tk[0-9].*'`/unix\n
NS=$PWD/`ls $PWD | grep -e 'ns-[0-9].*'`/\n
NAM=$PWD/`ls $PWD | grep -e 'nam-[0-9].*'`/"
echo -e $ns2PATH >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$X11_LIB:$USR_LOCAL_LIB'>>~/.bashrc
echo 'export TCL_LIBRARY=$TCL_LIB:$USR_LIB'>>~/.bashrc
echo 'PATH=$PATH:$XGRAPH:$NS:$NAM'>>~/.bashrc
Chay thu cac vi du sau:
1.Chạy thử ns
+di chuyển vaò thư mục ex bằng lệnh sau:
cd ~/ns-allinone-2.34/ns-2.34/tcl/ex
+chạy thử nghiệm file tcpapptcl:
ns tcpapp.tcl
2.Chạy thử Nam
cd ~/ns-allinone-2.34/nam-1.13/ex
nam lan.nam
3.Chạy thử X-Graph
cd ~/ns-allinone-2.34/xgraph-12.1/examples
Chạy thử fileAnimation.xg :
xgraph Animation.xg

Post a Comment

Mới hơn Cũ hơn