tssnet is a fast and easy-to-use simulator of networks of TCP and UDP flows. tssnet is available as a library with a C interface. Also available is a Python wrapper with functions for logging and plotting metrics versus time. A simple script suffices to define a network, simulate it and plot metrics.
Unlike traditional network simulators, tssnet does not do packet-level simulation. Instead, tssnet does timestep stochastic simulation (TSS). The simulated state is updated probabilistically at steps of time (rather than at every packet transmission). Consequently tssnet is fast, especially for high-speed networks: the computational cost does not increase with link bandwidth; the memory cost does not increase with the number of packets in transit.
TSS is the successor to a deterministic timestep method, named Z-iteration, that computes time-dependent averages assuming Poisson traffic. Ibrahim Matta came up with the Z-iteration for multi-class queues. Catalin Popescu extended it to networks of queues with tcp flows. Andrezj Kochut made the timestep method probabilistic and extended the traffic to diffusion processes, resulting in TSS. Arun Vasan extended TSS to 802.11 links.
Upcoming versions of tssnet will have more capabilities (dynamic routing, intermittent application load, 802.11 links, etc).
Questions? Email me (Udaya Shankar) at shankar@cs.umd.edu.