繁体   English   中英

如何在 Mininet 中运行自定义拓扑?

[英]How to Run Custom Topology in Mininet?

我试图从我创建的 python 文件创建一个 SDN 网络,但它似乎找不到目录。 有什么我做错了吗?

这是我使用的语法:

sudo mn --custom ~/mininet/custom/project.py --topo 项目

在此处输入图片说明

这是python文件所在的目录:

在此处输入图片说明

以防万一,我还提供了我的 python 文件中的代码:

from mininet.topo import Topo

class Project( Topo ):
    def __init__( self ):
        # Initialize topology
        Topo.__init__( self )
        # Add hosts
        h1 = self.addHost('h1')
        h2 = self.addHost('h2')
        h3 = self.addHost('h3')
        h4 = self.addHost('h4')
        h5 = self.addHost('h5')
        h6 = self.addHost('h6')
        h7 = self.addHost('h7')
        h8 = self.addHost('h8')
        h9 = self.addHost('h9')
        h10 = self.addHost('h10')
        h11 = self.addHost('h11')
        h12 = self.addHost('h12')
        h13 = self.addHost('h13')
        h14 = self.addHost('h14')
        h15 = self.addHost('h15')
        h16 = self.addHost('h16')
        h17 = self.addHost('h17')
        h18 = self.addHost('h18')
        # Add switches
        s1 = self.addSwitch('s1')
        s2 = self.addSwitch('s2')
        s3 = self.addSwitch('s3')
        s4 = self.addSwitch('s4')
        s5 = self.addSwitch('s5')
        s6 = self.addSwitch('s6')
        s7 = self.addSwitch('s7')
        s8 = self.addSwitch('s8')
        # Add links
        self.addLink(h1,s1)
        self.addLink(h2,s1)
        self.addLink(h3,s1)
        self.addLink(h4,s2)
        self.addLink(h5,s2)
        self.addLink(h6,s2)
        self.addLink(h7,s3)
        self.addLink(h8,s3)
        self.addLink(h9,s3)
        self.addLink(s1,s7)
        self.addLink(s2,s7)
        self.addLink(s3,s7)
        self.addLink(s7,s8)
        self.addLink(s8,s4)
        self.addLink(s8,s5)
        self.addLink(s8,s6)
        self.addLink(s4,h10)
        self.addLink(s4,h11)
        self.addLink(s4,h12)
        self.addLink(s5,h13)
        self.addLink(s5,h14)
        self.addLink(s5,h15)
        self.addLink(s6,h16)
        self.addLink(s6,h17)
        self.addLink(s6,h18)

topos = { 'project': ( lambda: Project() )} 

您可以使用主python脚本在文件上编写上述代码并运行它执行python文件。

首先是那个目录中的拓扑(.py)?

其次,我在您的拓扑中没有看到您的控制器(您说的是 SDN)。 您的交换机需要一个 SDN 控制器。 如果您使用遥控器,您应该执行

sudo mn --custom ~/mininet/custom/project.py --topo project --remote 控制器

还要检查topo project(或Project)的大写P是否有问题

您可以使用 miniedit 创建拓扑。 使用图形用户界面使用 miniedit 创建自定义拓扑非常方便。

错误很小:

尝试运行自定义拓扑时,请使用以下命令:

sudo mn --custom ~/mininet/custom/project.py --topo=project

希望这个答案能解决

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM