CHƢƠNG 1 TỔNG QUAN VỀ MẠNG MANET
3.1. Thiết lập mô phỏng mạng MANET trong NS-2
3.1.4. Tạo sự di chuyển của node trong NS-2
MobileNode được thiết kế để di chuyển trong không gian 3 chiều. Tuy nhiên, cho đến nay chiều thứ 3 (Z) không được sử dụng, nghĩa là MobileNode được giả định luôn di chuyển trên một mặt phẳng với Z=0. Khi đó, MobileNode có tọa độ X, Y, Z (=0) được liên tục điều chỉnh khi node di chuyển. Có 2 cơ chế để tạo chuyển động trong MobileNode. Trong phương pháp thứ nhất, bắt đầu từ vị trí của node và các đích đến của các node đó có thể được thiết lập rõ ràng. Các chỉ thị điều khiển thường nằm trong một file kịch bản di chuyển riêng biệt.
Ví dụ ban đầu và đích đến đối với một MobileNode có thể được thiết lập bằng cách sử dụng các API dưới đây:
$node set X_<x1> $node set Y_<y1> $node set Z_<y1>
$ns at $time $node setdest<x2><y2><speed>
Tại thời điểm $time, node bắt đầu di chuyển từ vị trí ban đầu (x1,y1) của nó tới một đích đến (x2,y2) với vận tốc speed xác định. Trong phương pháp này, các cập nhật di chuyển của node được kích hoạt bất cứ khi nào để xác định vị trí node tại thời điểm yêu cầu. Việc kích hoạt có thể do một node lân cận có yêu cầu truy vấn để xác định khoảng cách giữa chúng hoặc bộ công cụ setdest trực tiếp mô tả bằng chỉ thị điều khiển hướng hoặc vận tốc của node.
Phương pháp thứ hai sử dụng chuyển động ngẫu nhiên node, như sau:
$mobilenode start
Nó bắt đầu MobileNode với vị trí ngẫu nhiên, có các cập nhật thường xuyên để thay đổi hướng và vận tốc của node. Các giá trị vận tốc và đích được tạo theo một kiểu ngẫu nhiên.
Với cả hai phương thức tạo di chuyển node trên, vùng mô phỏng cần được xác định trước khi tạo các MobileNode. Thông thường, vùng mô phỏng là miền phẳng và được tạo bằng cách xác định chiều dài và chiều rộng, ta định nghĩa như sau:
Set topo [new Topography]
$topo load_flatgrid $opt(x) $opy(y)
Trong đó opt(x) và opt(y) lần lượt là chiều dài và chiều dài và chiều rộng của vùng mô phỏng.