NS-2 is a discrete event network simulator for modelling network protocols and traffic. It models packets, links, queues and supports protocols like TCP and IP. NS-2 allows simulation of different network scenarios and is widely used for networking research. Simulations are created using OTcl scripts which interface with the C++-based simulator core. The document provides an overview of NS-2 architecture, usage and programming and includes an example simulation script.