Giới thiệu bộ mô phỏng mạng NS-2

Một phần của tài liệu Khảo sát mạng LAN với các phần mở rộng không dây (Trang 56)

NS (Network Simulator) là một phần mềm mô phỏng mạng, được Bộ Quốc phòng Mỹ phát triển từ bộ mô phỏng REAL (Realistic and Large) của S.Keshav năm 1989. Các phiên bản 2.xx của NS ra đời sau năm 1997, từ đó người ta thường gọi là bộ mô phỏng NS-2. Bộ mô phỏng được vận hành theo cơ chế sử dụng các sự kiện rời rạc, có thứ tự. Người sử dụng có thể thay đổi cấu hình và mở rộng mô hình mạng rất dễ dàng bằng cách lập trình thêm vào một số modul chương trình.

NS là bộ mô phỏng hướng sự kiện viết bằng C++, với một trình thông dịch OTCL giao tiếp với người sử dụng. Những đối tượng được biên dịch này sẽ được kết nối tới bộ thông dịch OTCL qua trình liên kết OTCL. Các đối tượng OTCL tương ứng với mỗi đối tượng trong C++ và ngược lại các hàm và biến trong đối tượng C++ chuyển thành các hàm và biến trong đối tượng OTCL tương ứng.

Hình 4.1: Sự kết hợp giữa C++ và OTCL trong NS

NS có thể mô phỏng các mạng LAN, mạng không dây, mạng hỗn hợp (có dây và không dây), mạng vệ tinh. NS thực thi các giao thức mạng như TCP, UDP; các nguồn sinh lưu lượng của các ứng dụng như FTP, Telnet, Web, với tốc độ bit cố định (CBR) và Tốc độ bit thay đổi (VBR); các kỹ thuật quản lý hàng đợi như Vào trước Ra trước (FIFO / Drop Tail), loại bỏ sớm ngẫu nhiên (RED) và phục vụ theo mức ưu tiên dựa trên việc phân lớp - CBQ; các thuật toán định tuyến như Dijkstra… NS cũng thực thi phương thức đánh địa chỉ multicasting và vài giao thức lớp Điều khiển truy cập đường truyền (MAC) đối với mô phỏng LAN.

Hình 4.2: Tổng quan về NS dưới góc độ người dùng

− OTcl Script Kịch bản OTcl

− Simulation Program Chương trình Mô phòng

− OTcl Bộ biên dịch Tcl mở rộng hướng đối tượng

− Event Scheduler Objects Các đối tượng Bộ lập lịch Sự kiện

− Network Component Objects Các đối tượng Thành phần Mạng

− Network Setup Helping Modules Các mô đun Trợ giúp Thiết lập Mạng

− Plumbling Modules Các mô đun Plumbling

− Simulation Results Các kết quả Mô phỏng

− Analysis Phân tích

− NAM Network Animator Minh họa Mạng NAM

Trong hình trên, NS là Bộ biên dịch Tcl mở rộng hướng đối tượng; bao gồm các đối tượng Bộ lập lịch Sự kiện, các đối tượng Thành phần Mạng và các mô đun Trợ giúp thiết lập mạng (hay các mô đun Plumbing).

Để sử dụng NS-2, người sử dụng lập trình bằng ngôn ngữ kịch bản OTcl. Người sử dụng có thể thêm các mã nguồn Otcl vào NS-2 bằng cách viết các lớp đối tượng mới trong OTcl. Những lớp này khi đó sẽ được biên dịch cùng với mã nguồn gốc. Kịch bản OTcl có thể thực hiện những việc sau:

o Khởi tạo Bộ lập lịch Sự kiện

o Thiết lập Mô hình mạng dùng các đối tượng Thành phần Mạng

o Báo cho nguồn traffic khi nào bắt đầu truyền và ngưng truyền packet trong Bộ lập lịch Sự kiện

Thành phần lớn khác của NS bên cạnh các đối tượng Thành phần Mạng là Bộ lập lịch Sự kiện. Bộ lập lịch Sự kiện trong NS-2 thực hiện những việc sau:

o Tổ chức bộ định thời Mô phỏng

o Huỷ các sự kiện trong hàng đợi sự kiện

o Triệu gọi các thành phần mạng trong mô phỏng

Phụ thuộc vào mục đích của người sử dụng đối với kịch bản mô phỏng OTcl mà kết quả mô phỏng có thể được kết xuất ra tệp vết các sự kiện (trace file). Tệp vết sẽ được các ứng dụng khác đọc và sử dụng để thực hiện phân tích:

o File nam trace (file.nam) được dùng cho công cụ quan sát hoạt động của mạng bằng đồ họa NAM.

o File Trace (file.tr) được dùng cho người nghiên cứu phân tích và kết xuất kết quả bằng các công cụ khác nhau, thí dụ bằng chương trình Perl, Awk, C++ ...

Hình 4.3: Luồng các sự kiện mô phỏng được kết xuất ra file − NAM Visual Simulation Mô phỏng ảo NAM

− Tracing and Monitoring Simulation Mô phỏng Lần vết và Giám sát

Một phần của tài liệu Khảo sát mạng LAN với các phần mở rộng không dây (Trang 56)