1

我使用 python 创建自定义 mininet 拓扑。详细了解拓扑对于这个问题并不重要。

我使用 ryu 作为控制器。特别是我使用应用程序“ofctl_rest.py”。此控制器不会自行在交换机中安装规则。你必须发出 rest - 命令来建立规则。在每个休息请求(规则)中,您必须指定一个传出端口。要指定此端口,我需要有关网络拓扑的信息。

我需要知道哪个链接连接到端口。我需要知道端口在哪个接口上运行。了解实际端口的外部接口、外部交换机/主机和外部端口也很有帮助。我怎样才能找回这些信息???

请帮我。我现在真的很沮丧,因为我不知道如何弄清楚。

4

1 回答 1

0

在 mininet CLI 中,您可以使用net命令来了解拓扑。该nodes 命令将向您显示节点列表。您还可以使用该dump命令显示接口详细信息。

有关“主机”的信息,例如它们,您可以在每个主机上运行普通的 linux 命令,例如

mn> h1 ifconfig

ifconfig在主机上运行h1,​​向您展示该主机的一些网络配置。

鉴于您似乎正在从自定义脚本运行 mininet,您可以在脚本末尾启动 CLI(如果可能的话),例如

net = Mininet(your_topo)
net.start()
CLI(net)
net.stop()

否则,您可以使用 mininet python API 来查找大部分信息。

  • mininet.util中的dump*函数将打印出大量信息。
  • topo.links()将为您提供拓扑中的链接列表。
  • topo.linkinfo()可能会给你一些额外的信息。

对于流信息,您可以在mininet之外(在普通 shell 中)运行ovs-ofctlovs-dpctl等,或者在 mininet CLI 中运行不带前缀的等价物。ovs-

于 2015-06-22T22:56:38.263 回答