第十三章:MPLS - PHP机制

本文解析了PHP(Penultimate Hop Popping)原理,如何通过在次末跳LSR上提前弹出标签,减少标签交换,从而提高MPLS转发效率。通过实例展示了PHP机制在实际路由中的应用和华为路由器的默认设置。
摘要由CSDN通过智能技术生成

13.2.4  PHP 机制

在下图中,R1、R2、R3均是LSR且激活了LDP,其中R3直连着3.3.3.0/24网段。R3在本地给3.3.3.0/24分配标签1027,并通告给R2。R2收到后将标签存储到本地,在本地为3.3.3.0/24分配一个标签1025,并将标签通告给R1。

这时有个R1收到了一个去往3.3.3.3的IP报文,通过查询自己的ILM表项和NHLFE表项,R1将标签1025压入标签头部,并将报文发送给R2。R2收到后,查询ILM和NHLFE表项后,将标签置换为1027并发给R3。R3收到后,发现查询ILM表时发现Tunnel ID为0x00,动作为弹出,又读取BoS字段发现1027标签就是标签栈的栈底,所以要将标签报文转成IP报文,读取报文中IP头部,发现目的地址为3.3.3.3,读取FIB表发现匹配项,然后将IP报文路由到正确的下一跳设备。

在以上的转发过程可以进一步优化,在R2接收到标签头部是1025的标签报文时,如果直接移除标签头部,将转换得到的IP报文直接发给R3,那么整个转发过程中将会少一次标签值换的操作,提升了转发效率。

PHP(Penultimate Hop Poppoing,次末跳弹出)为解决这个问题而生的。PHP指的就是在次末跳LSR上率先弹出标签头部,将里面的报文转发给出站LSR。典型的PHP机制就是,最后一跳LSR在向倒数第二跳通告标签时,将标签值设置为3。在MPLS中,标签值3含有特殊意义,被称为隐式空标签(Implicit Null Label)。如果LSR发现该报文的入站标签对应的出站标签为3,它将会将报文的标签头部弹出,并将里面所封装的报文转发给最后一跳设备。

如下图所示,激活了PHP后,标签报文的转发动作将发生改变,华为路由器默认激活了PHP机制。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值