问题标签 [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.
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
为不同的链接指定自定义值。
如何以通用方式制作树,指定此处提到depth
的fanout
值?我将需要修改创建的树的链接。TreeNet
setLink(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
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
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。
小网网络:
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 中);有人有什么想法吗?
谢谢
mininet - 如何在 mininet 中使用 python 脚本或(.py 文件)?
我是 mininet 和 python 的新手。我想在 mininet 中执行 python 脚本,但我不知道如何在 mininet 中运行 python 脚本以及在哪里存储 .py 文件以便从 mininet 调用。
有什么想法吗?
python - 通过 Mininet 网络发送“随机”流量
我想使用 Mininet 测试数据中心路由算法。流量需要符合某些参数:
- 它应该由各种大小的“文件”组成(请注意,这些文件实际上不一定是文件;在例如 iperf 中生成的流量是可以的,只要大小是可控的);
- 文件大小应取自特定分布;
- 应为给定文件随机选择发送数据的源/目标主机对;
- 文件发送到其后继文件发送的时间间隔应该是随机的;和
- 如果在两台主机之间发送了一个巨大的文件,需要很长时间才能传输,那么它应该仍然可以在网络中的其他主机之间发送数据。
第 1-4 点已处理完毕。几天来我一直在为#5 苦苦挣扎,但我无法让它正常工作。我最初的想法是产生子进程/线程来向主机发送 iperf 命令:
命令 test_custom_iperf 以 Python Mininet API 的 iperf 版本为模型,包含-n
传输大小参数:
使这种非阻塞变得非常困难。出于某种原因,我需要能够发送server.sendInt()
命令,为此我需要等待客户端的命令完成。
我会很感激任何关于我可以尝试做什么的建议!
python - 将“shell脚本”作为字符串传递给Python subprocess.Popen
我想执行一个字符串,就好像它是 Mininethost.popen()
模块中的 shell 脚本一样,它本质上是 Python 的subprocess.Popen()
. 脚本如下:
如果我将其保存为文件并将其传递给popen()
,则输出如预期的那样(打印 nc 命令的持续时间):
问题是每次我运行这个脚本时,发送的文件somefile.txt
都不同,它每秒运行几次,持续几分钟。我不想为每个文件编写一个新的 .sh 脚本。当我尝试将脚本popen()
作为字符串传递时,像这样,
输出是
这是为什么?我是否遗漏了导致不同(意外)输出的格式?
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?
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。
请问有人吗?