直接和通过 MPLS 连接两个 OSPF 站点

网络工程 路由 ospf 聚光灯
2021-07-28 02:31:49

在 Stack Exchange,我们最近在数据中心之间添加了一条 MPLS 链接,以补充我们迄今为止一直在使用的 VPN 隧道。网络看起来像这样:

   +-----------+                                                                  
   |    NY     |                                                                  
   |10.7.0.0/16|                                                                  
   ++----+----++                                                                  
    |    |    |                                                                   
  VPN 1  |    |                                                                   
OSPF P2P |  MPLS Peer--+                                                          
    |    |             |                                                          
    |    |             |                                                          
    |  VPN 2   MPLS Provider Net                                                  
    |OSPF P2P          |                                                          
    |    |             |                                                          
    |    |  MPLS Peer--+                                                          
    |    |    |                                                                   
    |    |    |                                                                   
   ++----+----++                                                                  
   |    CO     |                                                                  
   |10.8.0.0/16|                                                                  
   +-----------+    

这两个站点使用 VPN 链接(OSPF 以点对点模式在这些站点上运行)和通过 MPLS(我们的 OSPF 在每一端与 MPLS 提供商的路由器对等互连)直接连接。一切都在0区;除了这两个设备和 MPLS 提供商的路由器之外,没有任何其他设备参与此 OSPF 网络。

这个想法是为了能够调整 OSPF 成本,让流量通过(更快的)MPLS 连接——但发生的事情是,当只有 MPLS 启动时,流量使用 MPLS,但当 VPN 启动时,MPLS不再被视为有效路线。

仅当 MPLS 启动时,数据库中存在远程站点 /16 的类型 5 LSA(广告路由器设置为 MPLS 提供商的路由器);当 VPN 启动并且“原始”类型 5 LSA(将广告路由器设置为站点路由器)填充时,MPLS 提供商的路由器停止为路由发送其 LSA,因此在以下情况下无法使用 MPLS 路由VPN 已启动。

  • MPLS 提供商的 5 类 LSA 的这种奇怪的撤回是否是由于将 MPLS 网络设置为区域 0 而引起的,因为它是一个脱节的区域 0,然后在点亮时通过 VPN 连接在一起?由于将它们连接在一起使 MPLS 邻居知道通过 VPN 泛洪的“直接”类型 5 LSA,这就是他们停止为这些网络宣传自己的 LSA 的原因吗?(是否可以通过将 MPLS 对等点放在不同的(NSSA?)区域而不是区域 0 来解决这个问题?)

  • 因为 MPLS 网络不使用端到端 OSPF,而是以其他方式将路由分发到其端点路由器,然后重新通告新的 5 类 LSA,我们是否能够达到我们想要的最终状态?根据 VPN 和 MPLS 之间的 OSPF 成本选择路由,或者正在选择的 LSA 具有不同的广告路由器这一事实是否会使该计划变得不可能?

2个回答

我认为这是 OSPF“Sham Link”功能解决的确切情况。如果不知道您的 MPLS 提供商对您与他们交换的路由做了什么,就很难知道这是否是确切的问题。有可能即使 MPLS 链路已启动,它也被视为区域间链路,而您的“后门”VPN 隧道是区域内的,因此始终优先于区域间链路。

我不知道你使用什么路由平台,但瞻博网络的文档包含对这个问题的一个很好的解释:http : //www.juniper.net/techpubs/en_US/junos12.3/topics/topic-map/ospfv2-sham-链接.html

FWIW,另一种解决方案是在备份链路上运行不同的路由协议。你可以做 RIP、EIGRP,甚至只是浮动静力学。然后只需更改该协议的 AD(如有必要)以确保 MPLS 路由协议优先于备份。

IMO,Sham-link 是一种解决设计问题的技巧,并且不必要地复杂。