Skip to content

Latest commit

 

History

History
 
 

machine_learning_for_routing

Reinforcement Learning for Routing in Software-defined networks

NOTE: This example requires libvirt as virtual machine provider instead of Virtualbox

This examples demonstrates how to leverage the SDN controller's knowledge about the network to adapt the routing with the help of reinforcement learning.

Setup

This example requires additional libraries for statistical calculations. These can be installed with:

$ sudo ./install_dependencies.sh

The topology for the example scenario is depicted in following figure:

             s2 (3 MBits/s)
   h1  10ms/    \10ms  h4
   h2 -- s1      s3 -- h5
   h3  14ms\    /14ms  h6
             s4 (4 MBits/s)

How to run

This example requires two terminals.

Terminal 1:

$ sudo python3 ./example_scenario.py

Terminal 2:

$ ryu-manager ./controller/remote_controller.py

Parameters can be found in controller/config.py