Both NS-2 and NS-3 are discrete event network simulators. This means that the
simulation consists of a series of independent events that change the state of the
simulation. Events are actions such as a packet being sent, a new node being added to
the network, or a timer expiring. Each scheduled event runs until completion without
advancing the simulation time, and then the simulation time is increased to the start
time for the next scheduled event.