在 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 具有不同的广告路由器这一事实是否会使该计划变得不可能?