Network simulator 2 (ns2) là kết quả nghiên cứu, phát triển và được quản lý bởi nhóm nghiên cứu tại Berkeley. Nó là bộ mơ phỏng các sự kiện rời rạc nhằm mục đích nghiên cứu trong lĩnh vực mạng máy tính. Thực chất nó hỗ trợ để mơ phỏng cho TCP, định tuyến và các giao thức mạng multicast.
Hình 4.1: Network Simulator 2.
Bộ mô phỏng này được viết bằng C++ và ngôn ngữ kịch bản OTcl1
. Ns dùng một trình thơng dịch Otcl hướng đến người dùng. Điều này có nghĩa là người dùng viết một kịch bản Otcl để định nghĩa mạng (số nút mạng, các liên kết), lưu lượng mạng (nguồn, đích, loại lưu lượng) và giao thức nào sẽ được dùng. Sau đó kịch bản này được sử dụng bởi ns trong suốt quá trình mô phỏng. Kết quả đầu ra của mô phỏng là một tệp vết (trace file) có thể được dùng để xử
1
lý dữ liệu (tính delivery ratio, delay, throughput, …) và để quan sát mô phỏng bằng cách dùng một chương trình gọi là network animator (NAM). Phiên bản hiện tại của ns2 có hỗ trợ cho mơi trường không dây di động.
4.1.1 Nút mạng di động
Hình 4.2: Một nút mạng di động theo chuẩn không dây mở rộng CMU cho ns. Mỗi nút mạng di động làm cho việc dùng một tác tử định tuyến với mục đích tính tốn tuyến đường đi đến các nút khác trong mạng ad-hoc. Gói tin được gửi từ ứng dụng xuống cho tác tử định tuyến. Tác tử quyết định đường đi mà gói tin phải đi qua nhằm đến đích của mình và đánh dấu nó với thơng tin này. Sau đó nó gửi gói tin xuống tầng liên kết dữ liệu. Tầng liên kết dữ liệu dùng giao
thức ARP (Address Resolution Protocol) để xác định địa chỉ phần cứng của các nút mạng hàng xóm và ánh xạ địa chỉ IP với giao diện thích hợp của chúng. Khi nhận được thơng tin này, gói tin sẽ được gửi xuống hàng đợi giao diện (interface queue) và đợi tín hiệu từ giao thức MAC (Multiple Access Control). Khi tầng MAC chấp nhận tác tử thì sẽ gửi nó lên kênh, lúc này tác tử mang gói tin từ hàng đợi và chuyển nó lên giao diện mạng rồi gửi gói tin lên kênh vơ tuyến.
4.1.2 Tổng quan về mơ phỏng
Hình 4.3: Tổng quan về mô phỏng.
Một mô phỏng tiêu biểu với ns và mở rộng về tính di động được minh họa trong hình 4.3 ở trên. Về cơ bản nó bao gồm việc sinh ra các tệp đầu vào cho ns như sau:
Một file kịch bản mô tả movement pattern (cách thức di chuyển) của các nút mạng.
Một file truyền thông mô tả traffic pattern (lưu lượng mạng).
Các file này hồn tồn có thể được tạo ra một cách ngẫu nhiên theo các mẫu chuyển động và truyền thông từ một file kịch bản. Sau đó, những file này
được dùng để mô phỏng và kết quả mô phỏng sẽ tạo ra một tệp vết (trace file). Tệp vết này được sử dụng để phân tích và đánh giá hiệu năng mạng.