This document provides an overview of the NS-2 network simulator. It discusses how NS-2 allows testing of complex network scenarios in a controlled and cost-effective manner compared to physical experiments. It describes key NS-2 features like support for various protocols, traffic models, and error models. It also outlines the object-oriented structure of NS-2 with its C++ backend and OTcl frontend and provides examples of configuring simulations involving nodes, links, traffic generation and capturing network events.