02-12-2019 05:29 PM - edited 03-05-2019 11:16 AM
hey guys, how MPLS router know it is penultimate hop and do the PHP, I mean the label tagging is base on route table, right ? from the route table, the router should know "what is tthe next hop" only, I think the oruter doesn't know the full topology, so why the router will know he is the penultimate hop ??
please correct me ..thanks
Solved! Go to Solution.
02-12-2019 09:00 PM
That was a nice question.
It's very simple that every prefix in the MPLS cloud is bind to a label value which is unique to the router.
For example see the below setup
RouterA ------MPLS--------- Router B-----MPLS------Router C----IPV4---Router D. Loopback 3.3.3.3
10.0.0.1 10.0.0.2 12.0.0.1 12.0.0.2 13.0.0.1 13.0.0.2
once I enable MPLS on all the router Router D will start assigning a label to the prefixes to which it was the reachability and directly connected its going to assign a value of 3 and will send it to Router C
Now 3.3.3.3 got a value of 3 and will be sent to Router C which will assign another label instead of 3 and will send to Router B similarly Router B will assign and send to Router A.
For 3.3.3.3
Routers Label Assigned Label sent Label received
D 3 3 sent to C Non
C 194 194 sent to B 3
B 135 135 sent to A 194
A ------------- Similar pattern---------
The thumb rule for the MPLS router is whenever they receive a label value of 3 for a prefix then it need to open the MPLS packet remove the MPLS label and send it as IPv4 packet
02-12-2019 05:35 PM - edited 02-12-2019 05:40 PM
Router behaves PHP when the label received from adjacent router is a value 3 - the Implicit Null Label.
Label value 3 is a reserved value and never appears in encapsulation because it specifies that the top label should be removed [POPed] and remaining packet should be forwarded to next-hop.
HTH.
02-12-2019 05:46 PM
Hi @ronald.su,
Check this discussion:
https://community.cisco.com/t5/mpls/mpls-php/td-p/826983
Regards
02-12-2019 09:00 PM
That was a nice question.
It's very simple that every prefix in the MPLS cloud is bind to a label value which is unique to the router.
For example see the below setup
RouterA ------MPLS--------- Router B-----MPLS------Router C----IPV4---Router D. Loopback 3.3.3.3
10.0.0.1 10.0.0.2 12.0.0.1 12.0.0.2 13.0.0.1 13.0.0.2
once I enable MPLS on all the router Router D will start assigning a label to the prefixes to which it was the reachability and directly connected its going to assign a value of 3 and will send it to Router C
Now 3.3.3.3 got a value of 3 and will be sent to Router C which will assign another label instead of 3 and will send to Router B similarly Router B will assign and send to Router A.
For 3.3.3.3
Routers Label Assigned Label sent Label received
D 3 3 sent to C Non
C 194 194 sent to B 3
B 135 135 sent to A 194
A ------------- Similar pattern---------
The thumb rule for the MPLS router is whenever they receive a label value of 3 for a prefix then it need to open the MPLS packet remove the MPLS label and send it as IPv4 packet
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide