NS2 is a widely recognized and utilized open-source event-driven simulator for developing simulation models in wired and wireless networks.
The primary purpose of the NS2 simulator is to study the behavior of network protocols and evaluate their performance. NS2 has tremendously attracted many researchers from the network community in the industry as well as academia.
NS2 is decomposed into a set of modules to manage Physical, MAC, Routing, Transport, and Application layer protocols. It is an ideal tool to configure the network components and validate the results.
It can be easily extended to support new protocol design, and a wide range of extensions this efficient tool facilitates effective investigation of the performance of the Research Work already available as open source components.
Unfortunately, the recent network protocol developments are not included in the NS2 modules. Undoubtedly, future releases of NS2 certainly contain the latest protocols to support the next generation of network research.
NS-2 is an open source network simulator which runs on different platforms that are UNIX (or Linux), Windows, and Mac systems.
NS-2 is widely exploited to simulate the various network components and protocols such as routing, TCP, UDP, FTP and traffic sources like CBR over wired and wireless networks.
Principally, NS2 provides a way to specify such network protocols, and also simulate their corresponding behaviors.
Owing to its flexibility and modular nature, the NS-2 has gained profound admiration in the networking research community areas. The most recent version of NS-2 is NS-2.35.
NS-2 simulator facilitates integration of the different types of technologies and tools. NS-2 is implemented using both the oTCL (object Tool Command Language) and C++ languages.
It exploits TCL/C++ interface, called as TclCl to allow interaction between the oTCL and C++. By Employing NS-2 simulator the AWK script can be exploited to process the trace files. The Ns-2 simulator incorporates diverse tools such as Network Animator (NAM) and X-Graph.
oTCL: It is used to specify the network parameters such as node, links, protocols, and topography. The oTCL is exploited to initiate the event scheduler, and create the network topology.
C++: It is an object-oriented language which is used in byte manipulation, packet processing and implementation of a new protocol / algorithm in NS-2.
AWK Script: It is a programming language designed to process the (text) trace files. It is generally used as a data extraction and reporting tool in NS-2.
NAM-1.15: It is an animation tool which is employed to view the network simulation trace data. It supports topology layout, level packet animation, and various data inspection tools.
X-graph-12.2: It is a data plotter. The X-Graph includes interactive buttons which are used for panning, zooming, printing, and choosing display options. It plots the data that are collected from a multiple number of files on the same graph. Besides, it can handle immeasurable dataset sizes and a huge number of data files.