Day 14 Part 2: Few Road-blocks in simulating the required Architecture

This article was meant to be published on 24/01/2019, but due to forgetfulness on my part, it is getting published a day later xP

Continuing the simulation where we left off, we had built a master slave architecture of controllers where all switches were accessed by all controllers.

Today, we shall simulate a very similar network to what our problem statement demands: A distributed SDN controller where each switch is only connected to two controllers - one master controller and one equal controller.

The code pretty much remains very similar. Instead of running the code on one controller, today we shall make copies of the same code and run it on different controllers. Only the master controller will remain common wrt all switches. If we assume 'c1' from the previous codes as master controller, we have to run the code with 2 cotrollers on c2, c3 and c4 machines to achieve the above architecture.

In case you want to refer to the codes again, I have compiled it into a GitHub repository: https://github.com/shravanyag/Distributed-SDN-Controller-Security
Hope this helps!

Once the simulation of the architecture is built, it is time to test it. All hosts that are connected to the same controller remain reachbale from each other provided you are running the simple_switch_13.py program on Ryu controller. The problem arises when we have to communicate across controllers. After surveying the same, I have come to the conclusion that it is not simple to build libraries from scratch to do the same. Instead there are the following approaches we could take:

1) TCP connection
2) communication using JGroups
3) SDNi library in OpenDayLight (of course this means that we need to learn a new controller along with the interfaces provided by SDNi to establish communications among controllers)

We shall be looing at these possibilities in tomorrow's article. Also, we have to still address the issues we shall be facing when we start the hardware implementaion of the architecture with Zodiac FX switches, which would hopefully be soon.

One major issue with the Zodiac FX switches and the designed architecture is that Zodiac FX switches have reserved only 1 port for OpenFlow Controller-switch communication. How can we install more than one controller per switch? We shall try addressing this problem soon. If you happen to know any solution, feel free to write it down as a comment to this post!

Comments

Popular posts from this blog

Day 12: Master Slave SDN Controller Architecture

Day 50: Tcpreplay and tcpliveplay approach

Day 10: Mininet Simulation of a basic distributed SDN controller architeture