2.5 PHP

2.5.0 PHP的定义:

  • PHP(Penultimate Hop Popping)倒数第二跳弹出,可以使得标签在倒数第二跳LSR上弹出。
    • 次末跳是针对LSPFEC,而不是针对设备的。
  • 使用倒数第二跳弹出时,倒数第二个LSR依然根据上游LSR标签决定向哪里转发报文,然后直接去掉标签,进行转发,那么当最后一跳LSR(即Egress LER)收到这个报文时,就是传统的IP报文了,这时直接进行传统的IP转发。
  • 那么LSR如何知道自己是倒数第二跳呢?倒数第一跳的交换机将为其分配一个特殊的标签3。

2.5.1 配置PHP

  • LER可以配置3种不同的标签分发方式,以通知倒数第二跳LSR是否应该弹出标签。

[SWD-mpls]label advertise ?                                                    

  explicit-null  explicit-null                                                 

  implicit-null  implicit-null                                                 

  non-null       non-null

  • explicit-null:为显式空标签,显式空标签值为0。这个值只有出现在标签栈底时才有效,表示报文的标签在分配该标签的这个LSR(即Egress LER)上必须被弹出,然后对此报文进行IP转发;

  • implicit-null标签值3表示隐式空标签(implicit-null),这个值不会出现在标签栈中。当一个LSR (倒数第二跳LSR)发现自己被分配了隐式空标签时,它并不用这个值替代栈顶原来的标签,而是直接执行Pop操作。

  • non-null:表示不使用PHP特性,Egress节点向倒数第二跳正常分配标签。

  • 缺省情况下,Egress节点向倒数第二跳节点分配隐式空标签implicit-null。

2.5.2 配置explicit-null

  • 可以看出,SWD给SWC分配了显式空标签0,SWD收到入标签为0的报文后,由于标签0只在栈底出现,所以弹出该标签,然后进行IP转发。
    • MPLS域部署了QoS的情况下,需要在整个MPLS域都进行基于标签的MPLS报文的转发。
    • 正常情况下,SWD收到了标签为0的报文后,先查找LFIB表,再查找FIB表,但是华为设备对此做了优化,只要收到了标签为0的报文后,直接把标签去掉,去做IP的查询(直接查询FIB),而不需要做两表的查询
  • 如果是其他普通标签还要判断是否是在栈底,如果不是还要取内层标签通过Mpls转发。(如果是普通的非PHP标签,是需要判断是否为栈底标签的,因为需要考虑Label多层嵌套的情况,也就是说,Label0时就肯定不是嵌套,所以也不需要判断该标签是否为栈底标签

2.5.3 配置non-null

  • 表示不使用PHP特性,Egress节点向倒数第二跳正常分配标签。
  • 可以看出,SWD给SWC分配了标签1031。

2.5.4 特殊标签固定值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值