如何正确连接遥控器POX和minin

2024-09-30 14:29:24 发布

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

我构建了一个简单的微型网络拓扑,两台主机连接到交换机,交换机由运行forwarding.L2_学习组件的远程控制器pox控制。这工作好平都好。在

现在我改变了拓扑结构,两台主机和两台交换机分别连接到一台交换机,两台交换机都连接到运行同一组件的远程pox控制器(forwarding.L2_learning)。在

但这一次pingall不起作用了!!我对迷你网和痘不太熟悉。在

下面是用于创建迷你网拓扑的python脚本

#!/usr/bin/python

from mininet.net import Mininet
from mininet.node import Controller, RemoteController, OVSController
from mininet.node import CPULimitedHost, Host, Node
from mininet.node import OVSKernelSwitch, UserSwitch
from mininet.node import IVSSwitch
from mininet.cli import CLI
from mininet.log import setLogLevel, info
from mininet.link import TCLink, Intf
from subprocess import call
from time import sleep


def myNetwork():
    net = Mininet(topo=None,
                  build=False,
                  ipBase='10.0.0.0/8')

    info('*** Adding controller\n')
    c0 = net.addController(name='c0',
                           controller=RemoteController,
                           ip='0.0.0.0',
                           protocol='tcp',
                           port=6633)

    info('*** Add switches\n')
    s1 = net.addSwitch('s1', cls=OVSKernelSwitch)
    s2 = net.addSwitch('s2', cls=OVSKernelSwitch)

    info('*** Add hosts\n')
    h1 = net.addHost('h1', cls=Host, ip='10.0.0.1', defaultRoute=None)
    h2 = net.addHost('h2', cls=Host, ip='10.0.0.2', defaultRoute=None)

    info('*** Add links\n')
    net.addLink(h1, s1)
    net.addLink(h2, s2)
    net.addLink(h1, s2)

    info('*** Starting network\n')
    net.build()

    info('*** Starting controllers\n')
    for controller in net.controllers:
        controller.start()

    info('*** Starting switches\n')
    net.get('s1').start([c0])
    net.get('s2').start([c0])

    info('*** Post configure switches and hosts\n')
    net.pingAll()
    net.stop()


if __name__ == '__main__':
    setLogLevel('info')
    myNetwork()

Tags: fromimportinfonodehostneth1cls