Network Simulator - 2 (NS-2)
The three main techniques to analyze the behavior of wired and wireless networks are: Analytical Modeling, Computer Simulations and Real Time Physical Measurements.
Analytical Modeling is very tedious and Real Time Physical Measurements may not be possible all the time. Computer Simulation is the only feasible approach to the quantitative analysis of networks. Computer Simulations can be Discrete Event Simulations (e.g.: arrival and departure of customers in a bank) or Continuous Simulations (e.g.: waterflow in a mountain). Computer Simulations are generally Discrete Event Simulations.
Network Simulator - 2 (NS-2) is a discrete event and packet level simulator developed at UC Berkeley to analyze the performance of wired and wireless networks. The architecture of NS-2 is composed of five components: Event Scheduler (there are four: List, Heap, Calendar and Real), Network Components (like nodes, links, protocols, etc), Tool command language with Classes (TclCL), Object Oreinted Tcl (OTcl) library and TCL scripting language. NS-2 has C++ as the back-end language and TCL as the front-end language.