Free Hands-on Cisco Router Practice with Dynamips

I've spent at least 25% of the space in this blog over the years to a discussion of what used lab gear you might want to get so that you can practice the commands you will see on various Cisco exams. I've also typically ignored the other options, specifically Emulators (aka Dynamips) and Simulators (several). And occasionally, someone always posts and says the equivalent of "you can do this for free with Dynamips". So now it's time to do a more substantive discussion, starting with today's post, which is a kind of Dynamips 101 with a cert prep twist.

Many of you have used Dynamips more than I have, and I welcome your comments to clarify, set me straight, and help others learn how to best use it. I've got a lot of ideas about issues to discuss, but before doing so, today's post will be a kind of level-set on functions, aimed towards those getting ready to embark on their Cisco cert prep. I plan on several more posts about Dynamips and Cisco cert prep; this one's just to get use started. I've also got some handy links listed at the bottom of the page.

First off, Dynamips emulates Cisco routers and Cisco PIX firewalls. The Dynamips software acts like Cisco router hardware (several supported models and interface cards). Then, the user (you and me) supplies a copy of the real IOS software that would normally run on real Cisco router hardware of that same model. The IOS software has no awareness that it is executing on an emulator. You can connect to the Command Line Interface (CLI) of an emulated router, or telnet/ssh to the emulated router, and do all the commands supported by that IOS image.

Dynamips supports multiple emulated routers, the use of emulated serial and Ethernet links, and even the ability to communicate outside the computer running Dynamips through the computer's physical Ethernet interface. Dynamips intercepts calls to the router hardware. If two images were configured to be connected via a point-to-point serial link, Frame Relay PVC, or Ethernet, Dynamips would receive the IOS call to forward the packet, and then deliver that packet to the router on the other end of the link. Packet per second performance is constrained a bit, but allowing the actual passage of packets allows things like ping commands, traceroute commands, routing protocols, CDP, and the like to work just like they would on real hardware.

Dynamips does also support the creation of emulated PCs and LAN switches; these however do not run a full PC OS or Cisco switch IOS. However, you can communicate between the emulated routers, out the PC's Ethernet card, to a real Cisco switch and any other devices on the switch, like your PC.

To net it out: you can run multiple routers using Dynamips with your PC. The routers support serial (HDLC, PPP, and Frame Relay) and Ethernet of many speeds. You can build any router topology you like. You can add switches inside Dynamips if you're concentrating on the routers, or connect the emulated routers to external Cisco switches, spending your $$ on switch hardware but spending nothing for the routers. And Dynamips is free!

Dynamips is the emulator, but you'll use two other pieces with it. When I'm listing "Dynamips", I'm using the term loosely, meaning everything you'd need to download to use it.

Dynamips, which is the emulator itself.

Dynagen, a text-based front end to Dynamips, with text .ini-like files

GNS3, a graphical front-end

You'll also need an IOS image to use. That's the biggest issue for most newbies. If you ignore all licensing issues, and consider what can be done, you can get IOS images from existing routers by copying the IOS image (a single file) from that router's flash memory. You can download IOS from http://www.cisco.com/ if your account is associated with an active maintenance contract for some Cisco gear. However, the account you can get just by registering at cisco.com, but without having any other relationship with Cisco, doesn't let you download software. The Dynamips web sites do not supply the IOS image. So, getting over this particular hurdle is relatively easy for those who have jobs working for a Cisco customer, and relatively challenging for those without the ability to download IOS images.

I'd be remiss if I didn't say something about the IOS image licensing dilemma. I am not a lawyer, but it's my understanding that running IOS on anything except Cisco authorized hardware is against the licensing agreement. Clearly, running IOS inside Dynamips would be against that license. However, running IOS on used gear that is not Cisco authorized refurbished, or some similar designation, also appears to be outside the license agreement. So, while the previous paragraph described what is possible, this paragraph describes the other side of the story. So, when you go to the various web sites, and see comments like "you must supply your own IOS", this licensing issue is the motivation for the comment.

That's enough to give you a taste for Dynamips et al, but it's certainly not a lot of depth. If you're interested in it, it's definitely worth checking out the following web sites. They sites also point to other sites that have interest, depending on how long you can surf.

Dynamips

Dynagen

GNS3

Hacki's forum:

Blindhog:

Also note that many of the CCIE prep web sites that sell CCIE training and CCIE lab books also have Dynamips info and tutorials as well.

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Related:
Must read: 10 new UI features coming to Windows 10