Hi @Zaman.rubd
Let’s look at an example of PHP first. Take a look at this picture:
In this example, P3 pops the label and forwards only the IP packet to PE2. The advantage here is that we saved a lookup for PE2. It only has to route the packet, not another lookup for the label.
Without PHP, (that’s Ultimate Hop Popping), the egress router (PE2) has to pop the label and do a lookup in the IP routing table.
PHP helps to move some of the load (label lookup / pop) from the PE2 to the P3 router. Keep in mind the PE routers have more work to do than the P routers…
About the LFIB, keep this picture in mind:
https://networklessons.com/wp-content/uploads/2015/08/mpls-lib-lfib.png
R2 will have the IP address of R1 installed as the next hop for 1.1.1.1/32, that won’t change:
R2#show ip route 1.1.1.1
Routing entry for 1.1.1.1/32
Known via "ospf 1", distance 110, metric 2, type intra area
Last update from 192.168.12.1 on GigabitEthernet0/1, 00:03:17 ago
Routing Descriptor Blocks:
* 192.168.12.1, from 11.11.11.11, 00:03:17 ago, via GigabitEthernet0/1
Route metric is 2, traffic share count is 1
Here you can see the labels that were created/advertised:
R2#show mpls ldp bindings
lib entry: 1.1.1.1/32, rev 16
local binding: label: 19
remote binding: lsr: 11.11.11.11:0, label: imp-null
remote binding: lsr: 33.33.33.33:0, label: 20
And the LFIB:
R2#show mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
16 Pop Label 33.33.33.33/32 0 Gi0/2 192.168.23.3
17 Pop Label 3.3.3.3/32 0 Gi0/2 192.168.23.3
18 Pop Label 11.11.11.11/32 0 Gi0/1 192.168.12.1
19 Pop Label 1.1.1.1/32 0 Gi0/1 192.168.12.1
Rene