OMNeT++
Discrete Event Simulator
OMNeT++ is an extensible, modular, component-based C++ simulation library and framework, primarily for building network simulators.