通过 MPLS TE 实现不平等成本负载平衡

通过 MPLS TE 实现不平等成本负载平衡

给定以下网络,所有站点的网络路由表均通过 OSPF 构建:

   Site_A
      |
Site_A_router
  |           \
  |      Intermediate_site_C_router -- Other_sites
  |                       |
  |      Intermediate_site_D_router
  |                       |
Site_B_router_1     Site_B_router_2
             \       /
            Site_B_LAN
                 |
              Site_B
                 |
          Site_B_router_3
                 |
             Internet

目前,站点 A 和站点 C 之间没有链接。我正在考虑添加该链接,并在站点 A 和站点 B 之间设置不平等成本负载平衡,以提供一些冗余,并在站点 A 和 Internet 上的主机以及站点 B 之间获得更有效的带宽。从大量的 Google 搜索中,我似乎想在站点 A 路由器和站点 B 路由器之一之间设置 MPLS TE 隧道,以通过两条路由之一引导两个站点之间的所有流量。

我一直想不明白 MPLS 隧道如何融入路由网络方案。根据我的阅读,MPLS TE 位于 OSPF 派生路由之上,并仅定义两个路由器之间要采用的路径。

我是否需要通过 OSPF 来宣传它们的存在?我认为不需要,因为我怀疑这最终会将所有从网络上任意位置发往站点 A 的流量路由到站点 B,然后再通过两条路径之一返回站点 A。

或者,我是否只在站点 B 路由器上设置隧道,但不宣传它们的存在,而只允许它们对到达两个隧道路径之一的任何流量进行分类?如果以这种方式工作,我希望站点 D、站点 C 和通过站点 C 连接的其他站点中的主机仅通过最短的 OSPF 路由路由流量,而忽略隧道。

使情况复杂化的是,站点 B 中的许多主机通过 OSPF 构建其路由表,因此没有主机用于确定下一跳的单个网关路由器。为了获得适当的负载平衡,我应该在三个路由器中的哪一个上设置 MPLS TE 隧道的站点 B -> 站点 A 方向?

如果我将其设置在路由器 3 上,我怀疑只有来自 Internet 的流量才会实现负载平衡,因为站点 B 中的主机将直接将发往站点 A 的数据包发送到路由器 1 或 2。或者,我可以在路由器 1 上进行设置,因为这几乎肯定是 OSPF 最短路由。但是,由于流量采用备用隧道,因此流量将不必要地从路由器 1 路由到路由器 2。我怀疑这有点想太多,可能是过早优化。

在这种情况下,我想做的事情的最佳实践方法是什么?

答案1

是的,您可以在路由器之间创建 MPLS 隧道,以使 OSPF 在它们(隧道)之间实现负载平衡,因为 OSPF 本身不支持 UCLB。

您确实需要在 ospf 配置中添加一些 mpls 命令。请参阅这里

您应该能够在站点 A 路由器和站点 B 的“主”路由器(​​可能是路由器 1)之间创建两个隧道。一个隧道直接位于 A-1 和 B-1 之间,另一个则通过路由器 B-2 连接。路由器 A-1 和 B-1 将执行流量负载平衡。

在这种情况下,需要将主机配置为使用路由器 B-1 作为站点 B 中的默认网关。

*编辑正确的路由器名称。

相关内容