I want to have a simple multi-domain topology in mininet in which each domain is controlled by a single controller. I'm using Floodlight controller and OVS (switches).
Imagine this topology:
c1 c2 c3
| | |
| | |
s1 s2 s3
| | | | |
h1 h2 h3 h4 h5
All these hosts have processing power. Imagine h5 is busy at the moment and can't process any new packet, so it decides to forward this packet to h3. Now my question is that what's the best way to transfer this packet to another domain. I was thinking about forwarding this packet through controllers, but I was told in my previous post that:
One of the characteristics of SDN is that the controllers are not in the forwarding path.
So what's the best way to do this?
I was thinking about a hierarchical structure of the controllers (adding c01 and c02) and providing switches among domains (s01 and s02) to forward packets to another domain. something like this:
----------c01------- ----------c02--------
| | | | |
c1 | c2 | c3
| | | | |
| | | | |
s1 ---------s01-------s2 ---------s02------ s3
| | | | |
h1 h2 h3 h4 h5
So h5 sends a data request message to c3 through s3, c3 sends the message to c02, c02 sends this message to c2 and if this request is approved, this packet will be forwarded from s3 to s2 through s02.
Is this a correct way to implement multi-domain scenario? If not, how can I do it?