Phần mềm NS-2

Một phần của tài liệu Vấn đề năng lượng trong mạng Wireless Sensor và đánh giá bằng mô phỏng (Trang 55 - 58)

a) Giới thiệu NS-2

NS-2 ( Network Simulator phiên bản 2) là chơng trình mô phỏng mạng theo phơng pháp mô phỏng các sự kiện rời rạc. NS-2 hỗ trợ mô phỏng mạng có dây và không dây, TCP, UDP , các giao thức truyền thông điểm-đa điểm và định tuyến khác,.v.v. NS-2 đợc viết bằng C++ và ngôn ngữ hớng đối tợng Tcl (Otcl: object-oriented tool command language).

NS-2 có một lịch sử khá dài, bắt nguồn từ các phần mềm REAL của UCB (1989) và NEST của Colombia (1992). Đến năm 1995, NS-2 đợc phát triển trong dự án VINT (Virtual InterNet Testbed hay nền kiểm thử Internet ảo). VINT là dự án hợp tác giữa AT&T Reseach, Lawrence Berkeley National Laboratory, ETH TIK, Xerox PARC, UCB-Berkeley và USC/ISI. Hiện nay, Ns đang tiếp tục đợc phát triển trong các dự án SAMAN và CONSER, cùng với sự hợp tác của nhiều nhà nghiên cứu và ACIRI. Những tổ chức đã đóng góp đáng kể vào NS-2 là UCB Daeledus, UMU Monarch và Sun MicroSystems.

So với các phần mềm mô phỏng mạng khác, NS-2 có những u thế sau: - NS-2 có mã nguồn mở miễn phí.

- NS-2 có kiến trúc mở, tạo điều kiện thuận lợi cho việc mở rộng

- NS-2 đợc phát triển từ các phần mềm nổi tiếng trên thế giới nh REAL, NEST nên nó có những điểm mạnh và đã khắc phục đợc những yếu điểm của các phần mềm này - NS-2 hỗ trợ các tính năng cơ bản của mạng IP, từ đó có thể phát triển thêm các phần tử

mạng.

- NS-2 có cấu trúc modul, rất thuận tiện cho việc nghiên cứu tìm hiểu và phát triển. Nhìn từ phía ngời sử dụng , NS-2 là chơng trình biên dịch mã Otcl đợc liên kết tới th viện C++ . Các đối tợng cơ sở nh tcp, CBR,..đợc xây dựng trong C++. Đầu vào NS-2 là tập mã lệnh Otcl , đầu ra là các tập tin mô phỏng tiến trình theo yêu cầu đợc thể hiện trong tập lệnh Otcl.

Hình 3.1: Cấu trúc chơng trình NS-2

Kết quả mô phỏng có thể quan sát bằng hình ảnh mô tả trực quan với ứng dụng Nam ( the Network Animator ), bằng đồ thị (sử dụng Xgraph) hoặc có thể đợc xử lý bằng các tập lệnh tuỳ chọn. Với cấu trúc này, việc sử dụng NS-2 trở lên đơn giản hơn nhiều so với sử dụng trực tiếp C++ nhng vẫn có đợc những tính năng của C++.

Với những đặc điểm trên, NS-2 thực sự là một công cụ phần mềm hữu ích cho việc học tập, nghiên cứu mạng thông tin, giúp cho việc thực hành mạng trở lên hiệu quả hơn.

b) Cơ chế hoạt động của phần mềm NS-2

Hoạt động của NS-2 đợc chia thành hai phần là phần dữ liệu (đợc xây dựng trong C++) và phần điều khiển (đợc xây dựng trong Otcl). Để giảm thời gian xử lý gói và sự kiện, thời biểu sự kiện và các đối tợng thành phần mạng cơ bản trong phần số liệu đợc viết và biên dịch bằng C++. Các đối tợng đợc biên dịch này đợc tạo sẵn và đợc liên kết tới Otcl qua bộ thông dịch Otcl. Mỗi đối tợng C++ này đợc điều khiển và đợc thiết lập các tham số thông qua một đối tợng điều khiển tơng ứng trong Otcl. Các đối tợng C++ không cần điều khiển hoặc chỉ hoạt động nội tại trong phần C++ thì không cần liên kết đến Otcl. Tơng tự, cũng có một số đối tợng (không nằm trong phần dữ liệu) có thể hoạt động hoàn toàn chỉ trong Otcl. Các đối tợng điều khiển trong Otcl đợc ánh xạ 1-1 tới các đối tợng cần điều khiển trong C++. Nh vậy, cấu trúc phân cấp các đối tợng này trong hai phần C++ và Otcl là tơng tự nhau. Quan hệ giữa C++ và Otcl đợc minh họa trên hình 3.2.

Hình 3.2: Tính đối ngẫu giữa C++ và Otcl

( mã nguồn ) biên dịch Otcl phỏng

Các thư viện C++

Tcl. Việc thiết lập và chạy mô phỏng trong Tcl sử dụng các đối tợng trong th viện Otcl. Thời biểu các sự kiện và hầu hết các thành phần mạng hoạt động trong C++ và đợc liên kết tới Otcl. Việc này đợc thực hiện bởi lớp tclcl.

Chơng trình NS-2 có nhiều phiên bản chạy trên các hệ điều hành khác nhau và với các yêu cầu cài đặt khác nhau. Trong đồ án này, phiên bản ns-allinone-2.27, chạy trên Windows trong môi trờng Cygwin/X đợc sử dụng để tìm hiểu một số các tính chất của mạng Wireless Sensor. Cygwin/X cung cấp một giao diện chơng trình ứng dụng (API) giống nh hệ điều hành UNIX trên khuôn dạng Windows do NS-2 không chạy trực tiếp trên Windows.

Hình 3.3: Kiến trúc tổng quan của NS-2

Môi trờng ns - 2 là công cụ hết sức linh hoạt trong việc nghiên cứu các đặc tính của mạng cảm biến không dây (Wireless Sensor network) vì nó có sẵn các mô hình cho mạng ad-hoc không dây, có ràng buộc về năng lợng. Trong ns - 2, một mạng Sensor có thể đợc xác định với nhiều tổ hợp các đặc tính nh thực tế. Môi trờng mạng di động trong ns - 2, cung cấp sự hỗ trợ lẫn nhau giữa các giao thức nh hình 3.12

Thời biểu các sự kiện NS-2

Các thành phần mạng Tcl 8.0 Otcl tclcl

Hình 3.4: Các giao thức đợc hỗ trợ trong NS-2 mô phỏng mạng không dây

Với cơ sở này, ta chỉ cần thêm vào NS-2 một số đối tợng và thuộc tính để mô phỏng mạng Sensor.

Một phần của tài liệu Vấn đề năng lượng trong mạng Wireless Sensor và đánh giá bằng mô phỏng (Trang 55 - 58)