我想在 mininet 中有一个简单的多域拓扑,其中每个域都由一个控制器控制。我正在使用 Floodlight 控制器和 OVS(开关)。
想象一下这个拓扑:
c1 c2 c3
| | |
| | |
s1 s2 s3
| | | | |
h1 h2 h3 h4 h5
所有这些主机都具有处理能力。想象一下 h5 目前很忙,无法处理任何新的数据包,因此它决定将这个数据包转发给 h3。现在我的问题是将这个数据包传输到另一个域的最佳方式是什么。我正在考虑通过控制器转发这个数据包,但我在上一篇文章中被告知:
SDN的特点之一是控制器不在转发路径中。
那么最好的方法是什么?
我正在考虑控制器的层次结构(添加 c01 和 c02)并在域(s01 和 s02)之间提供开关以将数据包转发到另一个域。像这样的东西:
----------c01------- ----------c02--------
| | | | |
c1 | c2 | c3
| | | | |
| | | | |
s1 ---------s01-------s2 ---------s02------ s3
| | | | |
h1 h2 h3 h4 h5
所以 h5 通过 s3 向 c3 发送数据请求消息,c3 将消息发送给 c02,c02 将此消息发送给 c2,如果该请求被批准,则该数据包将从 s3 通过 s02 转发到 s2。
这是实现多域场景的正确方法吗?如果没有,我该怎么做?