L2 VPN Components (VPLS Kompella)
First of all a couple of words on MPLS L2 VPNs. Generally speaking we have two types - Point to Point VPWS and Point to Multipoint VPLS.
You can think of VPWS operating at Layer 1 and forwarding everything PE learns from Attached Circuit (AC) facing the CE into the unidirectional Virtual Circuit (VC) built to a remote PE. A combination of two unidirectional VCs is called Pseudo Wire (PW)
Whereas VPLS operates at L2 and learns and distributes known MAC addresses to other participating PEs. As you could have already guessed, PEs need to know where to forward the frames to and we have two options to make this happen - namely VPLS Martini and VPLS Kompella.
The former one is LDP based and requires manual definition of full mesh topology, whereas the latter one is BGP based and allows for auto discovery which comes with great scalability benefits. So how does it work ? In a nutshell, quite similarly to L3 VPN but before we go a bit deeper lets draw a diagram and define a few terms.
As you could have noticed, this diagram is very similar to what we have already discussed in a L3 VPN chapter with some minor differences in terminology, BGP updates and, obviously, the config. Here we have:
VSI | Virtual Switching Instance which is unique to each client or service (think of it as of VRF or MAC VRF) |
VPLS Edge (VE) | Basically PE, member of VPLS domain |
VE ID | Unique ID per PE |
VE Range | Max number of sites expected |
As a result, VEs are going to learn all MACs available over CAs, label them properly and forward across to the respective neighbors over MP-BGP sessions thus allowing for a seamless multipoint L2 connectivity

