Keith Barker is a trainer and consultant with more than 27 years of IT experience. He has been named a Cisco Designated VIP and is the author of numerous Cisco Press books and articles. He is also the host of a comprehensive online GNS3 video training series through CBT Nuggets.
To become an expert in Cisco technologies or products, you need both study and hands-on practice. Study resources, including books, classes, and videos, are easy to find. But it can be very challenging for a Cisco student to access live gear to practice the implementation, verification and troubleshooting of both simple and complex network configurations.
How then does a network engineer or aspiring network engineer get hands-on practice? One solution is GNS3.
What is GNS3?
GNS3 is a hardware emulator (called a hypervisor), which creates a virtual environment on a host computer (such as Windows, Linux or Mac). By running Cisco IOS software on the hypervisor, the user can create complex networking scenarios with the real look and feel of hardware devices. This is because the learner is interacting with the real Cisco IOS operating system that is running on virtualized routers.
GNS3 was introduced many years ago, when an open-source hypervisor called Dynamips was written to emulate Cisco routers. Dynamips was intended to emulate Cisco IOS hardware – and was fairly complicated to implement – which put it out of reach of the average learner. But more recently, a GUI was added to manage the process of the hypervisor, and the GUI is currently called the Graphic Network Simulator (GNS3).
GNS3 is the front-end for multiple hypervisors, including Dynamips and Qemu, with the latter being used to emulate hardware used by the Cisco Adaptive Security Appliance (ASA) firewall.
Benefits of GNS3
The primary draw of GNS3 is that it affords anyone with a computer a way to practice network topologies. But it goes beyond that: users can quickly set up routers and firewalls, using simple drag-and-drop actions on the screen. It’s easy to add Ethernet connections between the devices, or to add hardware modules to the routers in the virtual GNS3 topology for more complex network designs.
Though GNS3 supports hardware emulation for several models of Cisco routers, it doesn’t provide the actual IOS. Many learners choose to purchase a single physical router, and use the related IOS image in their virtual GNS3 topology.
Layer 2 Ethernet switching inside of a GNS3 topology is limited to the switchport modules that can be added to the virtual routers inside of GNS3, which doesn’t support the full layer 2 switching capabilities that a physical switch would provide. As a result, many people want to have interaction between their GNS3 network and live network gear, which they can do by using logical Ethernet connections. And, if desired, they can set up 802.1q or ISL trunks between the devices in GNS3 and live physical network devices.
Several interesting possibilities for GNS3 exist, including:
- Using Windows, Linux or Mac OSX as the host computer for GNS3
- Integrating the host computer as a node on the GNS3 network(s)
- Virtual PC integration (VMware, VirtualBox) into GNS3 topologies
- Virtual PC Simulator to create several virtual “PCs” on a GNS3 network
- Ethernet and Trunking capabilities between GNS3 devices and live networks
- Virtual “appliances” as nodes on the GNS3 network
- Distributed computing GNS3 hypervisor support
- Router, ASA, and Switchport module emulation
- Wireshark Integration for GNS3 protocol analysis of GNS3 network traffic
- Cisco Configuration Professional (CCP) access to GNS3 routers
- ASDM (ASA Security Device Manager) GUI access to GNS3 firewalls
Challenges of GNS3 and Tips for Success
In my experience, Cisco students who have tried GNS3 but haven’t kept using it are those who ran into one of two common issues: They just didn’t feel they had the time needed to get proficient with GNS3, or their CPU pegged at 100 percent and they gave up.
Online training materials are available for anyone who has run into the first issue, to help learners become proficient with creating topologies within GNS3. And some basic mistakes which result in 100 percent CPU utilization include:
- Not understanding/tuning the “idle-PC” value
- Not opening a console session after starting the virtual router, or
- Allowing a console session to reach the inactivity timer.
Each of these issues is simple to fix, but users must be aware of them.
Often, a basic explanation is all it takes to change the situation from GNS3 being something students try and leave alone, to GNS3 being one of the most valuable tools they use for practicing, and for proof-of-concept designs, protocol analysis and verification.
For those interested in learning more about GNS3, I’ve compiled a series of “MicroNuggets,” or short, free video tutorials, for further learning.
Note: GNS3 (and its associated hypervisors) can be downloaded at http://www.GNS3.net
Industry Perspectives is a content channel at Data Center Knowledge highlighting thought leadership in the data center arena. See our guidelines and submission process for information on participating. View previously published Industry Perspectives in our Knowledge Library.