This document provides an introduction and overview of NS2, a network simulator. It discusses what network simulation is and the architecture of NS2. It also provides sample NS2 input scripts written in Tcl that define nodes, links, and events. Sample output from NS2 simulations include packet trace files and NAM trace files that can be visualized. The document describes how to learn and use Tcl to write NS2 scripts, run simulations, extract data, and plot results. It also gives examples of basic Tcl commands and programming constructs like variables, control flow, arrays, and procedures.