Sau khi chỉ rõ kiểu nút ngƣời dùng cũng có thể lựa chọn một giao thức định tuyến đặc biệt khác hơn là sử dụng một giao thức định tuyến mặc định.
+ Liên kết (Link):
Một liên kết là một đối tƣợng cấu thành khác trong NS. Khi một ngƣời dùng tạo ra một liên kết sử dụng một hàm thành viên duplex-link của đối tƣợng mô phỏng. Hai liên kết đơn công (Simplex link) theo cả hai hƣớng đƣợc tạo ra:
Một điều cần lƣu ý là hàng đợi đầu ra của một nút đƣợc thực hiện thực sự nhƣ một phần của đối tƣợng liên kết duplex-link. Các gói tin đƣợc lấy ra từ một hàng đợi đƣợc đƣa tới đối tƣợng Delay đóng vai trò độ trễ của liên kết, các gói tin bị loại bỏ (drop) tại hàng đợi đƣợc gửi tới đối tƣợng NullAgent và đƣợc giải phóng ở đó. Cuối cùng đối tƣợng TTL tính toán các thông số time-to-live cho mỗi gói tin nhận đƣợc và cập nhật trƣờng TTL của gói tin.
+ Tạo vết (Tracing):
Trong NS các hoạt động của mạng đƣợc mô tả xung quanh các liên kết Simplex. Nếu sự mô phỏng đƣợc định hƣớng mô tả các hoạt động của mạng (Sử dụng $ns trace- allfile hoặc $ns namtrace-allfile), các liên kết đƣợc tạo ra sau dòng lệnh này sẽ đƣợc chèn các đối tƣợng trace nhƣ trong hình 3-8.
Ngƣời dùng cũng có thể tạo ra một đối tƣợng trace đặc biệt giữa nút nguồn và nút đích khi sử dụng câu lệnh creat-trace{type file src dst}.
Khi mỗi đối tƣợng trace đƣợc chèn (ví dụ EnqT, DeqT, DrpT và RecvT) nhận một gói tin nó ghi vào một file trace đặc biệt mà không tiêu thụ bất kì thời gian mô phỏng nào và gửi tin đó đến đối tƣợng mạng kế tiếp.
- Bộ giám sát hàng đợi (Queue Monitor)
Về cơ bản các đối tƣợng tracing đƣợc tạo ra để ghi lại thời gian chuyển đến của gói tin tại nơi mà chúng đã đƣợc định vị. Mặc dù một ngƣời dùng có đủ thông tin từ trace, anh ta có thể quan tâm đến những gì đang diễn ra bên trong hàng đợi đầu ra đặc biệt. Ví dụ một ngƣời dùng quan tâm đến trạng thái của hàng đợi RED có thể đo kích thƣớc động trung bình của hàng đợi và kích thƣớc tức thời của hàng đợi RED (cần thiết cho sự giám sát hàng đợi). Việc giám sát hàng đợi có thể đạt đƣợc nhờ sử dụng các đối tƣợng monitor queue và các đối tƣợng snoop queue nhƣ trong hình 3.9
Khi một gói tin đƣợc chuyển đến một đối tƣợng SnoopQueue, đối tƣợng này thông báo cho đối tƣợng Queue Monitor sử dụng thông tin này để theo dõi hàng đợi. Lƣu ý rằng đối tƣợng SnoopQueue có thể đƣợc sử dụng song song với các đối tƣợng tracing mặc dù nó không đƣợc chỉ ra trong hình.
3.3 Các mô hình chuyển động của các nút mạng đƣợc NS-2 hỗ trợ
Trong mô phỏng mạng Adhoc 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 cung cấp cho ta thông tin chính xác, đặc biệt là khi nó có liên quan tới nhiều bên tham gia và có thời gian đủ dài. Tuy nhiên, mô hình tổng hợp là 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ê. Mỗi nút sẽ đƣợc gán một giải thuật nhằm ngẫu nhiên hóa quá trình di chuyển. Hai mô hình tiêu biểu mô phỏng sự chuyển động của các nút mạng trong mạng Adhoc là: Random Waypoint và Random Walk.
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.