Config VxLAN Cisco avec les Nexus 9K (Spines et Leafs)

 

 

Architecture Initiale


Ceci est une architecture simplifiée d’une implémentation VxLAN basée sur les Cisco 9K.  

 

 

Intro et Notes Générales  

 

- VXLAN : Virtual Extensible Local Area Network. 

- On simplifie au max cette notion : Un Vlan propagé d’un Nuage Niveau 2 vers un autre Niveau 2 à travers une couche Routage Niveau 3.

- La Plateforme APIC d’ACI permet de centraliser la supervision, le management, le contrôle et la gestion du tout le network.

- A l’heure actuelle de la rédaction de cet article, que les 9K sont supportés par l’ACI de Cisco. Lorsque tu achètes un 9K, t’as le choix de mettre un NX-OS classique ou bien un ACI mode (un OS lu par la plateforme ACI). Dans les deux cas, le VxLAN est supporté nativement sur toutes les gammes 9K.  

- Equipements Supportés (source Cisco Live) :

 

- Bien que la notion du VLAN classique (Dot1Q) consiste à ajouter 2 Octets à la trame initiale, cette dernière n’utilise que 12 bits uniquement pour le champ Vlan ID, cela permet d’obtenir 4096 Vlans sur l’équipement. Avec VxLAN, cet identifiant est codé sur 24 bits ce qui permet d’augmenter la valeur de 4096 à 16 000 000.  

- VxLAN consiste à encapsuler une trame ordinaire dans une autre Trame spécifique dans son champ UDP. Avec cette encapsulation, on ajoute 50 Octets à la trame initiale. Si un réseau est configuré avec une MTU à 1500 sur les interfaces de ses équipements (comme dans la majorité des cas), on risque d’avoir un nombre élevé des fragmentations et ça dégrade les performances du réseau. Afin de résoudre ce problème, on peut soit configurer les machines dans un Network VXLAN pour envoyer des trames avec une MTU à 1450, soit augmenter la MTU sur les interfaces des équipements du réseau à 1550 minimum.

- Le routeur qui effectue cette encapsulation est nommé VTEP Router. Il possède une patte vers le DC interne (le LAN) et une autre vers les Spines/Leafs (autres N9K du Nuage VxLAN). 

Lors de la réception d’un paquet VxLAN, le VTEP effectue la des-encapsulation dans le sens inverse afin d’acheminer ceux-ci vers sa destination finale (MAC de Destination).

- Toutes les trames inconnues, de Broadcast, ARP Requests, de type Unknown Unicasts Ect sont encapsulées et envoyées dans des paquets de type Multicast. Une fois l’adresse MAC distante est connue et apprise par le 9K, les trames sont envoyées en Unicast.

- Une Trame VxLAN possède donc dans son champ de niveau 2 la MAC VTEP Dest + MAC VTEP Source, dans son champs Network Niveau 3 les IPs source et destination des VTEPs, la couche 4 (Transport) est l’UDP, et la couche 5 est la Trame initiale (MAC Dest, MAC Src, IP Src, IP Dest et la DATA).

- En Ethernet classique, les requêtes ARP fonctionnent grâce au broadcast (ARP Requests), par contre dans un Network VXLAN, elles utilisent une adresse IP Multicast. 

- Le VXLAN permet donc de transiter les données de broadcast sur un groupe de multicast personnalisé ce qui permet à tous les VTEP de communiquer ensemble pour répondre aux requêtes ARP.

- Les Spines (les coeurs) sont connectés à tous les Leafs, et les Leafs (les Edges) interconnectent tous les Equipements du DC (Serveurs, Firewalls, N2Ks …). 

- L’architecture entre les 9K Spines et Leafs est de type point à point (liens OSPF par exemple) : Underlay Network. Le VxLAN implémenté au-dessus de cette couche est de type OVERLAY (en utilisant le BGP EVPN). Ça s’appelle un Clos Network. 

- Les Leafs annoncent les MAC adresses apprises vers tous les autres Leafs du DC à travers le BGP (EVPN L2TP). Les sessions BGP sont montées entre les Spines et les Leafs et non en FULL MESH. Les Spines jouent le rôle des Route Reflectors vers les Leafs.

- Les Spines n’ont aucune visibilité sur les infos Layer 2 propagées à travers les sessions BGP. Ils orchestrent le fonctionnement du BGP et du Multicast vers les Leafs.  

- Lorsqu’une réponse ARP est reçue, le VTEP garde « une trace » sur l’association IP-MAC Destination. Le flux suivant vers cette IP n’est plus acheminé en Multicast (comme le cas précédant du Flooding en Multicast de l’ARP Request), il est désormais en Unicast.

