MobileNode là đối tượng nsNode cơ sở cùng với các chức năng như sự di chuyển, khả năng truyền và nhận trên một kênh cho phép tạo môi các trường mobile và môi trường wireless . Các tính năng mobile gồm có di chuyển node, cập nhập vị trí định kỳ, duy trì đường biên của topo,… được thực thi trong C++ trong quá trình dò tìm các thành phần của mạng bên trong của MobileNode (như các phân lớp, dmux, LL, Mac, Channel,…) được thực thi trong Otcl.
4.2.2.1. Tạo sự hoạt động cho nút
NS ghi nhận tọa độ của Mobilenode trên mặt phẳng với tọa độ X, Y, Z (Z=0). Có hai phương thức mô phỏng sự di chuyển của các MobileNode, được trình bày dưới đây.
Phƣơng thức1: tận dụng quá trình họat động ngẫu nhiên của node. Mã API
thường được sử dụng là $mobilenode start để khởi động mobilenode với một vị trí
ngẫu nhiên và thường cập nhập để thay đổi hướng và tốc độ của node. Giá trị đích và tốc độ được tạo ra một cách ngẫu nhiên.
Vị trí ban đầu và đích đến đối với một mobile node 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_ <z1>
$ns at $time $node setdest <x2> <y2> <speed>
Tại $time sec, node sẽ bắt đầu di chuyển từ vị trí bắt đầu của nó là (x1,y1) chuyển tiếp sang đích (x2,y2) với tốc độ (speed) xác định.
Phƣơng thức2: Sử dụng chuyển động ngẫu nhiên của nút như sau:
$ mobilenode start
Với cả hai phương thức tạo sự di chuyển của nút như trên, vùng mô phỏng cần được xác định trước khi tạo các mobilenode. Dạng topo không cấu trúc (flat) thông thường được tạo ra dựa vào đặc tả chiều dài và chiều rộng của topo cơ sở. Mã API được viết như sau:
set topo [new Topography]
$topo load_flatgrid $opt(x) $opt(y)
Trong đó opt(x) opt(y) là giới hạn được sử dụng trong trình mô phỏng.
4.2.2.2. Các thành phần cấu thành mạng trong một Mobilenode
Ngăn xếp mạng đối với một MobileNode (hình 4.3) gồm có lớp link (LL), module ARP kết nối đến LL, một hàng đợi có ưu tiên ở giao diện đường truyền không dây IFq (interface priority queue(IFq)), lớp MAC, giao diện mạng netIF (interface(netIF)), tất cả được kết nối đến kênh channel.
Hình 4.3. Kiến trúc của mobilenode trong NS2 [1, 13]
- Link Layer LL
Thông thường đối với tất cả các packet đi ra từ kênh, các packet được đưa xuống LL nhờ vào agent định tuyến Routing Agent. LL đưa các packet xuống hàng đợi giao tiếp. Đối với các packet gửi vào (từ kênh riêng), lớp MAC đưa các packet lên LL sau đó dừng tại node_entry_ point.
- Module ARP
Giao thức phân giải địa chỉ (Address Resolution Protocol) thực thi ở dạng BSD (implemented in BSD style) nhận các truy vấn từ lớp Link. Nếu ARP có địa chỉ hardware của đích đến, nó ghi địa chỉ đích đến vào header của MAC của packet. Ngược lại, nó gửi broadcasts truy vấn ARP, tạm thời giữ lại packet. Đối với mỗi đích đến không biết được địa chỉ hardware, có một bộ đệm đơn cho packet. Khi gửi thêm các packet đến đích mà đã gửi ARP thì packet ban đầu trong bộ đệm sẽ bị hủy (drop). Khi biết được địa chỉ hardware của packet, packet được thêm vào hàng giao tiếp (interface queue) của hop đó.
- Interface Queue
Lớp PriQueue được thực thi như một hàng đợi ưu tiên đưa ra các quyền ưu tiên để định tuyến các packet, thêm chúng vào đầu hàng đợi. Nó hỗ trợ quá trình thực thi trên tất cả các packet trong hàng đợi và gỡ bỏ các packet cùng với địa chỉ đích đến.
Phân phối chức năng tọa độ DCF (distributed coordination function, giao thức MAC được thực thi bởi CMU. Nó sử dụng khuôn dạng RTS/CTS/DATA/ACK cho tất cả các packet unicast và đơn giản là gửi ra data cho tất cả các packet broadcast. Quá trình thực thi sử dụng cả phương thức cảm nhận sóng mang dạng vật lý lẫn dạng ảo.
- Tap Agents
Các agents mà phân lớp của nó có thể tự đăng ký với đối tượng MAC bằng cách sử dụng phương thức installTap(). Nếu giao thức MAC cụ thể cho phép, Tap sẽ đưa ra các paket nhận được bởi lớp MAC một cách lộn xộn, trước khi quá trình lọc địa chỉ được thực hiện.
- Network Interfaces
Lớp giao tiếp mạng (Network Interphase) đáp ứng như giao tiếp phần cứng (hardware interface) sử dụng bởi mobilenode để truy suất đến kênh truyền thông. Giao diện của môi trường truyền thong wireless chia sẽ được thực thi như lớp Phy/WirelessPhy. Giao diện này tùy thuộc vào các quá trình collision và mô hình truyền bá radio nhận các packet truyền qua bởi giao diện của node khác đến kênh truyền.
- Mô hình truyền bá Radio
Sử dụng công thức tính sự suy giảm đối với các khoảng cách gần là 1/r2 và đối với khỏang cách xa là 1/r4.
- Antenna
Được sử dụng với mục đích chung bởi mobilenodes.