Twenty-five open-source network emulators and simulators you can use in 2023

I surveyed the current state of the art in open-source network emulation and simulation. I also reviewed the development and support status of all the network emulators and network simulators previously featured in my blog.

Of all the network emulators and network simulators I mentioned in my blog over the years, I found that eighteen of them are still active projects. I also found seven new projects that you can try. See below for a brief update about each tool.

Active projects

Below is a list of the tools previously featured in my blog that are, in my opinion, still actively supported.

Cloonix

Cloonix version 28 was released in January 2023. Cloonix stitches together Linux networking tools to make it easy to emulate complex networks by linking virtual machines and containers. Cloonix has both a command-line-interface and a graphical user interface.

The Cloonix web site now has a new address at: clownix.net and theCloonix project now hosts code on Github. Cloonix adopted a new release numbering scheme since I reviewed it in 2017. So it is now at “v28”.

Cloudsim

CloudSim is still maintained. Cloudsim is a network simulator that enables modeling, simulation, and experimentation of emerging Cloud computing infrastructures and application services. It is part of an ecosystem of projects and extensions, such as iFogSim. CloudSim release 6 was delivered in August, 2022.

cnet

The cnet network simulator is actively maintained. It enables development of and experimentation with a variety of data-link layer, network layer, and transport layer networking protocols in networks consisting of any combination of wide-area-networking (WAN), local-area-networking (LAN), or wireless-local-area-networking (WLAN) links 1. The project maintainers say it is open source but you must provide you name and e-mail address to download the application source code. Version 3.5.3 was released in April 2022.

Containerlab

Containerlab is still very active. Containerlab is an open-source network emulator that quickly builds network test environments in a devops-style workflow. It provides a command-line-interface for orchestrating and managing container-based networking labs and supports containerized router images available from the major networking vendors. The most recent release was 0.36.1, released in January, 2023.

CORE

The Common Open Research Emulator (CORE) is still active. CORE consists of a GUI for drawing topologies of lightweight virtual machines, and Python modules for scripting network emulation 2. The most recent CORE release, 9.0.1, was released in November 2022. The CORE community is very active on the CORE Discord server.

EVE-NG

EVE-NG Community Edition continues to receive updates. It is a network emulator that supports virtualized commercial router images, such as Cisco and NOKIA, and open-source routers. The EVE-NG team seems to focus on the commercial EVE-NG product but still supports the open-source EVE-NG Community version. EVE-NG Community Edition v5.0.1-13 was released in August 2022. I found a new project that creates a Python API for EVE-NG.

While I was refreshing this list, I realized EVE-NG Community Edition is not open-source software. It was originally an open-source project called UNetLab, but the developers turned it into a commercial project and renamed it. I am keeping EVE-NG on this list because the Community Edition is still free to use.

GNS3

GNS3 continues to deliver new versions. GNS3 is a very popular network emulation tool that is primarily used to emulate networks of commercial routers, but it also supports open-source routers. It is often used by professionals studying for certification exams. GNS3 version 2.2.37 was released in January 2023.

IMUNES

IMUNES is stable. It is a network emulator. IMUNES and CORE share the same code heritage and their user interfaces are similar, but they have diverged from each other since 2012. IMUNES has seen less development activity than CORE in the past few years. The IMUNES developer made an update a few months ago to support the Apple M1 processor on Ubuntu 20.04 LTS.

Kathará

Kathará is still being maintained. It is a network emulator that can run either on a single host leveraging Docker or on a cluster using Kubernetes. It can run network emulation scenarios on a variety of operating systems such as Windows, Mac, and Linux, and in other environments such as data centers or the public cloud. It allows configuration and deployment of virtual networks featuring SDN, NFV, and traditional routing protocols, such as BGP and OSPF. Kathará offers Python APIs that allow user to script the creation of network scenarios. Version 3.5.5 was released in January, 2023.

Kathará was created by the original developers of Netkit and is intended to be the next evolution in network emulation. A fork of the original Netkit is still being maintained by another author and has updated documentation.

Labtainers

Labtainers is still being maintained. It is a network emulator that enable researchers and students to explore network security topics. It has many lab scenarios based on security topics. Version 1.3.7 was released in January 2023

Linux Network Test Stack

