VXLAN - Le Role du Multicast Underlay


Le plan de contrôle VXLAN est l’un des éléments fondamentaux de cette technologie. La manière dont il est implémenté affectera son fonctionnement.

Dans VXLAN, un hôte connecté à un VTEP doit pouvoir communiquer avec un autre hôte connecté à un autre VTEP situé dans le même segment de couche 2.
En d’autres termes, si les deux hôtes communiquent sur le même VNI, cette communication doit réussir.


Mais comment ce VTEP trouve-t-il l’autre VTEP afin d’établir cette communication de couche 2 ?

C’est la responsabilité du plan de contrôle VXLAN.

Il existe une solution consistant à mapper manuellement les pairs VTEP en fonction des VNI configurés sur chacun , ce qu'on appelle VXLAN static peer mapping.

  • Chaque VTEP (VXLAN Tunnel End Point) doit connaître les adresses IP des autres VTEP qui participent au même VNI (VXLAN Network Identifier).
  • Au lieu de passer par un plan de contrôle automatique (multicast, EVPN, etc.), on configure statiquement les adresses des VTEP pairs dans chaque switch.
  • Ainsi, quand un VTEP encapsule un paquet VXLAN pour un VNI donné, il sait directement à quels autres VTEP il doit l’envoyer.

Exemple de configuration (Cisco Nexus ou équivalent NX-OS)

interface nve1 no shutdown source-interface loopback0 member vni 6501 ingress-replication protocol static peer-ip 192.168.0.2 peer-ip 192.168.0.3

  • nve1 = interface VXLAN tunnel (Network Virtualization Edge)
  • source-interface = l’IP locale qui représente le VTEP
  • member vni 6501 = on associe le VNI 6501
  • ingress-replication protocol static = on dit que le VTEP va envoyer en unicast aux pairs configurés
  • peer-ip 192.168.0.x = adresses IP des autres VTEP

Inconvénients de cette méthode

  • Non scalable : si vous avez 100 VTEP dans un même VNI, il faut configurer 99 peers sur chacun.
  • Administration lourde : toute modification de topologie oblige à mettre à jour manuellement toutes les configurations.
  • Pas de découverte automatique : contrairement au multicast underlay ou à EVPN, où les pairs s’apprennent automatiquement

Dans cet article , nous allons examiner une option plus évolutive : la solution multicast underlay.

Il est important de noter que la RFC 7348, qui définit VXLAN, inclut dans sa définition ce mécanisme multicast spécifique pour le plan de contrôle ( Recommandé par la RFC 7348).

Plan de contrôle multicast étape par étape

Voici une topologie VXLAN où nous avons plusieurs VTEP.


Certains sont configurés avec le VNI 6501, tandis que d’autres ne le sont pas.

Avec une solution multicast underlay, chaque VNI est associé à une adresse IP multicast spécifique.
Ainsi, tous les VTEP qui contiennent le VNI 6501 rejoignent un groupe multicast particulier.

Par exemple, dans notre topologie, nous configurons l’adresse multicast 239.1.1.1.


Au départ, avant toute autre transmission, PC1 envoie une requête ARP comme d’habitude pour trouver l’adresse MAC de PC2, en fonction de son adresse IP (192.168.12.2).


Rappelez-vous que les PC eux-mêmes ignorent totalement la topologie VXLAN et son fonctionnement. Ils se comportent comme sur n’importe quel segment réseau.

Cette requête ARP atteint le VTEP1. Celui-ci encapsule la requête ARP :

  • il ajoute l’en-tête VXLAN contenant le VNI,
  • un en-tête UDP avec les bons numéros de port,
  • et un en-tête IP pour le routage sur le réseau underlay.

Comme ce VTEP est configuré avec le multicast underlay, il sait que le VNI 6501 correspond à l’adresse multicast 239.1.1.1.

Il place donc cette adresse multicast dans le champ de destination IP de l’en-tête IP.


Résultat : dans une topologie multicast, un seul paquet envoyé à une adresse IP multicast est transmis uniquement aux hôtes inscrits à ce groupe multicast.

Dans notre topologie, le VTEP1 envoie donc cette trame VXLAN encapsulée à tous les VTEP contenant le VNI 6501.

Chaque VTEP reçoit la requête ARP, la décapsule et la diffuse (Broadcast) à tous ses hôtes appartenant à ce VNI.
Ainsi, PC2 reçoit la requête ARP, ce qui était l’objectif.

