Open-Source Network Simulators

Latest News

March 21, 2024

Ivan Pepelnjak wrote some posts on his ipSpace blog with links to valuable resources. First, he discovered that FRR is now available on Apple Silicone so you can run netlab emulations using FRR containers on your Macbook. He also pointed to https://bgplabs.net/, which provides documented hands-on virtual labs that help you learn BGP.

Older news is archived on the Network Simulator News page.

List of Network Simulators and Emulators

This is a list of open-source network simulators and network emulators that run on Linux or BSD. Please post a comment on this page to let me know about any other open-source network simulation tools I did not include in this list.

Cloonix

Cloonixv26-002

The Cloonix network simulator provides a relatively easy-to-use graphical user interface. Cloonix uses QEMU/KVM to create virtual machines. Cloonix provides a wide variety of pre-built filesystems that can be used as virtual machines and provides simple instructions for creating other virtual machine root filesystems. Cloonix has an active development team, who update the tool every two or three months and who are very responsive to user input.

Please click here to see my posts about Cloonix.

Cloonix web site: http://clownix.net

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.

Colosseum web site: https://www.northeastern.edu/colosseum/

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.

Cooja web site: https://www.contiki-ng.org/

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++.

CrowNet web site: https://github.com/roVer-HM/crownet

CupCarbon

CupCarbon simulates wireless networks in cities and integrates data from OpenStreetMap. The source code is available on GitHub. It’s license is not clearly stated, however.

CupCarbon web site: http://cupcarbon.com/

cnet

The cnet network simulator 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.

cnet web site: http://www.csse.uwa.edu.au/cnet/

Containerlab

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. It starts the containers, builds virtual wiring between them to create lab topologies, and manages each lab’s lifecycle.

Containerlab supports containerized router images available from the major networking vendors. More interestingly, Containerlab supports any open-source network operating system that is published as a container image, such as the Free Range Routing (FRR) router. Containerlab also supports VM-based network devices so users may run commercial router disk images in network emulation scenarios.

Please click here to see my posts about Containerlab.

Containerlab web site: https://containerlab.dev/ and https://github.com/srl-labs/containerlab

Containernet

Containernet is a fork of the Mininet network emulator that allows researchers to use Docker containers as hosts in network emulation scenarios.

Containernet web site: https://containernet.github.io/

CORE

CORE desktop

The Common Open Research Emulator (CORE) provides a GUI interface and uses the Network Namespaces functionality in Linux Containers (LXC) as a virtualization technology. This allows CORE to start up a large number of virtual machines quickly. CORE supports the simulation of fixed and mobile networks.

CORE will run on Linux and on FreeBSD. CORE is a fork of the IMUNES network simulator, and it adds some new functionality compared to IMUNES.

Please click here to see my posts about the CORE Network Emulator.

CORE web site: https://github.com/coreemu/core

EVE-NG Community Edition

UNL

EVE-NG is a network emulator that supports virtualized commercial router images (such as Cisco and NOKIA) and open-source routers. It uses Dynamips and IOS-on-Linux to support Cisco router and switch images, and KVM/QEMU to support all other devices. It is available as a virtual machine image and may also be installed on a dedicated server running Ubuntu Linux.

EVE-NG is available in two editions: a professional version and a community edition. The community license is not clearly stated and I cannot find the source code, so I am wondering if this project is no longer an open-source project?

EVE-NG web site: https://www.eve-ng.net/index.php/community/

GNS3

Open-source Linux GNS3 simulation

GNS3 is a graphical network simulator focused mostly on supporting Cisco and Juniper software. GNS3 has a large user base, made up mostly of people studying for Cisco exams, and there is a lot of information freely available on the web about using GNS3 to simulate Cisco equipment.

GNS3 can also be used to simulate a network composed exclusively of VirtualBox and/or Qemu virtual machines running open-source software. GNS3 provides a variety of prepared open-source virtual appliances, and users can create their own.

Please click here to see my posts about GNS3.

GNS3 web site: http://www.gns3.com

IMUNES

IMUNES open-source network routing simulator

A team of researchers at the University of Zagreb developed the Integrated Multi-protocol Network Emulator/Simulator (IMUNES) for use as a network research tool. IMUNES runs on both the FreeBSD and Linux operating systems. It uses the kernel-level network stack virtualization technology provided by FreeBSD. It uses Docker containers and Open vSwitch on Linux.

IMUNES supports a graphical user interface. It works well and offers good performance, even when running IMUNES in a VirtualBox virtual machine.

Please click here to see my posts about IMUNES.

IMUNES web site: http://www.imunes.net or https://github.com/imunes

Kathará

Netkit open source single-area OSPF pre-configured lab

Kathará 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.

Kathará was created by the original developers of Netkit. A fork of the original Netkit is still being maintained by another author and has updated documentation.

Please click here to see my posts about Kathará and Netkit.

Kathará web site: http://www.kathara.org/

Labtainers

Labtainers is a network emulator based on Docker containers that also provides many prepared labs that focus on cybersecurity scenarios. Its source code) is published on GitHub

Labtainers web site: https://my.nps.edu/web/c3o/labtainers

Linux Network Stack Test

The Linux Network Stack Test (LNST), 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. The source code is available on GitHub.

LNTS web site: http://lnst-project.org/

Meshtasticator

Meshtasticator is an emulator for Meshtastic software. Meshtasticator enables you to emulate the operation of a network of Meshtastic devices communicating with teach other over LoRa radio. 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.

Meshtasticator web site: https://github.com/GUVWAF/Meshtasticator

Mininet

MiniEdit-503b

Mininet is designed to support research in Software Defined Networking technologies. It uses Linux network namespaces as its virtualization technology to create virtual nodes. The web site indicates that the tool can support thousands of virtual nodes on a single operating system. Mininet is most useful to researchers who are building SDN controllers and need a tool to verify the behavior and performance of SDN controllers. Knowledge of the Python scripting language is very useful when using Mininet.

The Mininet project provides excellent documentation and, judging from the activity on the Mininet mailing list, the project is actively used by a large community of researchers.

Some researchers have created forks of Mininet that focus on specific technologies. I list projects based on Mininet below:

Please click here to see my posts about Mininet.

Mininet web site: http://www.mininet.org

NEmu

NEmu, the Network Emulator for Mobile Universes, 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.

NEmu web site: https://gitlab.com/v-a/nemu

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 web site: https://netlab.tools/

NS-3

Ns-3-logo

NS-3 is a discrete-event open-source network simulator for Internet systems, used primarily for research and educational use. NS-3 is a complex tool that runs simulations described by code created by users, so you may need programming skills to use it.

NS-3 can run real software on simulated nodes using its Direct Code Execution feature. This allows researchers to test real software like Quagga or web servers in a discreet-event network simulation to produce repeatable experiments.

NS-3 is meant to replace NS-2, a previous version of the network simulator. NS-2 is no longer actively maintained but is still used by some researchers.

NS-3 web site: https://www.nsnam.org/

OMNet++

OMNeT++ discrete event simulator and the INET Framework combine to simulate wired, wireless and mobile networks. OMNet++ is a discreet-event network simulator used by many universities for teaching and research. It’s source code 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++ web site: https://omnetpp.org/

OpenConfig-KNE

OpenConfig-KNE, Kubernetes Network Emulation, is a network emulator developed by the OpenConfig foundation. It extends basic Kubernetes networking so it can support 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.

OpenConfig-KNE web site: https://github.com/openconfig/kne

Shadow

Shadow

Shadow is an open-source network simulator/emulator hybrid that runs real applications like Tor and Bitcoin over a simulated Internet topology on a single Linux computer, and also on a pre-configured AMI instance on Amazon EC2. Users run a simulation by creating an XML file to describe the network topology and plugins to link their application code to nodes in the simulation. They see the results of their experiments in log files generated by Shadow.

Shadow operates as a discrete-event simulator so experimental results are repeatable. Shadow can also run real software on its virtual nodes, using plugins created by the user. This combination of features — discreet-event simulation coupled with real software emulation — makes Shadow a unique tool.

I have not yet used Shadow. It seems to be useful to developers who want to test the performance of distributed or peer-to-peer applications like TOR and Bitcoin.

Shadow network simulator web site: https://shadow.github.io/

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.

Tinet web site: https://github.com/tinynetwork/tinet

VNX

VNX linux open-source network simulator

VNX supports two different virtualization techniques and uses an XML-style scripting language to define the virtual network. It also supports chaining multiple physical workstations together to support distributed virtual labs that operate across multiple physical workstations. It is supported by a small community and has been updated within the past year.

VNX replaces VNUML. The old VNUML web site still has sample labs and other content that would be useful when using VNX.

Please click here to see my posts about VNX and VNUML.

VNX web site: http://www.dit.upm.es/vnx

vrnetlab

Vrnetlab, or VR Network Lab, is an open-source network emulator that runs virtual routers using KVM and Docker. Software developers and network engineers use vrnetlab, along with continuous-integration processes, for testing network provisioning changes in a virtual network. Researchers and engineers may also use the vrnetlab command line interface to create and modify network emulation labs in an interactive way.

Please click here to see my posts about vrnetlab.

vrnetlab web site: https://github.com/plajjan/vrnetlab

Do it yourself using Linux tools and applications

Linux provides many different ways to build a network emulator using open-source virtualization technology and tools. Some examples are:

Many of the network emulators described in this blog us some of the tools mentioned above to implement their functionality.

Please click here to see my posts about building your own network emulator.

Demonstrations for high-school students

