为什么我们需要在 MPLS-TE 中将流量平均分配到 LSP?

网络工程 聚光灯
2021-07-23 18:19:26

我正在学习数据中心间网络的基础知识。我知道 ECMP 的想法,并且将 ECMP 和 MPLS 结合使用很流行。我想知道对所有 LSP 进行负载平衡的动机。我认为原因是将流量平均分配到 LSP 将最小化网络拥塞。但是如果假设我们有一个用于 TE 的中央控制器,那么我们为 LSP 使用不均匀的带宽以便我们可以全局优化整个网络流量会更好吗?

1个回答

我认为您提出的问题是针对您的情况量身定制的。没有 MPLS-TE 和 PCEP 等任何东西,在 P/PE 之间仅使用 ECMP 是一种非常优化的设计,以确保随着网络流量的来来去去,任何 ECMP 成员链路上都有足够的可用带宽来支持那些流量。

如果您有一个很棒的中央流量工程解决方案,那么您可以不均匀地平衡 LSP 并且完全没有问题(只要您能正确地做到这一点!)。

例如清酒;如果您有两个 1G 链路并使用 ECMP。如果网络流启动并使用 LSP1 上的 500Mbps 带宽,该带宽在链路 1 上进行负载平衡。下一个启动的流是 LSP2 上的 300Mbps 并在链路 2 上进行负载平衡。现在启动第三个流,即 600Mbps在通过链路 1 进行负载平衡的 LSP1 上,现在链路 1 拥塞并且该流将适合链路 2。这是使用不等价多路径的集中式 TE 系统的一大优势。

哪个最好,但实际上取决于您的网络。如果您对 ECMP 组中的成员链路进行适当的容量管理(继续我们的 2x 1G 链路示例),使每个链路以超过 50% 的速度运行,那么您将不会出现故障情况。此时链路应该已升级到 10G 链路(或高于 1Gbps)。话虽如此,您还需要“了解”您的网络及其上的流量;容量管理不仅仅是关于原始体积数字。

只是触及它,因为它是部分相关的......

ECMP 和单链路故障

Number of connections from point A to point B = N   
N = 4
Speed of a single connection = S
S = 1000
The maximum utilisation of any single link that will still support a single link failure = LinkMax
LinkMax = S-(S/N)
LinkMax = 750

ECMP 和多链路故障

Maximum number of link failures that we would wish to endure without exceeding capacity of remaining links = F
F = 2
N = 4
S = 1000
LinkMax = S-(S/(N-L))
LinkMax = 500