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. 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 tính đúng đắn của việc đánh giá hiệu suất của các giao thức định tuyến trước khi mang ra triển khai thực tế. Trên thực tế có hai loại mô hình di chuyển được sử dụng cho mạng không dây là mô hình dựa trên vết (trace-based model) và mô hình tổng hợp (synthetic model).
Mô hình dựa trên vết sử dụng lưu lượng thu thập được trên mạng thực, nó cung cấp đầy đủ thông tin để có thể suy luận ra quá trình thực hiện của hệ thống thực, để
xây dựng lại và chạy lại một quá trình một cách chính xác bằng cách trích xuất thông tin từ tập vết lưu lượng của mạng thực. Quá trình mô phỏng bằng mô hình dựa trên vết thường có hai phần, phần một là thực thi các chương trình để thu thập và lưu trữ lại các kết quả là các sự kiện trên lưu lượng mạng thực (gọi là tệp vết), phần hai là đọc tệp vết và thêm vào chúng thông tin để tạo ra các kịch bản mới (thường là phức tạp hơn). Đối với mạng Ad-hoc, tô-pô mạng thường xuyên thay đổi do đó rất khó sử dụng mô hình vết, do đó trong mạng Ad-hoc cần thiết phải sử dụng các mô hình tổng hợp.
Mô hình tổng hợp phù hợp hơn đối với mạng di động ngày nay. Mô hình tổng hợp cố gắng thể hiện hành vi của các nút di động bằng cách thống kê. Để ngẫu nhiên hóa quá trình di chuyển của các nút trong mạng MANET, người ta sử dụng các giải thuật phù hợp mô tả quá trình di chuyển của nút. Hai mô hình tiêu biểu mô phỏng các mạng Ad-hoc là: Random Waypoint và Random Walk [18].
4.3.3.1. Mô hình Random Waypoint
Tại mô hình này, ban đầu mỗi 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 tạm dừng. Khi hết quãng thời gian tạm dừng, nút chọn cho mình một đích ngẫu nhiên trong khu vực mô phỏng và chuyển động với tốc độ phân bố đồng đều giữa [speedmin, speedmax]. Khi tới vị trí mới nút dừng một khoảng thời gian trong khoảng [Pmin, Pmax] và sau đó tiếp tục lại quá trình.
Chúng ta cần chú ý rằng, dạng chuyển động của mô hình Random Waypoint trong mạng MANET là giống như mô hình Random Walk trong trường hợp pause time bằng không và [minspeed, maxspeed] = [speedmin, speedmax].
+ Thiết lập các tệp tạo ngữ cảnh chuyển động của nút
Trong luận văn chúng tôi sử dụng công cụ setdest để tạo ngữ cảnh chuyển động của nút:
• setdest: Là công cụ viết trên nền C++, giúp cho người nghiên cứu tạo ra các
kịch bản bao gồm vị trí ban đầu của nút di động và sự di chuyển của chúng. Trong công cụ này, chúng ta coi tọa độ z của các nút đều bằng 0 và các nút di chuyển trên cùng một mặt phẳng. Thực hiện setdest bằng cách viết lệnh như sau:
./setdest -n <num of nodes> -p <pausetime> -s <maxspeed> -t <simtime> -x <maxx> -y <maxy> > <outdir>/<scenario-file>
Sử dụng các công cụ này giúp người nghiên cứu tạo ra các kịch bản truyền thông cũng như di chuyển của mạng với số lượng các nút di động là tương đối lớn. Tuy nhiên việc tạo ra các kịch bản này là ngẫu nhiên, có thể không theo ý muốn của người nghiên cứu, nên trong nhiều trường hợp người nghiên cứu phải tự viết ra các kịch bản truyền thông có ý nghĩa mô phỏng điển hình.
Đây là mô hình có tính linh động cao nên được sử dụng phổ biến và rộng rãi nhất. Mô hình Random Waypoint có biến thể khác với một vài thay đổi khác biệt là mô hình Random Walk.
4.3.3.2. Mô hình Random Walk
Mô hình này mô phỏng chuyển động ngẫu nhiên của các thực thể trong cuộc sống 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 một hướng nằm trong khoảng [0, 180°] và tốc độ nằm trong khoảng [speedmin, speedmax]. Mỗi chuyển động diễn ra trong khoảng thời gian travel_time (thời gian di chuyển của nút trước khi thay đổi hướng và tốc độ) hoặc trong một khoảng cách hằng số và đặc biệt là không có thời gian tạm dừng trước khi nút mạng thay đổi hướng và tốc độ.
+ Thiết lập các tệp tạo ngữ cảnh chuyển động của nút
Trong luận văn chúng tôi sử dụng chương trình Palm Calulus để tạo tệp ngữ cảnh theo mô hình Random Walk. Cấu trúc lệnh như sau:
./rwall 3 <number of nodes> <max –x> <max -y> <end time> <speed mean> <spead delta> <pause time> <pause time>[<travel time> <travel time delta>]
Với mô hình chuyển động này thì tham số về sự thay đổi hướng di chuyển của nút có tính chất quyết định đến mức độ thay đổi của mạng. Nếu tham số này nhỏ, các nút di chuyển ngẫu nhiên trong phạm vi nhỏ, lúc này mạng được coi là mạng nửa tĩnh. Ngược lại nếu tham số này lớn, mạng thay đổi trên phạm vi rộng hơn.