VxLAN Flood and Learn

Voor de configuratie van VxLAN zijn er verschillende methodes van implementatie. Eén van deze implementaties is Flood en Learn, onderstaande topologie zal gebruikt worden:

topology

Om te kunnen starten met de configuratie van VxLAN Flood and Learn is onderstaande underlay configuratie benodigd. We maken gebruik van OSPF en BiDir PIM met een phantom RP (let op: PIM BiDir is pas vanaf NX-OS 9.2(1) gesupporterd voor VxLAN):

LEAF configuratie (underlay)

feature ospf
feature pim
!
ip pim rp-address 10.10.10.10 group-list 224.0.0.0/4 bidir
!
interface loopback0
  ! LEAF 3: ip address 3.3.3.3/32
  ! LEAF 4: ip address 4.4.4.4/32
  ! LEAF 5: ip address 5.5.5.5/32
  ip router ospf 10 area 0.0.0.0
!
interface loopback1
  ! LEAF 3: ip address 33.33.33.33/32
  ! LEAF 4: ip address 44.44.44.44/32
  ! LEAF 5: ip address 55.55.55.55/32
  ip router ospf 1 area 0.0.0.0
  ip pim sparse-mode
!
interface Ethernet1/1
  no switchport
  ! LEAF 3: ip address 13.13.13.3/24
  ! LEAF 4: ip address 14.14.14.4/24
  ! LEAF 5: ip address 15.15.15.5/24
  ip ospf network point-to-point
  ip router ospf 10 area 0.0.0.0
  ip pim sparse-mode
  no shutdown
!
interface Ethernet1/2
  no switchport
  ! LEAF 3: ip address 23.23.23.3/24
  ! LEAF 4: ip address 24.24.24.4/24
  ! LEAF 5: ip address 25.25.25.5/24
  ip ospf network point-to-point
  ip router ospf 10 area 0.0.0.0
  ip pim sparse-mode
  no shutdown
!
router ospf 10

SPINE configuratie (underlay)

feature ospf
feature pim
!
ip pim rp-address 10.10.10.10 group-list 224.0.0.0/4 bidir
!
interface loopback0
  ! SPINE 1: ip address 1.1.1.1/32
  ! SPINE 2: ip address 2.2.2.2/32
  ip router ospf 10 area 0.0.0.0
!
interface loopback10
  ! SPINE 1: ip address 10.10.10.10/32
  ! SPINE 2: ip address 10.10.10.10/31
  ip router ospf 10 area 0.0.0.0
  ip pim sparse-mode
!
interface Ethernet1/3
  no switchport
  ! SPINE 1: ip address 13.13.13.1/24
  ! SPINE 2: ip address 23.23.23.2/24
  ip ospf network point-to-point
  ip router ospf 10 area 0.0.0.0
  ip pim sparse-mode
  no shutdown
!
interface Ethernet1/4
  no switchport
  ! SPINE 1: ip address 14.14.14.1/24
  ! SPINE 2: ip address 24.24.24.2/24
  ip ospf network point-to-point
  ip router ospf 10 area 0.0.0.0
  ip pim sparse-mode
  no shutdown
!
interface Ethernet1/5
  no switchport
  ! SPINE 1: ip address 15.15.15.1/24
  ! SPINE 2: ip address 25.25.25.2/24
  ip ospf network point-to-point
  ip router ospf 10 area 0.0.0.0
  ip pim sparse-mode
  no shutdown
!
router ospf 10

Het is vanuit de vendor aanbevolen op de loopback voor de underlay en de loopback voor VxLAN van elkaar te scheiden. Loopback 0 is voor OSPF, Loopback 1 zal gebruikt worden voor de VxLAN configuratie.

De PIM configuratie is op basis gedaan van static en BiDir. Een static PIM configuratie zal sneller herstellen na een verstoring dan één die gebaseerd is op Auto-RP / BSR. Daarnaast wordt er vanuit de RFC (RFC7348) geadviseerd om gebruik te maken van BiDir PIM.

Configuratie verificatie

Laten wij controleren dat wij de routes zien en dat wij vanuit het Loopback 1 interface kunnen pingen naar het Loopback 1 adres van een andere LEAF.

NXOS-3# show ip route 4.4.4.4/32
IP Route Table for VRF "default"
'' denotes best ucast next-hop '*' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%' in via output denotes VRF 
4.4.4.4/32, ubest/mbest: 2/0
    *via 13.13.13.1, Eth1/1, [110/81], 00:00:42, ospf-10, intra
    *via 23.23.23.2, Eth1/2, [110/81], 00:00:42, ospf-10, intra

NXOS-3# ping 4.4.4.4 count 1 source-interface loopback 1
PING 4.4.4.4 (4.4.4.4): 56 data bytes
64 bytes from 4.4.4.4: icmp_seq=0 ttl=253 time=6.193 ms

Nu OSPF werkt controleren we de multicast routing:

