Mô phỏng thực hiện trên bộ mô phỏng NS-2. NS-2 là phần mềm mô phỏng mạng ñiều khiển sự kiện riêng rẽ hướng ñối tượng, ñược phát triển tại UC Berkely, viết bằng ngôn ngữ C++ và OTcl. NS rất hữu ích cho việc mô phỏng mạng diện rộng (WAN) và mạng local (LAN). Bốn lợi ích lớn nhất của NS-2 phải kể ñến ñầu tiên là:
•Khả năng kiểm tra tính ổn ñịnh của các giao thức mạng ñang tồn tại
•Khả năng ñánh giá các giao thức mạng mới trước khi ñưa vào sử dụng
•Khả năng thực thi những mô hình mạng lớn mà gần như ta không thể thực thi ñược trong thực tế
•Khả năng mô phỏng nhiều loại mạng khác nhau
NS-2 (Network Simulator version 2.xx) là một trong các bộ mô phỏng mạng mã nguồn mở, tự do, ñược sử dụng rộng rãi nhất trong các trường ñại học (có giảng dạy về mạng) trên thế giới. NS-2 ñặc biệt mạnh trong việc mô phỏng ñể nghiên cứu về các giao thức mạng, từ tầng MAC cho ñến tầng Transport. Sử dụng NS-2 có thể mô phỏng các mạng có dây (Wired Networks), không dây (Wireless Networks), mạng di ñộng không dây ñặc biệt - MANET (Mobile Adhoc Networks), hỗn hợp, v.v. Các sự kiện xảy ra trong mạng mô phỏng và một số tham số cần nghiên cứu thường ñược kết xuất ra “tệp vết” (Trace file) hoặc một số tệp dạng văn bản. Để nhận ñược các kết quả mong muốn cần phải xử lý các tệp kết quả này và biểu diễn kết quả thu ñược, thường là dưới dạng ñồ thị.
NS thực thi các giao thức mạng như Giao thức ñiều khiển truyền tải (TCP) và Giao thức gói người dùng (UDP); các dịch vụ nguồn lưu lượng như Giao thức truyền tập tin (FTP), Telnet, Web, 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 (Drop Tail), Dò sớm ngẫu nhiễn (RED) và CBQ; các thuật toán ñịnh tuyến như Dijkstra… NS cũng thực thi 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.
44
Hình 4.1. 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 NS Simulation Library Thư viện Mô phỏng NS
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 dùng lập trình bằng ngôn ngữ kịch bản OTcl. User 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.
Bộ mô phỏng NS-2 sử dụng trong khóa luận là phiên bản ns2-2.28 và ñược cài thêm bộ hỗ trợ chuẩn ieee 802.11e. Dựa trên bộ mô phỏng ns2 này ta sẽ ñánh giá ñộ
45
hiệu quả của giải pháp gán ñộ ưu tiên ñộng cho các luồng video streaming so với chuẩn 802.11e. Để làm việc này ta cần phải xây dựng một kịch bản rõ ràng và phù hợp sao cho việc ñánh giá là công bằng và cho ra kết quả là chuẩn xác.