stacked between L2 and L3. Bottom of stack bit set to on means that that label is the last one in the stack. With MPLS TE we could have multiple labels as well. Top label could be used for TE,with the second label pointing to the downstream network. If a route have to be advertise from customer A to customer B then,the PE router (PE1) on the customer A side will add a vpn tag(if it running MPLS VPN) to that particular route of customer A and then have a IBGP(if it is a part of same AS) neighborship with the PE router(PE2) on the customer B side. PE1 will advertise customerA route to PE2 with the next hop of PE2 with the help of BGP update.Inside the BGP update,we have VPN tag of the particular route of customer A. PE2 will advertise to the customer B normally. When the transit traffic comes in from CE2 to PE2 for the route of customerA,then PE2 in the cef table have a tag for the customer A route.Then it will inject mpls label of tag(for customerA route) .also it will add mpls label of next hop (that is of PE1) . Bottom label is vpn tag.Above it is next hop label in the stack. The intermediate P router will swap the top label (i.e next hop label). Once PE1 gets the packet,it will dig down the vpn label and it knows how to send packet to the customer A route. If we give sh ip cef vrf customerA <route> <subnet mask> in PE1,then the local tag (lets say 21) is vpn tag for customerA route.The local label is
now injected by PE1 and then sent as a BGP update
to PE2.So PE2 has a label which is advertise as a extended community in BGP and it also has a label for next hop(i.e. for PE1 router) In PE2,If we give sh mpls ldp forwarding-table .we can see the label to reach PE1.(lets suppose outgoing label is 24) Give trace command in PE2 to the loopback of PE1 to verify it. Sh ip cef vrf customerA <customerA route> <mask> in PE2.Here we can see that top label is showing as 24 and bottom label is showing as 21. Sh mpls forwarding table for PE1 loopback address in p-router(nearer to PE2).it is showing local tag as 24 and outgoing label as 20.so top label is 20 and bottom label is 21.
Why we are doing this?
The reason for this is that we want services or functionalities that we can get through MPLS.Working with the functionality that we can buy by simply peering with MPLS neighbor ,making the route of different customers private and secure that is the magic of MPLS VPN. Unicast/multicast routing(PIM extensions) Traffic engineering(TE) and QOS MPLS VPN. ATOM(any transport over MPLS) Transporting L2 pasckets for customers over the service provider network,transparently to the customer. o Ethernet over MPLS(EoMPLS) o ATM AAL5 over MPLS o Frame relay over MPLS(FRoMPLS)