Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BGP-Fehlermeldungen

Grundlegendes zur Fehlerbehandlung für BGP-Aktualisierungsmeldungen

Eine BGP-Nachricht gilt als fehlerhaft, wenn eines der Nachrichtenattribute falsch formatiert ist. Wenn ein Router, der an einer BGP-Sitzung teilnimmt, eine falsch formatierte Update-Meldung empfängt, wird die gesamte Sitzung standardmäßig zurückgesetzt. Dies ist unerwünscht, da auch Aktualisierungsmeldungen mit gültigen Routen betroffen sind. Um dieses unerwünschte Verhalten zu vermeiden, muss die Fehlerbehandlung für BGP-Aktualisierungsmeldungen geändert werden.

Um die Fehlerbehandlung für BGP-Aktualisierungsnachrichten zu konfigurieren, konfigurieren Sie die Anweisung auf der , oder Hierarchieebene.bgp-error-tolerance[edit protocols bgp][edit protocols bgp group group-name][edit protocols bgp group group-name neighbor address]

Wenn ein Attribut Attributflags enthält, die mit dem Wert des Felds Attributtyp in Konflikt stehen, werden die Attributflags auf den richtigen Wert zurückgesetzt, und die Aktualisierungsmeldung wird verarbeitet. Der Wert des Extended Length-Bits in den Attributflags bleibt unverändert, da dieser Wert definiert, ob die Attributlänge ein oder zwei Oktette beträgt. Daher wirkt sich der Wert des Attributflags darauf aus, wie das BGP-Aktualisierungspaket analysiert wird.

HINWEIS:

Es gibt keine explizite Angabe für den Attributflag-Wert für die Pfadattribute.

Fehlerhafte Aktualisierungsmeldungen werden von Fall zu Fall behandelt, abhängig von den Werten der in den Nachrichten enthaltenen Attribute. Es gibt drei Möglichkeiten zum Umgang mit fehlerhaften BGP-Aktualisierungsmeldungen, die in absteigender Reihenfolge des Schweregrads aufgeführt sind.

  1. Notification message approach– Der fehlerhafte Nachrichtenfehler wird lokal protokolliert, eine Fehlercode-Update-Meldung wird an die Verwaltung des Peers gesendet, und die gesamte BGP-Sitzung wird zurückgesetzt.

    Dieser Ansatz wird gewählt, wenn:

    • Die BGP-Aktualisierungsnachricht enthält das Attribut "MP reach" oder das Attribut "MP unreach".

    • Das NLRI-Feld oder die BGP-Aktualisierungsnachricht kann aufgrund einer Diskrepanz zwischen der Attributlänge und dem Wert des Attributlängenfelds nicht korrekt analysiert werden.

  2. —Alle Routen in der fehlerhaften Aktualisierungsmeldung werden als ausgeblendete Routen behandelt, es sei denn, die Anweisung ist konfiguriert. In diesem Fall werden die Routen verworfen.Treat-as-withdraw approachkeep none Wenn die Anweisung nicht vorhanden ist, wird die Anzahl der ausgeblendeten fehlerhaften Routen mit einem Grenzwert konfiguriert, der bei Überschreitung die Routen verwirft und verhindert, dass weitere fehlerhafte Routen ausgeblendet werden.keep none Junos OS entfernt die neu empfangenen fehlerhaften Routen, wenn das Limit für fehlerhafte Routen erreicht ist.

  3. Attribute discard approach—Die falsch formatierten Attribute in der Aktualisierungsmeldung werden verworfen. Die Nachricht wird jedoch verarbeitet. Es wird nicht empfohlen, diesen Ansatz zu verwenden, wenn die zu verwerfenden Attribute die Routenauswahl oder Installation beeinträchtigen können.

    HINWEIS:

    Wenn ein Attribut mehr als einmal in einer Aktualisierungsmeldung vorkommt, werden alle Vorkommen des Attributs mit Ausnahme des ersten verworfen, und die Nachricht wird verarbeitet.

