Hallo, Habr. Ich setze meine Artikelreihe zur VxLAN EVPN-Technologie fort, die speziell zur EinfĂŒhrung des Kurses von OTUS. Heute werden wir einen interessanten Teil der Aufgaben betrachten â das Routing. So banal es auch klingen mag, im Rahmen der Arbeit einer Netzwerkfabrik kann alles nicht so einfach sein.

Im letzten Teil haben wir ein Broadcast-Domain erreicht, das ĂŒber die Netzwerkfabrik auf Nexus 9000v aufgebaut wurde. Aber das ist bei weitem nicht das gesamte Spektrum der Aufgaben, die innerhalb des Rechenzentrumsnetzes gelöst werden mĂŒssen. Heute werden wir die nĂ€chste Aufgabe betrachten â das Routing zwischen Netzwerken oder zwischen VNIs.
Ich erinnere daran, dass die Spine-Leaf-Topologie verwendet wird:

ZunÀchst untersuchen wir, wie das Routing funktioniert und welche Besonderheiten es gibt.
Um das VerstĂ€ndnis zu erleichtern, vereinfachen wir das logische Schema und fĂŒgen einen weiteren VNI 20000 fĂŒr Host-2 hinzu. Am Ende ergibt sich:

Wie kann in diesem Fall der Verkehr von einem Host zum anderen ĂŒbertragen werden?
Es gibt zwei Optionen:
- Auf allen Leaf-Switches die Informationen ĂŒber alle VNIs zu speichern, sodass das gesamte Routing an dem ersten Leaf im Netzwerk erfolgt;
- Einen speziell zugewiesenen â L3 VNI zu verwenden.
Der erste Ansatz ist einfach und bequem. Es genĂŒgt, alle VNIs auf alle Leaf-Switches zu konfigurieren. Doch die Eingabe von mehreren Hundert oder Tausend VNIs auf allen Leaf-Switches erscheint bereits als komplexe Aufgabe. Daher wird dieses Verfahren in der Praxis eher selten angewendet.
Lassen Sie uns die zweite Methode betrachten, die interessanter und etwas komplexer ist, jedoch mehr FlexibilitÀt bei der Konfiguration der Fabrik bietet.
Wir fĂŒgen der Topologie den VRF "PROD" hinzu. Darin fĂŒgen wir das Interface VLAN 10 an den Leaf-11/12-Paaren und das Interface VLAN 20 an Leaf-21 hinzu. VLAN 20 wird mit VNI 20000 assoziiert.
vrf context PROD
rd auto ! Route Distinguisher ist nicht entscheidend, und wir können den automatisch generierten verwenden
address-family ipv4 unicast
route-target both auto ! Wir geben den Route-target an, mit dem die PrÀfixe in/aus dem VRF importiert und exportiert werden
vlan 20
vn-segment 20000
interface nve 1
member vni 20000
ingress-replication protocol bgp
interface Vlan10
no shutdown
vrf member PROD
ip address 192.168.20.1/24
fabric forwarding mode anycast-gatewayUm L3VNI nutzen zu können, muss ein neuer VLAN erstellt und mit dem neuen VNI assoziiert werden. Der neue VNI muss auf allen Leaf-Switches identisch sein, die an den Informationen ĂŒber VLAN 10 und 20 interessiert sind.
vlan 99
vn-segment 99000
interface nve1
member vni 99000 associate-vrf ! L3 VNI erstellen
vrf context PROD
vni 99000 ! L3 VNI einem bestimmten VRF zuordnenDas Schema wird wie folgt dargestellt:

Es bleibt nur noch wenig zu tun â einen weiteren Schnittstellen hinzufĂŒgen â interface vlan 99 im VRF PROD.
interface Vlan99
no shutdown
vrf member PROD
ip forward ! Auf der Schnittstelle sollte keine IP-Adresse vorhanden sein. Wird nur zur Paketweiterleitung zwischen Leaf verwendet.Die Logik fĂŒr den RahmenĂŒbertragungsweg von Host-1 zu Host-2 ist wie folgt:
- Der von Host-1 gesendete Rahmen erreicht den Leaf in VLAN 10, der mit VNI 10000 assoziiert ist;
- Leaf ĂŒberprĂŒft, wo sich die Zieladresse befindet und findet sie ĂŒber L3 VNI auf dem zweiten Leaf-Switch;
- Sobald der Weg zur Zieladresse gefunden ist, packt Leaf den Rahmen in einen Header mit dem erforderlichen L3VNI 99000 â und sendet ihn zum zweiten Leaf;
- Der zweite Leaf-Switch empfĂ€ngt die Daten aus L3VNI 99000. Er extrahiert den ursprĂŒnglichen Rahmen und ĂŒbertrĂ€gt ihn in das erforderliche L2VNI 20000 und weiter in VLAN 20.
Das Ergebnis dieser Arbeit entfernt die Notwendigkeit, auf allen Leaf-Switches Informationen ĂŒber alle VNI, die im Netzwerk existieren, zu halten.
Somit wird, wenn wir den Datenverkehr von Host-1 zu Host-2 senden, das Paket in ein VxLAN mit dem neuen VNI â 99000 verpackt.

