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 VLAN. Mais 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 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).
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.