- Avec un OSPF simple entre les Leafs et Spines + Configuration du Multicast, le VxLAn fonctionne parfaitement mais sans couche de contrôle, çela veut dire que les Multicasts sont toujours envoyés dans tous les sens « flood and learn » pour tout type des trames BUM (Broadcast, Unicast Unknown et Multicast). Afin d’éviter cela et d’ajouter le Contrôle Plane, on configure le « MP-BGP EVPN » au-dessus de l’OSPF. Ça permet d’acheminer les infos Layer 2 des Ends Users à travers des sessions BGPs contrôlées vers les VTEPs + un Caching en option (recommandé) des ARP/G-ARP afin de minimiser le flooding des trames ARP Request partout. Autrement, avec le MP-BGP EVPN : on limite le BUM, on consomme moins de ressources et on a plus de contrôle sur l'échange d'adresses MAC.

- Distributed Anycast Gateway : Même MAC et même IP virtuelle (Gateway) pour chaque Vlan quelque soit l’emplacement du VTEP.

- Le protocole spanning tree est non utile, ni utilisable ! 0 port bloqué.

- VNI (Virtual Network Identifier) : 24 bits, identifiant unique pour un Segment VxLAN.

- ARP suppression : Option à utiliser avec le EVPN BGP. Lorsqu’un Host est UP, il émet un Gratuitous ARP vers son Leaf correspond. Ce dernier garde un Cache de cet ARP (IP-MAC) et le transmets à travers le BGP vers les autres Leafs (BGP Route Type 2 ou BGP EVPN MAC Route Advertissement). Les Leafs effectuent un Update de leur ARP Cache avec cette IP-MAC apprise. L’optimisation est claire lorsqu’on reçoit un ARP Request :)

- Si un VTEP ne trouve pas l’IP cherchée dans son cache suite à un processus d’ARP Request d’un End Users quelconque, il effectue un Flooding classique en Multicast vers tous les autres VTEP du même Segment VxLAN.

 

 

Configuration de VxLAN

 

Config des Spines

 

SPINE-1

 

SPINE-2

 

 

Config des Leafs

 

LEAF-1

 

LEAF-2

 

 

 

Commandes de Vérification

Commande Signification / Remarque
show ip ospf n Vérification du voisinage OSPF
sh ip pim n Vérification des PIM Neighbors
sh nve int nve10 Vérification de l'Etat UP de l'NVE
sh bgp l2vpn evpn summary Vérification de l'Etat du BGP EVPN
sh bgp l2vpn evpn Vérification de l'Etat du BGP EVPN
show mac add vlan 100 Visualisation de la Tablde MAC Address
show ip route / show forwarding ipv4 route Vérification de la Table de Routage
show l2route evpn mac-ip all Vérification du cache ARP (IP-MAC <-> VN Segments) stocké dans les Leafs

 

 

Remarque

 

Pour ceux qui n'ont pas le moyen de pratiquer ce Lab ou simuler un LAN d'un Data Center avec Implémentation du VxLAN et ACI par suite, la solution est soit de télécharger le v9K (v pour Virtual) et implémenter tout sur EVE-NG, ça simule presque tout ! Soit se connecter par son propre compte Cisco sur DCLOUD CISCO et là, plusieurs Archis et Labs prêts à pratiquer...

 

 

Commandes utiles de Tshoot des infos Layer 2 / Layer 3 des Nodes migrés sur une Plate-forme ACI :

 

Ajouter un commentaire

Commentaires

aigle
il y a 7 mois

bonjour sur les leafs vlan100 avec /30 et et vlan200 en /24 est ce une erreur ?

aigle
il y a 8 mois

Bonjour les subnets d'interco pour l'ospf non pas été défini un oubli ?

Amine
il y a un an

Bonjour, merci pour ces précieuses explications.
C'est possible de m'envoyer l'article en pdf et le lab sur mon mail : amineelassad@proton.me

faten laaroussi
il y a un an

Merci infiniment pour cette démonstration et toutes ces informations.
pourrais-je avoir les documents sur mon email Svp.

brou
il y a 2 ans

Bronjour Monsieur , je suis très intéressé par cette formation sur la frabric IP et VXLAN faire des lab pouvez-vous m'aider dans ce sens

ibrahim
il y a 2 ans

Bonjour,

Magnifique article! Je souhaite pratiquer ce lab sur EVE NG.Est ce que c'est possible de partager avec moi le lab.

merci d'avance,

HAJJI.MOHAMED
il y a 2 ans

Bonjour, merci pour votre éclaircir et je suis tres intéressant par votre lab.
C'est possible de m'envoyer des slides et lab pour le VXLAN sur mon email :hajjiyam@gmail.com

Chaker BCHIR
il y a 2 ans

Bonjour Mohamed,

1- v9K sur Eve-NG est une solution :)
2- Sinon, ACI de nos jours push toutes les configs VxLAN nécessaires sur les Spines/Leafs.
3- Docs sent by mail :)