JNCIP-ENT: Routing Decisions in Junos
20.06.2026 5 Min. Lesezeit
Routingentscheidungen in Junos folgen einem klar strukturierten, aber oft unterschätzten Mechanismus, der sich nur erschließt, wenn man zwischen logischer Entscheidung und tatsächlicher Weiterleitung unterscheidet. Viele scheinbar widersprüchliche Beobachtungen – etwa dass eine Route sichtbar, aber nicht aktiv ist oder dass Traffic nicht wie erwartet fließt – lassen sich genau auf diese Trennung zurückführen.
Im Kern arbeitet Junos mit zwei getrennten Ebenen. Die Routing Information Base (RIB) ist die logische Entscheidungsinstanz. Hier werden alle bekannten Routen gesammelt, miteinander verglichen und schließlich eine Auswahl getroffen. Diese Auswahl ist das Ergebnis verschiedener Kriterien, die je nach Protokoll unterschiedlich gewichtet werden. Die Forwarding Information Base (FIB) hingegen repräsentiert die tatsächliche Weiterleitungslogik. Sie wird in der Forwarding Engine programmiert und bestimmt, wohin ein Paket konkret geschickt wird.
Ein häufiger Denkfehler besteht darin, anzunehmen, dass eine Route automatisch verwendet wird, sobald sie im Routing Table sichtbar ist. Die Anzeige in show route spiegelt jedoch lediglich den Zustand in der RIB wider, nicht zwingend den effektiven Forwarding-Zustand. Erst wenn eine Route erfolgreich in die FIB übernommen wird, ist sie für die tatsächliche Paketweiterleitung relevant. Diese Unterscheidung ist essenziell, insbesondere beim Troubleshooting.
Die Auswahl einer Route beginnt immer mit der spezifischsten Übereinstimmung. Ein Ziel wird nicht anhand der kürzesten Distanz, sondern anhand der präzisesten Prefix-Definition ausgewählt. Eine Route zu einem /24 wird grundsätzlich einer /16 vorgezogen, selbst wenn die über das /16 erreichbare Strecke objektiv kürzer erscheinen mag. Diese Regel steht immer an erster Stelle und überlagert alle anderen Kriterien.
Erst danach wird entschieden, welches Protokoll überhaupt berücksichtigt wird. Jedes Routingprotokoll besitzt eine Präferenz, also eine interne Gewichtung. Direkt verbundene Netze haben die höchste Priorität, gefolgt von statischen Routen, dann IGPs wie OSPF oder IS-IS und schließlich BGP. Diese Reihenfolge bestimmt, welches Protokoll „gewinnt“, wenn mehrere Wege zum gleichen Präfix existieren. Entscheidend ist, dass diese Bewertung vor jeder protokollspezifischen Optimierung stattfindet. Ein perfekt optimierter BGP-Pfad hat keine Chance, wenn gleichzeitig eine statische Route existiert.
Innerhalb eines Protokolls greifen dann die jeweiligen Mechanismen. Bei OSPF ist es der Cost, bei BGP eine komplexe Kette von Attributen. Diese internen Entscheidungen finden jedoch vollständig innerhalb der RIB statt und beeinflussen zunächst nur, welche Route als „beste“ gilt. Ob diese Route tatsächlich genutzt werden kann, entscheidet sich erst im nächsten Schritt.
Die zentrale Rolle spielt dabei die Next-Hop-Auflösung. Jede Route verweist auf einen Next-Hop, der wiederum selbst erreichbar sein muss. Diese Erreichbarkeit wird rekursiv geprüft. Eine Route kann in sich vollkommen korrekt sein und dennoch verworfen werden, wenn der Router keinen Weg zum Next-Hop kennt. In diesem Fall bleibt die Route entweder inaktiv oder wird als „hidden“ markiert. Der Unterschied zwischen diesen Zuständen ist subtil, aber wichtig: eine inaktive Route wird zwar angezeigt, aber nicht verwendet, während eine hidden Route in vielen Ausgaben gar nicht mehr erscheint oder explizit als nicht verwendbar gekennzeichnet ist.
Besonders im Zusammenspiel mit BGP tritt dieses Verhalten häufig auf. Wird beispielsweise eine Route über iBGP weitergegeben, bleibt der ursprüngliche Next-Hop unverändert. Wenn das darunterliegende Netzwerk keine Kenntnis über die Erreichbarkeit dieses Next-Hops hat, scheitert die Auflösung. Die Route existiert dann weiterhin in der BGP-Tabelle, kann aber nicht in die aktive Routingentscheidung übernommen werden. Diese Situation führt oft zu dem Eindruck, dass „BGP nicht funktioniert“, obwohl das eigentliche Problem im IGP oder in der fehlenden Weitergabe von Infrastrukturpräfixen liegt.
Ein weiterer relevanter Zustand ist der Fall, in dem eine Route zwar korrekt ausgewählt wurde – also als aktiv in der RIB erscheint –, aber dennoch nicht im Forwarding Table landet. Hier liegt die Ursache meist tiefer, etwa in der Next-Hop-Rekursion oder in Einschränkungen der Forwarding-Hardware. Auch Konstellationen mit indirekten Next-Hops können dazu führen, dass eine Route logisch korrekt ist, aber nicht praktisch nutzbar. In solchen Fällen ist die Diskrepanz zwischen RIB und FIB der entscheidende Hinweis.
Die verschiedenen Statusanzeigen in Junos geben dabei direkte Hinweise auf die zugrunde liegenden Mechanismen. Eine Route mit dem Status „active“ ist die aktuell gewählte Route für ein bestimmtes Präfix. Eine „inactive“ Route ist zwar bekannt, wird aber aus bestimmten Gründen nicht verwendet, etwa weil eine bessere Route existiert oder der Next-Hop nicht erreichbar ist. Eine „hidden“ Route deutet auf ein grundlegenderes Problem hin, beispielsweise dass sie durch eine Policy verworfen wurde oder die Next-Hop-Auflösung gescheitert ist.
Gerade Policies spielen in diesem Zusammenhang eine oft unterschätzte Rolle. Sie greifen bereits während der Verarbeitung eingehender Routen und können entscheiden, welche Routen überhaupt in Betracht gezogen werden. Eine Route kann also korrekt empfangen worden sein, in der RIB jedoch nie erscheinen, weil sie zuvor verworfen wurde. Diese Trennung zwischen Empfang und Verarbeitung führt häufig zu Missverständnissen, insbesondere wenn unterschiedliche Diagnosewerkzeuge unterschiedliche Sichtweisen liefern.
Das Zusammenspiel aller dieser Faktoren macht deutlich, dass Routingentscheidungen nicht als linearer Prozess verstanden werden dürfen. Es handelt sich vielmehr um eine Abfolge von Filtern und Bewertungen, bei der jede Stufe eine Route entweder weitergibt oder eliminiert. Erst wenn eine Route alle diese Stufen erfolgreich durchläuft – von der Annahme über die Bewertung bis hin zur technischen Umsetzbarkeit im Forwarding – wird sie tatsächlich verwendet.
Der praktische Schlüssel liegt darin, bei Problemen nicht nur zu fragen, ob eine Route existiert, sondern an welcher Stelle im Entscheidungsprozess sie scheitert. Ob sie nie akzeptiert wurde, ob sie im Vergleich unterlegen ist oder ob sie technisch nicht umgesetzt werden kann, lässt sich nur durch die bewusste Trennung der einzelnen Ebenen sauber analysieren.