Dans un monde où les applications migrent massivement vers le cloud et où les infrastructures sont de plus en plus distribuées, les réseaux doivent évoluer pour rester flexibles, scalables et simples à administrer. C’est dans ce contexte qu’est apparu VXLAN (Virtual Extensible LAN), une technologie de virtualisation réseau qui a profondément changé la manière dont on conçoit les data centers modernes.
Qu’est-ce que VXLAN ?
VXLAN est un protocole de superposition (overlay network) défini par l’IETF. Il permet de créer des réseaux logiques (ou virtuels) au-dessus d’une infrastructure IP physique existante.
En clair : VXLAN encapsule des trames Ethernet dans des paquets UDP, qui peuvent alors traverser un réseau IP classique.
- Protocole de transport : UDP (port 4789, standardisé)
- Encapsulation : Ethernet-in-UDP
- Format d’identifiant : VXLAN Network Identifier (VNI) sur 24 bits
L’idée clé est de découpler le réseau logique du réseau physique, afin de déployer des environnements multi-tenants, dynamiques et extensibles.
Pourquoi VXLAN ?
Avant VXLAN, la virtualisation réseau reposait surtout sur le VLAN. Mais le VLAN présente deux limites majeures :
- Nombre restreint d’IDs : seulement 4096 VLAN possibles (12 bits).
- Scalabilité limitée : pas adaptée à des environnements multi-locataires massifs comme les clouds publics.
VXLAN est conçu pour offrir les mêmes services de réseau de couche 2 qu’un VLAN classique. Il encapsule les trames Ethernet (adresses MAC) dans des paquets UDP, permettant ainsi de transporter un trafic de couche 2 au-dessus d’une infrastructure de couche 3. Autrement dit, VXLAN revient à insérer un en-tête MAC dans un paquet UDP.
Pour cela, VXLAN introduit un en-tête supplémentaire de 8 octets, qui contient notamment un VNID (VXLAN Network Identifier) sur 24 bits, ainsi que quelques bits réservés. L’en-tête VXLAN et la trame Ethernet d’origine sont placés dans la charge utile du paquet UDP.
Le VNID est utilisé pour identifier les différents segments de couche 2 et garantir leur isolation. Avec ses 24 bits, VXLAN peut gérer jusqu’à 16 millions de segments logiques, ce qui supprime la limitation du VLAN traditionnel. En effet, un VLAN ne peut prendre en charge que 4094 identifiants, ce qui est insuffisant pour répondre aux besoins des réseaux modernes. VXLAN vient donc résoudre cette contrainte de scalabilité.
Par ailleurs, puisque les trames Ethernet sont encapsulées, les propriétés d’Ethernet doivent être préservées : broadcast, unknown unicast (monodiffusion inconnue) et multicast. Pour gérer ce type de trafic, VXLAN s’appuie sur la multidiffusion.
Dans ce contexte, le fonctionnement VXLAN suit un principe dit de « flood and learn » : les paquets sont d’abord inondés sur le réseau, puis les VTEP apprennent les adresses MAC distantes. Cela signifie que le plan de données n’est pas actif en permanence : il se met en place lorsqu’un flux de trafic est établi, puis il s’éteint dès que l’adresse MAC correspondante expire.
VXLAN résout ces problèmes :
- 16 millions de segments logiques possibles (24 bits pour le VNI).
- Fonctionne sur n’importe quel réseau IP, y compris en environnement Layer 3.
- Prise en charge native de l’east-west traffic (entre machines virtuelles).
Format de paquet VXLAN
Comment ça marche ?
Imaginons deux machines virtuelles hébergées sur des hyperviseurs différents. Elles veulent communiquer comme si elles étaient sur le même LAN, alors qu’elles sont en réalité séparées par plusieurs routeurs.
- La VM envoie une trame Ethernet classique.
- L’hyperviseur encapsule cette trame dans un paquet VXLAN (UDP).
- Ce paquet est routé normalement à travers le réseau IP.
- L’hyperviseur de destination décapsule et livre la trame originale à la VM cible.
Ce mécanisme est géré par des VTEP (VXLAN Tunnel Endpoints), qui assurent l’encapsulation/décapsulation.
VXLAN et le contrôle du trafic
Une des grandes évolutions est la façon dont VXLAN gère la découverte et l’apprentissage des adresses MAC :
- Mode flood-and-learn (historique, via multicast).
- Mode contrôleur (plus moderne), où un plan de contrôle comme EVPN (Ethernet VPN, basé sur BGP) centralise et distribue les informations.
C’est cette combinaison VXLAN + EVPN qui est aujourd’hui la norme dans les data centers.
Encapsulation VXLAN
Une trame Ethernet est encapsulée dans un paquet UDP sur IP. Le format est le suivant :
- Outer Ethernet/IP/UDP : sert au transport dans l’underlay.
- VXLAN Header : contient notamment le VNI (VXLAN Network Identifier) permettant de distinguer les réseaux virtuels (jusqu’à ~16 millions).
- Inner Ethernet : la trame originale envoyée par la VM.
VXLAN Tunnel Endpoints (VTEPs)
Les VTEPs sont les points d’entrée et de sortie du tunnel VXLAN :
- Encapsulation : prend une trame Ethernet et l’encapsule dans UDP/IP.
- Décapsulation : retire les en-têtes VXLAN/UDP/IP pour livrer la trame originale.
- Mapping MAC ↔ VTEP IP : indispensable pour savoir où envoyer les paquets.
Exemple simplifié
- VM1 envoie une trame Ethernet à VM2.
- VTEP A encapsule la trame dans un paquet VXLAN avec destination = IP du VTEP B.
- Le réseau underlay achemine normalement le paquet (routage L3).
- VTEP B décapsule et délivre la trame à VM2.
Gestion des tables MAC dans VXLAN
Deux approches existent :
1- Flood-and-Learn (Multicast-based VXLAN)
- Les VTEPs diffusent le trafic unknown unicast/broadcast/multicast via un groupe multicast.
- Similaire au comportement d’un switch Ethernet.
- Peu scalable (beaucoup de trafic inutile).
- Utilise BGP pour distribuer les informations MAC ↔ VTEP.
- Plus efficace et scalable, pas besoin de flood massif.
- Supporte aussi la multi-homing et le split-horizon.
Points clés:
- Port UDP 4789 (par défaut) → attention aux firewalls et ACL.
- MTU : l’encapsulation ajoute ~50 octets → prévoir du jumbo frame (1600 ou 9216 bytes selon design).
- Hashing ECMP : l’outer header (IP/UDP) permet d’exploiter ECMP dans l’underlay.
- EVPN : indispensable pour un déploiement scalable et robuste.
- Sécurité : VXLAN n’intègre pas de chiffrement → IPSec/DTLS à prévoir si nécessaire.
Cas d’usage typiques
- Cloud public / privé : isolation multi-tenant à grande échelle.
- Data centers modernes : extension de réseaux virtuels entre racks et sites distants.
- Migration d’applications : déplacer des workloads sans changer leur appartenance réseau.
- Micro-segmentation : sécurité fine entre applications.
En résumé
VXLAN est devenu un standard incontournable pour la virtualisation réseau :
- Scalabilité (16 millions de segments logiques).
- Indépendance vis-à-vis du réseau physique.
- Intégration avec des contrôleurs SDN (via EVPN).
C’est une brique essentielle pour construire des architectures cloud-ready, hybrides et élastiques.