Как настроить обучающие переключатели?
Я попытался воспроизвести 3-уровневую архитектуру без использования контроллера в мининете, используя обучающие переключатели. Я хочу, чтобы STP пинговал мои пользовательские хосты, но я не смог найти документацию или что-то, что могло бы помочь мне сделать это.
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 ответов
Чтобы гарантировать, что они могут работать без контроллера, установите 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: В настоящее время я работаю над веб-страницей, где вы можете сделать все это в графическом интерфейсе (включить STP так же просто, как щелкнуть флажок), а затем просто экспортировать скрипт. Вы можете попробовать это на https://thomaash.github.io/me