如何配置学习交换机?
How to configure learning switches?
我尝试使用学习开关在 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() ) }
为确保它们可以在没有控制器的情况下工作,将 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
上试用
我尝试使用学习开关在 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() ) }
为确保它们可以在没有控制器的情况下工作,将 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
上试用