VXLAN Implementation. Simplified.
VXLAN is in simple terms switching over routing. VXLAN allows you to create an L2 network on top of an L3 network. Using underlay and overlay networks.
Similar to what MPLS VPNs do. PE routers know the endpoint destinations. But the core P routers have no knowledge about the overlay networks. They only route based on external MPLS label.
The difference is MPLS VPNs provide logical layer 3 networks, whereas VXLAN provides layer 2 overlay networks.
So, to understand how VXLAN is implemented, we need to know how underlay network is built. VXLAN utilizes this underlay network to build its overlay network.
The essential questions to ask are:
📌 How is the underlay network built?
📌 Once reachability is established between VTEPs using any IGP or BGP, how they establish overlay VXLAN tunnels?
📌 How does a VTEP forward layer 2 frames from a locally connected source to a destination mac address behind another VTEP?
📌 How unicast mac addresses are learnt over the VTEP cloud?
📌 How broadcast, unknown unicast and multicast (BUM) traffic is sent across the VTEP cloud?
📌 How to make sure there are no loops?
📌 How to best utilize the bandwidth of the underlay network using ECMP?
📌 How to adapt to dynamic changes to endpoint mac addresses? Think of VM mobility.
Below is a primer for implementation steps.
➡️ VXLAN adds 50+ bytes of overhead to the layer 2 frame. So be prepared to increase the default MTU along the path.
➡️ A loopback interface to be used as Network Virtualization Endpoint (NVE) interface on all VTEPs. This will be the source of VTEP through which other VTEPs will be reachable.
➡️ An interior gateway protocol (IGP) such as OSPF or BGP can be used as the underlay routing protocol for VTEP reachability through NVE.
➡️ Multicast group to VNI mapping on the VTEP external interfaces.
➡️ VNI to VLAN mapping on the VTEP internal interfaces.
I cannot cover the full implementation in one post. So, will share other missing components that make VXLAN work in another post.
Let’s understand piece by piece and stitch together all the pieces!
Stay tuned! Thank you.