The Common Open Research Emulator (CORE) is a tool for emulating networks on one or more machines. You can connect these emulated networks to live networks. CORE consists of a GUI for drawing topologies of lightweight virtual machines, and Python modules for scripting network emulation.
Simured is a multicomputer network simulation whith visual interface to see packet movement on the network. It is multi platform and there are versions in Java and C++.
Design and implementation of the Observation-based Cooperation Enforcement in Mobile Ad-hoc Networks (OCEAN) protocol, on top of the ns2 network simulator, using Dynamic Source Routing (DSR).
niab - Network In A Box.
Create a virtual lab network inside one machine. A lab can include routers, firewalls, clients and servers connected by a network specified by you. [Linux Network Simulator, UML, user mode linux]