SDN Can be deployed in two ways..
Out Band Control : All the switches are directly connected to controller. So controller traffic go via the directly connected links.
s1 --- s2 --- s3
l l l
l ----- c1----- l
In Band Control : A switch is connected to the controller via another switch
s1 --- s2
l
c1
#!/usr/bin/python
from mininet.net import Mininet
from mininet.node import RemoteController, OVSSwitch
from mininet.cli import CLI
from mininet.log import setLogLevel, info
class InbandController( RemoteController ):
def checkListening( self ):
"Overridden to do nothing."
return
def emptyNet():
"Create an empty network and add nodes to it."
net = Mininet( topo=None, build=False)
net.addController('c0', controller=InbandController, ip='10.0.0.1')
h1 = net.addHost( 'h1', ip='10.0.0.1' )
h2 = net.addHost( 'h2', ip='10.0.0.2' )
h3 = net.addHost( 'h3', ip='10.0.0.3' )
s1 = net.addSwitch( 's1', cls=OVSSwitch )
net.addLink( h1, s1 )
net.addLink( h2, s1 )
net.addLink( h3, s1 )
net.start()
s1.cmd('ifconfig s1 10.0.0.10')
CLI( net )
net.stop()
if __name__ == '__main__':
setLogLevel( 'info' )
emptyNet()
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
We start the controller in h1..
So start the controller. First open an xterm to h1, which is where we said the controller would be.
mininet> xterm h1
When the xterm opens, start the controller. For this quick test, we will just start the OpenFlow Reference controller.
root@mininet-vm:~# controller -v ptcp:6633
This means that the controller and switch are successfully talking to each other. And if you do a pingall now.
mininet> pingall
*** Ping: testing ping reachability
h1 -> h2 h3
h2 -> h1 h3
h3 -> h1 h2
*** Results: 0% dropped (6/6 received)
Hello there! im foing my research on inband mininet sdn, and i tried your test but seems like when you are
ReplyDelete