问题标签 [mininet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
12205 浏览

python - 具有自定义带宽链接的通用树拓扑的 Mininet 脚本

以前我使用以下命令创建了 mininet 拓扑:

sudo mn --topo tree,depth=2,fanout=5 --controller=remote,ip=10.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13, --link tc,bw=1,delay=10ms

我需要bw为不同的链接指定自定义值。

如何以通用方式制作树,指定此处提到depthfanout值?我将需要修改创建的树的链接。TreeNetsetLink(int value, src, dest)

直到现在我有这个:

我打电话使用:

#sudo mn --custom MyNet.py --topo MyNet --controller=remote,ip=10.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13 --link tc

0 投票
5 回答
1100 浏览

mininet - Mininet:iperf 失败 + 无法在用户空间交换机中添加流

我是 mininet 和 SDN 的新手。以下是我在探索 iperf 命令时遇到的一个问题。

1) 使用以下命令设置具有三个主机和一个用户空间交换机的拓扑:

2) 没有添加流路。

3) 使用以下命令运行参考控制器 (POX):

4) 使用以下命令进行 iperf 测试:

错误 #1: iperf测试失败,因为未定义流路由。接下来是完整的清理。

5)为了解决这个问题,我尝试使用以下命令添加流路:

错误 #2:我收到以下错误消息:

谁能告诉我我的错误是什么?我怎样才能解决这个问题?

参考:https ://github.com/mininet/openflow-tutorial/wiki/Learn-Development-Tools

0 投票
2 回答
1457 浏览

python - 由 tc 配置时的 Mininet 网络错误

我试图通过 tc 命令在我使用 mininet 创建的网络的交换机部分的接口(端口)1 上指定数据包丢失: sudo tc qdisc change dev s1-eth1 root netem loss 0.1% 但 gettring 错误: RTNETLINK answers: Invalid argument

任何帮助,将不胜感激。

网络详情:

它是 Ubuntu 14.04 上基于树形拓扑的 mininet 网络,深度 = 2,扇出 = 5。在第一层,一个交换机连接到 5 个交换机,每个交换机连接到 5 个主机。所有交换机都是OpenvSwitch。

小网网络:

0 投票
1 回答
1981 浏览

virtualenv - 在 virtualenv 中没有命名模块

我正在使用 Python virtualenv,但我遇到了一个模块问题(安装在 virtualenv 中)。

首先,我激活 virtualenv:

virtualenv 已正确激活(其名称出现在 shell 中)。在该 virtualenv 中,我安装了 mininet(一个网络模拟器):我确定它已正确安装(它由 command 列出pip list)。

但是,当我尝试运行我的应用程序时,我通过 Mininet API 模块获得以下错误:

from mininet.net import Mininet ImportError: No module named net

这怎么可能?使用 IDE,它可以正确检测所有 Mininet 的模块(在同一个 virtualenv 中);有人有什么想法吗?

谢谢

0 投票
2 回答
25300 浏览

mininet - 如何在 mininet 中使用 python 脚本或(.py 文件)?

我是 mininet 和 python 的新手。我想在 mininet 中执行 python 脚本,但我不知道如何在 mininet 中运行 python 脚本以及在哪里存储 .py 文件以便从 mininet 调用。

有什么想法吗?

0 投票
1 回答
2507 浏览

python - 通过 Mininet 网络发送“随机”流量

我想使用 Mininet 测试数据中心路由算法。流量需要符合某些参数:

  1. 它应该由各种大小的“文件”组成(请注意,这些文件实际上不一定是文件;在例如 iperf 中生成的流量是可以的,只要大小是可控的);
  2. 文件大小应取自特定分布;
  3. 应为给定文件随机选择发送数据的源/目标主机对;
  4. 文件发送到其后继文件发送的时间间隔应该是随机的;和
  5. 如果在两台主机之间发送了一个巨大的文件,需要很长时间才能传输,那么它应该仍然可以在网络中的其他主机之间发送数据。

第 1-4 点已处理完毕。几天来我一直在为#5 苦苦挣扎,但我无法让它正常工作。我最初的想法是产生子进程/线程来向主机发送 iperf 命令:

命令 test_custom_iperf 以 Python Mininet API 的 iperf 版本为模型,包含-n传输大小参数:

使这种非阻塞变得非常困难。出于某种原因,我需要能够发送server.sendInt()命令,为此我需要等待客户端的命令完成。

我会很感激任何关于我可以尝试做什么的建议!

0 投票
4 回答
4330 浏览

python - 将“shell脚本”作为字符串传递给Python subprocess.Popen

我想执行一个字符串,就好像它是 Mininethost.popen()模块中的 shell 脚本一样,它本质上是 Python 的subprocess.Popen(). 脚本如下:

如果我将其保存为文件并将其传递给popen(),则输出如预期的那样(打印 nc 命令的持续时间):

问题是每次我运行这个脚本时,发送的文件somefile.txt都不同,它每秒运行几次,持续几分钟。我不想为每个文件编写一个新的 .sh 脚本。当我尝试将脚本popen()作为字符串传递时,像这样,

输出是

这是为什么?我是否遗漏了导致不同(意外)输出的格式?

0 投票
1 回答
348 浏览

mininet - Ryu 控制器 - [Errno 32] 断管

断管

我正在使用 Ryu 控制器来控制由 mininet 网络模拟器制成的拓扑中的虚拟化交换机。当我没有对控制器进行任何更改时,我突然开始收到更多“[Errno 32] Broken pipe”错误。

你能告诉我有什么问题以及如何纠正吗?
如果您需要更多详细信息,请与我联系。

0 投票
3 回答
1553 浏览

ubuntu - How to run mininet in ubuntu in background?

I want to run mininet in ubuntu in background but when I do this:

I am unable to type any shell command, when I press Enter, the mininet topology exits.

How to run it completely in the background?

0 投票
1 回答
2813 浏览

mininet - Mininet中如何连接2个不同网络的交换机?

我正在尝试解决一个任务,其中我在 2 个不同的 VM 中有 2 个不同的网络。

我知道通过 GRE 隧道,我可以连接 2 个不同的网络,但在这种情况下,我将 S1 远程连接到 C2,将 S2 远程连接到 C1。但是在这里我不希望VM1的那个控制器控制VM2的Switch。

我在想,如果有可能我可以通过 GRE 隧道以某种方式在 S1 和 S2 之间建立连接。因此,当我希望 H1 ping H2 时,它应该从 H1 到 S1,从 S1 到 S2,然后到 H2。

请问有人吗?