NS2 stands for Network Simulator Version 2. It is an open-source event-driven simulator designed specifically for research in computer communication networks.
Network Simulator (Version 2), is simply an event-driven simulation tool that has proved useful in studying the dynamic nature of communication networks. Simulation of wired as well as wireless network functions and protocols (e.g., routing algorithms, TCP, UDP) can be done using NS2. In general, NS2 provides users with a way of specifying such network protocols and simulating their corresponding behaviors. Due to its flexibility and modular nature, NS2 has gained constant popularity in the networking research community since its birth in 1989. Ever since, several revolutions and revisions have marked the growing maturity of the tool, thanks to substantial contributions from the players in the field. Among these are the University of California and Cornell University which developed the REAL network simulator, the foundation on which NS is based. Since 1995 the Defense Advanced Research Projects Agency (DARPA) supported the development of NS through the Virtual Inter Network Testbed (VINT) project. Currently, the National Science Foundation (NSF) has joined the ride in development. Last but not least, the group of Researchers and developers in the community are constantly working to keep NS2 strong and versatile
Features of NS2
1. It is a discrete event simulator for networking research.
2. It provides substantial support to simulate a bunch of protocols like TCP, FTP, UDP, HTTP, and DSR.
3. It is primarily Unix-based.
4. Uses TCL as its scripting language.
5. Otcl: Object-oriented support
6. Tclcl: C++ and otcl linkage
7. Discrete event scheduler
The basic The basic architecture of NS2
Figure shows the basic architecture of NS2. The NS2 provides users with executable command ns which takes on input argument, the name of a Tcl simulation scripting file. Users are feeding the name of a Tcl simulation script (which sets up a simulation) as an input argument of an NS2 executable command ns.
In most cases, a simulation trace file is created and is used to plot graphs and/or to create animation. NS2 consists of two key languages: C++ and Object-oriented Tool Command Language (OTcl). While C++ defines the internal mechanism (i.e., a backend) of the simulation objects, the OTcl sets up the simulation by assembling and configuring the objects as well as scheduling discrete events (i.e., a frontend).
The C++ and the OTcl are linked together using TclCL. Mapped to a C++ object, variables in the OTcl domains are sometimes referred to as handles. Conceptually, a handle (e.g., n as a Node handle) is just a string (e.g.,_o10) in the OTcl domain, and does not contain any functionality. Instead, the functionality (e.g., receiving a packet) is defined in th mapped C++ object (e.g., of class Connector). In the OTcl domain, a handle acts as a frontend that interacts with users and other OTcl objects.
Comments
Post a Comment