GNS3
GNS3 is a graphical network simulator that allows simulation of complex networks. This project is an open source, free program that may be used on multiple operating systems, including Windows, Linux, and MacOS X. Users have to provide their own IOS/IPS/PIX/ASA/JunOS to use with GNS3.