Lab 2 - BGP EVPN VXLAN Fabric
Fabric VXLAN EVPN
Nous allons mettre en place une fabric VXLAN avec les switchs de la D206.
On se base sur la doc cisco: https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9300/software/release/17-15/configuration_guide/vxlan/b_1715_bgp_evpn_vxlan_9300_cg/configuring_spine_switches_in_a_bgp_evpn_vxlan_fabric.html
Structure
Spine1 (RR + RP)
/ \
/ \
Leaf1 Leaf2
\ /
\ /
Spine2 (RR + RP)
Dans cette structure nous avons les spines jouant le rôle intermediaire entre les leaf (qui seront les VTEP VXLAN).
Pour mettre à bien cette fabric nous allons utiliser différentes technologies:
- VXLAN qui agira comme data plane
- EVPN (avec MP-BGP) comme control plane
- OSPF pour l'underlay IP.
- Du multicast pour la gestion du traffic BUM (Broadcast; Unknown Unicast; Multicast)
┌──────────────────────────────┐
│ EVPN (BGP) │ ← contrôle overlay (MAC/IP/VTEP)
└────────────┬─────────────────┘
│
┌────────────▼─────────────────┐
│ VXLAN (data plane) │ ← encapsulation Ethernet over UDP
└────────────┬─────────────────┘
│
┌────────────▼─────────────────┐
│ Underlay IP (OSPF) │ ← transport IP pur
└──────────────────────────────┘
EVPN
Gestion du traffic BUM
La solution retenu pour gérer le traffic BUM est le Multicast Underlay (au lieu du Ingress Replication).
Leaf1 envoie un seul paquet vers un groupe multicast.
Exemple :
239.1.1.100
Le réseau PIM se charge de la duplication.
PIM (Le BUM Data Plane)
PIM est Protocol Independent Multicast.
PIM permet de construire les arbres multicast.
Multicast RP
Chaque Spine est un Anycast RP (Rendezvous Point) (Sparse Mode).
Exemple:
Quand Leaf2 veut recevoir :
239.1.1.100
il envoie :
PIM Join
vers le RP.
Quand Leaf1 émet :
239.1.1.100
il envoie aussi vers le RP.
MSDP
MSDP pour Multicast Source Discovery Protocol.
Permet à Spine1 de savoir ce que Spine2 sait.
Sinon:
Source connue par Spine1
Récepteur connecté à Spine2
Mais personne ne communique entre les deux.
Exemple:
VNI 10010
Leaf1
Leaf2
Leaf3
associés à :
239.1.1.10
Leaf2 et Leaf3 rejoignent :
239.1.1.10
via PIM.
Leaf1 reçoit un ARP Broadcast.
Il encapsule :
VXLAN
VNI 10010
Destination multicast :
239.1.1.10
L'underlay multicast :
Leaf1
|
Spine
/ \
L2 L3
réplique automatiquement.
Leaf2 reçoit :
ARP Request
Leaf3 reçoit :
ARP Request
sans que Leaf1 ait dû envoyer deux copies.
(source: https://www.juniper.net/documentation/fr/fr/software/junos/evpn/topics/concept/vxlan-evpn-integration-overview.html)
Gestion du traffic Unicast
(source: https://www.juniper.net/documentation/fr/fr/software/junos/evpn/topics/concept/vxlan-evpn-integration-overview.html)
Chemin classique
Étape 1 — OSPF construit le transport
Leaf1 → OSPF → Leaf2 reachable via IP
donc Leaf1 peut envoyer des paquets IP à Leaf2 loopback
Étape 2 — BGP EVPN monte dessus
BGP utilise OSPF pour établir ses sessions :
BGP neighbor = Loopback IP
Ex :
neighbor 22.22.22.22 remote-as 65001
update-source loopback0
donc :
- OSPF = reachability
- BGP = overlay control plane
Étape 3 — EVPN distribue les infos VXLAN
BGP EVPN annonce :
MAC A → Leaf2
VNI 10010 members → Leaf1/2/3
Étape 4 — VXLAN utilise ces infos
Quand Leaf1 reçoit un paquet :
Host A → Host B (MAC inconnue ou connue)
Leaf1 regarde EVPN table :
MAC B → VTEP Leaf2
Étape 5 — VXLAN encapsule
Ethernet frame
↓
VXLAN tunnel
↓
IP via OSPF underlay

