Skip to content

stefanoobonetto/OnDemand_SDN_Slicing_using_ComNetsEmu

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OnDemand SDN Slicing using ComNetsEmu

Python Shell Script HTML JavaScript CSS

Table of contents

Introduction

The objective of this project is to develop a network slicing method that allows for the flexible activation and deactivation of network slices using command line interface (CLI) or graphical user interface (GUI) commands. To accomplish this objective, five scenarios have been suggested, all utilizing the same network structure. The aim is to examine the network's behavior when various components of the network undergo minor or major modifications.

The network topology is organized as follow:

  • A SDN controller c1.
  • Four switches s1-s2-s3-s4 with a variable bandwith.
  • Four slices, two service slices and two topology services. These slices contain 8 hosts h1-h2-h3-h4-h5-h6-h7-h8.

Scenario 1 - Default

In this scenario, there are four hosts and four switches. The four hosts are connected with two service slices. One slice is for Video transmission (UDP protocol) and use switches: s1-s2-s4 with a maximum bandwith of 10 Mbits/sec. The other' slice is for No-Video transmission (TCP and ICMP protocols) and use switches: s1-s3-s4 with a maximum bandwith of 8 Mbits/sec.

wid

The command pingall in mininet test connectivity between all hosts in a network. In this scenario we can see that only the four host h1-h2-h3-h4 can see each other.

wi

Using iperf we can check the bandwidth among the hosts:

wi

wi

Scenario 2 - Lower

In this scenario, there are six hosts and four switches. Hosts h1-h2-h3-h4 are connected with two service slices, while hosts h5-h6 are connected with a topology slice. The slice for Video transmission (UDP protocol) uses a maximum bandwidth of 10 Mbit/sec. However, now the slice for no-Video (TCP and ICMP protocols) has to share the bandwidth with the topology slice, therefore the service slice no-Video take a maximum bandwidth of 3 Mbit/sec and topology slice take a maximum bandwidth of 5 Mbit/sec.

wid

The command pingall in mininet test connectivity between all hosts in a network. In this scenario we can see that the four host h1-h2-h3-h4 can see each other and also the couple h5-h6.

wi

Using iperf we can check the bandwidth among the hosts:

wi

wi

Scenario 3 - Upper

In this scenario, there are six hosts and four switches. Hosts h1-h2-h3-h4 are connected with two service slice, while hosts h7-h8 are connected with a topology slice. The slice for no-Video transmission (TCP and ICMP protocols) uses a maximum bandwidth of 10 Mbit/sec. However, now the slice for Video (UDP protocol) has to share the bandwidth with the topology slice, therefore the service slice no-Video take a maximum bandwidth of 6 Mbit/sec and topology slice take a maximum bandwidth of 4 Mbit/sec.

wid

The command pingall in mininet test connectivity between all hosts in a network. In this scenario we can see that the four host h1-h2-h3-h4 can see each other and also the couple h7-h8.

wid

Using iperf we can check the bandwidth among the hosts:

wi

wi

Scenario 4 - Total

In this scenario, there are all the eight hosts and four switches. Hosts h1-h2-h3-h4 are connected with two service slices, while hosts couplesh5-h6 and h7-h8 are connected with two different topology slice. the slice for Video (UDP protocol) has to share the bandwidth with the topology slice, therefore the service slice no-Video take a maximum bandwidth of 6 Mbit/sec and topology slice take a maximum bandwidth of 4 Mbit/sec. Now, also the slice for Video (UDP protocol) has to share the bandwidth with the topology slice, therefore the service slice no-Video take a maximum bandwidth of 6 Mbit/sec and topology slice take a maximum bandwidth of 4 Mbit/sec.

width

The command pingall in mininet test connectivity between all hosts in a network. In this scenario we can see that the four host h1-h2-h3-h4 can see each other and also the couple h5-h6 and h7-h8.

wid

Using iperf we can check the bandwidth among the hosts:

wi

wi

# Run the demo

Firstly, install the virtual machine, follow the instruction available at this link.

To run this demo, follow these steps:

  1. Open the first terminal window for the controller.

  2. Start the network controller by running the following command:

    ryu-manager controller.py
    

    Ensure that the controller.py file is in the same directory or provide the correct path to the file.

  3. Keep the first terminal window open and running to maintain the network controller.

  4. Open the second terminal window for the rest of the network, and start the network by running the following command:

    sudo python3 topology.py
    
  5. After initialization, you will be presented with a menu in the second terminal window. This menu will provide options to interact with the network and perform various actions.

Other resources

Here you can find the presentation of the project.

You can contact us:

Team Member Contacts GitHub
Stefano Bonetto [email protected] github.com/stefanoobonetto
Simone Roman [email protected] github.com/Sro553
Mattia Rigon [email protected] github.com/MattiaRigon

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 42.5%
  • HTML 23.7%
  • Shell 20.0%
  • JavaScript 12.7%
  • CSS 1.1%