ComNetsEmu SDN/NFV emulator

ComNetsEmu SDN/NFV emulator
The upcoming book by F. Fitzek and F. Granelli

A holistic testbed/emulator for the upcoming book: Computing in Communication Networks: From Theory to Practice (2020)


ComNetsEmu is a tested and network emulator designed for the NFV/SDN teaching book "Computing in Communication Networks: From Theory to Practice". The design focus on emulating all examples and applications on a single computer, e.g. on a single laptop. ComNetsEmu extends the famous Mininet emulator to support better emulation of versatile NFV/SDN network applications. It extends and puts forward the concepts and work in the Containernet project. It uses a slightly different approach to extend the Mininet compared to Containernet. It's main focus is to use "sibling containers" to emulate network systems with computing. See the detailed comparison between upstream Mininet and Containernet here.

Common facts about ComNetsEmu:

  • Emulation performance is considered but not the main focus. All emulated nodes (processes) share the same underlying compute, storage and network resources when running it on a single system. ComNetsEmu is heavier than vanilla Mininet due to complete host isolation. Chose a reasonable performance limitation is recommended for better emulation results. For example, use e.g. 100ms as link delay instead of 1ms for large scale topology.

  • ComNetsEmu is developed with Python3.6.

  • Examples and applications in this repository are mainly developed with high-level script language for simplicity. These programs are not performance-oriented and optimized. Contact us if you want highly optimized implementation of the concepts introduced in this book. For example, we have DPDK accelerated version (implemented with C) for low latency (sub-millisecond) Network Coding (NC) as a network function.

Main Features

  • Use Docker hosts in Mininet topologies.

  • Manage application Docker containers deployed INSIDE Docker hosts. "Docker-in-Docker"(sibling containers) is used by ComNetsEmu as an lightweight emulation for nested-virtualization. The Docker host with internal Docker containers deployed is used to mimic an actual physical host that runs Docker containers.

  • A collection of application examples for "Computing In Communication Networks" with sample codes and detailed documentation. All examples can be easily reproduced and extended.

Please visit the Comnetsemu Git Repository for instructions on how to download and install the software, and our Comnetsemu Labs for additional add-ons!

Interested in the book? Buy it here!

Please find more information HERE.

Reference Work from the research group

An Open Source Testbed for Virtualized Communication Networks
Z. Xiang, S. Pandi, J. Cabrera, F. Granelli, P. Seeling, F. H. P. Fitzek
in: IEEE Communications Magazine, Vol. 59, no. 2, pp. 77-83, 2021 [doi]