From RFC and tutorials in the internet I understand that the MPLS cloud acts as a switch and switches traffic between end points in a VPLS. And that VPLS ID along with RD is used to reach the VPLs site across mpls cloud. But I 'm trying to understand how the destination ip address is mapped. Any reference? Any one has sample vpls packet captures ? In show vpls table cli commands of vendors like cisco and Juniper the VPLS ID is mapped with a destination ip addresses. How is this mapping formed ?
A VPLS does not map IP addresses - it is a Layer 2 service.
What you may be seeing in command output is MAC addresses mapped to the IPs of the specific remote PEs they were learnt from.
Yeah. I am just adding to the Benjamin Dale.
Basically a VPLS has even no visibility of IP address. Its a point to multi point L2 service which only uses Ethernet. VPLS learns MAC address in Flood and learn manner , which means when CE sends th ARP broadcast to learn the MAC address of other hosts in same VLAN , then just like normal LAN switch the PE attached to that CE will learn that MAC address.
However since it sees that Destination MAC Address is all FFs , so it sends the same ARP message to all those PEs that are part of same VPLS instance (it knows which PEs are a part by using VPLS Auto Discovery in case BGP signalling is used). When remote PEs get the ARP packet they knew already from which PE they are getting this source MAC Address (basically they read the source MAC Address after popping the VPLS Label). They do this by already establishing PWs when VPLS is configured.
In this way they know which PE is sourcing the traffic for that MAC. Once MAC tables are populated with SRC/DST MAC Addresses , then traffic from one PE to PE is unicast.