Skip to main content

1. Comparison of emulators

Dynamips

This is the "grandfather" of network emulation. It specifically emulates the hardware of older MIPS-based Cisco routers (like the 2600, 3600, or 7200 series). It runs the actual Cisco IOS binary files. Dynamips is the technology leveraged by GNS3 since inception and emulates Cisco routers and basic switching using the Etherswitch module. It emulates older Cisco hardware such as 3725 routers and uses actual Cisco IOS images. You can copy a supported IOS image from a physical network device and use it with GNS3. You will need access to either physical hardware or have a Cisco support contract to get an IOS image. GNS3 is unable to provide IOS images for your labs. Cisco does not support you using IOS images on non-Cisco hardware and you may run into bugs emulating Cisco hardware.

Only the c7200 series get newer IOS 15 images. All other platforms are now end-of-life and only support IOS 12.4

We really recommend using the c3640, c3660, c3725, c3745 and c7200 IOS images listed below, they have proven to be the most stable in GNS3 provided you use the right amount of RAM and Idle-PC value.


Qemu and CML

A much more versatile and modern tool. It can emulate a vast range of hardware architectures (x86, ARM, etc.). Most modern network "appliances" for GNS3 or EVE-NG (like Cisco ASAv, Arista vEOS, or Palo Alto VM-Series) run as QEMU virtual machines.

Qemu (Quick emulator) is the best choice for creating and using Cisco GNS3 topologies. The topologies are portable and lighter than using native VirtualBox and VMware virtual machines. An ASAv for example can be run natively in VMware or in Qemu. If you are not using Linux it is recommended that you run CML appliances directly in the GNS3 VM which leverages Qemu.


VPCs

Virtual PC Simulator (VPCS) is a lightweight way of emulating a very basic PC. VPCS uses very little memory and is therefore a good choice when you want to emulate a PC without a GUI and if you only require simple commands such as ping to test connectivity in your GNS3 networks.

If you want more complex servers or PCs, use Qemu, Docker, VMware or VirtualBox.


Docker

Docker support in GNS3 gives you the option of running multiple containers as part of your GNS3 topologies. Docker is a good choice when you want to emulate a server or PC providing a specific service such as TFTP server, mail server or web server; and you want to do that without using large amounts of memory.

Docker uses less memory than Qemu or a virtual machine (VM) in VMware / Virtualbox does and has become a popular way today of instantiating a process or service versus the traditional method of booting entire VM to provide an individual service.

In GNS3, Docker is used to emulate a lightweight Linux PC with one service. This is more efficient than the traditional way of

  1. Emulating PC hardware using Qemu or VMware
  2. Installing and running a full operating system (OS) on that emulated hardware
  3. Installing and running a service (application) on the OS.

Traditionally, VMware or Qemu virtualizes the PC hardware, but you still need an operating system installed for applications. Docker takes this a step further by virtualizing the operating system for lightweight instantiation of multiple processes.

Because you are able to create Docker images with a shell that supports multiple tools, Docker can be used as a powerful replacement of VPCS.

Docker is more complicated to set up when compared to Qemu. However, because of the significant reduction in CPU and memory consumption, Docker is a great choice for your GNS3 projects.