使用 LACP 的 Spine 和 Leaf 架构

网络工程 带宽 IEEE-802.1ax 建筑学
2021-07-31 09:43:51

在脊椎和叶子(主动-主动)之间具有链路聚合的脊椎和叶子架构中,如下所示:

脊椎和叶子

  1. 我们在叶子和服务器之间是否有相同的主动-主动链路聚合?
  2. 聚合链路的带宽是否已满?因此,如果我有两个 10 Gbps 链路,服务器是否可以完全使用 20 Gbps?或者服务器和叶子之间的链接是主动-被动的,所以即使我们有两条电缆,我们也只使用 10 Gbps?
2个回答
  1. 我们在叶子和服务器之间是否有相同的主动-主动链路聚合?

从图中,您有一个指向每个服务器的链接。当然,您也可以使用 LACP LAG、静态 LAG 或多个 L3 链接(使用您的安装支持的任何类型的负载平衡)。L3 多链路提供更多负载平衡选项,但更难进行故障转移。

  1. 聚合链路的带宽是否已满?因此,如果我有两个 10 Gbps 链路,服务器是否可以完全使用 20 Gbps?或者服务器和叶子之间的链接是主动-被动的,所以即使我们有两条电缆,我们也只使用 10 Gbps?

这取决于您是否有到服务器的冗余链接或聚合链接。这取决于硬件、软件和设置。

冗余会在主动链路出现故障(主动-被动)时保留备用,聚合使用两条链路(主动-主动)。正如 Ron 已经指出的那样,每个流向/来自服务器(或跨主干)只能使用单个链接的带宽。多个流可能会利用所有链接 - 如果负载平衡/流量分布与工作负载相匹配。如果流中需要更多带宽,则需要使用更快的链接。

通过 LACP 聚合多个链路,单个流将仅使用单个链路,但您可以聚合使用完整的通道带宽。这意味着您可以有多个流,每个流只能使用其中一个链接,但所有链接都可以用于多个流。有一种哈希算法可以确定哪个流使用通道的哪个链接。

您不希望在多个链路上拆分单个流,因为这会导致数据包丢失和数据包传输无序,从而导致性能下降。面向连接的协议可以处理类似的事情,但它增加了协议的负担来请求丢失的数据包和重新排序数据包。无连接协议无法处理这种情况,它绝对会扼杀实时协议。

如果发生链路故障,该算法会将使用故障链路的任何流移动到其余链路。这发生得非常快。