问题标签 [pox]

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 投票
2 回答
812 浏览

python - 如何获取所有交换机和所有主机的列表?

我是第一次使用 POX。我要做的是在交换机中安装规则,以将它们最初发送的数据包转发到它们连接到该交换机的主机。

H1---S1----S2---H3

示例:H1 向 H3 和 H4 发送某个数据包,当它们到达 S2 时,它们必须被转发到控制器。我的想法是在启动控制器时安装这些规则,但为此我需要将主机连接到交换机。

有什么方法可以知道连接到给定交换机的主机吗?

0 投票
1 回答
2458 浏览

ubuntu-14.04 - 如何解决“没有名为networkx的模块”错误?

我正在尝试使用以下命令将 python 代码作为 pox 控制器运行:

但我总是收到这个错误:

请帮助我如何解决这个错误。

0 投票
1 回答
782 浏览

python - Mininet/OpenFlow/POX - 子网之间的连接

我正在使用具有这种结构的 Mininet 拓扑,其中包含 3 个交换机和 4 个主机:

我还在 python 中使用 POX 为网络创建 SDN 控制器。这就是我的问题所在。

我只是设置像集线器这样的交换机来测试连接性,然后将自定义规则应用于网络。

设置像集线器这样的交换机并且只是泛洪所有数据包使同一子网中的主机之间的连接正常工作(即 h1 可以与 h2 连接,h3 可以与 h4 连接)。但是,我无法让 h1 达到 h3。

当我尝试从一个到另一个 ping 时,它失败并打印“目标主机无法访问”,我不明白为什么。

对于我在控制器中看到的内容,s2 正在淹没数据包,但没有一个到达 s1。我试过用of.OFPP_ALL和泛滥of.OFPP_FLOOD

Mininet 显示节点之间的链接: 净输出和转储输出

我真的可以在这里使用一些帮助。我需要做什么或在哪里可以查找。因为 POX 文档真的很糟糕,我什么也找不到。


解决了

知道了。我的主要问题是设置 s2 和 s3 以连接到端口 0 上的 s1(为本地接口保留)所以当我尝试访问该端口时出现问题。

0 投票
1 回答
1102 浏览

python - Pox 主动开放流规则

我创建了一个规则以在连接到控制器时添加到打开的 vswitch。该规则允许 h1 与位于同一交换机上的 h2 通信。当与控制器的连接出现时,将添加以下规则。

出于某种原因,流程将无法正常工作,但如果我将其更改为使用端口匹配,而不是使用 IP,它将起作用。由于有多个交换机,我不能仅在端口上匹配。

起初我虽然可能 ICMP 不是 IPV4,但我确认它正在使用 Tcpdump。

该网络由一个连接到 2 个叶交换机的主干交换机和每个叶交换机 2 台主机组成。

任何帮助将不胜感激。

0 投票
0 回答
380 浏览

sdn - pox 控制器在匹配后删除流规则

使用 pox 控制器,我尝试在交换机上的 2 个主机之间创建负载平衡器。例如,每隔一秒发送一个数据包到第二台主机。平衡器将需要修改每个数据包来执行此操作。例如 NAT。

是否可以在匹配后删除流规则?

我查看了 POX misc 目录中的 IP 负载均衡器,但我对 python 不太熟悉,所以我不太确定实际发生了什么。

我的计划是为每个数据包添加一个流,然后将其丢弃。添加的流将取决于每个数据包到达时递增的变量。因此,如果变量是奇数,它将转到第二个主机。我知道它不是最好的方法,但它可能是最简单的方法。

______添加了额外的信息___

下面是拓扑图。http 服务器 10.0.0.3 和 10.0.0.4 不能直接访问。它们只能通过其全局地址 10.0.0.5 访问。

我想要做的是主机 10.0.0.1 是否与服务器 10.0.0.5 建立连接。然后该主机将被发送到 10.0.0.3 或 10.0.0.4。

如果主机 10.0.0.2 与服务器 10.0.0.5 建立连接。然后它将被发送到另一台服务器。

对于发送到服务器的每个 tcp 连接,负载是两台服务器之间的平衡。

地形

0 投票
2 回答
2291 浏览

python - 如何使用 iperf 测试一个客户端和多个服务器的吞吐量?

作为标题,我想测试一个包含 2 个服务器(h1,h3)、只有 1 个客户端(h2)以及主机和目标之间的一些交换机的网络的吞吐量,拓扑可能看起来像这样,我已经使用 mininet 实现了拓扑,并使用 pox 控制器控制路由规则。

在此处输入图像描述

现在我想测试网络的吞吐量,我希望 h3 和 h1 同时向 h2 发送数据,我该如何使用 iperf 呢?

我试过下面的代码(python代码),但是h3->h2前10秒的数据会消失(如果我在h1->h2之前写h3->h2,比h1->前10秒的数据h2 会消失)

我该如何解决这个问题,或者有人可以告诉我如何让 h3 和 h1 使用其他方法同时向 h2 发送数据,谢谢。

0 投票
1 回答
599 浏览

python - 用于检测和缓解 SDN 和 POX 控制器中的 TCP SYN Flood 攻击的 Python 代码

有人有基于 POX 控制器在 SDN 环境中检测和缓解 TCP SYN Flood 攻击的解决方案吗?

0 投票
2 回答
1567 浏览

python - 如何通过 Python 代码定期在 mininet 中记录所有流表条目?

据我了解,dpctl dump-flows命令仅有助于查看流表的当前状态。流表经常被刷新。我想记录流表条目。

我需要查看哪个类来记录流表?我在 Virtual Box 中安装的 Ubuntu 上使用 POX 控制器和 mininet。

0 投票
1 回答
1507 浏览

python - 如何通过 Mininet 主机运行 python 脚本?

我在 Mininet 拓扑代码中通过主机命令运行 python 脚本时遇到问题。以下是我的代码

Mininet 执行没有错误,但它没有运行脚本。

0 投票
1 回答
923 浏览

networking - 检测 mininet 中的 Link down

控制器如何检测 mininet 中的链接是否断开?我已经尝试过 HostTracker,但它没有提供所需的输出。我需要做的是,每当链接断开时,控制器应要求所有交换机从其流表中删除相应的目标主机条目。