Die BGP-Aktualisierungsmeldungen werden auf die folgenden Attribute gescannt und basierend auf den Werten dieser Attribute als fehlerhaft behandelt:

  • The origin attribute– Wird nach dem "Behandeln-als-Zurückziehen"-Ansatz gehandhabt.

  • The AS path attribute– Wird nach dem "Behandeln-als-Zurückziehen"-Ansatz gehandhabt.

  • The AS 4 path attribute– Wird durch den Attributverwerfungsansatz gehandhabt. Wenn ein Attribut Attributflags aufweist, die mit dem Attributtypcode in Konflikt stehen, setzt Junos OS die Attributflags auf den richtigen Wert zurück. Die Verbuchungsnachricht wird weiter verarbeitet.

    Junos OS ändert den Wert des Bits mit erweiterter Länge in den Attributflags nicht. Dieses Bit definiert, ob die Attributlänge ein Oktett oder zwei Oktette beträgt. Der Wert dieses Flags wirkt sich darauf aus, wie das BGP-Paket analysiert wird. Es gibt keine explizite Angabe dieses Wertes für die Pfadattribute.

  • The aggregator attribute– Wird durch den Attributverwerfungsansatz gehandhabt.

  • The aggregator 4 attribute– Wird durch den Attributverwerfungsansatz gehandhabt.

  • The next-hop attribute– Wird nach dem "Behandeln-als-Zurückziehen"-Ansatz gehandhabt.

  • The multiple exit discriminator attribute– Wird nach dem "Behandeln-als-Zurückziehen"-Ansatz gehandhabt.

  • The local preference attribute– Wird nach dem "Behandeln-als-Zurückziehen"-Ansatz gehandhabt.

  • The atomic aggregate attribute– Wird durch den Attributverwerfungsansatz gehandhabt.

  • The community attribute– Wird nach dem "Behandeln-als-Zurückziehen"-Ansatz gehandhabt.

  • The extended community attribute– Wird nach dem "Behandeln-als-Zurückziehen"-Ansatz gehandhabt.

  • The originator attribute– Wird nach dem "Behandeln-als-Zurückziehen"-Ansatz gehandhabt.

  • The cluster attribute– Wird nach dem "Behandeln-als-Zurückziehen"-Ansatz gehandhabt.

  • The PMSI attribute– Wird nach dem "Behandeln-als-Zurückziehen"-Ansatz gehandhabt.

  • The MP reach attribute– Wird durch den Benachrichtigungsnachrichtansatz gehandhabt.

  • The MP unreach attribute– Wird durch den Benachrichtigungsnachrichtansatz gehandhabt.

  • The attribute set attribute– Wird nach dem "Behandeln-als-Zurückziehen"-Ansatz gehandhabt.

  • The AIGP attribute– Wird nach dem "Behandeln-als-Zurückziehen"-Ansatz gehandhabt.

  • Unknown attribute—Wenn das BGP-Flag nicht angibt, dass es sich um ein optionales Attribut handelt, wird dieses falsch formatierte Attribut durch den Benachrichtigungsnachrichtenansatz behandelt.

HINWEIS:

Wenn eine BGP-Aktualisierungsnachricht mehrere falsch formatierte Attribute enthält, wird der schwerwiegendste Ansatz verfolgt, der durch eines der Attribute ausgelöst wird.

Beispiel: Konfigurieren der Fehlerbehandlung für BGP-Aktualisierungsmeldungen

In diesem Beispiel wird gezeigt, wie die BGP-Fehlerbehandlung konfiguriert wird.

Anforderungen

Bevor Sie beginnen:

  • Konfigurieren Sie die Router-Schnittstellen.

  • Konfigurieren Sie ein Interior Gateway Protocol (IGP).

  • Konfigurieren Sie BGP.

  • Konfigurieren Sie Routing-Richtlinien.

Überblick

Wenn ein Routing-Gerät eine Update-Meldung mit einem fehlerhaften Attribut empfängt, muss der Router die Sitzung zurücksetzen. Dies ist in RFC 4271, A Border Gateway Protocol 4 (BGP-4) spezifiziert. Sitzungszurücksetzungen wirken sich nicht nur auf Routen mit dem fehlerhaften Attribut aus, sondern auch auf andere gültige Routen, die während der Sitzung ausgetauscht werden. Darüber hinaus kann dieses Verhalten bei optionalen transitiven Attributen eine potenzielle Sicherheitslücke darstellen. Um die Auswirkungen von fehlerhaften Update-Meldungen auf das Routing zu minimieren, gibt der Internet-Entwurf draft-ietf-idr-error-handling-01.txt, Revised Error Handling for BGP UPDATE Messages Änderungen für die Behandlung von BGP-Update-Meldungen mit fehlerhaften Attributen an. Die neue Fehlerbehandlung ermöglicht es, die bestehende Sitzung beizubehalten und die gültigen Routen auszutauschen, während die in der fehlerhaften UPDATE-Nachricht enthaltenen Routen entfernt werden.