The following projects are suitable for educators in secondary schools, who teach students aged 14 to 18. These projects animate the basic functions of a communications network but they do not really simulate or emulate network functionality.

CS4G Netsim

CS4G Netsim is a Web-based network simulator for teaching hacking to high schoolers. It demonstrates some basic security issues that Internet users should be aware of. The source code is posted on GitHub. This seems to have been a university student’s project, presented as a conference paper.

Educational Network Simulator

The Educational Network Simulator is a very simple educational network simulator intended to be used with 15-16 year old students. It has a web interface. The source code is available on GitHub. The author provides a series of YouTube videos explaining how it works and how to use it.

Filius

Filius is a program designed to teach students about the Internet and its applications. It is a standalone application for Windows, Mac and Linux. The project offers Filius introduction e-book and a full set of resources that help teach students basic network knowledge. The source code is available on GitLab.

266 thoughts on “Open-Source Network Simulators”

  1. Pingback: Even more open-source network simulators | Open-Source Routing and Network Simulation Blog

  2. Pingback: More open-source network simulators | Open-Source Routing and Network Simulation Blog

  3. Pingback: Open-source network simulator roundup | Open-Source Routing and Network Simulation Blog

  4. Vincent Perrier

    I cannot wait for all the missing evaluations, this web site does exactly what I wanted to do but failed to find the time for it.
    The wording: “simulation” could be replaced by “emulation”, it would be good to add details about the difference between network “simulations” (based on ns3 for example) that change the time base (1 mn simulation is done in a much longer duration) and the network “emulation” that are based on virtualisation and work in real time.
    I am not even sure about my own vision of these word definitions (emulation, and simulation), clearer definitions could be put on this web site. I like simulation more than emulation, so it may be a good thing to keep calling the “network emulation” “network simulation”, in the end the technical meaning of the word will cover both real time and non-real time way to simulate.
    Hit “ns3+opnet+time+simulation” in google to see about usual meaning of simulation.

    1. Hi Vincent,

      You are correct that the tools I am working with are mostly related to “emulation”, not “simulation”. Looking at the Google Analytics information for this site, I see that the search terms most people use to find this site are the terms, “network simulation” or “network simulator”. Very few people seem use the search term, “network emulation”.

      I agree with you that using the term “network simulation” to describe both “emulation” and “simulation” is an acceptable way to make this topic more accessible to searchers, even if it is not really an accurate way to describe the tools.

      Thanks,
      Brian

      1. I wonder how many of the people that find this site using ‘simulation’ actually wanted to find this site…ie using the ‘wrong’ word might increase traffic, but is it traffic you actually *want* to attract (I’m sure you don’t just want *any* traffic – there are much ‘better’ words to use ;)).

        1. I wanted to find this site! I didn’t know the exact term to look up so I searched simulator. Now I can see an emulator is really want I need. But sometimes you have to think about what the end user is going to search for.

        2. I wanted to find this page – I’m glad I did! Even knowing the difference between emulation and simulation, it didn’t occur to me since the suggested completion was ‘open source network simulator’.

    2. christian erick oundo

      i like this much , i have been struggling to practice routing and switching configurations. this site will help me a great deal, i hope to keep in touch with you guyz for more support.

  5. Vincent Perrier

    The official “simulation” has for main goal to reduce the cpu/ram resources use in the study of large scale topologies. The cpu and ram will not be a problem in a few years and “emulation” will probably replace simulation in the end, the merge has already began:

    So I agree, the word simulation should cover both methods.

  6. Brian — this is a very interesting roundup of open source systems you’ve got here. I was really intrigued by Marionet, but… my problem is that I want to build a course that needs to deal with students who are most likely running Windows based machines (I can’t help it.)

    Other than GNS3… do you know of a system that seems straightforward, friendly, and not so tied to a particular vendor’s certification training, that can be used in an introductory networks course?

    Thanks!

    1. Hi Mike,

      Thanks for your question.

      Based on what I know about all the tools in this list, I think that GNS3 is the only system that will work on Windows. However, I was able to run most of the tools I reviewed (and I’ve reviewed about half the tools in this list so far) in a virtual machine and the virtual machine will run on VirtualBox in Windows.

      For the case you describe, and assuming you want a tool that has a GUI, I would also recommend either IMUNES or the CORE Network Emulator running on a FreeBSD system in a VirtualBox virtual machine on MS Windows. The instructor will have to do some work to create the system and simplify the desktop setup so that the complexities of using an unfamiliar operating system are hidden from the students but as soon as IMUNES or CORE is started, the students will be using the application and not worrying about running Unix BSD Unix commands. While this solution is not really straightforward and simple, I believe that the instructor can set it up so that, from the students’ point of view, it appears to be acceptably straightforward and simple.

      Thanks,
      Brian

      1. Sourasekhar Banerjee

        hello Brian. I’m doing research on Distributed Operating System. I have written some algorithm on mutual exclusion I’m searching for some Simulation platform where I can execute my code. Is these emulator or simulation tool will help me to do my job ??

        1. Hi Sourasekhar,
          It depends on how you’ve implemented the distributed system. Can the system run in KVM or VirtualBox? If so, use GNS3 or Cloonix. If the system runs on top of Linux, you may be able to use containers so you could use CORE in that case.
          Thanks,
          Brian

      2. Hi Brian, some great information in your feedback on this forum.

        I have Oracle VirtualBox installed on my laptop with some VM’s (ubuntu / fedora) created.
        As part of a project I am looking create a S2S VPN tunnel using IPsec to connet to a VPC in AWS and /or AZURE.

        Should any of your suggested open source netwok emulators like GNS3 , Cloonix or perhaps something like pfsense if installed on VirtualBox allow me to create this VPN tunnell to AWS/Azure.
        Appreciate any suggestions or things to avoid. Thanks Maurice

  7. Vijay Murugesan

    This is a great article and information for people who are like me (Developers by nature but still want to have a edge on the networking concepts). I’m going to recommend this to all my team. I feel bad I have missed it for so long.

    1. Hi Vijay,
      Thanks for your interest in this blog. I have almost completed my survey of open-source network simulators so, over the next few months, I will begin discussing examples of simulated networking scenarios. I hope you and your team will find this blog to be useful.
      –Brian

    1. Hi David,
      Yes, I tried Live Raizo. It offers GNS3 installed on a basic Linux system in a Live USB or Live CD disk image. It also offers a useful selection of other Linux software and tools pre-installed.
      Thanks,
      Brian

      1. I have tested it. It does a little more 😉 There has several VirtualBox Linux whose are completely integrated with gns3, and these VMs have already many networks tools installed.

      2. Hi,

        I will wish just your feedbacks on Live Raizo.

        With your little description, i believe that you think that Raizo is just a Live where GNS3/Qemu/VirtualBox are already installed and if you want use it, you must configured a lot of things.

        But, Live Raizo can do more : 18 Debian Linux VM are created and fully integrated into GNS3/VirtualBox. These VM have same softwares that NetKit (which was installed on the first releases of Raizo).

        Without configuring anything, you can do the same things that with Cloonix or NetKit (with VisualNetkit).

        One of its advantages is that nothing is installed, modified or deleted on your own OS.
        One of its drawbacks is that all is lost if you don’t save.

        David

        PS : I think that your contact email on privacy-policy page doesn’t work.

        1. Hi David,

          Thanks. I fixed my contact e-mail address. And, thanks for the extra information about Live Raizo.

          I think Live Raizo is a good project. Projects like Live Razio and GNS3 Workbench provide an installation of GNS3 along with supporting filesystems (with all necessary software pre-installed) and prepared lab scenarios are a great way for people to become familiar with using GNS3 without having to install and configure GNS3 on their PC. They also make it easier to use GNS3 to build simulation scenarios.

          I notice the both Live Raizo and GNS3 Workbench are prominently featured on the GNS3 web site.

          Thanks,
          Brian

  8. Brian:
    You have a great resource here. Thanks for making all this info available. I’ve been looking for an open source network emulator to suit my needs and was hoping I could get your opinion. I want to connect openNMS to an emulator and then have the emulator run simple scenarios that present a network admin with various types of problems to diagnose and correct. Any suggestions would be most appreciated.
    Thanks
    Larry

    1. Hi Larry,
      Thanks for your question.
      I think you should use a network emulator that runs either KVM or user-mode linux. So use either Cloonix or Netkit. These emulators will let you install the software you need on each virtual machine (especially an SNMP agent and MIBs).
      Thanks,
      Brian

      1. Brian:
        Thanks for the feedback. I had been thinking about trying CORE but I will take a close look at Cloonix and Netkit as you suggest. I’ll let you know how it goes.
        Thanks again
        Larry

        1. Larry,
          Thanks.
          I think the main issue is virtualization of the file system. I’ve not had to set up MIBs on a lInux box so I do not know if CORE creates a namespace for the directories used by SNMP. Cloonix and Netkit use KVM and user-mode-linux, respectively and those technologies virtualize the full filesystem and allow you to save the changes to the files for future use.
          Brian

          1. Hi,

            You can use also GNS3 who can easily incorporate your own VirtualBox VMs. You don’t need IOS Cisco to use GNS3.

          2. Good point, David! GNS3 would also be a good tool for this case. I have a few posts on using open-source routers in GNS3. Click on the GNS3 tag to find them.
            –Brian

  9. Brian/David:
    Thanks for all the feedback. I had posted the same question on an openNMS forum and gotten zero responses so I really appreciate the info being provided here.
    Regarding GNS3, I was under the impression it’s main focus is providing a high-fidelity replication of Cisco and Juniper routers and enterprise-level WANs. By “high-fidelity” I mean something detailed enough that it can be used as a study aide for somebody trying to get certified by Cisco or Juniper. I think for my needs the best fit will be something that is fairly broad in scope (e.g. can emulate anything from SOHO LAN to a global grid) but where fidelity is less important than flexibility and ease of use. The idea is to get a basic network emulation going and than interface to it via openNMS. I wondering if using GNS3 may force me to go deeper into IOS and/or JUNOS that I want.
    My understanding is that Cloonix is pretty easy to set up and use, allows the use of standard Linux networking tools (e.g., ping, traceroute, etc) and, if desired, has support for emulating cisco routers with some reasonable fidelity. If that is correct, I’m thinking I’ll try it first.

    – Larry

    1. Hi Larry,

      I prefer cloonix for working with open-source routers, in the case where full-stack virtualization is needed (using KVM).

      GNS3 will work with open-source routers but, as you observed, it’s primary purpose is to support Cisco router images and it’s management of open-source routers relies on VirtualBox (which is OK but takes more steps to set up each unique virtual machine disk image).

      Both cloonix and GNS3 provide high-fidelity network simulation because they allow you to work with virtual machines running real networking software. Cloonix is more streamlined for use with open-source routers and other open-source software, which I think fits better with your use-case for working with OpenNMS.

      Thanks for your questions!

      Brian

  10. Hi Brian,
    Thanks for this great article. I test access multiplexers and would like to create a network of 24-96 guest hosts, each with their own IP. The purpose of this is to try to congest multiplexer-under-test with TCP traffic. There will be a simulated PC for each of the modems connected to a multiplexer-under-test (that supports between 24-96 modems). I would then like to set up a packet (TCP) generator or an FTP server on the uplink of the multiplexer, where the 24-96 guest hosts would then simultaneously download files from the server. Other than 2 high performing server blades with 10G ports, which virtualization software and/or network simulator do I need?

    1. You need to do some testing to determine which options work best for you. In my opinion, you need a hypervisor like Xen, KVM, of VMWare) or you can use Linux containers (maybe use Docker), which use less systme resources than full VMs and may allow you to run more virtual test nodes per host machine. Set up your VMs and connect them all to the 10G port. You don’t need a network simulation emulation tool, unless it helps with your automation requirements (for example: Cloonix for KVM, CORE for Linux containers). Even then, I would recommend other tools like chef or puppet (or use shell scripts) instead of a network simulator for your test system because it seems you will need more functionality related to virtual server setup automation instead of simulating different network topologies.

      1. Thanks for quick reply, Brian. I mostly use python for automation scripting. As I’ve not use either KVM or Linux containers before, do they have a master controller that I can use to manage all the test nodes? Like installing FTP clients and initiate the downloads/uploads? Or do I use tools like Jmeter? Another question is, how do I calculate the max number of nodes the host can handle if I need each node’s unidirectional transfer rate to be at around 100 Mbps?

        1. I don’t know all the tools available to automate virtual server setup and configuration but I would expect some of them support a Python API so I suggest you do some searches to find what would be suitable. I don’t know how to calculate the expected performance or throughput per virtual server, but I think 100 Mbps is asking for a lot, unless you have a very powerful host machine. You will have to do some testing, I think.

          To get started quickly, try using the [CORE Network Emulator](https://brianlinkletter.com/tag/core/). CORE is implemented in Python and has a documented Python API. You can create a set of virtual servers that all connect to the external Ethernet interface on the host machine. You can create a custom service type that supports starting an FTP client and then running some download commands. When you save the network scenario, you can re-load it at a later date to run the same test again. I plan to post some information on customizing services in the CORE Network Emulator in a few days.

          But, I do not know what kind of performance you will get.

          For master controllers, Linux offers the *[libvirt](http://libvirt.org/)* tool (which supports KVM, Linux containers, and other types of virtualization) and I am sure there are other open-source virtual machine configuration and controller tools you can use.

          You can also use *[Virtualbox](https://www.virtualbox.org/)*, which is an easy-to-use VM manager with a GUI (and excellent documentation).

  11. Hello everyone, I need some advice!

    I’m a networking student (BSc) in my final year of Uni and I have chosen to base my final year project on simulating an Indoor Positioning System (IPS). Is there any free network simulator software that I can use as a tool to develop and demonstrate a working IPS within a simulation?

    I appreciate any advice you give me!

    1. Hi Adam,
      Thanks for your question. What protocols do you intend to use in your solution? If you can describe your needs in terms of the technology you need to emulate, you may be more successful in finding answers.
      Brian

  12. Hello Brian!

    We are working on implementing communication network testbed for a smart grid system. We are planning to emulate ADSL and LTE/GPRS communication technologies in combination with network traffic generation. the experiment also need to be analyzed which means the experiment output need to be captured. Can you please recommend an emulation tool with realistic performance and which is not complicated to configure?

    1. I think your requirements exceed the capabilities that the open-source tools that I know about can provide.
      I’ve seen some research papers that discuss using NS-3 to simulate LTE packet core networks (but if you may find NS-3 to be a complicated solution).
      I think you’ll be looking for a commercial solution. Sorry I can’t be more helpful.
      –Brian

  13. I have working in research about detecting a malicious router that can attack autonomous system
    (AS) so I want to simulate simple AS with some routers and simulate a malicious router that drop the traffic maliciously
    I want to select the simulator to use it in this research , some ones advice me to use NS2 simulator

    thank you for help

    1. I think you will want to run real software on virtual nodes in this scenario so I recommend you use a network emulator for your project.

      Most of the software projects I list on this page are actually “network emulators”. You should choose a network emulator that uses virtualization technology and scripting languages you are comfortable using.

      If you need a recommendation I can say that CORE and Cloonix are easy to use and should meet your requirement to run BGP routing software on different nodes in an emulated network. But any of the other emulators (except for Psimulator) will also work for you.

      If you really need to use a “network simulator”, you may want to use the NS-3 network simulator. I have no practical experience with NS-3 but it I understand that it supports a feature called “Direct Code Execution” (DCE) that can run real networking software, such as quagga. See http://www.nsnam.org/overview/projects/direct-code-execution/ and http://www.nsnam.org/~thehajime/ns-3-dce-quagga/index.html

      I hope that helps.
      –Brian

  14. thank you very mush for responded and for guides about my issues and I think , I will use DCE in the simulator NS-3 that can maintain multiple implementations of a single protocol

    thank you

  15. hello for everyone

    I am research student. I want make simulation about surveillance camera in WIMAX , can you help me which program can be effective and easy to use . help me please
    thank to all

    numking

    1. HI Christian,
      Yes I should look at WANem. I considered it to be more of a “black box” emulator that I would run on a node in a simulation if I wanted to simulate performance issues on a linke (such as delay, error rates, etc). So, I did not list it among the set of open-source simulators on this page. I’ll consider adding some posts about WANem in the future.
      Thanks for you post.
      Brian

  16. Hello Brian I have to use Network CORE for a college project, in which I have to install software on one of the node, Example Apache server.
    The thing is i don’t know how to install applications on to a node within the Core environment, any help would be greatly appreciated.

    Regards desperate Dave

    1. Hi David,
      CORE uses Linux Namespaces as its method to create virtual nodes. This means that each node does not have its own filesystem upon which you can install apps. You need to install applications on your host computer, like I do in my post about installing CORE services. Then, when you start a virtual node in the CORE Network Emulator, that node can run the app in a separate process namespace. Also you need to be aware of how CORE sets up configuration files in the filesystem for each service that runs, especially if you will create your own custom services. Remember, you should not just start a process on a CORE node. USe the “Services” dialogue box to start the programs you need and if the program you need is not already listed in the “Services” dialogue box, create a custom service. I suggest you read the rest of my posts about using the CORE Network Emulator. I encountered the same problems I suspect you will encounter.
      Thanks,
      Brian

  17. Hi,
    We’re running an experiment where we need to simulate a TCP/IP environment for testing purposes. We should be able to introduce heavy errors for retransmission such as packet drop, congestion, etc. Which of these will be a better fit?
    Someone from work recommended ns-3. I’m not sure about that. Please help.
    Thank you
    Sean

    1. Hi Sean,
      If you need results that are consistently reproducible, you should use a discreet-event network simulator like NS-3. If you can accept some variability in measured performance then it is much easier to use a simulator like those listed on this page.

  18. Hi there,

    Thanks for this list of NS. It contribute and simplify the work of find a suitable tool for networking teaching. Best work

  19. Pingback: Bilgisayar Ağları Modelleme - Murat Özalp

  20. Gabriel Babajide

    Hi, I’m an undergrad looking to apply SDN to WCDMA network.. please which network simulator is best… the blog and comments are helpful. thanks

  21. Gabriel Babajide

    Please of all the above network simulators, which is best for simulating WCDMA network??. Thanks

    1. Hi Gabriel,
      None of these is useful for emulating a WCDMA network. You can use the CORE Network Emulator to emulate a user in a basic mobile network but I have not covered that functionality in my posts about CORE. You will need to set up the packet core network functionality yourself, regardless of which simulation p,at form you use.
      I hope that helps.
      Brian

  22. Gabriel Babajide

    The project is to apply SDN to a WCDMA network… from the OSI model, I want to use SDN to program the network, decouple the control and the data plane. I’ll love to obtain as more information as I can get. Thanks

    1. I think you are looking at Network Function Virtualization and/or Software Defined Networking. You should look at how the CORE Network Emulator can work in your situation. It is written in Python so you can modify it as you need to. You may also look at Mininet. I hope your research is successful.
      /Brian

      1. Gabriel Babajide

        You think it’s going to be very difficult, no?… I’ve been looking @ developing a model from the TCP \ IP model and create a topology off it.. which I will then seek to simulate… what do you think??

        1. Well, the nodes in the access network and in the packet core will need a TCP/IP network (or something that emulates a TCP/IP network) so they can communicate with each other to create the required services. I suggest that you look at the RouteFlow project for some inspiration. If you are focused on SDN, then I suggest you use the Mininet network simulator.

  23. Pingback: Build your own network simulator using open-source DevOps tools | Open-Source Routing and Network Simulation

  24. Hi Brian,

    thanks for this overview.very helpful.
    I am working on a student project and want to simulate some IP-based fast reroute techniques, can you recommend a simulator that can help me?
    I appreciate any advice you give me! Thanks.

    Jiadai

    1. Hi Jiadai,
      Fast-reroute techniques are implemented by the routers you emulate. So the simulation tool you use is not a factor in making this work. If you need a simulator that can run commercial router software (where I think you will find fast reroute is better supported than on Linux), I suggest that you use GNS3 or Cloonix because you will need to use full virtualization (VirtualBox, or QEMU/KVM).
      Thanks,
      Brian

      1. Thank you for you response.

        I have read some papers about IP-based fast reroute techniques. On the simulation part, they all mentioned that they used some network topologies such as ABILENE, GEANT and BELNET, but I don’t know how they simulated the IPFRR mechanisms on those networks.
        So how I can make the simulation work to evaluate those mechanisms? I am still a newbie, hope you can give me some hints.

        Thank you!

        Jiadai

        1. Hi Jiadal,
          You will need to use GNS3 and Cisco or Juniper images to test IP Fast Reroute technologies because most of these are not implemented as open source software.
          ECMP is implemented in the Linux networking stack and it is probably one of the fast reroute technologies covered in the papers you read. If you cannot access Cisco or Juniper software, you can study ECMP in Linux.
          Regards,
          Brian

      1. I am sorry to say that there has been a cloonix mailing list once, but now, the list is closed.
        There is very little communication around cloonix apart from this blog here.
        Do not hesitate, Brian to forward anything concerning cloonix to the cloonix team. The mail you transmitted about saving and configuration was good for the product progress, the needs we have here usin the tool is not the same as the needs other people may have. Here we never save a topology, we just scritp its construction and send configuration commands to virtual machines always starting from virgin reference guests.
        Thanks Brian for this blog.

    1. Sorry about that, next version 29 will have the save function back.
      The rewriting and simplification of cloonix had side-effects. The save functions back in v29 and the monitoring/traffic-shapping of all lan links in v30.

    1. I suggest you use a simulator that uses virtualization tools like KVM or VirtualBox. This way you can test security with different distributions, kernels, and even with operations systems like Windows.

      Use Cloonix or GNS3.

      Brian

      1. Yes, i have used VirtualBox but not real scenario. It isn’t necessary for reconnaissance, gathering informations of ports, OS, figure out the vulnerability, but i just straightforward to exploit. I think those hardly ever happen in real world, so i need to stand at malicious attacker
        side, point of view, which always try to figure out the way to get in, even against sophisticated
        & uptodate appliance (such as routers, firewalls, IDS/IPS etc).
        Can those 2 (Cloonix or GNS3) adapt uptodate & sophisticated appliance, which always been patched, updated. I mean can i update the router software, IDS/IPS (if any) etc like in real ?

        citizen292

        1. With last cloonix (v28) comes the following choice of distribution:
          archlinux, jessie, stretch, centos-7, opensuse-13-2, ubuntu-15-04, fedora22,
          opensuse-42-1 ubuntu-15-10 fedora23 openwrt_15_05.
          In all except openwrt, you can install gcc, compile and run your patched software.
          You can also update your virtual machines at any time providing the host in which cloonix server is running has an internet connection.
          The next version of cloonix (v29) will be available before chrismas.

  25. Hi Brian,
    I’m working on a student project on “IP Traceback mechanism using packet logging”,which simulator do you recommend ?

    Thanks

    1. I think it depends on how you will set up your test scenario. Will you be modifying the Linux kernel? Will you run modified networking stacks on some of the nodes on the network? If so, I recommend using a simulator that supports full virtualization, like GNS3 or Cloonix.

      If you need to run a lot of nodes in the simulating or will all use the same kernel and networking software, use a simulator based on containers, like CORE or Mininet.

      All these are actually “emulators” that provide accurate functionality but may not provide accurate performance simulation if you run large amounts of traffic. If you need performance accuracy and reproduceable measurements of performance, I suggest you use a discreet-event simulator like NS-2 or NS-3.

      I hope this helps.

      Brian

  26. Hi Brian,
    I am working on M.tech student project. I want to setup ipv6 bgp scenario and analyze route reflector and ibgp performance on heavy traffic loads.Earlier,I have simulated ipv4 bgp in ns2 but now i am not able to scale it in ipv6. i dont want to use ns3. Please suggest

    1. Hi Shipra,
      I need to know more about the simulation scenario you want to create. I assume that, since you are using NS-2, you need a discreet-event simulator so only NS-2 or NS-3 would work for you because they are the only discreet-event open-source network simulators I know about. Since you wish to simulatate heavy workloads, I think a simulator like NS-2 or NS-3 is the best solution because using an emulator to run heavy workloads may not provide reproducible results.
      Thanks,
      Brian

  27. But what if I have one system that emulates the x number of users, obviously with different IP addresses, and one system containing my network or wan and other sections of the experiment?

    I was wondering I have a named interface with a single IP address attached to it so my network (other physical computers) will be seeing it as a single user. Are these software able to work around that as well?

    cheers

    1. If your test network is other physical PCs and you want to emulate many servers on one PC and connect it to other PCs, then most of the network emulators listed in this page can be used to set up a network of hosts and then connect that virtual network to you PC’s Ethernet interface so it can interact with your other physical PCs. Of the simulators I have reviewed, I think Psimulator2 is the only one that would not work for you.

      1. Got the idea. Thanks. Since you are online, I should put another question as well. I saw your article on Testing IPv6 addressing in a network simulator – Part 1 and Part 2. Can this setup be used as an overlay to test another protocol that is similar to IPv6 or I would have to port the implementation into the simulator itself and then use that code to interact with IPv6 network. One such scenario might be to test a protocol e.g. ILNPv6 with IPv6 while testing interoperability.

        Cheers

        1. You need to install the software you will test so it will run on the virtual nodes. InCORE, you install software on the host system and then create services in CORE. See my post about making custom services in CORE. It would be simpler to do this in Cloonix or GNS3 where you could create a disk image that has the software each node will run. But GNS3 and Cloonix use full virtualization so use more resources.

  28. By canvas, you exactly mean an independent physical server with an interface card (even though that interface card will be bound to a single ip)?
    I am going to look into CORE, and try to do exactly what you suggested.

  29. macchindra patil

    hello sir

    i am doing the project of Cluster based certificate revocation with vindication capabilities
    as a fresher i am unable to analyze the project

    plz help me how should i use GNS3, where to actual coding
    which language suitable for this
    how can i show simulation to users
    plz help me sir

  30. Hi Brian,
    Thanks for the useful post. I am a researcher who is interested in Computer Network, Network Security, and Cloud Computing. I am looking for a simulator/emulator/tool that can suit my area of interest.

    Thanks in advance.

    Farid

    1. Hi Farid,
      Any of the simulators I have written about (except for Psimulator2) would probably meet your needs, depending on the details of your requirements.
      My preferences for emulators are CORE or Cloonix. If you are using Windows or Mac, consider using GNS3.
      Brian

  31. Hello, Brian !

    Congratulations for taking the time to create such an amazing content, and to share it with the whole Internet.

    It is very interesting your discussion about the differences between emulation and simulation.

    I’d really like to see more information about simulation/emulation of non-IP protocols, or at least the protocols in the lower levels.

    All the best,
    Hilton

    1. Hi Hilton,
      Thanks for reading my blog. I’ll have a look for non-IP simulators and emulators, or Layer-2 emulators. But since lower layers tend to be more reliant on specific hardware, I am not sure I will find any that are based on open-source software.
      Thanks,
      Brian

  32. Parthiban Nalliamudali

    Hi Brian,

    Thanks a lot for this post/article. My bad, I missed this for so long time.
    Awesome part is, you take time to reply every single reply/comment. That’s really amazing.

    I wonder, if you can suggest from the list, the simulator where I can also do automation of network configurations & network protocol testing.

    I believe that is outside the scope of all these network simulators and/or emulators listed.
    For education purpose, I am trying to create a framework for this purpose.

    Thanks Again!

    Cheers!!
    -Parthiban.N

    1. Hi Parthiban,
      Thanks for your comment. I need to know which network automation tools you are considering before I can advise you. Some network automation tools (like Ansible, or Docker) effectively do the same work as the network emulators I reviewed in this blog: they set up hosts and create networks between them in an automated fashion.
      To do what you want, you need a tool that supports nested virtualization because you will need to create two “layers” of virtual networks. The first “layer” will consist of an emulated network created using a tool like Cloonix or GNS3. The second “layer” will be created by the network automation tools you are testing and it will operate as if the first “layer” is the hardware infrastructure available to it.
      I suggest using Cloonix on a Linux system because it will support nested KVM.
      I do not know how well this will work. Good luck.
      –Brian

  33. Hi Brian
    please suggest any simulator which can record energy consumption of routers in backbone networks.I could not find energy model for wired networks in ns2.

    Regards
    Shipra

      1. Hi Brian !! In order to simulate Wireless mesh network as you said CORE is a good network emulator. Does it also have the features to move nodes in a real time and do path computation/optimization with a routing protocol ?
        Is there any link/website which shows tutorial for simulating wireless mesh network in CORE?

  34. Hello
    thanks for informative article
    could you please help me to get the names of open source multimedia simulators for networking
    Which can be used to send audio video messages..

  35. I really like and appreciate your forum.Really looking forward to read more. Will read on…

  36. Thanks for keeping this blog. It is wonderful to find this much good info and experience in one place. I will, hopefully, be doing some of this in my job in the very near future. I am late to the discussion, but I think it is valuable to keep “simulation” and “emulation” conceptually distinct. The key distinction is the ability to create test-beds for physical hardware and systems under test. If I have a new device, I cannot “plug it into” a simulation to discover its behavior. I can only “plug it into” a simulation when I already know how it behaves in all relevant circumstances. How do I find this information out? I plug it into an “emulator” first! Then, I subject it to every interesting condition, measure its behavior, THEN I can write a simulation of it. Think of it this way: if I shoot you with a good emulation of a gun, it will probably — literally — kill you. If I shoot you with a good simulation of gun, you will just have to wear a sign that says, “I’m simulating a corpse.”

  37. You can find more cisco network diagram templates and examples in creately diagram community. There are 1000s of examples and template to be used freely.

  38. Hello, I was wondering if the OPNET Modeler simulation open source or not?
    and what are the best software simulation for WiMAX network? because I want to study WiMAX scheduling Algorithms ..

    Many Thanks,
    Mohammed

    1. OPNET is a commercial product. The only open-source emulator that may meet your needs is CORE. NS-2 and NS-3 can be used to simulate WiMAX but they have a steep learning curve (and I have not used wither NS-2 or NS-3).
      Brian

  39. Nancy Carrere

    Hello,

    I reviewed quickly all the simulators listed on your page, however I am not sure any of them would fit my need which is, to emulate a 3G/4G core mobile network : this implies the need to emulate many protocols (diameter for instance), not only IP, and can also imply some processing of the data received within the nodes being emulated.
    The only tool I found in your list that might be suitable (but I am not sure…) would be N3S, since the web site says “The ns-3 simulation core supports research on both IP and non-IP based networks”.
    But I would very much appreciate your feedback on this matter in case you have other suggestions?
    Thanks a lot!
    Nancy

    1. I agree that emulating an LTE network is a complex scenario. You would need to find open source implementations of LTE protocols. I am not aware of any. I think NS3 is the most likely to work because you may write your own code to simulate the LTE network.

  40. LPEECOMPUSERVE LTD

    Hello,
    I want to run a WI-FI network for a very large school. But I want to simulate/emulate the network using an appropriate software that will emulate all the hardware I will employ for the design of the network. Please tell me the software’s I can employ to tackle this problem. Thanks as I wait in anticipation for your reply. My mail is [email protected].

    Br.

    1. I do not think that any of the emulators in this list would emulate a standard large-scale WLAN network succesfully. If you plan to implement a WLAN using 100% open-source software then you could emulate that same system — at a small scale — using virtualization and using the mac80211_hwsim driver to emulate the wireless part.

      mac80211_hwsim is a software simulator for Wi-Fi radios that can be used to create virtual wi-fi interfaces that use the mac80211 wlan driver. Using this tool, researchers may emulate a Wi-Fi link between virtual machines. Some practical examples and supporting information are at the following links: lab, thesis, hostapd, wpa-supplicant, docs-1, and docs-2.

      You would, essentially, be building a WLAN emulator from scratch.

      However, you said you are working on a WLAN that will serve a very large school. Then I suspect you would be looking at commercial solutions with high-capacity access points, and WLAN controllers. If you need to emulate this system as part of your planning process, I suggest use the ability to emulate the solution as one of the requirements when you go looking for vendors.

      Brian

  41. Hi Brian,

    First of all Thank you for providing all this helpful information.

    I need your suggestion regarding a task.

    I want to use a network emulator where I can add some new devices from non standard vendors. And then I want to configure the devices/ or simply input information in the attributes of configuration. Then using my application I want to get the configuration or attributes to generate configuration in a file. Can you please suggest me any emulator where we have APIs to communicate or can be used to complete the purpose?

    Many Thanks in advance!!!

    GAURAV

    1. Hi Gaurav,
      If your non-standard devices can run in a Linux container then try the CORE network emulator. CIRE has a Python API that supports node configuration.
      If your devices need full virtualization like KVM/Qemu, then use Cloonix. Cloonix supports adding node configuration commands to the project file.
      Brian

  42. Hello, i want to do routing in VANET using Software Define Network. Can u tell which simulator is required and how to do integration of that simulator with SUMO.

  43. Please I want to know if any of these open source network simulator/emulator App can simulate GPON, POL, or any FTTx related architecture

  44. Hi Brian,
    Thank you for the great post.
    I’ve went over some of the tools you’ve mentioned and still have some openm questions.
    So, I would like to hear your opinion on the subject below.

    My group is working on development of smart SDN applications, specifically targeting network health analytics and traffic redistribution.
    We need to emulate DC and enterprise networks, having following capabilities:
    1) connect the simulator to SDN controller
    2) generate network traffic (TCP\UDP) and being able to gather particular flows information (sFlow\NetFlow?)
    3) being able to reconfigure devices on the fly using OpenFlow and see changes in the traffic patterns accordingly
    4) create large topologies easily
    5) having some GUI tool to review the outputs and design topologies

    If you are familiar with a tool\tools combination that can supply all\some of the above functionality, I’ll realy appreciate your help.

    Thank you,
    Igor

  45. Great website. Thanks for pulling all these in a single location.
    I have been using Dynamips/GNS3 for a while ..iou..unl… .Knowing about these other opensource options is great.
    Like a buffete….

  46. Hello Brian,
    Thank you for this informative post. I have a question for you if you don’t mind.
    My research is on software defined mobile networks, where I propose an architecture of distributed controllers. In my case, it’s really important to have inter-communication between the distributed controllers, and I’m looking for a simulation tool to validate my approach.
    So, from your experience, what tool can provide me with such feature?

    Regards,
    Modhawi

    1. No, CORE is best for Layer3. Generally, most of the emulators I discuss are best used for Layer 3 and higher. You may want to look at mininet-wifi to see how it emulates the wireless Ethernet link layer…

  47. I’m interested in simulating public WAN for testing new UDP based multi-cast protocol. I am thinking of it to be like a overlay network of internet nodes running new multicast protocol. This means, at the destination, I can incur packet loss, delay, corruption etc. Which simulator is recommended ?

  48. HI brain>>

    which software is best suited to simulate the real time traffic analysis of traditional network.i want to compare different topologies of SDN and tradition network.for SDN i am using mininet what software should i use for traditional network that simulate real time traffic so i have accurate readings for Round trip time,average delay,packet loss

    1. The emulators I generally suggest for traditional network emulation are: Cloonix, GNS3 and CORE. If you are already using the Python API for mininet, then you may find CORE is more familiar to you to use since it also provides a Python API.

  49. Brian,

    You clearly know way more about these tools than I do.

    Maybe you could save me a bunch of time and make a recommendation for me. Perhaps, the best answer for my needs is a custom solution, and that’s okay too.

    I develop voip/sip software I was interested in simulating network failure and recovery scenarios by actively running my components in some sort of virtual Network environment on a single machine and observing how they behave when network sub-nets or server nodes become unavailable or come back on-line. Seeing how well (or poorly) they perform in a stable and unstable network environment would be valuable too.

    My components build on ZeroMQ and Redis so whatever platform is okay with me.

    Any suggestions?

    Thanks so much!
    Karlton

    1. Hi Karlton,
      I don’t know enough about the software you want to emulate to make a strong recommendation. But, the simplest case is to use GNS3 or Cloonix. These offer full separation between virtual machines. If you want to run a lot of nodes in an emulated scenario, you may use CORE but then you would need to be careful which directories you use since you are writing on the host filesystem unless you set up mount namespaces using CORE’s Python API.
      Brian

  50. hi
    I’m Master student, I’m going to make an evaluation of diffrent routing protocols in Ad hoc networks(throughput , distanc , delay , jitter , availability and # of nodes) with different numbers of nodes 5,10,20,30,50.

    can you please advice me which is the best?
    I heared that ns2 and ns3 is not GUI , and I’m familiar with Windows and OSX , so if the best simulator is ns3 , is it easy to learn??

    thanks

    1. If you need to use a discreet-event simulator like NS-2 or NS-3, then I do not have an opinion because I have not used those tools very much. NS-3 is the newer version so maybe you should use the tool that is currently supported (NS-3). That said, to run different routing protocols more easily, I suggest using an emulator like CORE. It may not produce perfectly repeatable results but it will allow you to set up test much more quickly.
      Thanks,
      Brian

  51. Hi Brian,
    I happened across your article via Google and wanted to ask a quick question if you don’t mind?

    Can these programs be used to generate network traffic?

    I’m asking because I’m working on a project now that polls network switches for different data sets via SNMP, and examines forensic Netflow. We then tie the two datasets together for reporting. Our local network traffic isn’t large enough to help load test our software, so I’m looking for a tool that can scale our network traffic.

    Would you recommend any of these tools for this job?

    Thanks!

    1. Hi Clinton,
      Yes, most of the emulators listed on this site could also be used to generate traffic. You could connect the emulated network to the NIC of your PC and then run SNMP or Netflow software on each virtual node and run scripts on each node to make them each send traffic via the NIC to your test system. I think CORE, Cloonix, or GNS3 are good candidates for trying this out.
      Thanks,
      Brian

  52. bonjour je voudrai savoir comment on arrive a déployer Ansible avec des Equipements Cisco sous gns3. merci pour votre compréhension j’attends avec i,patience votre reponse

  53. Hi Guys,
    Can anyone suggest a simulator for simulating energy networks particularly smart energy networks, I am looking to create a simulation for home networks. Target is to simulate home IOT nodes (Any device with a sensor, whether it is a smart meter or any other home appliance).

    I researched that NS3 can simulate energy networks but not sure whether it can simulate energy networks or not (In my case home network)

    Regards

  54. Hi Brian, I’m working in a project to compare IP-based networks vs Openflow-based. I’m using network throughput and latency (iPerf and Ping) and creating different topologies (tree, bus, single, etc) to collect results from the network and compare. For Openflow I used Mininet which allow me to create link with specific parameters (bw=100Mbps, Delay=2ms). Which net sim would you recommend to do the same with ip-based networks? I was trying with GNS3 but I notice GNS3 won’t let me configure the link to specific parameters (bw, delay). Some of the other options looks like also doesn’t support link parameters.
    Thanks

      1. Thanks Brian,
        I give IMUNES a try and created a small topology with a layer 2 sw and 2 hosts connected. I started the simulation and ran iPerf between the two docker containers and it worked perfect. Then I tried adjusting the link bandwidth to 100Mbps and delay of 2ms and it doesn’t work, not even a simple ping between the containers. I remove the links parameters and everything works again… any suggestion?

        1. Hi Daniel,
          IMUNES uses Docker containers and I’m not very familiar with networking between docker containers. I suspect this is an issue with the way tc works with Docker containers. You may need to contact the IMUNES developers with your question. Try posting an issue on the IMUNES GitHub account. Sorry I can’t help more.
          Brian

          1. Just for the record, by default IMUNES bandwidth parameters is in bps, I didn’t catch that and was using 100bps instead of 100Mbps… Fix it and it works now.

  55. Hi. I want to develop a new File Transfer Protocol for Local Area networks (LAN) and i do not know which simulator is more proper for that. Can you help me with that please? I need to know which one is easiest on config, run and test.
    Thank you my good friend.

    1. Hi Ali,

      I assume your software testing must be rigorous and repeatable. If you need to measure performance and step through the protocol, you will need a “discreet event” network simulator like NS-3. NS-3 is complex and I do not have any experience using it. But it is used by academics around the world because it offers repeatable results. NS-3 can also support different link-layer protocols besides just Ethernet.

      On the other hand, network emulators are easier to use. They work like “real world” systems but the performance results will not always be consistent. Most are limited to experimenting with Network-layer and higher layer protocols. The emulators I review in this blog use Ethernet as the Link-layer protocol. Emulators may be “good enough”, depending on your needs.

      Emulators I usually recommend for “traditional” IP network emulation are: Cloonix, GNS3, and CORE.

      Regards,
      Brian

      1. Thank you very much for this perfect answer.

        I prefer not to use GN3 because of its complexity and thats why i asked this question.

        So, do you recommend Cloonix or CORE for my project? (Assuming that we do not use GN3 unless it is absolutely necessary)

          1. Actually, Cloonix also support containers. If you will use namespaces, the building blocks for containers, then use CORE. I =have written many posts about both Cloonix and CORE so review those posts and you will be able to determine which one meets your needs best.

  56. Hi, I don’t see https://www.hynesim.org/ in your list, maybe because it’s a French project. It seems to be a simulator and not an emulator, although I couldn’t find rapidly any confirmation from their website.

    Do you know https://alternativeto.net ? It’s allows looking for alternative to lots of softwares. For instance for GNS 3 (https://alternativeto.net/software/gns3/), you can see that there are fewer alternatives than the ones you list here. Maybe worth updating their website ?
    Anyway it’s a useful site to follow to find new alternatives.

    I see there are more than 150 comments on this post, which is repellent to read, although there are precious information. Maybe you could refactor these into dedicated question pages (in a stackoverflow way) ?
    And instead of refreshing this post, maybe you could create a new post (one per year ? updated for 1 year), as it is done on this (also) very interesting blog http://blog.brianmoses.net/.

    Last one thing, in order to make an educated choice concerning a simulator/emulator, would it be possible to get a comparison table (something more viusal and sortable) with the following data:
    – Type (emulator / simulator…)
    – Some caracteristics (discreet event…)
    – Virtualisation used (KVM…)
    – Supported vendors (CISCO, Juniper, OpenvSwitch…)
    – The current version
    – The platform on which it can be installed: FreeBSD / Linux (debian…) / Windows
    – Language(s) with which the software is programmed (Java…)
    – The type of GUI (web clientless GUI…)
    – Your opinion on the beauty / usability / ergonomy of the GUI (Cloonix’ one sucks)
    – The use cases
    – If they are deprecated
    – …

    I discovered your site through Cloonix’ doc but after reading many of your articles, I think I prefer CORE, but I still have some questions:
    – As CORE is a fork of IMUNES, IMUNES should use the same virtualization technology (LXC on Linux) but it is not explicitly said in your posts.
    – IMUNES uses OpenvSwitch for switch emulation (https://brianlinkletter.com/imunes-on-linux/), and CORE used to use brctl (2013 test drive) but no more info…

    However, I still hesitate between IMUNES and CORE. What would you argue ?

    Thanks for your great work, you made my day.

    1. Hi Romain,
      Thanks for all your suggestions.
      To answer your questions about CORE and IMUNES: IMUNES has been re-written in Linux to use Open vSwitch and Docker while CORE still uses namespaces and Linux bridge. When choosing which tool to use, use the one that uses technology you are most comfortable using and debugging (example: namespaces versus Docker).
      Thanks,
      Brian

  57. Hi Sir
    I’m looking for a simulator/emulator that can simulate both SDN and legacy(traditional) network, since my research is based on comparative analysis on both technologies. My problem with Mininet, as far as I know, it’s only support SDN only. Please I am looking forward for your advice. Thank you.

    1. You can emulate a normal router in Mininet. You’ll need to create a host, set up the software (like quagga) and configure the necessary directories using the Python API.
      Also, you can run Mininet networks inside VMs in GNS3 or Cloonix.

  58. Hello guys, I am working on a project and I have a doubt, actually I am looking for an open source software tool which is appropriate to simulate SDN/NFV Environment.
    Any idea?

    1. I also want to add , that I don’t have any experience with python so I am avoiding using Mininet.
      My project includes : implementation of that open source simulation software/tool. A test case must be modeled and simulated and test result will be evaluated to show this tool is feasible with SDN/NFV . Please reply if you have any idea .
      Thanks 🙂

  59. Hello guys,

    Are any of you familiar with ns-3? I want to simulate a network and compute link delays and some other metrics but I need some assistance in this matter.

    1. Hi Nadir,
      I hope you find the answers you need. NS-3 is more complex than most of the network emulators I have written about in this site. Since the learning curve is long, I have not yet tried NS-3.
      Thanks,
      Brian

      1. Hi Brian,
        I really like and appreciate your discussion forum. currently I’m working on Internet of Things, so Brian would you suggest me an appropriate simulation tools for this.
        Thank you in advance,
        Kebebew

        1. Nothing I have written about to date is specifically adapted to emulate an “internet of things”. I think any emulator will work for you but you’ll need to do the following:

          • On hosts that emulate the the devices at the edge of the network, you’ll need to write scripts that emulate activity typically seen in IOT, such as intermittent connectivity for applications, high ratio of control traffic to data traffic, etc…
          • On hosts that emulate the packet core, or that run the applications than manage the devices, you’ll need to install the software that handles the messages from the edge devices.
          • You’ll need to emulate thousands of edge devices if you want to create a realistic scenario.
          • Some suggestions:
            • The CORE network emulator can emulate many nodes on the same PC
            • Mininet, or Mininet-WiFi, can also emulate many nodes (if you are working in an SDN scenario)
            • “full virtualization” emulators like Cloonix or GNS3 emulate fewer nodes but allow more specific configurations, such as different kernels or operating systems, on each node
            • A discrete-event simulator like NS-3 will probably be best for simulating behavior of many nodes in an IOT network and there is probably already a lot of work done by other researchers in the topic of IOT using NS-3 that you can reference.

          Thanks,
          Brian

  60. Hi Sir Brian,

    What are the current simulators for Millimeter Wave energy efficiency in Mobile Cellular Network?
    Because currently i am working on 5G Mobile cellular network basically i want to reduce Energy consumption of the Cellular Network, so please guide me which one Simulator/Emulator best for ” The Energy efficiency in Mobile Cellular Network” ??

  61. Thanks Brian for the great exposure. I wonder what programming languages and tools are used to build such simulation software in windows and linux?

  62. Akinwunmi Cypriano

    Thank you for this informative post. Your website is a great website and once again for putting these together in one location.Please I have a question for you if you don’t mind. I am new to the network environment, and i intend taking the Comptia network+ exam soon, which open source lab. simulator software can you suggest for me? And in addition,which open source lab. simulator software is good for studying Cloud+ and Security+.

      1. Hello Brian,
        Thanks for the informative post. I look forward to using deep reinforcement learning algorithm (clipped double deep Q-learning) to design a task scheduler for cloud resource allocation. I’m looking for simulation software that uses python and runs on windows. Can you suggest, which one would fit best for my work?

  63. Hi Brian,

    I just wrote YANS (https://github.com/kennethjiang/YANS), Yet Another Network Simulator. The whole purpose was to ‘make it simple to simulate simple networks’.

    In my blog (http://kennethjiang.blogspot.com/2017/01/yet-another-network-simulator-light.html) I gave more details on the rationales behind creating YANS.

    Will appreciate if you can evaluate YANS and give me feedback. If you find it useful, feel free to include it in your list.

    Thanks,
    Kenneth

  64. Hi Sir Brain,
    i am working on 5G System and want to reduce the Energy Consumption in Cellular Network, so which one Algorithm is best for reducing the Energy and make energy Efficient network for future 5G???

  65. I’m looking at this as part of my DR planning. I have a current location and I want to practice if it goes down. How can I switch networks for my users. I like the tools they are (so far) a little lite on features. I already own the Cisco equipment and IOS, so if I can load them all and drop in my existing configs, I’m off and testing. This sounds like a good plan.

  66. Hello,
    I have been working on the development of an integration testbed of Linux containers (LXC or LXD) and ns-3 network simulator. The ns-3 has an emulation mode execution set up where the ns-3 net devices can be connected to LXC via tap-bridge.

    In this regard, there was a preliminary tutorial provided at https://www.nsnam.org/wiki/index.php/HOWTO_Use_Linux_Containers_to_set_up_virtual_networks. In my research work, I may need to deploy 1k to 10k Linux containers. Therefore, I have decided to use the LXD that is built on LXC for the high level and service oriented management.

    In my host machine, I have Linux containers created by LXD and a ns-3 simulator. Can you help me or show me how the Linux containers can be integrated to the ns-3 simulator?

    Thanks in advance
    Gelli

  67. Hello Brian. I’m doing research on distributed operating system. So I need a simulator to run my algorithm. Can I use any network simulator to design a distributed OS algo ? or Is there any specific simulator for distributed Os

  68. Hi Brian, great info you got here. I’m after a network simulation and modelling tools capable of producing graph or table results for comparison purposes. an alternative to Riverbed opnet.
    Thanks

  69. Dear Sir,

    I build my own network topology and put the link bandwidth 100 Mbps and when I test the throughput using iperf command between two hosts, I get very small value about 100 kbps.
    Why I got this small number?
    I appreciate your help
    Regards,
    Heba

  70. Hello Brain,

    Great article!! which simulator/emulator do you recommend if i want to simulate an SDN network, in which I want to feed its controller with different data input including time to change the path or converge to different toplogy

  71. Hi Brian, I am trying to find a suitable network simulator for optical networks that can offer QoS for real time multimedia streaming applications. Optical network wise, I am thinking of WDM with EDFA running at 40 or 100Gbit/s per channel. I have discussed OBS, OCS and OPS within my dissertation, however I guess simulating that would be too timely and complex.

    Any ideas?

  72. HI sir ,
    I have to work in 802.11ac mac protocol . Except ns3 , what can we use to simulate ? or only ns3 can do that

  73. Vishal Anantharaman

    Hi
    I want to try network programming . Which one would be the best to use for network programming ? I am already using GNS3 but since don’t own cisco Nexus image I am unable to try out my codes. Can you provide your opinion on this ?

  74. Michael Jhun Nuena

    HeyBrian Can you Give Me tool That helps manages networks like viewing routers if it has a connection per floor. It can be link or link also because im working for my capstone and thesis

  75. Hi Brian,

    I’m looking to virtualize network routers such as Cisco, RAD for L2 and L3 Ethernet activations. Can you suggest some open source tools to simulate and emulate such behaviors virtually without the use of real physical devices. This is for testing and development purpose only.

  76. Hi Brian
    Thank you for this nice post.
    First, I’d like to ask you: Can I use Openet as SDN simulation tool?
    Second, What is the best tool to simulate SDN network to monitor the behavior of network to define the optimal placement of the controller based on dynamic traffic.

    1. Hi Nasser,
      Thanks for your interest. My blog does not cover commercial network emulators so I cannot comment about OpNet. Any network emulator may be used to evaluate performance. Mininet is designed to support SDN network emulation so it is probably your best open-source option. If you need reproducible results that you might use in a research paper, you must use a simulator like NS-3. I do not know enough about NS-3 to recommend any specific path forward with that tool.
      Regards,
      Brian

  77. hi
    Thanks for sharing this valuable post. Please guide me and suggest me an easy GUI simulator where i can simulate different protocols in VANETS b/w different types of vehicles like car vs trams, truck vs car etc (different speeds)

  78. Hi Brian:
    I have read your most posts about network simulation,The writing is wonderful!I have benefited a lot from it.I have developed network simulation for ten years by opnet.but now I found that network simulation is more useful in building network testing platform.
    I want to build a network attack and defense platform.But I’m not familiar with the emulation tools you mentioned above.Can you give me a suggestion? Which tool is better? What are the differences between IMUNES and CORE ? Does IMUNES support multiple machines running? Does both IMUNES and CORE support DOCKER?
    By the way, are you familiar with emulab and ToMaTo Testbed?

    1. Hi QiTan, I know about emulab and ToMaTo. At some point in the future, I plan to investigate whether ToMaTo can be installed and used on a single laptop computer. I understand that emulab is a research platform and is not available to individuals like me.
      I cannot recommend a specific emulator because I do not know all your requirements. I suggest you consider what type of virtualization best meets your requirements and use that as a basis for choosing the emulator. IMUNES supports Docker natively. CORE has the ability to connect to a Docker container but does not implement nodes using Docker.
      Thanks,
      Brian

      1. Hi Brian:
        First of all thank you for your reply.I want to find a tools for supporting large scale network simulation and support dock(use it to Load own applications) and distributed support for multiple emulator. Does IMUNES only support stand-alone operation?

  79. Hi Brian, I am student at DeMonfort University which is based in the UK and I am studying Computer Security (Bsc). For my final year, I am required to do a Research Development Project (which is based on Penetration-Testing) for my dissertation. For my project, I am trying to find 3 or more types of CCNA/Cisco based router simulators, to compare and identify the vulnerabilities, as it will allow me to find ways to exploit them.

  80. Hi Brian,
    I’m a master’s student in computer engineering and for my final year I’m supposed to do a research based on SDN-IoT network. I’m trying to simulate an IoT network and control this network with a SDN controller. I’m confused about choosing the best simulator which is good and also easy to learn. What’s your suggestion?
    Thanks.

  81. dear sir,
    i am research scholar, in cloud cryptography simulation tools. i written encryption and decryption program. that simulate to cloud cryptography simulation programs. please tell me…

  82. hi Brian Linkletter:
    I want to emulate large scale SDN netwrk .Maxinet can suported mininet cluter .But I can not Correctly install and running the software .I hope to get your help.What other software support this function ?

  83. Hi Brian:
    I know this is a down-in-weeds question but your blog seems to be the de-facto Cloonix support site so I figured I would see if you might be able to help. I’m trying to install the latest version of Cloonix based on the instructions in your post on “DNS and BIND demonstration using the Cloonix network emulator“. More specifically, I cloned the gitHub repository and then ran the install_depends and doitall scripts. Unfortunately, the build fails with the following:


    virgl_egl_context.c: In function ‘virgl_egl_init’:
    virgl_egl_context.c:165:49: error: ‘EGL_PLATFORM_GBM_KHR’ undeclared (first use in this function)
    d->egl_display = get_platform_display (EGL_PLATFORM_GBM_KHR,
    ^
    virgl_egl_context.c:165:49: note: each undeclared identifier is reported only once for each function it appears in
    make[3]: *** [virgl_egl_context.lo] Error 1

    This would appear to be a bug in either the latest posted source or the build scripts (e.g., they are using unstable code). Any suggestions?
    Thanks
    Larry

  84. Hi Brian,
    First thanks to this blog that i find very usefull for network emulators/simulators.
    In my PhD I intend to develop some Optimisation algorithms for Service Function Chaining.
    Hence I need to simulate/emulate an NFV/SDN Environnement in which i will integrate my algorithms to test their performances (with scale of nodes, links, Network functions…etc).

    –> Can you please advise what are the best simulators/emulators that i could use for this issue (In conjunction perheps of SDN controllers like OpenDaylight, ONOS,…etc.).

    1. Hi Jan,
      Thanks for this information. I looked at the introduction at http://www.lernsoftware-filius.de/downloads/Introduction_Filius.pdf. This looks like a Java-based network simulator suitable for teaching basic network concepts. It seems to aim for the same role as the now-defunct Psimulator2, but Filius adds a lot more functionality than Psimulator2. I like Filius and think it would be a great tool for introducing students to traditional IP networking.
      Brian

  85. Hi Brian, you did a great post and I would like to ask some questions about it. I’m noob in this field, but I would like to set up a test environment to do some live migration tests over a single physical machine. I explain my idea : I want to have two containers emulating a streaming server linked via an emulated wan and a third virtual machine/containers by emulating the client that will receive the video streaming. I don’t know what software and in which order I should install to make everything working. I have thought that I need, first, installing a linux server like ubuntu and on top of that I need to install a network emulator. My first doubt is : am I to install this network emulator as simple software on top of linux server or like a docker or virtual machine? This network emulator will have to emulate a wan link and connecting two containers which will emulate the streaming servers. Second doubt is : How can I connect these two containers to my network emulator? Or better are these two containers to be installed inside a virtual machine? I mean do I need to nest containers into virtual machines or I simple can connect them to the network emulator? So to sum up, my ideal scenario would be : a network emulator for emulating a wan link between two video streaming containers and a third machine emulating the client of service. Could you please , help me out to have a clear picture of what software and in which order to install on a unique physical machine? Many thanks in advance.

  86. Narayanan Prasanth

    Hi Brian, Hats off for the job you have done.

    I want to simulate network switch scheduling algorithm for buffered crossbar switches. Kindly suggest me the simulators for the above work.
    – Prasanth N

    1. All the emulators use either Linux bridges or OVS bridges. In your case you will probably have to either implement your switch on a Linux node in your scenario. Or, use a real-time simulator like ns-3 and implement your algorithm in a simulated switch created by you.

  87. Hi
    Thanks for this wonderfull information. I am a student. I want to work on function placement in NFV. which simulation tool i can us?
    Thank you

  88. Hi! I know that this is a little bit of autospam, but in case you want to consider it, I’ve also created a very simple educational network simulator intended to be used with my 15-16 year old students. Its aim is to work with them the following concepts:

    IP addresses & network masks (with static and dynamic IPs)
    protocols (ICMP, DHCP, DNS, HTTP). Their concept, not the exact implementation
    unicast and broadcast messages
    basic networking elements (hosts, switches, routers, and servers: DHCP, DNS, HTTP)
    routing (basic routers with WAN and LAN interfaces, that can be configured with NAT)
    DNS (basic name resolution with forwarders)
    Web servers and clients (possibility to create simple web pages displayed on the simulator hosts)

    It is localized in english, spanish and basque, and GPL (http://malkiah.github.io/NetworkSimulator/).

    And here you can find the videos that I use to explain them the concepts and the use of the simulator: https://www.youtube.com/playlist?list=PLx8u37tswCijgs5fGrKyCzOQ78uFZ3SMO

    Hope you find it useful, and if you consider this spam, just delete the comment 😉

  89. Such a deep knowledge you have shared with people, In which you have told the deep knowledge of every part which is related to networking. Your post also clears the detail about cloud based tool.

  90. Hi

    First of all, thanks for the information shared on this page. It helped a lot.

    Also I am looking for some suggestions. If possible, guide a way to know whether a particular simulator supports my requirements or not. I am looking for a network simulator that meets the following requirements.

    1) Simulator should support both Electrical packet and Optical circuit switching to simulate my hybrid network and check its perforamance like throughput, jitter, delay, etc..
    2) Simulator should allow the user to define different traffic models.
    3) Should support ECMP routing protocol ?

    Thanks in advance for your valuable suggestions!

  91. Just found this list.
    For large-scale simulations (thousands, hundreds of thousands, … of nodes) the above list will
    not work. There are specialized simulators that simulate specific interfaces, eg. network
    management interfaces such as SNMP, NetFlow, CLI or HTTP, IoT interfaces such as MQTT,
    CoAP, etc.
    This class of simulators is searchable via “SNMP simulator”, “MQTT Simulator”, etc.
    The Wikipedia page
    https://en.wikipedia.org/wiki/SNMP_simulator
    details one such class.

  92. I’m interested in using something to simulate (while documenting) a small network consisting of a TP-Link switch which also handles routing. I looked at CORE but it appears to treat switches and routers individually (as in, a device can’t do both). I suppose I could break out each layer logically and draw a box around a switch and router functions to represent the overall TP-Link device but am wondering what other people do?

  93. Hi Experts, can any one suggest me that among all of the list which simulator will be good to practice Palo Alto firewall lab ?

  94. Muhammad Mohsin Mushtaq

    Hi Friends.How are you.I hope you are fine.friends im working on my final year projects.i need help to impliment ecmp on ns2 plz help me.im very thankful to you

  95. Is there any equivalent tool for Greencloud but in NS3? Looks this is an NS2 extension and tcl based ..wondering if there is an equivalent tool for NS3 and C++ base? Thanks

  96. Hi Brian,

    If you are looking for an open-source network simulation tool, check-out Batfish (https://github.com/batfish/batfish). Batfish builds a full network simulation from the device configurations, including routing/forwarding tables, NATs, firewall sessions, etc… It really is a network validation platform, but the routing and forwarding simulation is a core part of the solution.

    Also, I feel like the term simulator and emulator are being used incorrectly here. GNS3 is not a simulator. It is an emulation platform. You can run virtual images of numerous devices in it… but you are emulating real network devices.

    Thanks.

    Samir

  97. HI
    i’m a researcher student in master degree..my work about video encoding with H265 this part was done and i have a videos with different bit rate so i want to send this video on internet network and evaluate the network performance with the delay ,jitter ,quality of video and in each case changing the size of channel with video streaming,
    which simulator should i use , i try to use GNS3 but there is some problems like cannot transmit the file with some MB in folder sharing between my PC and server 2012 in GNS3 and how obtain the value of delay, jitter, latency ,throughput from wireshark or should i use other simulation????????

  98. Brian, this site is a godsend. I have a proposal to write and in looking at potential activities decided that I need a NW modeling and simulation. I looked at OpNet, but it doesn’t look like Riverbed has done much with it since they purchased it. Not sure if it’s even a simulator rather than an emulator (figured this out when talking to the people at extrahop). I could use an emulator to get an picture of the current environment, but I’d like to transfer the data into a simulator so that I can create new component models to test how these would affect network performance. I have no idea what models we’ll have to build. It could be radios, satellites, drones, (wireless), or someone want to test their SDN. Wouldn’t surprise me if Cisco came to play. Any suggestions? I’ve been out of this field for way to long.

  99. Hi, I’m working on the hybrid SDN network which has both traditional devices(router and switches) and SDN switches.
    what is the best simulator for design and implementing hybrid SDN networks?

  100. I actually have a question for you. I see in the comments that you haven’t run each and every simulator/emulator posted in this list. So, out of those, you have run, which do you find to be the best. I am looking to be able to recreate routing/switching environments up to Enterprise networking levels. I am studying to take a job, and need to refresh myself on primarily switching, but I am also rusty with my routing protocols, and I will be working with OSPF and BGP. I will also be working with Brocade switches in the new job, and am hopeful that one of these also simulates/emulates their technology.

    1. These simulators and emulators are based on different technologies. So the best for you may be one that is based on a technology or tool you wish to learn (like Kubernetes, Docker, or KVM, etc…). That said, the emulators from my list that support almost all vendors, have a strong development roadmap, and have a large community using them are GNS3 and EVE-NG. If you are studying networking, I would suggest you use one of those two.

    1. Yes, I have looked at Docker-Topo. It creates a network emulation scenario, described in a YAML file format, based on Docker containers, Linux bridges, and virtual Ethernet devices. I also enjoy reading the author’s blog, https://networkop.co.uk/ in which he posts detailed descriptions of network emulation scenarios featuring SDN and OpenStack. I think Docker-topo is similar in scope to vrnetlab but the author uses a different network plugin for Kubernetes. I cannot recommend a network emulation tool unless I know more about your requirements. My usual recommendations are to use a tool that is based on the technology you are using every day. If you are “labbing” commercial routers, use either GNS3 or EVE-NG.

  101. Hi Brian, I found this blog by accident but its very informative. I was wondering if you could include a review of free tools for the planning of Optical Networks (Software Defined, Mesh, Ring etc.). Also there has been a recent surge of interest on utilization Free-Space-Optical communications to route traffic from Ground Station to Satellites, between Satellites etc. I am very much interested in learning more on how to conduct Optical network planning, simulation and emulation of such networks.

  102. Hi

    The Linux Distribution “LiveRaizo” contains now a tools (vwifi) to simulate Wifi (802.11) between Linux VM. The included VM Debian is already configured to use it. This tool can be compiled on other Linux (Kali,…)

  103. Hi ,

    I need to install one kind of intrusion detection system(like snort) in the network simulator. which one is compatible with Intrusion Detection System?

  104. Dear Brian,
    all those tools are meant for DATA networking? Which of those would be good for a distribution network of water ? or electricity?
    MEP for the AEC industry.. something for architects and engineers.
    at OSArch.com we digitize the new world of contruction using FOSS tools.
    Thanks for your recommendation.
    Lukas

  105. Hello,

    I’m one of the authors of https://simgrid.org, a simulator of IT infrastructures. It can simulate the network as well as the applications. Both wired and wifi networks are supported. We use flow-level models that are orders of magnitude faster than packet-level models, and we published several scientific publications showing that these models can be made rather accurate with the adequate care.

    SimGrid was used as an instrument in over 500 scientific publications, from hundreds of scientists around the world. It’s also used for the performance and regression testing of several external software projects.

    Beyond the project website, you can find some additional information in this presentation: http://people.irisa.fr/Martin.Quinson/blog/2018/0626/Presence-at-ISC18/

  106. Hello, We are building a 900 Mhz wireless MANET (Mobile Ad Hoc Network), with no router/AP, and with novel TDMA, novel CSMA, and novel MESH protocols. This is not WiFi, not internet. Can anyone suggest a simulator which will enable us to test our TDMA, CSMA, and MESH protocols?

  107. Hello Brian
    There is a brand new cloonix hyper-easy to install at http://clownix.net/
    Qemu-kvm as virtual machine and crun as container are managed but if you use podman or docker and have images in your host, those images should be visible in cloonix and you should be able to run those containers inside cloonix also 🙂
    Installation simple and very efficient tool, you can have a plug-and play cisco if you follow the howto.
    The wireshark upon double-click on an interface is a great asset for network debug:)
    Regards and I hope you are well.
    Vincent

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top