在RFC-4364 的第 6 节中指出,如果 MPLS 被用作隧道技术(在将 VPN-IPV4 流量从一个 PE 转发到另一个 PE 的范围内),这意味着骨干网中的路由器不得接受来自任何相邻非骨干设备的标记数据包,除非以下两个条件成立:
2. the backbone router can determine that use of that label will
cause the packet to leave the backbone before any labels lower
in the stack will be inspected, and before the IP header will
be inspected.
我试图了解骨干网中的第一个 P 路由器如何能够确定从 PE 路由器发送的给定标签将导致数据包离开骨干网。
这也让我对 MPLS 感到疑惑,比如在以下配置中,它在 P1-P3 路由器之间启用,每个 (L<number>) 代表它们的内部标签 (IGRP):
ingressPE (L0) <--> P1 (L1) <---> P2 (L2)<--> P3 (L3) <--> egressPE (L4)
当 P1 收到来自 ingressPE 的数据包时,堆栈顶部带有标签 L4,我想它知道相应的 egressPE 是离开骨干网的路,但随后这个 L4 标签将被 L2 替换为 L3。
那么P3如何知道它需要将数据包发送到L4,所有标签都被交换,它是否根据IP查找信息?