Avec l’essor des architectures spine-leaf et de la virtualisation réseau, VXLAN s’est imposé comme le protocole overlay pour segmenter et scaler les data centers.
Cependant, les premières implémentations de VXLAN posaient une limite : elles savaient très bien transporter du trafic L2 (bridging), mais dès qu’il fallait router entre deux VXLAN segments (VNIs différents), il fallait passer par un gateway centralisé.
👉 Cela créait des goulots d’étranglement et des points de défaillance.
Pour résoudre ce problème, est apparu le modèle Integrated Routing and Bridging (IRB).
Routage dans une topologie VXLAN
Le routage et bridging intégré (IRB), dans le contexte de VXLAN, désigne simplement la capacité des dispositifs VTEP à effectuer à la fois de la commutation de niveau 2 (bridging), et du routage de niveau 3.
VXLAN est utilisé pour étendre des segments de niveau 2 à travers toute la topologie VXLAN. Ces segments L2 peuvent exister sur de nombreux VTEPs comme illustré ci-dessous.
Dans cet exemple, nous avons 3 VTEPs avec des hôtes dans le VNI 6501 et 2 VTEPs dans le VNI 6502.
Dans un environnement de production, un seul VNI peut être présent sur des dizaines, voire sur des centaines de VTEP. Il n’est donc pas évident de savoir où, dans toute cette topologie, le routage doit être effectué.
Si un de ces PC, par exemple, souhaite communiquer avec PC4, qui se trouve dans un VNI différent, où le routage aura-t-il lieu ? Il doit obligatoirement être effectué sur un VTEP, car le routage doit s’opérer dans le réseau Overlay VXLAN, et ce sont les VTEP qui assurent ce réseau overlay. Mais quel VTEP effectuera réellement le routage ?
Pour discuter de cette question, nous devons d’abord définir deux termes : le VTEP d’ingress (Ingress VTEP) et le VTEP d’egress (Egress VTEP).
Ingress et Egress VTEPs
- L’Ingress VTEP est défini comme le point de départ d’un tunnel VXLAN, là où un paquet entre dans l’overlay VXLAN.
- Il encapsule la trame Ethernet dans un en-tête VXLAN et l’envoie dans le réseau VXLAN.
- L’Egress VTEP est le point final du tunnel VXLAN, là où le paquet sort du réseau VXLAN pour être transmis au réseau Ethernet de destination.
- Il décapsule donc le paquet VXLAN, c’est-à-dire qu’il enlève l’en-tête VXLAN et transmet le paquet vers la destination appropriée.
Maintenant que cette terminologie est claire, parlons des deux types d’implémentations de l’IRB :
- Asymmetric IRB
- Symmetric IRB
IRB Asymétrique
L’IRB asymétrique est mis en œuvre lorsque le VTEP d’ingress est configuré pour effectuer à la fois du bridging et du routage, tandis que le VTEP d’egress est configuré pour effectuer uniquement du pontage.
Pour comprendre concrètement ce que cela signifie, regardons ce schéma. Nous avons deux VNI, 6501 et 6502. Nous avons quelques SVI configurés sur chaque VTEP, utilisant des adresses IP Anycast.
Lorsque PC1 souhaite envoyer un paquet au PC2, il l’envoie à la passerelle par défaut, qui est le SVI sur VTEP1. Le bridging et le routage se produisent donc, le paquet est routé et le routage inter-VNI transmet le paquet du SVI VLAN 12 au SVI VLAN 13. Il sera ensuite placé sur le VNI 6502 et envoyé à sa destination.
Lorsqu’il atteint le VTEP d’egress, qui est VTEP2, seul le bridging est effectué, ce qui est suffisant puisque nous sommes déjà sur le VNI 6502 ; sans routage de niveau 3, le VTEP transmet le paquet au PC2.
Sur le chemin du retour, VTEP2 devient le VTEP d’ingress et VTEP1 devient le VTEP d’egress. Le routage et le bridging s’effectuent donc sur VTEP2. Le paquet est routé vers la passerelle par défaut, qui est le SVI 13. Le routage inter-VNI transmet ensuite le paquet au SVI VLAN 12, et le paquet est envoyé sur le VNI 6501 vers VTEP1.
Nous arrivons maintenant au VTEP d’egress, qui est VTEP1, où seul le bridging est effectué. Le paquet est donc transmis au PC1 sur le VNI 6501.
Pourquoi cela s’appelle-t-il IRB asymétrique ?
Parce que le trafic de retour utilise un VNI différent de celui du trafic source. Cela exige que les VNI source et destination soient associés à la fois aux VTEP d’ingress et d’egress. Même si aucun périphérique final sur VTEP2 n’appartient au VNI 6501, il faut quand même créer un SVI sur VTEP2 pour gérer le routage vers le VNI 6501.
En termes plus larges, cela signifie que chaque VTEP doit être associé à chaque VNI de votre topologie VXLAN pour laquelle vous souhaitez une communication de couche 3, même si aucun périphérique final n’existe sur ce VNI sur votre VTEP local.
On comprend facilement que cela peut non seulement être compliqué à configurer, mais aussi peu évolutif. L’alternative est l’IRB symétrique.
IRB symétrique
Dans l’IRB symétrique, le routage et le bridging ont lieu à la fois sur les VTEP d’ingress et d’egress. Pour y parvenir, on utilise unVNI de transit. Ce VNI est créé pour transporter tout le trafic inter-VNI entre les VTEP.
Dans ce scénario, si PC1 communique avec le PC2, son paquet sera envoyé vers la passerelle par défaut, qui est le SVI du VLAN 12, puis routé vers le SVI associé à notre VNI de transit 6500, qui est le SVI 1213.
Le briding se produit alors, envoyant le trafic à travers le VNI 6500 jusqu’à atteindre VTEP2. Le routage s’effectue à nouveau, du SVI 1213 vers le SVI 13, puis le briding transmet le paquet au PC2.
Pour le retour, un processus similaire se produit : le paquet est envoyé au SVI 13, routé vers le SVI 1213 et commuté à travers le VNI de transit 6500. Une fois VTEP1 atteint, le routage s’effectue encore du SVI 1213 vers le SVI 12, et le paquet est ensuite transmis à PC1.
Remarquez ici que le même VNI est traversé entre les VTEP dans les deux sens, d’où le nom d’« IRB symétrique ».
Notez également que dans l’IRB symétrique, VTEP2 n’a pas besoin d’être associé au VNI 6501 servant le PC1. Il peut en effet ignorer complètement l’existence de ce VNI, ce qui constitue l’un des avantages de l’IRB symétrique.
Caractéristique | IRB asymétrique | IRB symétrique |
---|---|---|
Définition | Le routage a lieu uniquement sur le VTEP d’ingress, le VTEP d’egress fait uniquement du pontage. | Le routage et le pontage ont lieu à la fois sur les VTEP d’ingress et d’egress. |
VTEP d’ingress | Routage + pontage | Routage + pontage |
VTEP d’egress | Pontage uniquement | Routage + pontage |
VNI traversé au retour | Différent du VNI de départ | Même VNI que le VNI de départ |
Nécessité de créer un SVI sur les VTEP | Oui, chaque VTEP doit avoir un SVI pour chaque VNI de communication L3, même s’il n’y a pas de périphérique final | Non, seul le VTEP d’ingress et le VNI de transit nécessitent des SVI ; les autres VTEP peuvent ignorer les VNI source/destination. |
Complexité de configuration | Élevée (beaucoup de SVIs à configurer sur tous les VTEP) | Plus simple (SVI seulement sur VTEP d’ingress et VNI de transit) |
Scalabilité | Faible, difficile à étendre sur de grands réseaux | Élevée, plus facile à gérer sur de grandes topologies |
Trafic de retour | Utilise un chemin différent du trafic initial | Utilise le même chemin (VNI) que le trafic initial |
Avantage clé | Permet le routage inter-VNI même si certains VTEP ne connaissent pas tous les périphériques finaux | Réduit la complexité et les dépendances sur les VTEP d’egress, plus scalable |