问题标签 [ryu]

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 回答
3150 浏览

python - 在 Mininet 中创建一个简单的拓扑(1 个路由器、2 个交换机、4 个主机)

我想在 Mininet 中创建这个简单的自定义拓扑:

这里的拓扑

s1、s2、s3 是 3 个 OpenVSwitch。h1,h2,h3,h4 是主机。蓝色和红色标记双向链接。c0 是一个控制器。

我想让 s1 充当 SDN 路由器,让 s2、s3 充当 SDN 交换机,而 c0 成为所有这些的控制器。

我正在尝试从控制器中的 ryu 框架运行脚本rest_router.pysimple_switch_13.py但我无法通过在控制器的终端中键入此命令来执行此操作

0 投票
1 回答
4959 浏览

sdn - Ryu 控制器丢包

如何使用 Ryu 发送流条目以丢弃包?我从教程中学习了如何发送包流条目:

  1. 我定义了动作: actions = [ofp_parser.OFPActionOutput(ofp.OFPP_FLOOD)]
  2. 然后条目本身: out = ofp_parser.OFPPacketOut(datapath=dp, buffer_id=msg.buffer_id, in_port=msg.in_port,actions=actions)
  3. 向交换机发送消息: dp.send_msg(out)

我正在尝试查找文档以使此代码丢弃包而不是泛滥,但没有成功。我想我必须在第一步和第二步改变行动fp_parser.OFPPacketOut。我需要在 Ryu 方面更有经验并不断发展自己的人来为我指明正确的方向。谢谢你。

0 投票
1 回答
266 浏览

python - 如何在 ryu 上实现 BGP?

我需要使用 Ryu 控制器上运行的 BGP 连接两个自治系统。我一直在尝试实现我发现的不同代码,但我不知道如何正确地做到这一点。请提供任何方法来做到这一点。

0 投票
1 回答
633 浏览

parsing - 无法使用 Ryu 的 get_protocol(dhcp.dhcp) 解析 DHCP 数据包

我在 mininet 上使用带有 Open vSwitch 的 Ryu SDN 控制器,使用 OpenFlow 1.3 来解析 DHCP 数据包。根据在线示例和 Ryu 资源,我实现了 DHCP 数据包解析器。但是,它并没有像我预期的那样工作,我想知道是否有人对为什么我的第一个解决方案不起作用有任何见解?

解析 DHCP 数据包的代码片段示例如下:

我的代码遵循类似的思路:

这似乎是合理的,因为我正在使用其他协议(如 ARP、ICMP、IP 等)遵循这个确切的顺序。下面的示例。

唯一的问题是我上面列出的三个解析器实际上返回数据,而 DHCP 的 get_protocol 始终返回 None。我已经通过我的交换机发送 DHCP 数据包对此进行了测试。

起作用的是以下代码片段,其中我识别出具有三个以上值的数据包列表。我将值保存在索引 3 并将其设置为我的 DHCP 数据包。在 DHCP 数据包中,我专注于解析索引 2 处的字符串。其中包含我感兴趣的数据。

这些值的打印结果如下所示:

上面的代码允许我观察 DHCP 数据包的内容,但我真的想弄清楚为什么我没有使用 pkt['pkt'].get_protocol(dhcp.dhcp) 方法获得类似的结果?

0 投票
1 回答
4412 浏览

python - 使用 Ryu 将流条目添加到流表

我正在proto=150使用 scapy 工具生成流量。我想添加一个流表条目,以便交换机始终将此 pkt 发送到控制器。

我正在使用带有 proto 150 的 scapy 生成 IP 流量:

S=IP(proto=150,dst='10.0.0.2',len=100)

我正在simple_switch.pyryu 控制器中编辑应用程序。

我正在尝试使用 Table Miss 流条目在此应用程序的开头添加条目,但是当我检查流表时,我只能看到 Table Miss 流条目,但没有我要在此处添加的其他条目。

我在做什么:

我没有错误,我觉得Match(ip_proto=150). 请帮助我如何始终将 proto 150 发送到控制器。

非常感谢。

我希望我清楚,如果不清楚,请告诉我。

0 投票
1 回答
970 浏览

sdn - 如何更改属性以使 ryu 的行为丢包?

如何使用 Ryu 发送流条目以丢弃包?我从 ryu 官网了解到如何发送包外流入口。现在我想修改 simple_switch_13.py 以将数据包从 host1 丢弃到 host2。但是我找不到如何修改PacketIn,你能帮我吗?

为了实现这一点,我像这样修改应用程序代码: 在此处输入图像描述

但是你知道,它不符合网络中的通信。但我无法有任何想法。

0 投票
0 回答
775 浏览

import - 导入错误:无法导入名称轮询

我正在尝试启动https://github.com/OpenState-SDN/spider

当我尝试启动 SPIDER 时:

我明白了

ImportError:无法导入名称轮询

Plesae,如何处理这种情况提前谢谢

0 投票
1 回答
325 浏览

python - RYU 软件定义网络中的回溯(最近一次呼叫最后一次)错误

我收到以下错误:

回溯(最近一次通话最后):

文件“./ryuLinearTopo.py”,第 6 行,在

类线性拓扑(拓扑):

LinearTopo 中的文件“./ryuLinearTopo.py”,第 32 行

简单测试()

文件“./ryuLinearTopo.py”,第 21 行,在 simpleTest

拓扑 = 线性拓扑(k=4)

NameError:未定义全局名称“LinearTopo”

当我运行以下代码时:

0 投票
1 回答
347 浏览

python - 如何使用 Ryu SDN 应用程序模拟延迟?

我需要使用 Ryu SDN 控制器模拟网络延迟。我首先尝试在每次控制器接收到消息中的数据包时调用一个函数的装饰器之后添加一个睡眠时间,但问题是这个函数在当前完成之前无法处理下一个数据包。有没有办法让这个函数成为多线程?

0 投票
2 回答
1868 浏览

wireshark - 使用 RYU 控制器监控 WireShark 中的 Mininet OpenFlow 流量

我正在使用 RYU 控制器进行 SDN 设置。我想监视基本的 openflow 握手消息,但我没有这样做..

以下是我在安装 mininet、wireshark 和 ryu 后执行的步骤。

第二步:启动虚拟网络

现在我的wireshark 中没有显示流量。我使用的是wireshark 1.12 版,它安装了一个openflow 解析器。

当我使用捕获循环时,它会显示请求和回复数据包,但我想在 Wireshark 中查看来自 ryu 控制器的“功能请求”