2

我必须在 Mininet、Python、SDN 上工作,我的目标是做一个简单的任务:创建一个随机连接一些交换机的网络(因此拓扑并不重要),每个都连接一个主机。在网络中,我必须进行负载平衡,并且我必须能够监控负载平衡是否正常工作。

这是一个项目,因此负载平衡必须简单,它必须是这样的:H1 想要 ping H2,从 H1 到 H2 恰好有 2 条具有相同跳数的路径(例如 H1 连接,因此 S1 和 H2连接到 S2。然后 S1 连接到 S3 和 S4,它们也连接到 S2)。两条路径是:H1-S1-S3-S2-H2 和 H1-S1-S4-S2-H2。我想以一种方式进行负载平衡,如果 H1 发送 2 ping,则 1 会抛出第一个路径,而第二个会抛出第二个路径。这样,当 H1 向 H2 发送一些流量时,流量在第一条路径上走 50%,在第二条路径上走 50%。

我怎样才能在一个非常简单的网络中实现这样的东西(如示例中的 4 个交换机)?我已经搜索了很多参考资料,但没有发现任何有用的东西。理论上我必须使用 NOX,但如果我必须使用 POX 来理解主题,我会这样做;)

感谢所有愿意帮助我的人的建议:)

4

1 回答 1

0

我知道您可以对交换机和控制器之间的连接进行负载平衡,但不确定交换机-交换机路径。

显然,在 openflow 中有一种称为“选择组”的组。我认为根据分配给该存储桶的 wigth,您可以分发数据包。桶在组处理的流量中的份额由单个桶的权重除以组中的桶权重之和定义。不过,我对此并不完全确定。

也有解决方法。您可以设置它,以便主机从其中一个路径接收数据包并从另一个路径发送数据包。

另一个技巧可能是基于数据包协议或其他因素分配负载。例如,您可以说从该路径发送所有 TCP 数据包,并从不同路径发送所有 UDP 数据包。

于 2015-07-01T15:42:43.613 回答