我尝试使用学习交换机在不使用mininet的控制器的情况下重现3层体系结构。我想启用STP来对用户主机执行ping操作,但找不到任何文档或其他可帮助我完成此操作的东西。
from mininet.topo import Topo
class ThreeTier( Topo ):
def __init__( self ):
Topo.__init__( self )
# Add hosts and switches
Switch1 = self.addSwitch('s1')
Switch2 = self.addSwitch('s2')
Switch3 = self.addSwitch('s3')
Switch4 = self.addSwitch('s4')
Switch5 = self.addSwitch('s5')
Switch6 = self.addSwitch('s6')
Switch7 = self.addSwitch('s7')
Host1 = self.addHost('h1')
Host2 = self.addHost('h2')
# Adding links
#Switch1 Switch2 Switch3 Switch4 are access layer switches
#Switch5 Switch6 are aggregation layer switches
#Switch7 is a core layer switch
self.addLink( Switch1, Switch5 )
self.addLink( Switch2, Switch5 )
self.addLink( Switch3, Switch5 )
self.addLink( Switch4, Switch5 )
self.addLink( Switch1, Switch6 )
self.addLink( Switch2, Switch6 )
self.addLink( Switch3, Switch6 )
self.addLink( Switch4, Switch6 )
self.addLink( Switch5, Switch7 )
self.addLink( Switch6, Switch7 )
self.addLink( Host1, Switch1 )
self.addLink( Host2, Switch3 )
topos = { 'mytopo': ( lambda: ThreeTier() ) }
答案 0 :(得分:0)
为确保它们可以在没有控制器的情况下工作,将failMode设置为独立,并将STP的stp设置为True。
赞:
Switch1 = self.addSwitch('s1', failMode='standalone', stp=True)
Switch2 = self.addSwitch('s2', failMode='standalone', stp=True)
Switch3 = self.addSwitch('s3', failMode='standalone', stp=True)
Switch4 = self.addSwitch('s4', failMode='standalone', stp=True)
Switch5 = self.addSwitch('s5', failMode='standalone', stp=True)
Switch6 = self.addSwitch('s6', failMode='standalone', stp=True)
Switch7 = self.addSwitch('s7', failMode='standalone', stp=True)
PS:我目前正在一个网页上,您可以在GUI中完成所有这些操作(启用STP就像单击复选框一样简单),然后仅导出脚本。您可以在https://thomaash.github.io/me
上尝试一下