MPLS 可以重新路由,但它可以路由吗?

网络工程 思科 路由 路由器 聚光灯
2021-07-17 02:49:56

我有 4 个 Cisco 路由器,它们相互连接,如下所示:

**R1**(s1/0)--(s1/0)**R2**(s1/1)--(s1/0)**R3**(s1/1)--(s1/0)**R4**

它们都在其接口上分配了一个 IP 地址。R1和R2之间有一条路由,R3和R4之间有一条路由。

我希望 R2 和 R3 成为 MPLS 网络,我像这样配置:

R2:

ip cef
int s1/1
mpls label protocol ldp
mpls ip
mpls mtu 1512
ip route-cache cef

R3:

ip cef
int s1/0
mpls label protocol ldp
mpls ip
mpls mtu 1512
ip route-cache cef

但是,除了 R2 之外,R1 不能 ping 任何东西,并且 Traceroute 在 R2 之后给出“!H”。如果我使用 EIGRP 作为封装在 MPLS 中的路由协议,它可以工作,但我的问题是为什么我需要在 R2 和 R3 之间配置路由?

MPLS 具有重路由功能,难道不能自己创建路由吗?

2个回答

MPLS 具有重路由功能,难道不能自己创建路由吗?

您已启用 LDP;而作为MPLS标签分发协议LDP,只将IGP路由映射到MPLS标签;在您的情况下,IGP 是 EIGRP ...

引用RFC 3031 - MPLS 架构,第 8 页(强调我的):

 MPLS node                  a node which is running MPLS.  An MPLS
                            node will be aware of MPLS control
                            protocols, will **operate one or more L3
                            routing protocols**, and will be capable
                            of forwarding packets based on labels.
                            An MPLS node may optionally be also
                            capable of forwarding native L3 packets.

RFC 没有对此进行解释。没有路由协议就不能使用 LDP。

简短回答:MPLS 不是第 3 层路由协议,但是,它需要一个来建立它的路径。

——

根据RFC 3031 多协议标签交换架构

MPLS 节点将了解 MPLS 控制协议,将运行一个或多个 L3 路由协议,并能够根据标签转发数据包。

这意味着 MPLS 节点可以根据标签而不是 L3 路由信息做出转发决策,但它仍然需要 L3 路由协议来创建路径。

MPLS 无法创建不存在的 IP 路由。(它也不能将流量重新路由到以前不存在 IP 路由的地方。)

回答这个问题的关键是了解 MPLS 是什么以及它是如何工作的。我建议查看Cisco 的 MPLS 初学者常见问题解答,然后查看更深入的阅读RFC 3031这些在一定程度上涵盖了您的问题(和其他问题)。