The Linux Network Test Stack (LNTS), is still being maintained. It is a Python package that enables developers to build network emulation scenarios using a Python program. You may use LNTS to control a network of hardware nodes or to control an emulated network of containers. LNTS version 15.1 was released in August 2019 but the developer is merging pull requests in GitHub as recent as a few weeks ago so I believe this project is still active.

Mininet

Mininet published its last version, 2.3.0, two years ago but it is still being maintained and remains a popular network emulator. It is designed to support research and education in the field of Software Defined Networking systems. On Mininet’s Github repo, I see some minor development activity in recent months. Mininet Wifi has about the same development activity. Both the Mininet mailing list and Mininet WiFi forum are still active. I also found some examples of building Mininet labs using Python and FRR

Mini-NDN is a fork of Mininet designed for emulating Named Data Networking. It’s most recent release was at the end of 2021.

Containernet is a fork of Mininet that allows to use Docker containers as hosts in emulated network topologies. It is still being maintained. It’s last release was in December, 2019, but its GitHub repository has seen a few pull requests merged in 2022.

NEmu

NEmu, the Network Emulator for Mobile Universes, is still being maintained. It creates QEMU VMs to build a dynamic virtual network and does not require root access to your computer. NEmu users write Python scripts to describe the network topology and functionality. Version 0.8.0 was released in January 2023.

Netlab

NetLab is actively maintained. NetLab uses Libvirt and Vagrant to set up a simulated network of configured, ready-to-use devices. It brings DevOps-style infrastructure-as-code and CI/CD concepts to networking labs. Netlab v1.5 was released in February, 2023.

ns-3

ns-3 is actively maintained and supported. It is a free, open-source discrete-event network simulator for Internet systems, targeted primarily for research and educational use. Version 3.37 was released in November 2022. The ns-3 source code is on GitLab.

OMnet++

Omnet++ is in active development. It is a discreet-event network simulator used by many universities for teaching and research. It is published under a license called the Academic Public License, which appears to be unique to the Omnet++ project. Commercial users must pay for a license, but academic or personal use is permitted without payment. Non-commercial developers have rights similar to the GPL. OMNeT++ 6.0.1 was released in September 2022.

OpenConfig-KNE

OpenConfig-KNE, Kubernetes Network Emulation, is actively maintained. It is a network emulator developed by the OpenConfig foundation. It extends basic Kubernetes networking so it can support point-to-point virtual connections between nodes in an arbitrary network topology. Additionally, the OpenConfig organization encourages the major networking equipment vendors like Nokia, Cisco, and Juniper to produce standard data models, for configuration, and standard container implementations, for deployment. OpenConfig-KNE also supports standard containers so it can emulate networks comprised of open-source appliances. Version 0.1.7 was released in December 2022.

Shadow

Shadow is still under active development. It is a discrete-event network simulator that directly executes real application code, enabling you to simulate distributed systems with thousands of network-connected processes in realistic and scalable private network experiments using your laptop, desktop, or server running Linux 3. Shadow v2.4.0 was released in January 2023.

VNX

Virtual Networks over Linux (VNX) is stable since 2020. But, new filesystems were added in January 2023 so there is still support. VNX is an open-source network simulation tool that builds and modifies virtual network test beds automatically from a user-created network description file. The latest version of VNX was released on Sep 14th, 2020

vrnetlab

vrnetlab has slowed down development activity. The last commit was in December 2021, which is recent enough. However, on the GitHub repository there are many pull requests open and many issues that have not received a response. I think, for now, I keep listing vrnetlab on the sidebar because some parts of vrnetlab and the vrnetlab documentation may still be useful to users of Containerlab

New tools

I surveyed the Internet for information about network emulators and simulators that were created after 2019, which was the last time I did a broad survey of available simulation tools.

I found seven tools that were new to me, and list them all below. Most are related to the emulation of wireless networks and core networks, which is very interesting to me because I could not find emulators for these types of networks back in 2019.

Colosseum

Colosseum provides open-source wireless software for wireless network emulation. The software appears to be based on standard PC hardware and radios. I wonder if one can emulate the radios and build a completely virtual lab, maybe by combining it with ns-O-RAN or GNUradio.

This project looks interesting to me because it seems to have open-source versions of key components in wireless RAN and Core networks. The project is made up of many different sub-projects. srsRAN 22.10 was released in November 2022.

Cooja

