JNCIP-ENT: Policy Debugging
28.06.2026 4 Min. Lesezeit
Viele Netzwerkprobleme entstehen nicht durch einzelne Fehlkonfigurationen, sondern durch das Zusammenwirken scheinbar korrekter Mechanismen. Routing funktioniert selten isoliert innerhalb eines Protokolls. Stattdessen greifen mehrere Ebenen ineinander: Protokollverhalten, Policy, Next-Hop-Auflösung und Forwarding. Genau aus diesem Zusammenspiel ergeben sich typische Fehlerbilder, die sich nicht auf den ersten Blick erklären lassen.
Ein häufiges Missverständnis besteht darin, Routing als einen linearen Ablauf zu betrachten. In der Realität handelt es sich um eine Kette voneinander abhängiger Entscheidungen. Eine Route wird empfangen, durch Policies verarbeitet, bewertet, ausgewählt und schließlich technisch umgesetzt. An jeder dieser Stellen kann sie scheitern, ohne dass die vorherigen Schritte fehlerhaft waren. Diese Trennung ist entscheidend, denn sie erklärt, warum eine scheinbar korrekte Konfiguration zu unerwartetem Verhalten führen kann.
Ein typisches Beispiel ist eine funktionierende BGP-Session ohne nutzbare Routen. Aus Sicht des Protokolls ist alles in Ordnung: Die Session steht und es werden Nachrichten ausgetauscht. Dennoch fehlen im Routing Table die entsprechenden Präfixe. Die Ursache liegt häufig darin, dass eingehende Routen durch eine Policy verworfen werden. Der Transportmechanismus funktioniert, aber die Verarbeitungslogik verhindert die Nutzung der Information. Ohne die bewusste Trennung dieser Ebenen wirkt das Verhalten widersprüchlich.
Ein anderes Szenario zeigt sich, wenn Routen zwar akzeptiert, aber nicht genutzt werden. In diesem Fall liegt das Problem nicht mehr im Empfang oder in der Policy, sondern in der Entscheidungslogik. Mehrere Pfade konkurrieren miteinander, und einer wird als bevorzugt ausgewählt. Die übrigen bleiben erhalten, werden jedoch nicht aktiv verwendet. Dieser Zustand ist kein Fehler, sondern Teil der Funktionsweise von BGP. Schwierigkeiten entstehen erst, wenn die Erwartung nicht mit der tatsächlichen Auswahl übereinstimmt.
Besonders häufig treten Probleme im Zusammenhang mit der Next-Hop-Auflösung auf. Eine Route kann alle vorherigen Stufen erfolgreich durchlaufen haben und dennoch scheitern, weil der Router keinen gültigen Weg zum angegebenen Next-Hop kennt. In diesem Fall ist die Route logisch vorhanden, aber praktisch unbrauchbar. Sie wird nicht in die aktive Weiterleitung übernommen, obwohl sie korrekt empfangen und bewertet wurde. Dieses Verhalten führt oft zu der Annahme, dass das Problem im Routingprotokoll selbst liegt, obwohl es tatsächlich im darunterliegenden Netzwerk zu finden ist.
Ein weiterer komplexer Fehlerfall entsteht durch inkonsistente Sichtweisen innerhalb des Netzwerks. Wenn unterschiedliche Router dieselbe Route unterschiedlich bewerten, kann es zu unerwarteten Verkehrsflüssen kommen. Diese Inkonsistenz kann aus unterschiedlichen Policies, variierenden Metriken oder ungleichen Informationen über die Topologie resultieren. Gerade in größeren Umgebungen mit mehreren Übergangspunkten ist dies eine häufige Ursache für suboptimales Routing. Der Verkehr folgt nicht dem vermeintlich besten Pfad, sondern demjenigen, der aus Sicht des jeweiligen Routers als optimal erscheint.
Auch die Wechselwirkung zwischen Inter- und Intra-Domain-Routing spielt eine zentrale Rolle. BGP entscheidet über externe Pfade, verlässt sich jedoch für die Erreichbarkeit des Next-Hops auf das interne Routing. Wenn diese beiden Ebenen nicht konsistent sind, entstehen zwangsläufig Probleme. Ein Router kann einen optimalen externen Pfad kennen, ohne ihn tatsächlich nutzen zu können, weil die interne Struktur keine passende Weiterleitung erlaubt. Umgekehrt kann ein intern gut erreichbarer Pfad bevorzugt werden, obwohl er extern ungünstiger ist.
Die Forwarding-Ebene bildet schließlich die letzte Instanz, in der sich entscheidet, ob eine Route tatsächlich genutzt wird. Selbst wenn sie in der Routingentscheidung als aktiv gilt, kann sie daran scheitern, dass sie nicht in die Forwarding-Tabelle übernommen wird. Dies geschieht beispielsweise dann, wenn die notwendige Next-Hop-Rekursion nicht erfolgreich abgeschlossen werden kann oder wenn Einschränkungen in der Hardware bestehen. Diese Art von Problem ist besonders schwer zu erkennen, da sie nicht unmittelbar in der logischen Routinganzeige sichtbar ist.
Ein strukturierter Ansatz zur Analyse solcher Probleme besteht darin, den Weg einer Route Schritt für Schritt nachzuvollziehen. Zunächst wird geprüft, ob sie überhaupt empfangen wurde. Danach folgt die Frage, ob sie durch Policies verändert oder verworfen wurde. Anschließend wird analysiert, ob sie in der Entscheidungslogik ausgewählt wurde. Abschließend wird überprüft, ob sie in der Forwarding-Ebene angekommen ist und der Next-Hop tatsächlich erreichbar ist. Jede dieser Stufen bildet eine eigene Fehlerquelle, die unabhängig von den anderen betrachtet werden kann.
Die größte Herausforderung liegt darin, diese Ebenen nicht miteinander zu vermischen. Wird ein Problem vorschnell einer falschen Ursache zugeordnet, entstehen oft unnötige Änderungen, die das Verhalten weiter verschlechtern. Eine saubere Trennung der einzelnen Prozesse erlaubt hingegen eine gezielte und reproduzierbare Analyse. Routing wird dadurch nicht einfacher, aber berechenbar.
Die Erfahrung zeigt, dass die meisten komplexen Fehlerbilder letztlich auf grundlegende Mechanismen zurückzuführen sind. Es handelt sich nicht um unerklärliche Sonderfälle, sondern um die logische Konsequenz aus der Kombination mehrerer Regeln. Wer diese Regeln verstanden hat und in der richtigen Reihenfolge anwendet, kann auch komplexe Situationen systematisch auflösen.