数据传输到另一个域

网络工程 sdn 迷你网
2022-02-07 03:55:45

我想在 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。

这是实现多域场景的正确方法吗?如果没有,我该怎么做?

1个回答

在实验室场景中,您可以做任何您想做的事情,但在实际场景中,您需要在域之间进行路由。如果您的控制器无法运行路由协议,您将需要路由器。