Trong đề tài này, sinh viên chọn phương pháp mô phỏng trên máy tính với CAVT và NS-2 (Network Simulation v.2). CAVT [12] là ứng dụng Java nhỏ được Michael Welzl xây dựng dựa trên biểu đồ vectơ Chiu/Jain [7] đã được đề cập trong chương 2, nó cung cấp giao diện người dùng mà ta có thể thiết lập điểm bắt đầu và quan sát quỹ đạo tương ứng bằng cách kích chuột vào biểu đồ.
NS-2 là phần mềm mã nguồn mở, mô phỏng các sự kiện rời rạc nhằm mục đích nghiên cứu mạng, nó hỗ trợ các giao thức mạng như TCP, UDP, hoạt động của những tài nguyên mạng như FPT, Telnet, Web, CBR và VBR, các cơ chế quản lý
Chương 4: Chương trình mô phỏng điều khiển tắc nghẽn dùng thuật toán tăng giảm
52
hàng đợi như Drop Tail, RED và CBR, các thuật toán định tuyến ... NS-2 được viết bằng C++ và OTcl.
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
Để thiết lập và chạy một mạng mô phỏng, người dùng phải viết một tập lệnh OTcl Script và khởi động một lịch trình sự kiện, thiết lập cấu hình mạng sử dụng các đối tượng mạng và các hàm chức năng trong thư viện, chỉ cho tài nguyên lưu lượng biết khi nào thì bắt đầu và kết thúc việc truyền gói thông qua lập biểu.
Chương 4: Chương trình mô phỏng điều khiển tắc nghẽn dùng thuật toán tăng giảm
53
Khi mô phỏng kết thúc, NS-2 sẽ xuất hiện một hay nhiều file text, ở đó có chứa các dữ liệu kết quả mô phỏng chi tiết nếu chúng ta yêu cầu trong tập lệnh Tcl. Các file này lại là dữ liệu đầu vào cho một chương trình hiển thị mô phỏng trực quan gọi là Network Animator (NAM). Các số liệu kết quả mô phỏng cũng được dùng để vẽ các đồ thị phân tích bằng chương trình Xgraph theo các yêu cầu người dùng.