2

我正在寻找在带有环路的拓扑中使用 SDN 网络中的 OpenFlow 1.3 协议发送数据包的方法。我选择的控制器是 Ryu。为了识别我正在捕获 ARP 数据包的主机并避免洪水风暴,我正在使用STP

我的问题是,当我的路由算法计算的路径包含被 STP 阻止/禁用的端口时,连接无法完成(主机无法相互 ping 通)。

经过思考后,我得出一个结论,即我需要“激活”我的路由路径上的禁用/阻塞端口。但我找不到任何方法来做到这一点..

所以现在的问题是:我怎样才能实现我的解决方案?有没有办法“激活” Ryu 中的端口?或者,如果我的解决方案无法实现,还有其他方法可以用来解决这个问题吗?

4

1 回答 1

2

要激活端口,您需要向交换机发送ofp_port_mod 消息

但是,这将有效地禁用 STP,因为您正在打开可能是循环一部分的端口。

我认为更好的方法可能是让您的路由算法通过向交换机发送OFPMP_PORT_DESCRIPTION 消息并读取config回复中的字段来检查端口是否被禁用。然后,您可以将这些端口视为已关闭并计算不同的路径(尽管我不知道这在您的情况下是否可行。)

话虽如此,如果我正确阅读了 openflow 规范(第 7.2.1 节端口结构),您应该仍然能够通过BLOCKED端口进行路由,只是不能通过它。这与DISABLED端口不同。

于 2015-06-04T23:48:12.927 回答