The goal of the project is to implement a network slicing to enable dynamic activaton and deactivation of network slicing through both a GUI and CLI, considering the needs of the network. Three modes are implemented (Work
, Gaming
, Emergency
).
The topology is composed by
- 1 SDN controller (
c1
) - 5 OpenFlow switches (
s1
,s2
,s3
,s4
,s5
) - 9 Hosts (
h1
,h2
,h3
,h4
,h5
,ps
,g1
,g2
,gs
)
Depending on the mode selected the bandwidth is divided between the slice
IMPORTANT! A blue linkage means that the host is disconnected from the network
While in work mode
every connection between Gaming and Work is severed, with the exception of h5 which should connect with all the hosts excluding gs, meaning that
- h1-h5 will be connected each other at 10Mbit/sec
- g1, g2, gs will be connected each other at 3Mbit/sec
- h5 will be connected with g1 and g2 at 2Mbit/sec
- h1-g5 will be connected with ps at 8Mbit/sec
While in gaming mode
only ps is disconnected from the network
While in emergency mode
only h1-h5 and ps are connected
To switch between modes GUI is required
- Connect with a comnetsemu portale or install all the functionalities in your system
- Launch the controller
$ sudo ryu-manager controller.py
- Launch the GUI
$ python3 gui.py
- Emulate the topology with mininet
$ sudo python3 topology.py
- To verify that all the links are working execute
mininet> pingall 0.1
IMPORTANT! Remember to delete the topology when you exit mininet, through the commands
mininet> exit
$ sudo mn -c
mininet> dpctl dump-flows
-> Show all the switches flows
mininet> h1 ping h2
(It also works with other hosts)
mininet> iperf h1 h2
-> Verify the bandwidth of the linkage between two hosts (It also works with other hosts)
mininet> net
-> Shows all the hosts
mininet> ports
-> Shows all switches and their linkage with the hosts
Students: Marco Zanon - Giuseppe Ostacchini - Luca Checchin
Project for the course "Networking II - Softwarized and Virtualized Networks" 2022/2023 - Fabrizio Granelli