VXLAN

  1. Virtual extensible LAN (VXLAN)
  2. Header
  3. VXLAN vs MPLS

Virtual extensible LAN (VXLAN)

  • MAC-in-UDP
  • UDP 4789
  • VXLAN network ID (VNI): 24 bits, L2 segment ID
  • src UDP port: hash for entropy (ECMP)
  • 1550 MTU + DF bit
    • IP: 20 bytes
    • UDP: 8 bytes
    • VXLAN: 8 bytes
    • inner Ethernet: 14 bytes
  • VXLAN tunnel endpoint (VTEP)
  • data plane: flood & learn, store & forward
  • transport
    • mcast:
      • VNI-group mapping
      • BUM traffic
    • unicast
      • head-end replication
      • static VTEP, EVPN
  • allows VLAN tags within payload
(config)# feature vn-segment-vlan-based
(config)# feature nv overlay
(config-vlan)# vn-segment <VNI>
(config)# interface nve 1

; disabled by default
(config-if-nve)# no shutdown

; must be PIM-enabled if underlay is mcast
(config-if-nve)# source-interface <INTF>

; Q-in-VNI, on default
(config-if-nve)# overlay-encapsulation vxlan-with-tag

(config-if-nve)# member vni <VNI>

; BUM, mcast underlay 
(config-if-nve-vni)# mcast group <GROUP>

; BUM, unicast underlay
(config-if-nve-vni)# ingress-replication protocol static
(config-if-nve-vni-ingr-rep)# peer-ip <IP>
(config-if)# switchport vlan mapping enable

; per-port-per-VLAN VNI mapping (≡ target VLAN)
(config-if)# switchport vlan mapping <WIRE_VLAN> <TARGET_VLAN>
# show nve peers
# show nve vni

Header

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Flags     |                    Reserved                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     VNI                     |     Reserved    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

VXLAN vs MPLS

  • less control plane
  • required: ECMP (MPLS requires multiple FEC, IP forwards natively)
  • not needed: TE within fabric ≡ stacking labels
  • implemented in DCI ASICs ⇒ can be reused in fabric