NXOS-3(config)# interface ethernet 1/1
NXOS-3(config-if)# ip igmp join-group 239.100.100.100

NXOS-4# ping multicast 239.100.100.100 interface ethernet 1/1
PING 239.100.100.100 (239.100.100.100): 56 data bytes
64 bytes from 13.13.13.3: icmp_seq=0 ttl=253 time=6.311 ms
64 bytes from 13.13.13.3: icmp_seq=1 ttl=253 time=6.016 ms
64 bytes from 13.13.13.3: icmp_seq=2 ttl=253 time=7.734 ms
64 bytes from 13.13.13.3: icmp_seq=3 ttl=253 time=8.85 ms

NXOS-1# show ip mroute 239.100.100.100
IP Multicast Routing Table for VRF "default"
(*, 239.100.100.100/32), bidir, uptime: 00:01:58, igmp ip pim 
  Incoming interface: loopback10, RPF nbr: 10.10.10.10
  Outgoing interface list: (count: 1)
    Ethernet1/3, uptime: 00:01:58, igmp, pim

Nu dat OSPF en PIM correct werken kan de configuratie van VxLAN geplaatst worden.

LEAF configuratie (VxLAN)

feature nv overlay
feature nv-segment-vlan-based
!
vlan 66
  vn-segment 6600
vlan 67
  vn-segment 6700 
!
interface nve1
  no shutdown
  source-interface loopback1
  member vni 6600 mcast-group 239.66.66.66
  member vni 6700 mcast-group 239.67.67.67 

Voor het activeren van de VxLAN functionaliteit activeren wij feature nv overlay. Voor het kunnen koppelen van een VLAN aan een VxLAN (VxLAN Gateway) hebben we de feature nv-segment-vlan-based nodig.

We maken hier gebruik van VLAN 66 en koppelen dit aan VxLAN 6600, al het verkeer wordt door middel van multicast-group 239.66.66.66 verstuurd naar de VTEP’s. Ditzelfde doen we ook voor VLAN 67 echter maken we gebruik van een andere multicast groep. Bij het opschalen van deze oplossing zal er niet voor elk VLAN een multicast groep gemaakt moeten worden dit zal resulteren in een hogere load op de core switches. Deze zullen op dat moment te veel multicast groepen moeten ondersteunen. Je kunt VNI’s ook koppelen aan dezelfde multicast groepen om daarmee de load te verlagen.

VxLAN verificatie

Er zijn verschillende commando’s om de componenten van VxLAN te controleren. Laten we beginnen met de controle of wij data-plane of control-plane geconfigureerd hebben, dit zou data-plane moeten zijn:

NXOS-3# show nve interface
Interface: nve1, State: Up, encapsulation: VXLAN
 VPC Capability: VPC-VIP-Only [not-notified]
 Local Router MAC: 5000.0003.0007
 Host Learning Mode: Data-Plane
 Source-Interface: loopback1 (primary: 33.33.33.33, secondary: 0.0.0.0)

We kunnen controleren dat de NVE interface online is gekomen:

NXOS-3# show interface nve 1
nve1 is up
admin state is up,  Hardware: NVE
  MTU 9216 bytes
  Encapsulation VXLAN
  Auto-mdix is turned off
  RX
    ucast: 0 pkts, 0 bytes - mcast: 0 pkts, 0 bytes
  TX
    ucast: 0 pkts, 0 bytes - mcast: 0 pkts, 0 bytes

Vervolgens kunnen we de NVE relaties controleren:

NXOS-3#  show nve peer
Interface Peer-IP          State LearnType Uptime   Router-Mac       
--------- ---------------  ----- --------- -------- -----------------
nve1      44.44.44.44      Up    DP        01:18:10 n/a   
nve1      55.55.55.55      Up    DP        01:18:10 n/a   

Evenals de koppeling van VNI, VLAN en multicast groepen:

NXOS-3#  show nve vni
Codes: CP - Control Plane        DP - Data Plane          
       UC - Unconfigured         SA - Suppress ARP        
       SU - Suppress Unknown Unicast 
       Xconn - Crossconnect      
       MS-IR - Multisite Ingress Replication
Interface VNI      Multicast-group   State Mode Type [BD/VRF]      Flags

nve1      6600     239.66.66.66      Up    DP   L2 [66]                 
nve1      6700     239.67.67.67      Up    DP   L2 [67]    

En nu de laatste verificatie kunnen wij van VPC-10 pingen naar VPC-12:

VPCS-10> show
 NAME   IP/MASK              GATEWAY                             
 VPCS1  192.168.67.10/24     0.0.0.0

VPCS-12> show
 NAME   IP/MASK              GATEWAY                            
 VPCS1  192.168.67.12/24     0.0.0.0

VPCS-10> ping 192.168.67.12
 84 bytes from 192.168.67.12 icmp_seq=1 ttl=64 time=11.614 ms

VPCS-12> ping 192.168.67.10
 84 bytes from 192.168.67.10 icmp_seq=1 ttl=64 time=14.161 ms