Topologie

In Abbildung 1verfügt Gerät R1 über eine interne BGP-Peering-Sitzung mit Gerät R0 und eine externe BGP-Peering-Sitzung mit Gerät R2.

Abbildung 1: Beispieltopologie für BGP-FehlerbehandlungBeispieltopologie für BGP-Fehlerbehandlung

Zum Schutz vor fehlerhaften Aktualisierungsmeldungen, die zu Netzwerkinstabilität führen, ist für Gerät R1 eine BGP-Fehlerbehandlung konfiguriert, wie hier gezeigt:

Standardmäßig wird eine BGP-Nachricht als falsch formatiert betrachtet, wenn eines der Nachrichtenattribute falsch formatiert ist. Wenn ein Router, der an einer BGP-Sitzung teilnimmt, eine fehlerhafte Update-Meldung erhält, wird die gesamte Sitzung zurückgesetzt. Die Anweisung überschreibt dieses Verhalten, sodass die folgende BGP-Fehlerbehandlung wirksam ist:bgp-error-tolerance

  • Bei schwerwiegenden Fehlern sendet Junos OS eine Benachrichtigung mit dem Titel Error Code Update Message und setzt die BGP-Sitzung zurück. Ein Fehler im Attribut MP_{UN}REACH gilt als schwerwiegend. Das Vorhandensein mehrerer MP_{UN}REACH-Attribute in einem BGP-Update wird ebenfalls als schwerwiegender Fehler betrachtet. Junos OS setzt die BGP-Sitzung zurück, wenn das NLRI-Feld oder das BGP-Update nicht korrekt analysiert werden kann. Fehler beim Parsen des BGP-Aktualisierungspakets können auftreten, wenn die Attributlänge nicht mit der Länge des Attributwerts übereinstimmt.

  • Bei einigen nicht schwerwiegenden Fehlern behandelt Junos OS alle Routen, die in der falsch formatierten BGP-Aktualisierungsnachricht enthalten sind, als zurückgezogene Routen und installiert sie als ausgeblendet, es sei denn, die Anweisung ist in der BGP-Konfiguration enthalten.keep none Junos OS verwendet diesen Fehlerbehandlungsansatz für Fälle, die eines der folgenden Attribute betreffen: ORIGIN, AS_PATH, NEXT_HOP, MULTI_EXIT_DISC, LOCAL_PREF, ORIGINATOR, CLUSTER, ATTRSET, PMSI, Community und Extended Community. Wenn eines der obligatorischen bekannten Pfadattribute fehlt, behandelt Junos OS das BGP-Update als fehlerhaft. Um die Speicherauslastung dieser fehlerhaften versteckten Routen zu begrenzen, beendet Junos OS die Installation neuer fehlerhafter versteckter Routen, nachdem die maximale Anzahl solcher fehlerhafter versteckter Routen erreicht wurde. In diesem Beispiel wird die maximale Anzahl mithilfe der Anweisung auf 5 festgelegt.malformed-route-limit Der Standardwert ist 1000. Optional können Sie eine unbegrenzte Anzahl von Routen zulassen, die aufgrund falsch formatierter Attribute ausgeblendet werden. Fügen Sie dazu die Anweisung ein.no-malformed-route-limit

  • Bei anderen nicht schwerwiegenden Fehlern verwirft Junos OS die fehlerhaften Pfadattribute und setzt die Verarbeitung der BGP-Aktualisierungsmeldung fort. Es ist unsicher, diesen Ansatz für die Pfadattribute zu verwenden, die sich auf die Routenauswahl oder Installation auswirken könnten. Junos OS verwendet diesen Fehlerbehandlungsansatz für Fälle, die eines der folgenden Attribute betreffen: ATOMIC_AGGREGATE, AGGREGATOR, AGGREGATOR4 und AS4PATH.

