NS (Network Simulator)

NS is a great tool for simulating network agents. It allows a user to easily specify an arbitrary network with assigned attributes to network elements (e.g., link speed). The main NS site is here.