标签: ryu

了解Ryu OpenFlow控制器,mininet,WireShark和tcpdump

我是OpenFlow和SDN的新手.我需要帮助在Ubuntu或Debian机器上设置Ryu OpenFlow控制器并理解基本的Ryu应用程序.

注意:这个问题已经有了答案.

ubuntu debian openflow sdn ryu

5
推荐指数
1
解决办法
5501
查看次数

基于 tcp 端口匹配 TCP 流 Ryu 控制器

我正在尝试使用带有 RYU SDN 控制器的 tcp 源端口将 TCP 流重定向到特定服务器。这是我的拓扑(第一步很简单):

host -- ovs1 -- ovs2 -- server
Run Code Online (Sandbox Code Playgroud)

ovs1的匹配规则:

match = parse.OFPMatch(in_port=port,eth_type=0x0800, ipv4_dst=server_ip, tcp_src=tcp_pkt.src_port)
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误

EventOFPErrorMsg received.
version=0x4, msg_type=0x1, msg_len=0x4c, xid=0x370bf1bf
 `-- msg_type: OFPT_ERROR(1)
OFPErrorMsg(type=0x4, code=0x9, data=b'\x04\x0e\x00\x70\x37\x0b\xf1\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x28\x80\x00\x00\x04\x00\x00\x00\x01\x80\x00\x0a\x02')
 |-- type: OFPET_BAD_MATCH(4)
 |-- code: OFPBMC_BAD_PREREQ(9)
 `-- data: version=0x4, msg_type=0xe, msg_len=0x70, xid=0x370bf1bf
     `-- msg_type: OFPT_FLOW_MOD(14)
Run Code Online (Sandbox Code Playgroud)

关键是,如果我删除 tcp_src 选项,一切正常,这就是为什么我认为问题与我传递端口的方式有关。

有任何想法吗?

提前致谢!

tcp openflow openvswitch sdn ryu

1
推荐指数
1
解决办法
2719
查看次数

了解 openvswitch 中的端口号

我正在使用一个 openvswitch 和真实的 sdn 交换机在真实环境中运行交换机测试Switch Test 。

我在 openvswitch 上创建了一个网桥并添加了端口(例如 eth0、eht1)。但我想知道逻辑端口号(如 1、2)哪个命令给我正确的信息。ovs-ofctl show bridge s1节目

1(eth3): mac address etc
2(eth4):
5(eth5):
Run Code Online (Sandbox Code Playgroud)

ovs-dpctl show

port 2: eth3
port 3: eth4
port 4: eth5
Run Code Online (Sandbox Code Playgroud)

但结果并未显示物理端口到逻辑端口的正确映射。观察者eth5在这两种情况下ofctl给出 5 和dpctl4。有没有办法获得正确的端口 ID。

我个人认为这两个命令都没有给出正确的端口 ID。为了隔离这种情况。在 Mininet 上,我创建了 2 个 openvswitch 并运行dpctl上面的命令,它给了我 1,2,3,4,5,6 作为端口号,但我无法使用这些端口号运行测试。对于这两个开关我使用了 1,2,3 测试执行成功。我的意思是,如果我为一台交换机提供 1,2,3 端口号,为另一台交换机提供 4,5,6 端口号,则测试不会执行。任何帮助深表感谢。

mininet openvswitch sdn ryu

1
推荐指数
1
解决办法
5966
查看次数

Ryu 控制器没有获取链接

我正在尝试构建一个 ryu 应用程序,并尝试获取 owl 拓扑。因此,I\xe2\x80\x99m 使用 ryu.topology.api 中的 get_link 和 get_switch 函数。获取开关没有问题,但链接列表始终为空。

\n\n

我也尝试使用 get_all_link,但结果是相同的。\n到目前为止,我发现了很多他们使用这些函数的示例,但这些示例都不适合我的设置。

\n\n

以下是我尝试过的一些示例:\n https://github.com/Ehsan70/RyuApps/blob/master/BasicTopoLearner.py

\n\n

get_all_link(self) 输出拓扑的所有可能的链接

\n\n

我的 Ryu 版本是 4.32,我使用 mininet 的树形拓扑

\n\n

干杯并感谢您的帮助

\n

mininet sdn ryu

1
推荐指数
1
解决办法
1374
查看次数

标签 统计

ryu ×4

sdn ×4

mininet ×2

openflow ×2

openvswitch ×2

debian ×1

tcp ×1

ubuntu ×1