Skip to content

SDN course final project 2021 @ PoliMI

Notifications You must be signed in to change notification settings

AstroWLAN/ElephantsWatcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elephants Detection

Project for the Software Defined Networking course A.Y. 2020/2021 @Polimi

Author 👨🏼‍💻 Email 📨 Version 📐 Language 🐍
Dario Crippa [email protected] 1.0.0 Python

VM 💿

These scripts rely on the virtual machine provided by Prof. Verticale here

It was developed with an older version of this VM so unexpected errors might occur

# Install the VM
git clone https://github.com/gverticale/sdn-vm-polimi

# Install Vagrant (use Homebrew on MacOS)
brew install vagrant 

# Configure the VM
cd VirtualMachineFolder
vagrant up

# Connect to the VM via SSH
vagrant ssh

Software Configuration 💽

# Install sFlow
bash /vagrant/setup/sflow-setup.sh

# Clone this project inside the VM
git clone https://github.com/AstroWLAN/ElephantFlowsManagement

Run 👾

Open three distinct tabs in your terminal application

1️⃣ sFlow

# Execute sFlow
sflow-rt/start.sh

2️⃣ Controller

# Launch the RYU controller configuration script
cd controllerFolderPath
ryu-manager --observe-links controller_config.py

3️⃣ Network

# Launch the Mininet network configuration script
cd controllerFolderPath
sudo python3 network_config.py

Count Min Sketch 🧠

At controller startup you have to choose between two different operational modes

Mode 🕹️ Description ✏️
Enabled Enable the CMS algorithm
rules installed locally in the switches
Disabled Disable the CMS algorithm
packets will be managed directly by the controller

Expected Results 📃

With the CMS algorithm enabled the amount of time requested to send all the packets through the network will be very smaller

Troubleshooting 🥵

The best way to solve the biggest amount of problems with the Mininet environment is to perform a complete cleanup

sudo mn -c