C. Hai mô hình di động thực tế
4.1 Lựa chọn phần mềm mô phỏng
Trước hết, ta nhắc lại khái niệm về mô phỏng. Mô phỏng là thuật ngữ thông dụng được dùng trong nhiều chuyên ngành, trong đó bao gồm cả các hệ viễn thông và máy tính. Nó là quá trình thiết kế mô hình của hệ thống thực và hướng dẫn các thí nghiệm theo mô hình này với mục đích hiểu sự hoạt động của nó, hoặc là đánh giá các thành phần cho hoạt động của nó. Định nghĩa khác của mô phỏng, là quá trình làm thí nghiệm với một mô hình của hệ thống bằng cách nghiên cứu sử dụng lập trình máy tính. Nó đánh giá một mô hình của hệ thống.
Một mô hình là mô tả một hệ thống bằng ngôn ngữ hoặc lý thuyết trong đó các đối tượng có thể biểu diễn được. Vì vậy, một mô hình là sự thể hiện hệ thống hoặc sự nhận thức một lý thuyết được cho là đúng.
Dựa vào những định nghĩa trên về mô hình, ta có thể định nghĩa lại mô phỏng là việc dùng mô hình (trên máy tính) để hướng dẫn các thí nghiệm, từ đó suy ra, nắm
được hoạt động của hệ thống khi nghiên cứu. Các thí nghiệm mô phỏng là quan trọng vì chúng giúp ta:
Phát hiện những điều ta chưa biết hoặc kiểm tra một giả định.
Tìm ra các lời giải thích hợp và cung cấp điều kiện để đánh giá chúng. Những lý do làm mô phỏng hấp dẫn khi dự đoán hoạt động của hệ thống là:
Mô phỏng có thể thúc đẩy sáng tạo những ý tưởng mới. Nhiều tổ chức hoặc các công ty có nguồn nhân lực mà nếu tận dụng khả năng của họ thì có thể mang lại những sự cải thiện ấn tượng trong chất lượng và sản xuất. Mô phỏng có thể là một cách sinh lợi nhuận để biểu hiện, thí nghiệm và đánh giá các giải pháp đề xuất, các chiến lược, các kỹ thuật hoặc các ý tưởng.
Mô phỏng có thể dự đoán kết quả tiến trình hoạt động một cách nhanh chóng.
Mô phỏng có thể tính toán tác động của những thay đổi xảy ra trong quá trình hoạt động hoặc trong hệ thống. Chú ý rằng các tính toán hoạt động chỉ dựa trên các giá trị trung bình mà không quan tâm đến phương sai (tức là moment bậc hai). Điều này có thể dẫn đến các kết luận sai lầm.
Mô phỏng có thể xúc tiến các giải pháp tổng thể.
Mô phỏng mang lại sự tinh thông, sự hiểu biết và cùng với thông tin.
Mô phỏng có thể sinh lợi nhuận về mặt thời gian [5].
Để lựa chọn phần mềm mô phỏng, ta đưa ra các tiêu chí đánh giá sau đây:
Hỗ trợ nhiều loại mô phỏng.
Hỗ trợ nền tảng tính toán.
Hỗ trợ cho các thế hệ công nghệ mạng.
NS-2, 44.40% GlomoSim, 11.10% QualNet, 6.30% OPNET, 6.30% Self-Developed, 25.40% CSIM, 3.20% MATLAB, 3.20% Hỗ trợ quan sát.
Phù hợp các giao thức OSI, các mô hình di động và sự truyền sóng.
Mềm dẻo, có thể sửa đổi và có thể mở rộng.
Tiện lợi chung.
Mức độ chấp nhận phần mềm mô phỏng (tính phổ biến).
Giấy phép của phần mềm [5].
Phần mềm mô phỏng NS-2
Có rất nhiều phần mềm mô phỏng đã đáp ứng được các yêu cầu mô phỏng và đóng vai trò quan trong trong thiết kế và xây dựng hệ thống. Ta có thể xem hình 4.1 để thấy thống kê về tỷ lệ sử dụng phần mềm mô phỏng.
Theo hình 4.1 thì NS-2 là phần mềm được sử dụng nhiều nhất. NS-2, viết tắt từ Network Simulator 2, là phiên bản tiếp theo của phiên bản NS đầu tiên. Đây là một phần mềm mô phỏng hệ thống viễn thông, đặc biệt là hệ thống mạng rất mạnh với mã nguồn mở, chạy trong môi trường Linux và đặc biệt là miễn phí (phù hợp với điều kiện Việt Nam). Phần mềm này cung cấp đầy đủ thư viện về các giao thức mạng, các loại nguồn lưu lượng, các kỹ thuật xếp hàng và định tuyến,… cho phép người sử dụng có
thể xây dựng và mô phỏng bất kỳ một loại mạng nào, dù là mạng có dây hay không dây [36].
NS-2 được viết bằng ngôn ngữ lập trình C++ và OTcl (Object Tool Command Language - là ngôn ngữ kịch bản Tcl mở rộng hướng đối tượng). NS-2 có thể mô phỏng truyền thông mạng theo nhiều lớp (chuyển vận, mạng và MAC), đồng thời hỗ trợ rất nhiều loại giao thức khác nhau cho các lớp này.
Một công cụ khác phát hành cùng với NS-2 là Network Animator (NAM). NAM cung cấp hình ảnh đồ hoạ về cấu hình và sự chuyển động cũng như quá trình truyền thông giữa các nút trong mạng mô phỏng theo thời gian với tốc độ là tuỳ chọn. Hơn nữa nó còn có thể hiển thị các thông tin như thông lượng, loại gói truyền, số gói bị mất tại mỗi đường truyền,… Đây còn là một công cụ rất có ích để tìm lỗi trong mã nguồn của giao thức.
Căn cứ vào đó, ta chọn phần mềm NS-2 và xây dựng các mô hình di động cho phần mềm này.