Trong mô phỏng mạng AD HOC, các mô hình di chuyển đóng một vai trò rất quan trọng. Chúng cần thể hiện chính xác các ngữ cảnh có thể của mạng và góp phần quyết định đúng hiệu suất của các giao thức trước khi được triển khai trong thực tế. Đối với các mạng không dây, hai loại mô hình di chuyển được sử dụng là mô hình vết (trace model) và mô hình tổng hợp (synthetic model). Các mô hình vết là các khuôn dạng di chuyển được quan sát trong hệ thống thực. Mô hình vết cung cấp thông tin chính xác, đặc biệt khi chúng liên quan tới nhiều bên tham gia và quãng thời gian quan sát đủ dài. Tuy nhiên, với môi trường mạng mới, các mạng AD HOC không dễ dàng được mô hình vết. Trong trường hợp này cần thiết phải sử dụng các mô hình tổng hợp.
Các mô hình tổng hợp cố gắng thể hiện thực hành vi của các nút di động mà không sử dụng tới mô hình vết bằng việc mô tả các di chuyển của nút một cách thống kê. Mỗi nút được gán một giải thuật dùng để ngẫu nhiên hóa sự di chuyển. Khuôn dạng di chuyển của mạng là tập hợp các di chuyển từ việc áp dụng mô hình di chuyển vào một hoặc nhiều nút. Hai mô hình di chuyển tiêu biểu mô phỏng các mạng AD HOC là Random Waypoint và Random Walk.
Mô hình Random Waypoint
Mô hình Random Waypoint được sử dụng rộng rãi trong mô phỏng các giao thức định tuyến thiết kế cho các mạng AD HOC đặc biệt, nó được định nghĩa như sau. Đầu tiên nút có một ví trí ngẫu nhiên trong khu vực mô phỏng và ở tại đó một khoảng thời gian gọi là thời gian tạm dừng. Khi quãng thời gian này hết hạn, nút chọn ngẫu nhiên một đích trong khu vực mô phỏng và một tốc độ được phân bố đồng đều giữa [Speedmin, Speedmax]. Sau đó, nút di chuyển tới vị trí mới với tốc độ đã chọn. Khi tới vị trí mới, nút dừng một khoảng thời gian được chọn theo phân bố đồng đều giữa [Pmin, Pmax], và sau đó tiếp tục lại quá trình.
Trực quan hoá di chuyển của một nút theo mô hình Random Waypoint bởi Gnuplot trong hình 24 bên dưới.
Hình 24. Di chuyển của một nút theo mô hình Random Waypoint Các tham số mô phỏng cho Random Waypoint được cho trong bảng 7:
Tham số Ý nghĩa
Speedmin Tốc độ thấp nhất Speedmax Tốc độ cao nhất
Pmin Thời gian tạm dừng nhỏ nhất Pmax Thời gian tạm dừng lớn nhất
Bảng 7. Các tham số của mô hình Random Waypoint
Mô hình Random Waypoint được dùng rộng rãi trong các nghiên cứu về mạng AD HOC, do nó rất linh động trong việc tạo ra khuôn dạng di chuyển thực tế theo cách mọi người chuyển động trong các hội thảo, hội nghị. Trong NS2, mô hình Random Waypoint được tạo bởi công cụ setdest. Cấu trúc câu lệnh của setdest tạo tệp ngữ cảnh (scenario file) như sau:
Tạo tệp di chuyển kiểu cũ:
./setdest -v <1> -n < nodes> -p <pause_time> -M <max_speed> -t <simulation_time> -x <max X> -y <max Y>
Tạo tệp di chuyển kiểu mới:
./setdest -v <2> -n < nodes> -s <speed_type> -m <min_speed> -M <max_speed> -t <simulation_time> -P <pause_type> -p <pause_time> -x <max X> -y <max Y>
Trong đó: -v: version; -n: số tham gia mô phỏng nút; -P: kiểu thời gian tạm dừng; -p: thời gian tạm dừng; -m: vận tốc di chuyển nút nhỏ nhất; -M: vận tốc di chuyển nút tối đa; -t: thời gian mô phỏng; -x: chiều X vùng mô phỏng; -y: chiều Y vùng mô phỏng.
Mô hình Random Walk
Mô hình Random Walk mô phỏng chuyển động ngẫu nhiên của các thực thể trong tự nhiên. Nút di động di chuyển từ vị trí hiện tại tới vị trí mới bằng việc chọn ngẫu nhiên hướng [0, 1800], tốc độ [Speedmin, Speedmax]. Mỗi chuyển động diễn ra trong khoảng thời gian Travel_time hoặc khoảng cách hằng số, không có khoảng thời gian tạm dừng trước khi nút thay đổi hướng và tốc độ. Trực quan hoá di chuyển của một nút theo mô hình Random Walk bởi Gnuplot trong hình 25.
Hình 25. Di chuyển của một nút theo mô hình Random Walk Các tham số mô phỏng cho Random Walk được cho trong bảng 8:
Tham số Ý nghĩa
Speedmin Tốc độ thấp nhất Speedmax Tốc độ cao nhất
Travel_time Thời gian di chuyển của nút trước khi thay đổi hướng và tốc độ
Bảng 8. Các tham số của mô hình Random Walk
Trong mô hình Random Walk, tham số thay đổi hướng của nút di động quyết định mức độ thay đổi của mạng. Nếu tham số này có giá trị nhỏ, sự di chuyển ngẫu nhiên giới hạn trong một phạm vi nhỏ của khu vực mô phỏng, mạng nửa tĩnh và còn được gọi là di chuyển Brownian. Nếu tham số có giá trị lớn, mạng thay đổi trên phạm vi rộng.
Trong luận văn này, tôi sử dụng chương trình Palm Calculus để tạo tệp ngữ cảnh theo mô hình Random Walk. Cấu trúc câu lệnh của Palm Calculus tạo khuôn dạng di chuyển như sau:
./rwall 3 <number of nodes> <max -x> <max -y> <end time> <speed mean> <speed delta> <pause time> <pause time delta>
Trong đó: number of nodes: số nút tham gia mô phỏng; max -x: chiều X vùng mô phỏng; max -y: chiều Y vùng mô phỏng; end time: thời gian mô phỏng; speed mean: vận tốc nút; speed delta: vận tốc delta; pause time: thời gian tạm dừng; pause
time delta: thời gian tạm dừng delta.