Drei verschiedene Labels reisen mit einer einzigen VPNv4-Route, und ein SNMP-Walk zeigt nur die, die der Agent implementiert. Das empfangene BGP-Attribut, das lokal zugewiesene eingehende Service-Label und das ausgehende Weiterleitungs-Label liegen in verschiedenen Tabellen unter verschiedenen Indizes. Ein Gerät nach dem Label zu fragen, ohne vorher zu wählen, welches der drei gemeint ist, ist der Grund, warum ein Erfassungsprojekt schon am ersten Chassis hängen bleibt.

Wählen Sie das, was Ihre Aufgabe braucht, und folgen Sie dann der Indexkette, die dorthin führt. Bricht die Kette an einem Objekt ab, das der Agent nicht implementiert, ist das ein Befund zum Festhalten und keine Lücke, die mit einer erfundenen OID zu füllen wäre.

Wählen Sie, welches der drei Labels die Aufgabe braucht

Ein von einem Peer empfangenes Label kommt als BGP-Pfadattribut an und beschreibt, was dieser Peer erwartet, dass Sie ihm entgegenschieben. Das eingehende Service-Label wird von diesem Gerät für ein VRF-Präfix vergeben und markiert Verkehr, der in das LSP eintritt. Das ausgehende obere Label ist das, was die Weiterleitungsebene tatsächlich zum nächsten Hop schiebt, und es ändert sich, wann immer sich der nächste Hop ändert.

Nur das zweite und dritte gehören zum Weiterleitungszustand der abgefragten Box. Das erste ist eine Aussage über die Erwartung des Nachbarn, nicht über dieses Chassis.

Die Standard-L3VPN-MIB modelliert die VRF-Route und ihre Verknüpfung mit einem Cross-Connect, was ausreicht, um an die lokalen Service- und Weiterleitungs-Labels zu gelangen. Sie verspricht keinen Auszug jedes Attributs, das eine BGP-Sitzung empfangen hat. Lesen Sie die Tabelle für das, was sie enthält, nicht für das, was die Frage nahelegt. Ein Collector, der auf einer falschen Annahme aufbaut, meldet Nullen und legt sie als fehlende Daten ab.

What you wantWhere it livesWhat a walk can return
Label advertised by a peerBGP session state for that VRFUsually outside the standard L3VPN MIB
Incoming service label for a prefixVRF route entry joined to an incoming segmentAvailable when both tables are implemented
Label pushed toward the next hopOutgoing segment with a push conditionAvailable, but only meaningful while a top label is pushed

Verknüpfen Sie den VRF-Routeneintrag mit seinem Cross-Connect

RFC 4382 definiert mplsL3VpnVrfRteTable. Lesen Sie dessen Index als sechs Teile: den VRF-Namen, den Adresstyp des Ziels, das Präfix selbst, einen Richtlinienwert, den Typ des nächsten Hops und die Adresse des nächsten Hops. IGP- und BGP-Einträge teilen sich diese Tabelle, also notieren Sie das Routing-Protokoll neben dem Präfix. Zwei Zeilen können dasselbe Präfix tragen und sich nur im nächsten Hop unterscheiden, und die falsche Zeile zu wählen schickt die Verknüpfung zu einem anderen Cross-Connect.

Die Spalte mplsL3VpnVrfRteXCPointer trägt den Cross-Connect-Index statt einer vollständigen Zeilen-OID, obwohl der Name anderes vermuten lässt. Ein Nullwert aus einem Oktett bedeutet keinen zugeordneten Label-Stack, was Sie sehen, bevor Bindungen sich setzen, oder bei einer Route, die nie einen gebraucht hat.

Übersetzen Sie die Spalte, bevor Sie sie abgehen, damit der numerische Teilbaum in der Ausgabe eindeutig ist. Beide Befehle unten adressieren denselben Knoten in unterschiedlicher Notation.

snmptranslate -m +MPLS-L3VPN-STD-MIB -On mplsL3VpnVrfRteXCPointer
snmpwalk -v2c -c monitor 192.0.2.10 mplsL3VpnVrfRteXCPointer

Nehmen Sie den zurückgegebenen Index in die Cross-Connect-Tabelle, deren Eintragsschlüssel ein Tripel ist: Cross-Connect-Index, eingehender Segmentindex und ausgehender Segmentindex. Dieses Tripel ist die Verknüpfung, die eine Route zu einem Label macht. Gehen Sie den Cross-Connect-Teilbaum für den konkreten Index ab statt der ganzen Tabelle, weil der indizierte Lesezugriff die Zuordnung intakt lässt und der Massen-Walk nicht.

Lesen Sie den Index statt der Label-Nummer

Ein Segmentindex identifiziert eine Zeile, und ein Label ist ein Wert innerhalb dieser Zeile, sodass das Ersetzen des einen durch das andere eine plausibel aussehende Antwort liefert, die auf das falsche LSP zeigt. Prüfen Sie auf der eingehenden Seite die Schnittstelle und den Label-Kontext zusammen mit mplsInSegmentLabel und bedenken Sie, dass das Objekt stattdessen einen Zeiger in eine Label-Tabelle tragen kann, wenn die Zeile auf einen Eintrag anderswo verweist.

Prüfen Sie auf der ausgehenden Seite die ausgehende Schnittstelle und ob die Zeile sagt, dass ein oberes Label geschoben wird, bevor Sie mplsOutSegmentTopLabel lesen. Eine gefüllte Spalte für das obere Label in einer Zeile, die nichts schiebt, ist ein veralteter Wert oder ein Rest eines früheren Pfads, kein aktueller Weiterleitungszustand. Tiefere Stapel brauchen die referenzierte Label-Stack-Tabelle, und dieser zusätzliche Schritt ist normal, kein Defekt.

Besondere Null-Konventionen gelten für Pfade, die lokal am Router beginnen oder enden. Behandeln Sie einen Nullindex als dokumentiertes Verhalten statt als leeres Ergebnis und bestätigen Sie ihn gegen den lokalen Weiterleitungszustand.

Bestätigen Sie, was der Agent implementiert, bevor Sie skalieren

Prüfen Sie die implementierten Objekte für die genaue Plattform und Version, die verwendeten Adressfamilien und jede betriebliche Einschränkung der Teilbäume. Fragen Sie mit einer schreibgeschützten Anmeldeinformation ab, die auf diese Teilbäume beschränkt ist, und akzeptieren Sie, dass ein fehlendes Objekt bedeuten kann, dass die Funktion nicht implementiert ist, und nicht, dass die MIB falsch ist.

Verknüpfen Sie eine bekannte VRF-Route mit der eigenen betrieblichen Ausgabe des Geräts, bevor Sie einen Collector auf die ganze Tabelle richten. Bewahren Sie jede Indexkomponente und den Erfassungszeitpunkt bei jeder Stichprobe auf, da sich Routen und Bindungen zwischen Walks bewegen. Ein Schnappschuss aus zwei Walks mit Minuten Abstand kann einen alten Cross-Connect-Index mit einer neuen Route mischen und völlig konsistent aussehen.

Wo die Sicht auf empfangenes BGP oder ein herstellerspezifisches Label-Objekt wirklich fehlt, wechseln Sie zu einer Telemetrie- oder Betriebsschnittstelle, die die Plattform dokumentiert. Die Standardverknüpfung deckt lokale Weiterleitungs-Labels und wenig anderes ab, also behandeln Sie sie als ersten Schritt eines Erfassungsdesigns und nicht als fertige Sache.

Ähnliche Artikel