最近在自学MPLS VPN Option B的时候,看见课件里面有一条命令叫做“apply-label per-nexthop”,然后就在ensp模拟器里面搭建环境并测试效果,发现好像没有生效,然后搜搜查查。
一、命令:
① apply-label per-nexthop #使能ASBR按下一跳为VPNv4/VPNv6路由分标签;
② undo apply-label per-nexthop #取消ASBR按下一跳为VPNv4/VPNv6路由分标签;缺省情况下,ASBR没有使能按下一跳分标签,标签分配策略是每条VPNv4/VPNv6路由分配一个标签。
二、视图:
BGP-VPNv4地址族视图。
三、应用场景:
在跨越VPN-Option B场景或者HoVPN创建下,ASBR或者SPE上需要发送的VPNv4路由或者VPNv6路由数量过多,导致设备的MPLS标签资源不足时,配置该命令可以节省设备上的MPLS标签资源库。
缺省情况下,ASBR或者SPE在向其他的MP-BGP对等体发布VPNv4/VPNv6路由时,同时为每一条路由分配一个标签。配置该命令后,ASBR或者SPE为具有相同路由下一跳和出标签的路由分配一个标签。为使从相同下一跳学到的路由的出标签相同,该命令需要和PE上的apply-label per-instance命令配合使用,否则起不到节省标签资源的效果。
四、应用场景:
使能或者去使能按下一跳分标签时,ASBR或者SPE上分配的标签会发生变化,会导致VPN流量的短暂中断。
五、apply-label per-instance命令解释:
六、配置完后的效果展示:
七、总结
看着课件自学配置Option B方案,但是那个课件给的示例比较草率。只在ASBR中的BGP-ipv-family vpnv4视图下配置了“apply-label per-nexthop”;但是没有在PE中的ip vpn-instance XXX的route-distinguisher视图下配置“apply-label per-instance”。导致标签没按下一跳分发,困惑我半天,直到我仔细地终于注意到华为文档中的那句话:该命令需要和PE上的apply-label per-instance命令配合使用,否则起不到节省标签资源的效果。