VXLAN
Its a multicast standard
Implementation
linux vxlan
Support multicast and unicast
VTEP (VXLAN Tunnel End Point) - Resolve and pack packet
Hardware implementation
Software implementation
3.9 版本及以後的帶 vxlan 內核模塊的 Linux
Open vSwitch
VMware vSphere VDS(vSphere Distributed Switch)
VMWare solution

Linux vxlan
Linux vxlan create UDP Socket,default 8472 port
Linux vxlan 在 UDP socket 上接收到 vxlan 包後,untag vlan,然後根據其中的 vxlan ID 將它轉給某個 vxlan interface,然後再通過它所連接的linux bridge 轉給VM
Linux vxlan 在收到VM的multicast, broadcast frame後,將其封裝為multicast UDP 包(在使用multicast時)或者多個unicast包(在使用unicast時),在從指定網卡發出
Linux vxlan 在VM的unicast frame後,如果 fdb 表中包含有目的虛機的 VTEP IP 條目,則將其封裝為unicast UDP 包,否則,通過multicast或者多個unicast,發到指定的 VTEP
Linux vxlan 在配置了 Proxy ARP 時會根據 fdb 表來響應VM的 ARP multicast請求
VXLAN component
vSphere
Linux
Open vSwitch (OVS)
VTEP
vSphere
Linux
OVS
Bridge
VDS
Linux bridge
OVS
VXLAN ID
Linux VXLAN module
linux-$version/drivers/net/vxlan.c
Last updated
Was this helpful?