MPLS 用于整个内部网络?

网络工程 ip 聚光灯
2021-07-31 07:26:32

我在测试平台网络的所有接口中配置了 MPLS/LDP。它在 IS-IS 级别 1 下运行。

我知道并理解 MPLS(l3VPN 或 l2VPN)的好处。

我的问题是:整个内部网络都使用 MPLS 吗?例如,当我从直接位于我的网络中的一台路由器(配置了 IGP)ping 到另一台时,即使目标路由器位于同一“内部网络”中,数据包也会封装在 MPLS 中?

如果是这种情况,如果转发基于标签,我如何执行 ECMP/负载平衡?

2个回答

这取决于您向 LDP 做广告。如果您的 ping 是到 LDP 通告的目标地址,并且该目标有端到端 LSP,则 ping 将被封装并进行 MPLS 交换,即使目标在全局表中也是如此。这就是 MPLS VPN 中外部(隧道)LSP 的工作方式

默认情况下,Cisco 网络将所有全局网络通告到 LDP。因此,默认情况下所有全局流量都是 MPLS 交换的。最好的做法是过滤 LDP 公告以仅覆盖 PE 路由器的环回地址,因为通常不需要为任何其他内部网络使用 MPLS。mpls ldp Advertise-labels for ACL to ACL命令用于控制向 LDP 对等体发布特定前缀的标签。

如果你想检查一个目的地是否会被 MPLS 转发,试试“ show ip cef destination-ip detail ”,如果你在下一跳之后看到一个标签值,那么你知道 IP 数据包将被 MPLS 封装和标签交换至少到下一跳。您还可以检查 MPLS 转发表(show mpls forwarding-table),这将显示入站和出站标签以及前缀。

您也可能会遇到这样的情况,流量只在一个方向上被 MPLS 封装,因此流量沿着 LSP 到达目的地,但在返回的路上没有被封装。如果您仅通过 LDP 通告环回,并且您向环回目标地址发送 ping,但从 LDP 未通告的 IP 发出 ping,则 ping 将跟随 LSP 到达目的地,但返回流量将正常IP 交换(无 MPLS)回到源。

另一件要考虑的事情是倒数第二跳。如果目的地只有一跳,另一个 LSR 将通告一个空标签。在这种情况下,路由器将转发原始 IP 数据包而不是标记流量,以减少目标路由器上所需的查找次数。在这种情况下,您的流量未标记,尽管从技术上讲它遵循 LSP。

带有 MPLS 的 ECMP 的工作方式与普通 CEF 负载平衡类似。如果一个目的地有两个不同的等成本下一跳,MPLS 流量也将使用单独的 LSP 在两个目的地之间进行负载平衡。如果您查看“ show ip cef destination-ip internal的输出,它可能会显示负载平衡

例如,当我从直接位于我的网络中的一台路由器(配置了 IGP)ping 到另一台时,即使目标路由器位于同一“内部网络”中,数据包也会封装在 MPLS 中?

这取决于。如果源接口在 VRF 中,则数据包将被封装。如果它在全局表中,那么没有。

如果转发基于标签,我如何[如何]执行 ECMP/负载平衡?

引自Cisco 支持论坛

MPLS L3VPN 中基于目标的负载均衡可以分为两种情况:

1)两个PE路由器之间的多条路径

2) 到单个 CE 或站点的多个访问链接

据我了解,您的问题是关于第一种情况的。因此,让我首先快速回顾一下客户流量是如何在两个不同 PE 路由器上的 VRF 之间转发的。

VRF 路由表将包含从远程 PE 获知的路由的 BGP 条目,通常下一跳地址是用于 PE 到 PE BGP 对等的远程 PE 环回 IP。

流量将使用 BGP 下一跳的标签跨 P 路由器转发。

因此,第一步中跨 MPLS 核心的负载平衡由 IGP 决定,IGP 必须将几个等价路径插入到 BGP 下一跳网络(PE 环回)的全局路由表中。

旁注:核心中的 MPLS 流量工程将允许不等价的负载平衡。

CEF 使用散列算法决定通过核心中的哪条路径发送哪个标记的数据包。为了实现与未标记 IP 流量相同的负载平衡,启用 Cisco MPLS 的路由器将查找底部标签 - 堆栈底部位设置为 1 的标签 - 并尝试确定底部标签后面的传输数据包是IP。如果是,则为客户 IP 标头计算散列值,就像计算正常 IP 流量一样。这确保了某个客户目的地的所有流量将始终通过相同的路径。不会发生不需要的数据包重新排序。

请注意,客户 IP 数据包头将仅用于 CEF 哈希计算,不会执行 IP 查找,因为 MPLS L3VPN 中的核心路由器不了解客户地址。

附带说明:如果传输的流量不是 IP(例如 MPLS 上的以太网),底部标签将用于 CEF 负载平衡(例如 VC 标签)。

对于第二个场景 - CE 负载平衡与多宿主 CE/站点 - 首先需要在 VRF 路由表中有两个等价条目。区别在于两个不同的 PE BGP 下一跳地址。第一个负载均衡决策是由CEF根据CE收到的IP报文和VRF路由表项进行的。一旦 CEF 决定使用哪个 VRF 条目,就会应用所需的 BGP 下一跳标签(和 VPN 标签),并且数据包将通过 MPLS 核心传输。如上所述进行负载平衡。