MPLS Penultimate hop popping

In an MPLS implementation, Penultimate Hop Popping (PHP) is a function performed by routers in an MPLS enabled network. It is the process by which the outermost label of an MPLS tagged packet is removed by a Label Switch Router (LSR) before the packet is passed to an adjacent Label Edge Router (LER). The benefit of PHP is that the LSR has to do a label lookup anyway and it doesn't make a difference whether this results in a label swap or pop. However, for the LER this saves one cycle of label lookup.

An MPLS router will "know" to perform PHP because the LER will tell it to. This is done with the implicit NULL label which is sent by the LER to its neighboring LSRs. By definition, the implicit NULL has a value of 3.

Links:

https://forum.networklessons.com/t/mpls-ldp-label-distribution-protocol/1285/46?u=lagapides

https://en.wikipedia.org/wiki/Penultimate_hop_popping