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.
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.