Hiện tại, có 3 bộ mô phỏng có khả năng mô phỏng mạng ad-hoc, đó là GloMoSim, OpNet, và NS-2 [2]. Hai sản phẩm đầu tiên đều là hai sản phẩm thương mại, trong khi đó sản phẩm thứ ba hoàn toàn miễn phí và ở dạng mã nguồn mở. NS-2 (Network Simulator version 2.x) là một công cụ mô phỏng thường được sử dụng nhiều trong các nghiên cứu và ngược lại những nhà nghiên cứu cũng có những đóng góp quan trọng để mở rộng NS-2. Chính vì thế, đây là một bộ mô phỏng tốt và việc lựa chọn NS-2 làm công cụ mô phỏng trong luận văn này là hiển nhiên.
NS-2 là bộ mô phỏng mô tả các sự kiện rời rạc của mạng. NS-2 cung cấp hỗ trợ lớn trong mô phỏng TCP, và UDP, các nguồn lưu lượng: FTP, Telnet, Web, CBR, VBR, các cơ chế quản lý hàng đợi Drop Tail, RED và CBQ, các giải thuật định tuyến AODV, DSR, định tuyến, và các giao thức multicast trên mạng có dây và không dây….
NS được xây dựng dựa trên bộ mô phỏng mạng REAL (Realistic and Large), được sử dụng từ năm 1989 và rất phát triển những năm gần đây. Năm 1995, NS được hỗ trợ và phát triển bởi DARPA (Defense Advanced Research Projects Agency) thông qua dự án VINT (Virtual InterNetwork Testbed) của Bộ Quốc phòng Mỹ. NS luôn được đóng góp và phát triển từ các nhà nghiên cứu khác như các đóng góp về mô phỏng mạng không dây của UCB Daedelus và dự án CMU Monarch và Sun Microsystems.
Các phiên bản 2.xx của NS ra đời sau năm 1997, từ đó người ta thường gọi là bộ mô phỏng NS-2. Phiên bản này khác nhiều so với các phiên bản trước (1.xx). Bộ mô phỏng được vận hành theo cơ chế sử dụng các sự kiện rời rạc, có thứ tự. Người sử dụng có thể thay đổi cấu hình và mở rộng mô hình
mạng rất dễ dàng bằng cách lập trình thêm vào một số mô-đun chương trình. NS mô phỏng truyền thông mạng theo nhiều tầng khác nhau (giao vận, mạng và MAC) đồng thời hỗ trợ rất nhiều giao thức khác nhau trong các tầng này. Phiên bản sử dụng để mô phỏng trong luận văn này là NS-2.28 (phiên bản của NS có thể chạy được trên môi trường Linux hoặc Window).
Một công cụ khác được phát hành cùng với NS là Network Animator (NAM).
Công cụ này cung cấp hình ảnh đồ họa về sự chuyển động của các nút trong mạng mô phỏng và truyền thông giữa chúng. Đây là một công cụ rất có ích để tìm lỗi trong mã nguồn của giao thức..