C’est beaucoup plus simple et évolutif que de devoir indiquer dans chaque VTEP la liste de tous les autres VTEP contenant le VNI 6501.

Ensuite, PC2 répond avec une réponse ARP. Cette fois, le VTEP2 encapsule la réponse ARP avec un en-tête IP unicast, car il connaît maintenant l’adresse IP du VTEP d’origine .



La réponse atteint le VTEP1, qui la transmet à PC1.
PC1 met alors à jour sa table ARP avec l’adresse MAC de PC2.

Pendant ce temps, les VTEP ont mis à jour leurs tables de pairs VXLAN et leurs tables d’adresses MAC, associant les adresses aux interfaces réseau correspondant aux adresses IP des VTEP.


Ce processus est parfois appelé « flood and learn » multicast control plane pour VXLAN.

Multicast Flood and Learn

Lorsqu’une nouvelle requête ARP est envoyée, le VTEP émetteur inonde la requête vers tous les VTEP inscrits à l’adresse multicast associée au VNI concerné.
Il s’attend à recevoir une réponse uniquement de l’hôte recherché.

Une fois l’hôte trouvé, une encapsulation VXLAN spécifique entre les VTEP concernés est établie et la communication ultérieure se fait en unicast.

Bien sûr, cela suppose que tous les équipements de l’underlay soient correctement configurés pour le multicast. Sinon, l’ensemble ne fonctionnera pas.

Exemple de configuration Multicast (Cisco Nexus ou équivalent NX-OS)

interface nve1 no shutdown source-interface loopback0 member vni 6501 mcast-group 239.1.1.1

Résumé:

1-Apprentissage des VTEP : Plans de Contrôle 

L'apprentissage des adresses MAC et la découverte des VTEP distants peuvent se faire de deux manières principales, correspondant aux plans de contrôle :

A. Plan de Contrôle Traditionnel (Flood-and-Learn) 

C'est la méthode de base et elle repose sur la signalisation de la réplication du trafic BUM.
L'apprentissage des VTEP pour un VNI (VXLAN Network Identifier) se fait par : 

• Réplication Statique (Ingress Replication) : Vous configurez manuellement la liste des VTEP pairs pour chaque VNI sur chaque commutateur Leaf.

• La trame BUM est encapsulée et envoyée en unicast de manière réplicative vers chaque VTEP de la liste. 

• Multicast : Vous configurez un groupe Multicast (MLD ou IGMP) pour chaque VNI. 

• La trame BUM est encapsulée et envoyée à l'adresse de groupe Multicast. Les autres VTEP qui ont joint ce groupe reçoivent la trame. 

B. Plan de Contrôle EVPN (Ethernet VPN) 

C'est la solution la plus moderne et la plus courante dans les Data Centers.

• Apprentissage Dynamique des VTEP et VNIs : EVPN utilise le protocole BGP (Border Gateway Protocol) comme plan de contrôle. Les Leaf (VTEP) échangent des informations de type Route-Type 3 (pour l'appartenance au VNI et l'adresse VTEP) et des informations de type Route-Type 2 (pour l'apprentissage des adresses MAC) dynamiquement. 

• Cela élimine la nécessité de configurer manuellement les paires de VTEP (contrairement à l'option 1 statique) ou d'utiliser le multicast (contrairement à l'option 2).

2. Traitement du Trafic BUM avec EVPN 

Même avec un plan de contrôle EVPN, vous devez toujours gérer la distribution du trafic BUM. 

L'apprentissage EVPN fournit la liste des VTEP pour un VNI, mais la méthode de distribution du BUM est distincte : 

• Ingress Replication (Réplication Unicast) : C'est le mode par défaut et souvent privilégié en EVPN/VXLAN. Le VTEP source utilise les informations apprises dynamiquement via BGP/EVPN pour encapsuler et envoyer la trame BUM en unicast répliqué vers tous les VTEP distants du même VNI. 

• Multicast : Vous pouvez toujours configurer l'utilisation du multicast pour le trafic BUM, même avec EVPN. Le VTEP source envoie la trame à l'adresse de groupe Multicast associée au VNI. 

Conclusion

EVPN (utilisant BGP) est la solution pour l'apprentissage dynamique des autres VTEP et de leurs VNI, remplaçant la configuration statique (option 1) ou la dépendance au flood-and-learn du multicast (option 2) pour la découverte. 

La distribution du trafic BUM se fera ensuite soit en Ingress Replication Unicast soit en Multicast, selon la configuration choisie. xxx




Plus récente Plus ancienne

نموذج الاتصال