Um die Fehlerbehebung bei fehlerhaften Paketen zu erleichtern, protokolliert Junos OS den Fehler, in dem der fehlerhafte Pfadattributcode, das Flag, die Länge, Informationen über den Peer und die Familie sowie das erste Präfix aus dem fehlerhaften BGP-Update aufgeführt sind. Die Protokollierung der fehlerhaften Pakete kann die Leistung von Junos OS verlangsamen, wenn in kurzer Zeit eine beträchtliche Anzahl fehlerhafter Pakete empfangen wird. Um die Auswirkungen auf die Leistung zu begrenzen, implementiert Junos OS einen Algorithmus, um ein fehlerhaftes Update zu protokollieren, die Protokollierung für ein Intervall zu unterdrücken und eine Zusammenfassung zu protokollieren. Wenn der Timer für die Protokollierungsunterdrückung abläuft, protokolliert die Software die Gesamtzahl der fehlerhaften Attribute, die während des Intervalls empfangen wurden. In diesem Beispiel wird der Timer mithilfe der Anweisung auf 10 Sekunden festgelegt.malformed-update-log-interval Der Standardwert ist 300 Sekunden (5 Minuten).

CLI-Schnellkonfiguration Zeigt die Konfiguration für alle Geräte in Abbildung 1an.

In diesem Abschnitt werden die Schritte auf Gerät R1 beschrieben.#d202e112__d202e299

Konfiguration

CLI-Schnellkonfiguration

Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI auf Hierarchieebene ein.[edit]

Gerät R0

Gerät R1

Gerät R2

Verfahren

Schritt-für-Schritt-Anleitung

Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Weitere Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.Verwenden des CLI-Editors im Konfigurationsmodushttps://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

So konfigurieren Sie die BGP-Fehlerbehandlung:

  1. Konfigurieren Sie die Routerschnittstellen.

  2. Konfigurieren Sie ein Interior Gateway Protocol (IGP), z. B. OSPF oder IS-IS.

  3. Konfigurieren Sie die AS-Nummer (Autonomous System) und die Router-ID.

  4. Konfigurieren Sie die Routing-Richtlinie.

  5. Konfigurieren Sie die EBGP-Sitzung.

  6. Konfigurieren Sie die IBGP-Sitzungen.

  7. Aktivieren Sie die BGP-Fehlertoleranz.

  8. (Optional) Konfigurieren Sie das Protokollintervall.

  9. (Optional) Konfigurieren Sie ein Limit für die Anzahl der zu speichernden ausgeblendeten Routen.

Ergebnisse

Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie die Befehle , , und , eingeben.show interfacesshow protocolsshow policy-optionsshow routing-options Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.

Wenn Sie mit der Konfiguration der Geräte fertig sind, rufen Sie den Konfigurationsmodus auf .commit

Überprüfung

Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.

Überprüfen der BGP-Nachbarsitzungen

Zweck

Vergewissern Sie sich, dass die BGP-Fehlertoleranz aktiviert ist, und zeigen Sie die Leistungsindikatoren für fehlerhafte Pfadattribute an.

Was
Bedeutung

Das Feld "Fehlerhafte Attribute" zeigt an, dass die Fehlertoleranz aktiviert ist. In den Feldern "Protokollintervall" und "Routenlimit" werden die konfigurierten Werte angezeigt.

Die Attributzähler zeigen, dass bei der EBGP-Verbindung mehrere fehlerhafte Attribute von Gerät R2 empfangen wurden.

Versteckte Routen überprüfen

Zweck

Zeigen Sie Informationen zu ausgeblendeten Routen an und erfahren Sie, warum sie ausgeblendet sind.

Was
Bedeutung

Die fehlerhaften ausgeblendeten Routen sind im Feld AS-Pfad mit MalformedAttr gekennzeichnet.

Sie können die ausgeblendeten Routen entfernen, indem Sie den Befehl ausführen.clear bgp neighbor 10.10.10.2 malformed-route

Überprüfen der Quelle der versteckten Routen

Zweck

Zeigen Sie Informationen zu ausgeblendeten Routen an und erfahren Sie, warum sie ausgeblendet sind.

Was
Bedeutung

Junos OS zeigt MalformedAttr im Feld "AS-Pfad" in der Ausgabe des Befehls an.show route receive-protocol bgp 10.10.10.2 detail hidden

Sie können die ausgeblendeten Routen entfernen, indem Sie den Befehl ausführen.clear bgp neighbor 10.10.10.2 malformed-route