Experiment with SDN and Fat-Tree Topologies
This assignment was essentially copied from here but it is modified for Python. It is a good starting point to develop skills associated with Mininet that is extensively used as an environment to test SDN policies.
In this assignment, we will design and implement a Fat-Tree topology and its routing protocol using Mininet and Ryu. See also the video lecture on Ryu. This assignment is consist of two parts.
Mininet
In the first part, you will implement a Fat-Tree topology using Mininet API. The detailed description can be found in Section 1 of the assignment above.
Routing using Ryu Controller
In the second part, you will first design an Fat-Tree routing scheme, and then implement the routing scheme using the Ryu API. The detailed description (please replace Java with Python and FloodLight with Ryu) is in the assignment 2 above. Feel free to try this part with any other SDN controller you are familiar such as POX.
If your laptop is not suitable for this assignment, you need to use an EC2 instance in AWS. Please contact the instructor if you run out of credits.