It layers a few different programs together: Dynamips, which virtualizes the Cisco IOS on a PC; Dynagen, which creates the front-end for Dynamips; Qemu, a generic open-source emulator that virtualizes Cisco ASA and JunOS; VirtualBox, another open-source emulator which will virtualize a wide array of server and PC OS’s.
Month’s ago, I made the mistake of installing all these components separately, and trying to get them to work together. It did finally work, but what a mess. On top of that, it took forever, like 6 hours just to get two routers working. GNS3 however, bundles everything together, and installs it all for you. I had two routers up and running in less than 20 minutes, including reading the tutorial. It’s dead simple.
With GNS3, you can emulate just about any environment you want. From exploring Cisco IOS, ASA, or JunOS features, to Wiresharking network communications to test a proof of concept, you can do it here. Additionally, if one PC isn’t sufficient to run your test environment, you run GNS3 on more than one PC, connecting them all through a real switch.
There are limits of course. For starters, you’ll need to provide the actual OS’s. GNS3 will run the real OS, not an emulation, put you have to provide that, just like you would if you used VMware. Also, it’s not suitable for bandwidth testing. The max number of packets GNS3 will provide is about 1000 per second, far short of what a Gig network connection would handle.
However, given its limitations, it’s a great tool for learning and testing. Got an idea of how to make your network run better, be more flexible or provide a superior solution? Test it in GNS3. Don’t just talk about your great idea, show them it’s great.