问题标签 [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 投票
0 回答
259 浏览

python - pox sdn mininet,计算 udp 数据包

我想计算使用 pox 和 openflow 实现切换的 UDP 数据包的数量。
这是我使用的拓扑:

我想计算“h4”通过交换机发送到服务器的 udp 数据包的数量,以及“h5”通过交换机发送到服务器的 udp 数据包的数量。

0 投票
2 回答
169 浏览

python - 使用 Mininet 运行外部 python 文件

我尝试使用 mininet + pox 编写防御系统。

我有 l3_edited 文件来计算熵。我了解主机何时攻击。

我有我的 myTopo.py 文件,它使用 Mininet 创建一个拓扑。

现在我的问题:

当 l3_edited 检测到攻击时,我想更改主机的 ips。我应该在哪里做?

我相信我应该编写程序并在 mininet 中运行它。(不像自定义拓扑,而是在命令行中创建 mininet 后运行它)。如果是真的,我怎样才能得到主机的对象?如果我能得到它,我可以改变他们的IP。

或者我应该在我的 myTopo.py 上做吗???那么,当我检测到攻击时,如何运行我的防御代码?

0 投票
1 回答
2320 浏览

python - 如何从 mininet shell 运行脚本?

我在 SDN 课程中有一个任务是使用 mininet 和 pox 控制器创建负载均衡器。我有使用 Python 和 mininet 创建的拓扑文件,以及使用 Python 和 POX 创建的控制器文件。拓扑如下:主机 h1-h4 是客户端主机,主机 h5-h8 是服务器。我有一个充当负载平衡器的交换机。客户端向交换机发送请求,交换机将请求转发到随机选择的服务器。然后服务器将请求发送回交换机,然后交换机将其引导回客户端。

我已经设法完成了这项任务,但现在我必须证明负载均衡器正在按预期运行(这意味着它会平衡所有服务器之间的请求)。我需要展示它的方式是从客户端向交换机生成至少 10,000 个请求。

我的问题是:我如何制作这样的脚本并从 mininet shell 运行它?我考虑过制作一个运行循环(10K 次迭代)的脚本并选择一个随机客户端来 ping 开关。问题是我不知道该怎么做。

0 投票
1 回答
763 浏览

sdn - 连接多个控制器 mininet

我想在 mininet 上连接 3 个 pox 控制器。其中两个控制器通过forwarding.l2_pairs工作正常,但这仅连接其中两个。我也使用了forwarding.l2_pairsforwarding.l2_pairs但似乎没有什么能解决我的问题。

帮助将不胜感激。

0 投票
1 回答
218 浏览

sdn - SDN:控制器如何在交换机上获取已安装的流量?

根据此处描述的 http://flowgrammable.org/sdn/openflow/message-layer/flowmod/ 和 OpenFlow 交换机规范,flow_mod 消息是不可确认的。

控制器(POX、ODL 或任何其他)是否有任何方式接收已安装流匹配的确认或检索交换机流表中的已安装流?

谢谢

0 投票
1 回答
319 浏览

networking - 从 POX 控制器发送流表条目到交换机,而不需要交换机发起对话

我想将流表条目从 POX 控制器异步发送到 OpenFlow 交换机,而不需要交换机发起对话。可能吗?

这里的用例是我正在使用 OpenFlow 交换机模拟防火墙并希望动态阻止 IP,并且此消息应该来自控制器,而交换机不会启动对话。

0 投票
0 回答
358 浏览

docker - 将两个容器化 (OVS) 交换机连接到 SDN 控制器

我正在尝试创建以下配置。两个(Docker)容器,如下所述,我们用它们的主机名(s1 和 s2)来称呼它们,每个容器都包含 Open vSwitch。我想将两个 OVS 相互连接,并连接到(POX)控制器。

这就是我所做的(如果需要,所有命令都以 root 权限运行):

  1. 运行第一个容器

docker run -itd -P --hostname=s1 --cap-add NET_ADMIN %DOCKER_IMAGE%

运行第二个容器

docker run -itd -P --hostname=s2 --cap-add NET_ADMIN %DOCKER_IMAGE%

2.

docker exec CID_s1 ovs-vsctl add-br s1

(其中 CID_s1 是容器 s1 的 CID)

docker exec CID_s2 ovs-vsctl add-br s2

3.

在主机上:

ip link add s1-eth1 type veth peer name s2-eth1

ip link set s1-eth1 netns PID_s1 (其中 PID_s1 是容器 s1 的 PID)

ip link set s2-eth1 netns PID_s2

4.

在 s1 上打开一个终端并写入:

ovs-vsctl add-port s1 s1-eth1

ip link set s1-eth1 up

ifconfig s1-eth1 10.0.0.1

ovs-vsctl set-controller s1 tcp:172.17.0.1:6633

在 s2 上打开一个终端并写入:

ovs-vsctl add-port s2 s2-eth1

ip link set s2-eth1 up

ifconfig s2-eth1 10.0.0.2

ovs-vsctl set-controller s2 tcp:172.17.0.1:6633

此时控制器显示交换机已连接,我可以看到控制器已安装流(控制器充当集线器,因此所有动作实际上都是泛洪)。

但是,我无法从 s1 ping 到 s2 或其他方式(当然使用他们的 IP 地址)。

0 投票
0 回答
150 浏览

sdn - 使用 POX 控制器暂停 Open vSwitch (OVS)

我正在尝试使用 POX 暂停 OVS,如中所述

http://www.openvswitch.org/support/dist-docs/ovs-ofctl.8.txt

相应的 add-flow 命令是(感谢 pchaigno 的回答):

(开关名称 c2)

但是,我在 POX 文档中找不到将此类命令发送到交换机的方法。

0 投票
1 回答
135 浏览

python - 如何访问 mininet 拓扑中创建的节点?

我是 mininet 的新手。我创建了一个包含 2 个线性开关和 4 个节点的自定义拓扑。我需要编写一个 python 模块来访问该拓扑中的每个节点并做一些事情,但我不知道怎么做。

请问有什么想法吗?

0 投票
1 回答
1760 浏览

python - 如何使用 python 脚本在 mininet 中将 TCP 数据包从一台主机发送到另一台主机?

我是 mininet 的新手。我在 mininet 中创建了一个拓扑,并想编写一个 python 代码,它可以帮助我将 100 个 TCP 数据包从一台主机发送到另一台主机。

有什么想法吗?