问题标签 [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.
mininet - 在 Mininet、RYU - OpenFlow 1.3 中 Ping 失败
我正在使用 Mininet、RYU 控制器和 OpenFlow 1.3 创建一个拓扑,其中主机通过以下方式使用交换机h1
连接到主机:h2
p0es0
在我的 Ryu 控制器应用程序中,我有以下代码片段来在我的p0es0
交换机上安装规则,以便能够从 h2 访问 h1,反之亦然:
我的 dump-flow 命令按预期确认在交换机中正确安装了规则:
*** p0es0 ---------------------------------------------- ------------------
OFPST_FLOW 回复 (OF1.3) (xid=0x2):
cookie=0x0,持续时间=1103.417s,表=0,n_packets=0,n_bytes=0,send_flow_rem 优先级=100,ip,nw_dst=10.0.0.2 动作=输出:4
cookie=0x0,持续时间=1103.414s,表=0,n_packets=0,n_bytes=0,send_flow_rem 优先级=100,ip,nw_dst=10.0.0.1 动作=输出:3
但是,当我尝试从 pingh2
或h1
反之亦然时,我收到 Destination Host Unreachable 错误。我尝试使用 tcpdump p0es0-eth3
-- 我只看到 ARP 请求数据包。
我在这里错过了什么吗?
谢谢。
openflow - 从管理控制台到主机端口的 Pica8 SDN whiteswitch ping
我正在通过管理端口将我的控制器 PC 连接到 Pica8 白色交换机。我可以通过 SSH 连接到交换机并 ping 控制器 PC,但是我无法通过标准端口 ping 主机。我已经创建了前四个端口的网桥,并且在我安装了一个允许它的流之后,已经成功地从一个主机ping通到另一个主机。
我的问题是,是否有某种机制将控制器端口与所有数据端口分开,我想我应该能够从交换机 ping 到主机。
mininet - 组表问题 - Openflow,Mininet
我有一个胖树拓扑,我正在使用 Mininet、OpenFlow 1.3、Ryu 控制器来模拟基于 ECMP 的路由。我正在使用组和流表来执行此操作。例如,s2 和 s3 连接到聚合交换机的端口 1 和 2,例如 as1,其中安装了以下规则:
组表定义
在流表中安装组表操作
我使用dpctl dump-flows
Mininet 中的命令确认了这一点。请注意,对于核心交换机 s2,n_packets = n_bytes = 0,而对于其他核心交换机 s3,情况并非如此:
.....对于核心交换机s3:
就像我在上面的评论中提到的那样,我相信 OFPGT_SELECT 基于交换机中实现的一些逻辑在 bucket1 和 bucket2 之间进行选择,比如循环?这似乎在拓扑中的较低级别交换机中运行良好,即,两个桶以相等的权重交替选择。但在顶部聚合交换机的情况下,始终只选择一条到核心交换机的路径(存储桶)。通常,所有数据包只选择第一个桶(端口)或最后一个桶(端口),但不会在两个桶之间交替!
但是,当给两个桶赋予不相等的权重(1 和 2)时,它确实有效。不确定权重相同的问题是什么。
任何帮助将不胜感激。谢谢!
sdn - 在 Ryu 中为物理交换机设置控制器 IP
我是 Ryu 的新手,并尝试使用连接到我计算机上 VM 的物理交换机进行设置。交换机的控制器设置为 10.0.1.8,我正在尝试在 ryu 控制器上设置相同。我使用了以下命令:
根据下面的输出,执行 netstat 表明 ryu 控制器仍在监听 0.0.0.0。有人可以在这里帮助我吗?
openflow - RYU 控制器阻止流量
我正在创建一个简单的网络mininet
。我想用控制器阻止从一个主机到另一个主机的流量。我想知道哪个 RYU API 对我有用。parser."OFPMatch"
或其他RYU API
python - 如何识别从 Ryu 控制器到 OF 交换机的数据包?
我需要从 Python RYU 控制器中识别一个控制数据包。换句话说:我怎样才能执行以下指令?
以及如何匹配此规则?
我在 OpenFlow v1.3 规范中看到有一个 ofproto.OFPP_CONTROLLER 保留端口:如何将其用作入口端口?
来自 OFv1.3 规范:“OFPP_CONTROLLER:表示具有 OpenFlow 控制器的控制通道。可用作入口端口或输出端口。
用作输出端口时,将数据包封装在 packet-in 消息中,并使用 OpenFlow 协议发送。
当用作入口端口时,识别来自控制器的数据包。”
谢谢您的帮助。
sdn - DPSET:Ryu SDN 控制器中的多个连接
我在VM(VM-A)上的Ubuntu 14.04中从pip install(Python3)安装最新的Ryu控制器,并将NIC配置为桥接模式(192.168.88.252)。
我假设 VM-A 的主机是“Host-A”
并将物理Zodiac FX Openflow交换机,端口4(用于连接控制器,192.168.88.252)连接到路由器(192.168.88.0/24)
Zodiac FX port3 连接路由器(192.168.88.0/24)
并在 Zodiac FX 端口 1,2 上连接两个 RPI(AKA Host-B,C)(因此,两个 rpi 将获得 192.168.88.250、192.168.88.249)
并将控制器 Host-A 连接到路由器(192.168.88.253)
它工作正常,两个 rpi 能够连接互联网。
Host-A 能够连接两个 rpi。但是,如果我尝试使用 VM-A 与两个 rpi 进行任何类型的连接。
孔控制器会卡住几分钟,得到消息:
DPSET:多个连接 {dpid}
当我使用 SDN 控制器与 openflow 网络设备通信时,我知道这是非法的吗?
就我而言,我的 ryu 应用程序运行 simple_switch_13.py。
谢谢!
ubuntu - 了解 Ryu OpenFlow 控制器、mininet、WireShark 和 tcpdump
我是 OpenFlow 和 SDN 的新手。我需要帮助在 Ubuntu 或 Debian 机器上设置 Ryu OpenFlow 控制器并了解基本的 Ryu 应用程序。
注意:这个问题已经有了答案。
python - 来自(示例)主机 1 的 ryu (SDN) 流量控制器
mininet
我使用以下命令在环境中创建了一个简单的网络:
我想RYU CONTROLLER
用来计算交换机特殊端口上的带宽流量。我正在考虑OFPEVENTPacketIn
为传入数据包使用一个事件,但我对传出数据包形式的端口一无所知。
我的代码:
请帮助我编辑此代码以回答我的问题。谢谢。
python - ryu 控制器不转发数据包
我正在尝试使用 ryu 和 openVswitch 创建一个简单的 sdn 网络,但我的 ryu 控制器似乎无法正常工作。
我只是想 ping 两台主机,但是当我执行命令
ryu-manager simple_switch_13.py
(这是一个预构建的脚本)时,控制器什么也不做,数据路径也不转发数据包,它甚至不会淹没它们。
当我停止 ryu-manager 时,它会给出以下回溯:
我不认为问题出在代码中,因为 simple_switch_13.py 是一个预构建的脚本。有谁知道我做错了什么?您可以在此处找到 simple_switch_13.py 的示例。
如果我想说什么,请问我,谢谢。