The PE Routes within the Provider Cloud carry the RD and RT for the VPNs. As long as the PE Router Connectionless IP Addesses can reach each other via some other IGP (ex OSPF) the Adjecncy can be established. The extension were developed to carry VPN info in the update messages.
When CE1 sends a packet to CE2, this packet arrive on a PE1 VRF interface. PE1 looks in its VRF FIB table to find CE2 address. In this table, it finds two labels : a VPN label and a MPLS label. The VPN label is exchanged between PE routers with MP-BGP session. When an PE send an MP-BGP update, there is the VP-IPv4 address, the Next hop attribute, the route-target attribute ... and a label.
The MPLS label corresponds in the Next-Hop BGP (PE2). This Label is exchanged between P and PE routers with LDP. For that P and PE routers need to use the same IGP protocol but no need to USE BGP. The P routers isn't VPN aware.
So when PE1 send the packet to the first P router, it push a stack of 2 labels. When the P router receives the packet, it just read the first label (MPLS label for reach the N-H BGP), swap it and switch the packet to the next P router. The last P router in your LSP, POP the MPLS label and send the packet with only the VPN label. PE2 use the VPN label to choose the good VRF FIB table.
It's why, the P router don't need to have MP-BGP session. The P router just need (for VPN traffic) to switch to PE N-H address.
The idea of MPLS is to keep external routes out of the core network.
An internal routing protocol (OSPF, IS-IS, etc) is run on the P routers and all the PE routers interfaces that connect to the core.
Labels are exchanged to create a label switch path between the PE routers.
The PE's advertise any BGP routes with themselves as the next hop.
In your senario CE1 forwards a packet destined for CE2 to PE1, PE1 assigns a label to the packet that corresponds to PE2, the packet is label switched by the P routers and lands with PE2, PE2 does a lookup and forwards the packet on to CE2.
A good book is MPLS and VPN architectures, CCIP edition by Ivan Pepelnjak and Jim Guichard
Introduction: The "external-out enable" command is available for
configuration under the "router ospf process" in case of the IOS-XR
operating system. This command basically enables advertisement of
intra-area routes on the device as external routes in th...
IntroductionIn this article we'll discuss how to troubleshoot packet
loss in the asr9000 and specifically understanding the NP drop counters,
what they mean and what you can do to mitigate them. This document will
be an ongoing effort to improve troublesh...