Phần mềm NS-2

Một phần của tài liệu CÁC ỨNG DỤNG CỦA CÔNG NGHỆ CẢM BIẾN KHÔNG DÂY VÀ ĐÁNH GIÁ BẰNG MÔ PHỎNG (Trang 77 - 80)

a/ Gii thiu NS-2

NS-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 module, 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.9: 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++ nhưng 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ế hot động ca phn mm 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ạ

NS-2 Tập lệnh Otcl (mã nguồn) Chương trình biên dịch Otcl Kết quả mô phỏng Các thư viện C++

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.10.

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

Hình 3.11 chỉ ra kiến trúc NS-2. Trong kiến trúc này, người sử dụng (không phải người phát triển NS-2) ở vị trí góc dưới bên trái. Dữ liệu đầu vào là tập lệnh Otcl được phân tích bởi lớp 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.

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

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 cảm biến không dây. 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.

Thời biểu các sự kiện NS-2 Các thành phần mạng Tcl 8.0 Otcl tclcl

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 cảm biến 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. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 3.12: 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 cảm biến.

Một phần của tài liệu CÁC ỨNG DỤNG CỦA CÔNG NGHỆ CẢM BIẾN KHÔNG DÂY VÀ ĐÁNH GIÁ BẰNG MÔ PHỎNG (Trang 77 - 80)