我必须在Mininet,Python,SDN上工作,我的目标是做一个简单的任务:创建一个网络,其中一些交换机随机连接(因此拓扑并不重要),每个交换机都连接一台主机。在网络中,我必须进行负载平衡,并且我必须能够监控负载平衡是否正常工作。
这是一个项目,因此负载平衡必须很简单,它必须是这样的: H1想要ping H2,并且从H1到H2恰好有两条具有相同跳数的路径(例如,H1连接,所以S1和H2连接到S2。然后,将S1连接到也连接到S2的S3和S4 )。这两条路径是: H1-S1-S3-S2-H2和H1-S1-S4-S2-H2。我想以这样一种方式进行负载均衡:如果H1发送2个ping,1将抛出第一个路径,第二个路径将抛出第二个路径。这样,当H1向H2发送一些流量时,流量在第一条路径和第二条路径上各占50%。
如何在一个非常简单的网络中实现这样的功能(如示例中的4台交换机)?我已经搜索了很多参考资料,但我没有找到任何有用的东西。理论上我必须使用NOX,但如果我必须使用POX来理解主题,我会这么做;)
感谢所有试图帮助我的人的建议:)
发布于 2015-07-01 23:42:44
我知道您可以对交换机和控制器之间的连接进行负载均衡,但不确定交换机到交换机的路径。
显然,在openflow中有一种称为"select groups“的组。我认为基于分配给该存储桶的wigth,您可以分发数据包。存储桶在组处理的流量中所占的份额由单个存储桶的权重除以组中存储桶权重的总和来定义。不过,我对此并不完全确定。
也有绕过它的方法。您可以对其进行设置,使主机从其中一条路径接收数据包,并从另一条路径发送数据包。
另一个技巧可能是基于数据包协议或其他因素来分配负载。例如,您可以说从此路径发送所有TCP数据包,并从不同路径发送所有UDP数据包。
https://stackoverflow.com/questions/27901496
复制相似问题