Comnetsemu Labs

Instructions and extensions for the comnetsemu network emulator

Instructions for easy comnetsemu installation

The following are the suggested and fastest ways to run comnetsemu VM.

A. Running comnetsemu in VirtualBox

The simplest way to enjoy comnetsemu is to:

1) install VirtualBox in your system

2) download and import in VirtualBox the comnetsemu stand alone ova package

3) run the VM in VirtualBox

4) connect locally to the VirtualBox via ssh (username: comnetsemu, password: comnetsemu)

[more detailed information will soon follow]

B. Building and running comnetsemu using multipass

1) Download and install multipass for your system

2) Run the following commands in the host terminal to generate and connect to the multipass VM:

multipass launch 20.04 --name myVM

multipass shell myVM

3) Run the following commands in the multipass VM:

sudo apt update

sudo apt upgrade

sudo apt install git iperf iperf3 make pkg-config python3 python3-dev python3-pip sudo ansible

git clone https://git.comnets.net/public-repo/comnetsemu

cd comnetsemu/util/

bash ./install.sh -a

4) The system should be ready to go. Try "sudo mn" to run mininet in the simplest configuration.

Please consult Multipass website for more information, e.g. how to transfer files.

It is also possible to enable "remote" access from the host to the multipass VM via /etc/hosts (see here).

Note: This is currently the best way to run comnetsemu in Apple Silicon (M1 & beyond) platforms.

C. Continuously updated comnetsemu install using vagrant

Please refer to the official installation instructions for this.

Note: vagrant install requires some basic knowledge about git repositories and virtualization.



Extensions for the comnetsemu network emulator

As the popularity of our comnetsemu network emulator grows, so also its applications!

In this webpage, we are collecting the most interesting extensions of comnetsemu. Those are not directly included in the official repository since not all users might be interested on those, and that otherwise the package would become too cumbersome.

Enjoy!


How to implement dynamic network slicing in comnetsemu.

https://github.com/fabrizio-granelli/NetworkSoft_Project

How to emulate a 5G network deployment in comnetsemu. This package demonstrates distributed UPF deployment and slice-based UPF selection using UERANSIM and Open5GS:

https://github.com/fabrizio-granelli/comnetsemu_5Gnet

https://github.com/martamorg/5G_Project/tree/autoSlices (this includes automated slice configuration script)

5G network deployment with Free5GC and UERANSIM. This package is similar to the previous one, but using UERANSIM and Free5GC.

https://github.com/fabrizio-granelli/Free5gc-UERANSIM-project

Live video streaming over comnetsemu. Streaming video over an SDN network.

https://github.com/fabrizio-granelli/comnetsemu-video-streaming

Network slicing with visualization. Different solutions for slicing the network and enabling interactivity.

https://github.com/luiss07/Topology-DynamicSlicing (hints: check links in app.js, webapp on port 8081)

https://github.com/Sro552/network_slice (check IP address in webapp, web interface on port 8000/webapp)

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]