如果启用了 PHP,Egress LER 是否可以区分数据包是否通过 MPLS-LSP 到达?

网络工程 聚光灯 php
2021-07-06 04:47:33

考虑下面的拓扑。

---> traffic flow direction ---> 
---> PE-1-----P1-----P2-----PE-2 --->

这里 PE-1 是入口 LER,PE-2 是出口 LER。P1 和 P2 是 LSR。现在说 PHP,(Penultimate Hop Popping)在这些路由器中启用。P2 在这里是 Pen-Ultimate-Hop;因此 P2 弹出最后一个标签(假设标签堆栈深度仅为 1)并向 PE-2 发送一个 IP 数据包。

PE-2 能否区分通过 MPLS-LSP 到达的流量和不通过 MPLS-LSP 到达的流量?

2个回答

LER 将无法将此数据包与任何其他数据包区分开来,因为它会在未标记的情况下到达(正如您所说,这仅在标签堆栈的深度为 ONE(传输标签)时才成立)。

您可以以某种方式标记通过 MPLS 传输的数据包 (CoS)。这可能将它们与不通过 MPLS 传输的数据包区分开来,但需要额外的配置并且高度依赖于使用的设备。

是的。首先,数据包将到达一个有标签或没有标签的 L2 PDU。其次,出口 LSR 还将知道它为哪些 LSP 分配了哪些标签。

编辑:为了完整性并进一步阐明此特定示例,出口 LSR 将为该特定 LSP 信令分配一个空标签到倒数第二个节点以弹出该标签并将其转发到出口 LSR。如果由于某种原因它在发出隐式空值(错误配置、伪造 PDU 等)时收到一个带有标签的数据包,就像在这个 PHP 示例中一样,在大多数情况下,它会将其转发给与该标签对应的 LSP如果它有那个标签。如果它没有分配对应于该标签的 LSP,它将丢弃它。