A combination of three pieces of software — Dynamips, dynagen, and GNS3 — can be used to perform many of the CCNA labs available here. Luckily for you, they’re all freely available.
This software all runs on Windows, Linux, and OS X, so it doesn’t matter what computing platform you’re using. Performance and stability seem to be at their lowest on Windows, however, so I recommend using Linux or OS X whenever possible.
Dynamips is a software program that is meant to emulate Cisco routers. It can emulate the hardware of Cisco’s 1700, 2600, 3600, 3700, and 7200 series routers by running the actual IOS images used on the routers themselves. Just like Cisco IOU, you can build out complex network topologies using Dynamips without the need to build a Cisco lab or buy “rack rentals”.
Dynagen is a front-end for dynamips and makes it much easier to design and connect “virtual routers” running under dynamips. Using dynagen, you can create a configuration file that describes your network topology and start up and shutdown routers with ease.
Finally, GNS3 is a front-end to both dynamips and dynagen and adds a GUI layer to make designing and using your network topologies as easy as pointing and clicking. This combination of software has been heavily tested and used by people studying for Cisco certifications all the way up to the CCIE, so you can be confident that it will serve (most of) your needs.
The only thing you will need that you might not be able to freely download are the Cisco IOS images. If you don’t have a service contract, though, these can be easily obtained if you know how to Google. Grab some IOS images for any of the platforms that dynamips supports (1700, 2600, 3600, 3700, or 7200) and you’ll be all set. I recommend using 7200 series images as they offer a balance between features and stability, though more RAM is typically required. You’ll also want at least one 3640 image so that you can set up virtual switches as well.
You can download a bundle with Dynamips, dynagen, and GNS3 all rolled up into one from the GNS3 web site.
Read through the GNS3 Tutorial (PDF) by Mike Fuszner. It has links and details for installing the software on both Windows and Linux. Follow those instructions to get all the necessary software installed. I’ll mostly be using Cisco IOU for the lab exercises, but you complete (most of) them using Dynamips as well.