如何配置学习开关?

2024-05-17 19:09:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在不使用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() ) }

Tags: selflayertoposwitchesmininetaddlinkswitch2switch3
1条回答
网友
1楼 · 发布于 2024-05-17 19:09:24

为了确保它们可以在没有控制器的情况下工作,请将failMode设置为standalone,并启用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上试用

相关问题 更多 >