MPLS L3VPN下,PE会为每条VPN路由分配一个MPLS标签,但PE也可以为每个VRF分配一个MPLS标签

在这篇文章《MPLS L3VPN为什么要使用两层MPLS标签?》中,Ricky提到“PE会给CE上来的路由分配MPLS标签,而且是一条VPN路由分配一个MPLS标签”,其实PE不仅仅可以针对每条VPN路由分配一个MPLS标签,还可以针对每个VRF分配一个MPLS标签。

这是MPLS L3VPN的实验拓扑,与文章《MPLS L3VPN为什么要使用两层MPLS标签?》中的一致:

MPLS L3VPN为什么要使用两层MPLS标签?
MPLS L3VPN为什么要使用两层MPLS标签?

如下图所示,因为PE默认是每条VPN路由分配一个MPLS标签,所以你会看到在R1上ping 172.16.7.6和172.16.8.6时,内层MPLS标签是不同的。172.16.7.0/24的内层MPLS标签是5001,172.16.8.0/24的内层MPLS标签是5002。

MPLS L3VPN为什么要使用两层MPLS标签?ping包测试
MPLS L3VPN为什么要使用两层MPLS标签?ping包测试

现在我们在R5上配置一条命令,让R5(PE)只针对每个VRF分配一个MPLS标签:

R5(config)#mpls label mode all-vrfs protocol bgp-vpnv4 per-vrf

注意:如果你只想让这条命令在PE下的某个VRF上生效,可以这么配:

R5(config)#mpls label mode vrf A protocol bgp-vpnv4 per-vrf

如下图所示,再在R1上ping R6上的三个LAN网段,你就会发现,内层MPLS标签就都是5006了:

mpls-l3vpn-label-allocate-per-vrf-1

mpls-l3vpn-label-allocate-per-vrf-2

mpls-l3vpn-label-allocate-per-vrf-3

注意:如果是在SP(服务提供商)方向里的CSC环境下,就不能让PE针对每个VRF分配一个MPLS标签了,否则会出错。

打赏作者
这里是 “ CCIE 工程师社区 ” 官方的捐款通道,您是否可以考虑请我们喝杯咖啡呢?

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

Was this article helpful?

Related Articles

Leave A Comment?

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据