EVPN Typ 2 vs. Typ 5: warum eine IP-Adresse zwei Routen bedeutet
Eine Typ-2-Route hat eine MAC plus eine optionale IP als Schlüssel; eine Typ-5-Route hat ein Präfix als Schlüssel. Lesen Sie den Schlüssel, nicht die Maske, bevor Sie eine Route als hostgroß bezeichnen.
Zwei Routen auf derselben Box können auf 198.51.100.77 zeigen und dennoch unterschiedliche Fragen beantworten. Die eine beschreibt, wo eine MAC-Adresse erreichbar ist und optional, welche IP daran gebunden ist. Die andere beschreibt ein Präfix, das über einen Next Hop aufgelöst wird, selbst wenn dieses Präfix ein einzelner Host ist. Verwechselt man beide, entsteht ein Ticket, das wie ein Routingfehler aussieht, in Wahrheit aber ein falsch gelesener Routentyp ist.
Am schnellsten unterscheidet man sie, indem man den Schlüssel liest, um den die NLRI herum gebaut ist, nicht die Maske an ihrem Ende.
Der Routenschlüssel sagt, was die Route behauptet
Typ 2 ist die MAC/IP Advertisement Route aus RFC 7432, und ihr Schlüssel ist die 48-Bit-MAC-Adresse innerhalb der NLRI. Hinter diesem Schlüssel steht ein IP-Adressfeld, dessen Längenfeld 0, 32 oder 128 Bit sein kann, sodass eine reine MAC-Ankündigung eine vollständige Route ist und kein Host-Eintrag mit fehlenden Teilen. Der folgende Label-Stack zeigt auf den Bridging-Kontext, in dem diese MAC lebt.
Ob das IP-Feld gefüllt ist, ändert, was die Route aussagt, nicht die Art der Route. Bei einer Länge von 32 oder 128 Bit behauptet der Absender zusätzlich, dass diese IP innerhalb einer EVPN-Instanz zu jener MAC gehört. Bei einer Länge von null trifft der Absender überhaupt keine IP-Aussage. Keine der beiden Varianten sagt, dass ein Präfix über einen Router erreichbar ist.
Typ 5 ist die IP-Präfix-Route aus RFC 9136, und ihr Schlüssel ist ein Präfix, das als Länge plus so viele Bits geschrieben wird. Die Länge reicht bei IPv4 von 0 bis 32 und bei IPv6 von 0 bis 128.
Beide Enden dieses Bereichs sind zulässig, und keines impliziert eine MAC. Ein Präfix der Länge null behauptet Erreichbarkeit, ohne einen Host zu benennen, während ein /32 genau eine Adresse benennt. Die NLRI trägt außerdem eine Gateway-IP-Adresse, die die Egress-Seite zum Aufbau des Overlay-Index verwendet, plus ein Label für den Weiterleitungskontext. Es gibt kein MAC-Feld, auf das umgeschaltet werden könnte, weshalb ein Empfänger Typ 5 als geroutetes Ziel behandelt.
Eine /32-Präfixroute ist kein umbenannter Typ 2
Hostgroße Präfixe sind gewöhnliche Typ-5-Routen. Eine /32-Präfixroute und ein Typ 2 für dieselbe Adresse können in einer EVPN-Instanz nebeneinander bestehen, und sie tragen unterschiedliche Weiterleitungsinformationen.
Nehmen Sie 198.51.100.77 in einer EVPN-Instanz mit VNI 10100. Ein Typ 2 kann sie mit der MAC 02:00:00:00:00:77 und einem Label paaren, das die Bridge-Domain identifiziert, in der diese MAC gelernt wurde. Ein Typ 5 kann 198.51.100.0/24 für das gesamte Subnetz ankündigen oder 198.51.100.77/32 nur für diese Adresse, mit einer Gateway-Adresse, die auf den Egress-VTEP zeigt. Die Adressen überlappen sich absichtlich, weil die Routen unterschiedliche Fragen beantworten.
Die eine Route sagt, dass eine Endpunktbindung existiert und über eine bestimmte Bridge erreichbar ist. Die andere sagt, dass ein Präfix über einen bestimmten Router erreichbar ist, unabhängig davon, ob darin jemals ein Endpunkt gelernt wurde.
Dieser Unterschied entscheidet, wo Sie zuerst nachsehen, wenn der Verkehr ausfällt. Ist ein einzelner Host nicht erreichbar, während seine Subnetzroute in Ordnung aussieht, war der Typ 5 nie dafür gedacht, diesen Host zu tragen; suchen Sie den fehlenden Typ 2. Existiert die Hostroute, ist aber das gesamte Subnetz nicht erreichbar, prüfen Sie, ob der Typ 5 überhaupt erzeugt wurde. Die Felder der Reihe nach zu lesen ist besser, als aus der Maskenlänge zu raten.
Beide Routen lesen, ohne zu raten
Auf NX-OS teilen show bgp l2vpn evpn route type 2 und show bgp l2vpn evpn route type 5 die Tabelle genau entlang dieser Linie, und show l2route evpn mac ip zeigt die lokalen MAC-zu-IP-Bindungen hinter den Typ-2-Routen. Auf Junos listet show evpn database gelernte MAC- und IP-Bindungen auf, während show route table bgp.evpn.0 zeigt, was angekündigt und empfangen wurde.
Filtern Sie nach Route Distinguisher und Ethernet-Tag, bevor Sie Schlüsse ziehen. Dieselbe MAC oder dasselbe Präfix kann in mehreren EVPN-Instanzen auftauchen, und eine Route, die in einer Instanz falsch aussieht, kann in einer anderen richtig sein.
Lesen Sie dann die NLRI der Reihe nach: Routentyp, Schlüssel, Gateway- oder Label-Felder, dann die Route Targets in den Attributen. Ein Typ 2 mit einer ESI ungleich null sagt Ihnen, dass die MAC multi-homed ist, und genau dieser Wert verbindet die Ankündigungen verschiedener PE-Router. Ein Typ 5 mit einer Gateway-Adresse sagt Ihnen, welcher Egress-VTEP den Verkehr empfangen soll.
Fehlt eine Route, prüfen Sie die Erzeugung vor der Kodierung. Bestätigen Sie, dass die Quelle die Bindung oder das Präfix lokal hat, und bestätigen Sie dann, dass das daran angehängte Route Target auf dieser Box importiert wird. Die meisten Meldungen über einen defekten Typ 5 enden bei einer Import-Richtlinie, nicht beim NLRI-Format.
Kontext notieren, nicht nur den Routentyp
Notieren Sie Routentyp, EVPN-Instanz, Route Distinguisher, die importierten und exportierten Route Targets und den aufgelösten Next Hop zusammen. Ein Typ 2 ohne seine Instanz ist mehrdeutig, und ein Next Hop ohne die Routenfamilie lädt zu falschen Schlüssen ein.
Beide sind EVPN-Routen, auch wenn die Nutzlast eine IPv4-Adresse ist. Die Adressfamilie innerhalb der NLRI und die Adressfamilie der Route selbst sind getrennte Eigenschaften, und ein Typ 5 wird nicht dadurch zu einer IPv4-Unicast- oder VPN-IPv4-Route, dass er ein IPv4-Präfix trägt.
Dieser Unterschied zeigt sich an der Grenze zwischen einer EVPN-Kontrolllebene und einer IP-VRF. Das Route Target entscheidet, welche VRF das Präfix importiert, während Gateway-Adresse und Label entscheiden, wie das Paket zum Egress gekapselt wird. Lesen Sie beides zusammen, und die Weiterleitungsentscheidung wirkt nicht mehr willkürlich.
Wenn das nächste Mal ein /32 in der EVPN-Tabelle auftaucht, prüfen Sie den Schlüssel vor der Maske. Ein MAC-Schlüssel mit optionaler IP ist eine Typ-2-Bindung; ein Präfixschlüssel ist eine Typ-5-Route, unabhängig von ihrer Länge. Schreiben Sie Route Target und Next Hop daneben, und der nächste Ingenieur muss die ganze Geschichte nicht neu herleiten.