Bộ mô phỏng NS2

Một phần của tài liệu Đánh giá hiệu suất bằng mô phỏng các thuật toán định tuyến trong mạng đặc biệt di động manet (Trang 35)

NS2 (Network Simulation 2) [27] là bộ mô phỏng đa giao thức thuộc dự án nghiên cứu và phát triển của các nhà nghiên cứu tại trường đại học UC Berkeley từ

năm 1989 phục vụ cho các nghiên cứu về sự làm việc của mạng. NS2 có chứa một thư viện phong phú các mô hình khác nhau dùng cho việc nghiên cứu mạng. Khác với các chương trình mô phỏng riêng lẻ được phát triển cho các mục đích nghiên cứu cụ thể, ví dụ các chương trình mô phỏng ATM hoặc PIM muticast, khả năng mô phỏng của NS2 bao gồm các mạng có dây và không dây.

Bên cạnh đó, NS2 là phần mềm mã nguồn mởđược quan tâm và phát triển bởi nhiều nhà nghiên cứu thuộc các viện, trường đại học và các trung tâm nghiên cứu. Trong hỗ trợ mô phỏng mạng MANET, phần mã mô phỏng lớp vật lý, lớp liên kết và lớp MAC được xây dựng bởi nhóm Mornach trường CMU [17,31]. Với các hỗ

trợ mô phỏng này, NS2 được dùng rộng rãi trong nghiên cứu mạng MANET. Đặc biệt, việc mở rộng các chức năng mô phỏng mạng MANET của NS2 nằm trong mối quan tâm và chủđề thảo luận của nhóm làm việc MANET, tổ chức IETF [12].

Về thiết kế chung, NS2 là bộ mô phỏng vận hành theo các sự kiện rời rạc (Discrete Event-Drivent Simulator) [17]. Để thực hiện điều đó, NS2 sử dụng một hàng đợi chứa các sự kiện được sắp xếp theo thứ tự thời gian xảy ra. Bộ lập lịch sự

kiện quản lý thời gian mô phỏng và cho thi hành các sự kiện trong hàng đợi sự kiện tại thời điểm được lập lịch và gọi tới thành phần mạng thích hợp. Ví dụ, một thành phần chuyển mạch mạng (switch) được mô phỏng với thời gian trễ chuyển mạch là 20 ms, gói tin qua chuyển mạch sẽ được làm trễ 20 ms trước khi phát ra đường ra thích hợp.

Để tối ưu hóa việc chạy mô phỏng và mở rộng, NS2 sử dụng mô hình lập trình phân tách, hướng đối tượng gồm hai thành phần: C++ được dùng để phát triển hạt nhân của bộ mô phỏng (bộ lập lịch sự kiện, các đối tượng thành phần mạng cơ bản)

để làm giảm thời gian xử lý gói tin và các sự kiện là thời gian không tính vào thời gian mô phỏng; OTcl thực hiện việc định cấu hình và điều khiển mô phỏng.

NS2 có thể thoã mãn các nhu cầu của người nghiên cứu mạng với các hỗ trợ

như sau [19]:

• Khả năng trừu tượng hóa: Người nghiên cứu có thể nghiên cứu các giao thức mạng ở nhiều mức khác nhau, từ chi tiết hành vi của một giao thức đơn lẻ

cho đến sự kết hợp của nhiều luồng dữ liệu và tương tác của nhiều giao thức. Do vậy, cho phép so sánh dễ dàng các kết quả chi tiết và trừu tượng.

• Khả năng tương tác với mạng thực: cho phép chương trình mô phỏng

đang chạy tương tác với các nút mạng thực sự, đang hoạt động.

• Khả năng tạo ngữ cảnh: Việc kiểm chứng các giao thức dưới các điều kiện mạng thích hợp là quan trọng để đạt được các kết quả hợp lệ và hữu ích. NS2 hỗ trợ khả năng tạo tựđộng các mẫu lưu lượng, hình trạng mạng phức tạp và các sự kiện động như lỗi liên kết để tạo các ngữ cảnh mạng theo yêu cầu của người nghiên cứu.

• Khả năng trực quan hóa: Người nghiên cứu cần các công cụ để giúp hiểu được các hành vi phức tạp trong mô phỏng mạng. Với công cụ NAM người nghiên cứu có thể hiển thị động, trực quan về giao thức và do đó dễ

dàng gỡ rối các giao thức.

• Khả năng mở rộng được: Bộ mô phỏng cho phép mở rộng dễ dàng các chức năng mới và do đó cho phép thực hiện các nghiên cứu về giao thức mới.

Một phần của tài liệu Đánh giá hiệu suất bằng mô phỏng các thuật toán định tuyến trong mạng đặc biệt di động manet (Trang 35)

Tải bản đầy đủ (PDF)

(77 trang)