← Interview Prep

MPLS L3VPN — Theory

MPLS/BGP L3VPN (RFC 4364): CE/PE/P roles, VRFs, RD vs RT, the MP-BGP VPNv4/VPNv6 control plane, the two-label (transport + VPN) data plane, hub-and-spoke/extranet via RT policy, VRF-lite, 6VPE, and inter-AS.

MPLS L3VPN (RFC 4364, "2547bis") is how a provider gives many customers their own private, overlapping IP networks over one shared backbone — while the core routers stay blissfully unaware of any customer routes. It's the canonical use of MP-BGP + MPLS, and the interview favorite because it ties RD, RT, VRFs, and a two-label stack into one story.

The idea: each customer gets a VRF on the edge routers; MP-BGP carries their routes (made globally unique by an RD, filtered into VRFs by RT) between edge routers; a two-label stack forwards the packet across a core that only ever reads the outer label.

Roles

RoleJob
CE (Customer Edge)The customer's router; peers with the PE using plain routing (eBGP/OSPF/static). No MPLS, no VPN awareness.
PE (Provider Edge)Holds the per-customer VRFs, runs MP-BGP, imposes/removes the VPN label. The brains.
P (Provider core)Label-switches on the transport label only — never sees a VPN route. Pure speed.

VRF, RD, RT

Control plane

  1. CE advertises its prefixes to the PE (CE–PE eBGP/OSPF/static).
  2. The ingress PE puts them in the customer VRF, attaches the RD, one or more export RTs, and allocates a VPN label.
  3. It advertises the VPNv4 route via MP-BGP (address family VPNv4/VPNv6) to remote PEs — usually through route reflectors, with next-hop-self.
  4. The egress PE imports the route into any VRF whose import RT matches, strips the RD, and re-advertises to that CE.

Data plane — the two-label stack

  CE --- PE1 =============== P === P =============== PE2 --- CE
                 [ transport | VPN | IP packet ]
  outer = transport label (LDP/RSVP/SR) -> reaches egress PE2, swapped hop by hop
  inner = VPN/service label  -> tells PE2 which VRF/CE to hand the packet to

Background: MPLS, MP-BGP.

Topologies & variations

RD vs RT — the classic trap

RD makes a prefix unique; RT decides who imports it. Two sites of one VPN can even use different RDs (e.g. for multipath/ RR uniqueness) as long as their RTs line up. Mixing these two up is the #1 L3VPN interview stumble.

Likely interview questions

Related: MP-BGP · MPLS · Inter-AS Options · L2VPN.