1 Giới thiệu
Trình mô phỏng mạng là công cụ được sử dụng để mô phỏng các sự kiện rời rạc trong mạng và giúp dự đoán hành vi của mạng máy tính. Nhìn chung, các mạng được mô phỏng có các thực thể như liên kết, bộ chuyển mạch, trung tâm, ứng dụng, v.v. Sau khi mô hình mô phỏng hoàn tất, nó được thực thi để phân tích hiệu suất. Sau đó, người quản trị có thể tùy chỉnh trình mô phỏng để phù hợp với nhu cầu của họ. Trình mô phỏng mạng thường hỗ trợ các giao thức và mạng phổ biến nhất hiện nay, chẳng hạn như WLAN, UDP, TCP, IP, WAN, v.v.Hầu hết các trình mô phỏng hiện có đều dựa trên ứng dụng GUI như NCTUNS trong khi một số trình khác bao gồm NS2 dựa trên CLI. Mô phỏng mạng bao gồm việc cấu hình các thành phần trạng thái như liên kết, công tắc, trung tâm, thiết bị đầu cuối, v.v. và cả các sự kiện như tỷ lệ loại bỏ gói tin, trạng thái phân phối, v.v. Đầu ra quan trọng nhất của mô phỏng là các tệp theo dõi. Tệp theo dõi ghi lại mọi gói tin, mọi sự kiện xảy ra trong mô phỏng và được sử dụng để phân tích. Các trình mô phỏng mạng cũng có thể cung cấp các công cụ khác để tạo điều kiện phân tích trực quan các xu hướng và các điểm có sự cố tiềm ẩn. Hầu hết các mô phỏng được thực hiện theo các khoảng thời gian rời rạc, trong đó các sự kiện trong hàng đợi được xử lý lần lượt theo thứ tự.
Vì mô phỏng là một nhiệm vụ phức tạp, chúng tôi không thể đảm bảo rằng tất cả các trình mô phỏng có thể cung cấp kết quả chính xác hoặc đúng cho tất cả các loại thông tin khác nhau. Ví dụ về trình mô phỏng mạng là: ns, NCTUNS, NetSim, v.v.
ns2 là tên của một loạt trình mô phỏng mạng sự kiện rời rạc như ns-1, ns-2 và ns-3. Tất cả chúng đều là trình mô phỏng mạng sự kiện rời rạc, chủ yếu được sử dụng trong nghiên cứu và giảng dạy. ns2 là phần mềm miễn phí, được cung cấp công khai theo giấy phép GNU GPLv2 để nghiên cứu, phát triển và sử dụng.
Bài đăng này đề cập đến việc cài đặt "ns2" còn được gọi là "network simulator 2" trong Ubuntu 14.04.
2 Tải xuống và giải nén ns2
Tải xuống gói tất cả trong một cho ns2 từ tại đâyGói đã tải xuống sẽ có tên là "ns-allinone-2.35.tar.gz". Sao chép nó vào thư mục home. Sau đó, trong một thiết bị đầu cuối, hãy sử dụng hai lệnh sau để trích xuất nội dung của gói.:
Mã:
cd ~/[B]tar -xvzf ns-allinone-2.35.tar.gz
3 Xây dựng các phụ thuộc
Ns2 yêu cầu một số gói phải được cài đặt sẵn. Nó cũng yêu cầu GCC phiên bản 4.3 để hoạt động chính xác. Vì vậy, hãy cài đặt tất cả chúng bằng cách sử dụng lệnh sau:
Mã:
sudo apt-get install build-essential autoconf automake libxmu-dev
Mã:
sudo apt-get install gcc-4.4
Sau khi quá trình cài đặt hoàn tất, chúng ta phải thực hiện thay đổi trong tệp "ls.h". Sử dụng các bước sau để thực hiện thay đổi:
Điều hướng đến thư mục "linkstate", sử dụng lệnh sau. Ở đây, giả sử rằng thư mục ns được giải nén nằm trong thư mục home của hệ thống.
Mã:
cd ~/ns-allinone-2.35/ns-2.35/linkstate
Mã:
gedit ls.h
Lưu tệp đó và đóng tệp.
Bây giờ, còn một bước nữa phải thực hiện. Chúng ta phải cho ns biết phiên bản GCC nào sẽ được sử dụng. Để thực hiện việc này, hãy vào thư mục ns của bạn và nhập lệnh sau:
Mã:
Sudo gedit ns-allinone-2.34/otcl-1.13/Makefile.in
Trong tệp, hãy thay đổi Change CC= @CC@ thành CC=gcc-4.4, như hiển thị trong hình bên dưới.
4 Cài đặt
Bây giờ chúng ta đã sẵn sàng để cài đặt ns2. Để làm như vậy, trước tiên chúng ta cần quyền root và sau đó chúng ta có thể chạy tập lệnh cài đặt. Sử dụng hai lệnh sau:
Mã:
sudo su cd ~/ns-allinone-2.35/./install
Hình ảnh bên dưới cho thấy giao diện của nó khi thực hiện thành công
Mất gần 6 phút để xây dựng và cài đặt ns2 trên hệ thống của tôi. Nhưng trước khi chạy, chúng ta cần thêm đường dẫn xây dựng vào đường dẫn môi trường.
5 Thiết lập Đường dẫn Môi trường
Bước cuối cùng là cho hệ thống biết các tệp cho ns2 được cài đặt hoặc hiện diện ở đâu. Để thực hiện việc đó, chúng ta phải thiết lập đường dẫn môi trường bằng tệp ".bashrc". Trong tệp đó, chúng ta cần thêm một vài dòng ở cuối. Những thứ cần thêm được đưa ra bên dưới. Nhưng đối với đường dẫn được chỉ ra bên dưới, nhiều dòng trong số đó có "/home/akshay/ns-allinone-2.35/...." , nhưng đó là nơi tôi có thư mục đã giải nén của mình. Hãy đảm bảo rằng bạn thay thế chúng bằng đường dẫn của mình. Ví dụ, nếu bạn đã cài đặt nó trong thư mục "/home/abc", hãy thay thế "/home/akshay/ns-allinone-2.35/otcl-1.14" bằng "/home/abc/ns-allinone-2.35/otcl-1.14".Thực hiện thao tác này cho tất cả các dòng bắt buộc.
Mã:
sudo gedit ~/.bashrc
Mã:
# LD_LIBRARY_PATHOTCL_LIB=/home/akshay/ns-allinone-2.35/otcl-1.14NS2_LIB=/home/akshay/ns-allinone-2.35/libX11_LIB=/usr/X11R6/libUSR_LOCAL_LIB=/usr/local/libexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$X11_LIB:$USR_LOCAL_LIB# TCL_LIBRARYTCL_LIB=/home/akshay/ns-allinone-2.35/tcl8.5.10/libraryUSR_LIB=/usr/libexport TCL_LIBRARY=$TCL_LIB:$USR_LIB# PATHXGRAPH=/home/akshay/ns-allinone-2.35/bin:/home/akshay/ns-allinone-2.35/tcl8.5.10/unix:/home/akshay/ns-allinone-2.35/tk8.5.10/unix#hai dòng trên bắt đầu từ xgraph và kết thúc bằng unix phải nằm trên cùng một dòngNS=/home/akshay/ns-allinone-2.35/ns-2.35/NAM=/home/akshay/ns-allinone-2.35/nam-1.15/PATH=$PATH:$XGRAPH:$NS:$NAM
6 Chạy ns2
Sau khi hệ thống khởi động lại, hãy mở terminal và khởi động ns2 bằng cách sử dụng lệnh sau:
Mã:
ns