The Cooja IoT network emulator is part of the new Contiki-ng project. Cooja enables fine-grained simulation/emulation of IoT networks that use the Contiki-NG IOT operating system. The Contiki-NG forum is very active, with most questions receiving a reply. Cooja has not yet had an official release but the most recent pull requests were merged in February 2023.

CrowNet

CrowNet is an open-source simulation environment which models pedestrians using wireless communication. It can be used to evaluate pedestrian communication in urban and rural environments. It is based on Omnet++. Development is active. Version 0.9.0 was released in May, 2022.

CupCarbon

CupCarbon simulates wireless networks in cities and integrates data from OpenStreetMap. The code is available on GitHub but there is no license information and there has been no official release, although some of the recent commit refers to Version 5.2.

Meshtasticator

Meshtasticator is an emulator for Meshtastic software. Meshtastic is a project that enables you to use inexpensive LoRa radios as a long range off-grid communication platform in areas without existing or reliable communications infrastructure. This project is 100% community driven and open source! 4 Meshtasticator enables you to emulate the operation of a network of Meshtastic devices communicating with teach other over LoRa radio. It is actively being developed. There is no tagged release but GitHub pull requests have been merged as recently as February 2023.

MimicNet

MimicNet is a network simulator that uses machine learning to estimate the performance of large data centre networks. It was released in July 2019 but has had no updates since then. MimicNet is the result of a research project and, now that the paper is published, the project appears to be in maintenance mode. Developers still respond to issues and the last commit was in July 2022.

Tinet

Tinet, or Tiny Network, is another container-based network emulator that has a few good scenarios described in the examples folder in its repository. It is intended to be a simple tool that takes a YAML config file as input and generates a shell script to construct virtual network. Version 0.0.2 was released in July 2020 but development has continued since then, with GitHub pull requests being merged as recently as January 2023

Removed from my list

I removed two projects from my list of network emulators and simulators.

Antidote and NRE Labs are retired. See the announcement on the NRE Labs site

Wistar seems to have been abandoned. There have been no updates in four years and no activity in the Wistar Slack channel

Conclusion

I refreshed my list of network emulators and simulators. I now have twenty projects on my active list. I found seven new projects that I will look at in the future and determine if any should be added to my list. I removed two projects from my list.


  1. From https://www.csse.uwa.edu.au/cnet/index.php on February 15, 2023 
  2. From https://github.com/coreemu/core#about on February 12, 2023 
  3. From https://shadow.github.io/docs/guide/ on February 12, 2023 
  4. From Meshtastic Introduction: https://meshtastic.org/docs/introduction; February 2023 

9 thoughts on “Twenty-five open-source network emulators and simulators you can use in 2023”

  1. Any of this would be interesing as a tool to be used by secondary school students? I’ve developed myself a very simple network simulator -a browser based GUI that allows you to add computers, switches, routers, and do very basic configuration, e.g., IP, network masks, DNS, gateways…-, but I found another tool which is simple enough, but allowed complex scenarios at the same time, could be another option for my classes.

    Thank you!

    1. Hi Jorge, I assume you want a tool that abstracts the nodes so students do not need to learn a particular network operating system before they experiment with basic concepts. So, I recommend you look at CORE. Students can build a network using the GUI. Then, they can select and configure protocols, and inspect routing tables from the GUI.

  2. Hi Brian,
    I’m Tommaso from Kathará. I’m very glad you included it in the list.

    I would add to the description that it can leverages on Kubernetes as virtualization manager. In this way you are able to scale up your emulation with no constraint also on public cloud!

    Moreover we recently released Python APIs on PyPi to allow users to script the creation of network scenarios.

    Please contact me if you need more information and news about Kathará.

      1. Hi Brian,

        Sorry if I wasn’t clear. Kathará can be run either on a single host leveraging Docker or on a cluster using Kubernetes.

        Another thing, which may be interesting for potential users, is that it is compatible with all major operating systems (Windows, macOS, Linux).

        I’m sorry for the inconvenience!

  3. Great work as always Brian. Thank you.

    I am interested in whether you have similar knowledge or interest in reviewing traffic generators that could be used with these simulators?

    1. Hi Sam,
      I have a backlog of simulators and emulators to properly review but I would be interested in featuring open-source traffic generators after I complete my backlog. Do you have any suggestions?
      Thanks for reading my blog!
      Brian

Comments are closed.

Scroll to Top