Es bleibt zu verstehen, wie genau Leaf-1 die MAC-Adresse aus einem anderen VNI erfĂ€hrt. Dies geschieht ebenfalls ĂŒber EVPN route-type 2 (MAC/IP).
Im Folgenden wird der Prozess der Verbreitung von Routen ĂŒber ein PrĂ€fix, das sich in einem anderen VNI befindet, dargestellt:

Das heiĂt, die Adressen, die aus dem VNI 20000 stammen, haben zwei RT.
Erinnern wir uns daran, dass die aus dem Update erhaltenen Routen mit dem Route-Target, das in den VRF-Einstellungen angegeben ist, in die BGP-Tabelle gelangt (der Prozess ist etwas komplizierter, aber wir wollen in diesem Artikel nicht tiefer darauf eingehen).
Der RT wird nach der Formel: AS:VNI (wenn der automatische Modus verwendet wird) gebildet.
Beispiel fĂŒr die Bildung von RT im automatischen und manuellen Modus:
vrf context PROD
address-family ipv4 unicast
route-target import auto - automatischer Betriebsmodus
route-target export 65001:20000 - manueller Modus zur Erstellung des RTDas obige Beispiel zeigt, dass die PrÀfixe aus einem anderen VNI zwei RT-Werte haben.
Einer davon ist 65001:99000 â ein zusĂ€tzlicher L3 VNI. Da dieser VNI auf allen Leaf-Knoten identisch ist und unter unsere Importregeln in den VRF-Einstellungen fĂ€llt, gelangt das PrĂ€fix in die BGP-Tabelle, wie aus der Ausgabe ersichtlich ist:
sh bgp l2vpn evpn
Netzwerk Next Hop Metrik LocPrf Gewicht Pfad
Routen-Distinguisher: 10.255.1.11:32777 (L2VNI 10000)
*>l[2]:[0]:[0]:[48]:[5001.0007.0007]:[0]:[0.0.0.0]/216
10.255.1.10 100 32768 i
*>l[2]:[0]:[0]:[48]:[5001.0007.0007]:[32]:[192.168.10.10]/272
10.255.1.10 100 32768 i
*>l[3]:[0]:[32]:[10.255.1.10]/88
10.255.1.10 100 32768 i
Routen-Distinguisher: 10.255.1.21:32787
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.20]/272 ! PrÀfix erhalten aus VNI 20000
10.255.1.20 100 0 i
*>i 10.255.1.20 100 0 iWenn wir uns das erhaltene Update genauer ansehen, sehen wir, dass dieses PrÀfix zwei RT hat:
Leaf11# sh bgp l2vpn evpn 5001.0008.0007
BGP-Routing-Tabelleninformationen fĂŒr VRF default, Adressfamilie L2VPN EVPN
Route Distinguisher: 10.255.1.21:32787
BGP-Routing-Tabelleintrag fĂŒr [2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.2
0]/272, Version 5164
Pfade: (2 verfĂŒgbar, beste #2)
Flags: (0x000202) (high32 00000000) in xmit-list, nicht in l2rib/evpn, nicht in HW
Pfadtyp: intern, Pfad ist gĂŒltig, nicht beste BegrĂŒndung: Nachbaradresse, kein beschrifteter Nexthop
AS-Pfad: KEINE, Pfad interne Herkunft zu AS
10.255.1.20 (Metrik 81) von 10.255.1.102 (10.255.1.102)
Ursprung IGP, MED nicht gesetzt, localpref 100, Gewicht 0
Erhaltener Label 20000 99000 ! Zwei Labels fĂŒr den VxLAN-Betrieb
Extcommunity: RT:65001:20000 RT:65001:99000 SOO:10.255.1.20:0 ENCAP:8 ! Zwei Werte fĂŒr Route-Target, auf deren Grundlage dieser PrĂ€fix hinzugefĂŒgt wurde
Router MAC:5001.0005.0007
Ersteller: 10.255.1.21 Clusterliste: 10.255.1.102In der Routing-Tabelle auf Leaf-1 kann auch das PrÀfix 192.168.20.20/32 beobachtet werden:
Leaf11# sh ip route vrf PROD
192.168.10.0/24, ubest/mbest: 1/0, attached
*via 192.168.10.1, Vlan10, [0/0], 01:29:28, direkt
192.168.10.1/32, ubest/mbest: 1/0, attached
*via 192.168.10.1, Vlan10, [0/0], 01:29:28, lokal
192.168.10.10/32, ubest/mbest: 1/0, attached
*via 192.168.10.10, Vlan10, [190/0], 01:27:22, hmm
192.168.20.20/32, ubest/mbest: 1/0 ! Adresse Host-2
*via 10.255.1.20fault, [200/0], 01:20:20, bgp-65001, intern, tag 65001 ! VerfĂŒgbar ĂŒber Leaf-2
(evpn) segid: 99000 tunnelid: 0xaff0114 encap: VXLAN ! Ăber VNI 99000Haben Sie das Fehlen des HauptprĂ€fixes 192.168.20.0/24 in der Routing-Tabelle bemerkt?
Genau, das gibt es dort nicht. Das bedeutet, dass entfernte Leaf Informationen nur ĂŒber die Hosts erhĂ€lt, die in Ihrem Netzwerk vorhanden sind. Und das ist das richtige Verhalten. Wie in allen Updates oben zu sehen ist, kommen Informationen mit dem Inhalt MAC/IP. Es gibt keine Rede von irgendwelchen PrĂ€fixen.
Hier kommt das Protokoll Host Mobility Manager (HMM) ins Spiel, das die ARP-Tabelle fĂŒllt, aus der anschlieĂend die BGP-Tabelle gefĂŒllt wird (wir lassen diesen Prozess im Rahmen dieses Artikels auĂen vor). Auf der Grundlage der aus HMM erhaltenen Informationen werden EVPN-Routen vom Typ 2 gebildet (MAC/IP wird ĂŒbertragen).
Was ist jedoch zu tun, wenn es notwendig ist, Informationen ĂŒber einen bestimmten PrĂ€fix zu ĂŒbertragen?
FĂŒr diese Art von Informationen gibt es EVPN-Routen vom Typ 5 â dies ermöglicht die Ăbertragung von PrĂ€fixen ĂŒber die address-family l2vpn evpn (dieser Routen-Typ befindet sich zum Zeitpunkt des Schreibens des Artikels nur in der Entwurfsversion, , daher kann das Verhalten dieses Routen-Typs bei verschiedenen Herstellern abweichen.)
Um PrĂ€fixe zu ĂŒbertragen, mĂŒssen im BGP-Prozess fĂŒr die VRF die PrĂ€fixe hinzugefĂŒgt werden, die angekĂŒndigt werden sollen:
router bgp 65001
vrf PROD
address-family ipv4 unicast
redistribute direct route-map VNI20000 ! In diesem Fall kĂŒndigen wir die PrĂ€fixe, die direkt mit dem Leaf in VNI 20000 verbunden sind, an
route-map VNI20000 permit 10
match ip address prefix-list VNI20000_OUT ! Wir geben an, welche Prefixliste verwendet werden soll
ip prefix-list VNI20000_OUT seq 5 permit 192.168.20.0\/24 ! Wir geben an, welche Netzwerke in den EVPN route-type 5 fallen werdenAm Ende wird im Update Folgendes stehen:

Schauen wir uns die BGP-Tabelle an. Neben EVPN route-type 2 und 3 sind Routen des Typs 5 aufgetaucht, die Informationen zur Netznummer enthalten:
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 10.255.1.11:3
* i[5]:[0]:[0]:[24]:[192.168.10.0]\/224
10.255.1.10 0 100 0 ?
*>i 10.255.1.10 0 100 0 ?
Route Distinguisher: 10.255.1.11:32777
* i[2]:[0]:[0]:[48]:[5001.0007.0007]:[0]:[0.0.0.0]\/216
10.255.1.10 100 0 i
*>i 10.255.1.10 100 0 i
* i[2]:[0]:[0]:[48]:[5001.0007.0007]:[32]:[192.168.10.10]\/272
10.255.1.10 100 0 i
*>i 10.255.1.10 100 0 i
* i[3]:[0]:[32]:[10.255.1.10]\/88
10.255.1.10 100 0 i
*>i 10.255.1.10 100 0 i
Route Distinguisher: 10.255.1.12:3
*>i[5]:[0]:[0]:[24]:[192.168.10.0]\/224 ! EVPN route-type 5 mit der PrÀfixnummer
10.255.1.10 0 100 0 ?
* i In der Routing-Tabelle ist das PrÀfix ebenfalls aufgetaucht:
Leaf21# sh ip ro vrf PROD
192.168.10.0/24, ubest/mbest: 1/0
*via 10.255.1.10fault, [200/0], 00:14:32, bgp-65001, intern, tag 65001 ! Remote PrĂ€fix, verfĂŒgbar ĂŒber Leaf1/2 (NĂ€chster Hop = virtuelle IP zwischen dem VPC-Paar)
(evpn) segid: 99000 tunnelid: 0xaff010a encap: VXLAN ! PrĂ€fix verfĂŒgbar ĂŒber L3VNI 99000
192.168.10.10/32, ubest/mbest: 1/0
*via 10.255.1.10fault, [200/0], 02:33:40, bgp-65001, intern, tag 65001
(evpn) segid: 99000 tunnelid: 0xaff010a encap: VXLAN
192.168.20.0/24, ubest/mbest: 1/0, attached
*via 192.168.20.1, Vlan20, [0/0], 02:39:44, direkt
192.168.20.1/32, ubest/mbest: 1/0, attached
*via 192.168.20.1, Vlan20, [0/0], 02:39:44, lokal
192.168.20.20/32, ubest/mbest: 1/0, attached
*via 192.168.20.20, Vlan20, [190/0], 02:35:46, hmmDamit schlieĂen wir den zweiten Teil des Artikels ĂŒber VxLAN EVPN ab. Im nĂ€chsten Teil werden wir verschiedene Routing-Optionen zwischen VRF betrachten.
Quelle: habr.com
