cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1466
Views
0
Helpful
10
Replies

PHP in MPLS Nw

Following is a quote from MPLS VPN architecture page 47.

An egress Edge-LSR in an MPLS network might have to perform two lookups on a packet received from an MPLS neighbor and destined for a subnet outside the MPLS domain.

here it says that PHP is used for for networks outside MPLs domain, here is another statement:

Penultimate Hop Popping is used only for directly connected subnets or aggregate routes.

this means that if the route outside MPLs domain is more than a hop away i.e not direcetly connected to the Edge-LSR, Label for that route will not be removed by the second last router(one before the ELSR) , and the ELSR will have to perform to lookups one in LFIB and other in FIB....

kindly explain.. i have tested this and it does only works for directly connected networks no matter inside or outside MPLS domain...

Thanks

MukarraM

1 Accepted Solution

Accepted Solutions

Hi

You are right PHP works for directly connected and aggregated routes or summary routes. As stated in the scenario the PHP will work only on C to reach D. After that no PHP will work because it is not the MPLS domain.

Never think that for each and everyhop PHP will work. The PHP will work only one router before the destination. Assume if the destination is C router then B and D will perform the PHP. to reach C. After C the packets will move to ip cloud i.e. twowards customer.

regards

shivlu jain

View solution in original post

10 Replies 10

shivlu jain
Level 5
Level 5

hi Mukarram

PHP is used to reduce the number of lookups. Lets assume you are having four routers CE1-R1-R2-R3-R4-CE4. R1 is getting update from from R4 for CE4. In this case R1 will forward the packets with next R4 Mp-iBGP loopback and R2 will check the label for R4 loopback and forward to R3. Now R3 will see that the R4 loopback is comming as implicit null, so it means R3 will remove the top label which is the IGP label and forward the packet with vpnv4 label to R4. For more please visit the given blog

http://shivlu.blogspot.com/2008/11/what-is-php-penultimate-hop-popping.html

regards

shivlu jain

hello shivlu,

thanks for ur reply...

the scenario i discussed is a simple one , its based on unicast IP forwarding.. no VPNs... ospf is the IGP...

In simple IGP case a single label will be added in the packet and R3 will pop the label of IGP before forwarding packet to R4.

regards

shivlu jain

fine....

ur statement is true for networks directly connected to R4, PHP will work fir it...

what about networks connected to CE router..i.e not directly connected to R4.. PHP will no work ???

Hello,

I assume still that we are talking about plain IP routing with MPLS, no VPNs. The PHP will work even in that case.

The logic is simple: if a network in your LFIB has the "Untagged" information in the outgoing label binding, then you will advertise this network to your upstream neighbors with an implicit null label, requesting a PHP. This way, both the networks that are directly connected and the remote networks for which you don't have any label binding will be subject to PHP.

Best regards,

Peter

Hello Paluchpeter,

you are right we are talking about plain IP over MPLS,

let me put my quest again:

thanku for ur reply..

let me explain my query again....

topology : X - A - B - C - D - Y - Z

routers X , Y and Z are outside mpls domain...

the link between Y and Z has subnet 6.6.6.0/30 and it is ofcourse not directly connected with the ELSR-D...

my questions is, why does'nt PHP works for this prefix... I tried this in GNS3 and D only sent imp-null for nw directly connected (subnet on link bw router D and Y) to C. not for 6.6.6.0/30...

So my question : PHP only works for directly connected and aggregated routes.. ( as stated in all MPLS books)... what about networks that are one or more hop away from router D that is not directly connected with D .. for all nws router D still has to perform two lookups ..

ur last statement:

both the networks that are directly connected and the remote networks for which you don't have any label binding will be subject to PHP.

this is what I am interested to know,

but what all i read and did in GNS3 negates this.. it says PHP only works for directly connected and aggregated routes.........

Hi

You are right PHP works for directly connected and aggregated routes or summary routes. As stated in the scenario the PHP will work only on C to reach D. After that no PHP will work because it is not the MPLS domain.

Never think that for each and everyhop PHP will work. The PHP will work only one router before the destination. Assume if the destination is C router then B and D will perform the PHP. to reach C. After C the packets will move to ip cloud i.e. twowards customer.

regards

shivlu jain

hi shivlu,

but this brings up one more questions.... taking above example , network directly connected to D would less likely to be a destination for IP packets travalling through the MPLS network... and networks beyond router Z (not directly connected to D) will be more likely be the destination for packets...

so this means we are not utilizing the full adv. of PHP... what do u think should'nt D be advertising imp-null label for all labels not even directly connected to it..

B/c D still has to perform double lookups (LFIB and FIB)....

Hi

The logic is very simple and easy to understand that PHP will work only with in MPLS cloud. It has nothing to do with CE.

You can go with ip cloud or vpn cloud the php algo will remain the same because customer is forwarding ip packet and receiving the ip packet.

Hope this will clear your doubt.

regards

shivlu jain

thanks a lot Shivlu....

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: