Providing a Mininet-based Software Defined Networking-testbed, including simulation of host reliability, consumption and provision of services, and link parameters like loss and delay.
Author: Andreas Schmidt
Website: Open Networking @ Saarland University
Institution: Telecommuncations Chair - Saarland University
Version: 2015.5.0
- Randomized topology with different generation algorithms and service association.
- Optional reliability simulation for hosts.
- Host uptime scheduling.
- Parametrized links.
- Provision and consumption of HTTP, HTTPS, FTP and Multimedia Streaming services.
The source code is written in Python 2.7 so you need to have it installed on your system.
In order to run the testbed, the systems needs to have Mininet installed. How to do this is explained here. We highly recommend installing from source, e.g. by cloning the latest version from GitHub.
Furthermore, an SDN controller is required to run on the same system. It is also possible to connect to a different controller, by changing the following line of Testbed.__init__()
in testbed.py
:
self.ctrl = RemoteController("c1", ip=<controller ip>, port=<controller port>)
For running the Service Simulation you might also need the following packages, which you should find in your system's package manager. The following links give the names of the packages and point to the official websites related to them:
The simulation can be started by running ./testbed.py
on the command-line. For this to work, root
priviledges are required.
When run, the simulation can be canceled by pressing Ctrl+C
on the keyboard.
Please send us feedback via email on any problems you might encounter during installation and operation that are not covered here. The software and documentation are under constant development and improvements are highly appreciated. If you have any questions do not hesitate to ask them.