Link State Routing Vs Distance Vector

Stell dir vor, du planst eine epische Roadtrip durch Deutschland! Du willst von München nach Hamburg, aber du kennst dich überhaupt nicht aus. Es gibt zwei grundverschiedene Arten, wie du (oder dein Navi!) den besten Weg finden kannst – und die ähneln den beiden Haupttypen von Routing-Protokollen im Internet: Link State Routing und Distance Vector Routing.
Distance Vector Routing: Das Flüstern
Stell dir vor, du fragst in München den ersten Passanten: "Wie komme ich am schnellsten nach Hamburg?" Der Passant hat keine Ahnung von der gesamten Route, aber er weiß vielleicht: "Fahr nach Nürnberg, das sind ungefähr 160 Kilometer." In Nürnberg fragst du wieder jemanden: "Okay, wie geht's weiter nach Hamburg?" Und der sagt: "Am besten über Kassel, sind so 300 Kilometer." Das machst du immer und immer wieder, bis du schließlich in Hamburg ankommst. Jeder erzählt dir nur den besten Weg zum nächsten Ort, den er kennt, und die Distanz dorthin. Das ist im Grunde Distance Vector Routing.
Jeder Router (das sind die Wegweiser im Internet) kennt nur die Entfernung und die Richtung zu seinen direkten Nachbarn. Er tauscht regelmäßig Infos mit denen aus: "Hey, ich kann zu Ziel X in Y Kilometern erreichen." Die Nachbarn nehmen diese Infos und sagen: "Aha! Wenn ich zu dir Y Kilometer brauche und du zu Ziel X in Y Kilometern, dann kann ich zu Ziel X in Y+Y Kilometern!" Klingt erstmal simpel, oder?
Must Read
Aber hier kommt der Clou: Stell dir vor, die Autobahn zwischen Kassel und Hamburg ist wegen Bauarbeiten gesperrt. Der Router in Kassel "weiß" das natürlich sofort. Aber er muss jetzt allen seinen Nachbarn erzählen: "Leute, Hamburg ist NICHT mehr über mich erreichbar!" Und die Nachbarn müssen dann ihren Nachbarn erzählen… und so weiter. Das kann eine Weile dauern, bis sich diese Information im gesamten Netzwerk herumspricht. Manchmal kann das zu lustigen (oder frustrierenden!) Situationen führen, in denen du fälschlicherweise einen Umweg fährst, weil dein Navi noch die alte Information hat. Das nennt man im Fachjargon "Count-to-Infinity Problem" – ein Problem, das so klingt, als würde es aus einem Mathe-Albtraum stammen!
Das Distance Vector Routing ist wie ein super-langsames, leicht fehleranfälliges Flüstern über weite Entfernungen. Aber es ist einfach einzurichten und zu verstehen!
Link State Routing: Die Landkarte
Jetzt die andere Variante: Du gehst in einen Buchladen und kaufst dir eine riesige, detaillierte Deutschlandkarte. Du siehst ALLE Städte, ALLE Autobahnen, ALLE Landstraßen und die genauen Entfernungen. Du kannst dir selbst den optimalen Weg von München nach Hamburg aussuchen. Das ist im Prinzip Link State Routing.

Jeder Router (unser Wegweiser) kennt die gesamte Topologie des Netzwerks. Er weiß, welche Router mit welchen anderen Routern verbunden sind und wie "teuer" (z.B. wie schnell oder zuverlässig) diese Verbindungen sind. Jeder Router baut sich im Grunde eine eigene, kleine "Landkarte" des gesamten Internets zusammen (gut, nicht des gesamten Internets, aber zumindest des Teils, für den er zuständig ist). Und dann berechnet er mit einem ausgeklügelten Algorithmus (meistens Dijkstra's Algorithmus, aber das ist eine Geschichte für einen anderen Tag!) den besten Weg zu jedem Ziel.
Wenn jetzt die Autobahn zwischen Kassel und Hamburg gesperrt ist, weiß das jeder Router sofort. Denn er hat ja die gesamte Karte! Er kann sofort einen alternativen Weg berechnen, ohne auf das langsame Flüstern seiner Nachbarn warten zu müssen.

Der kleine Haken
Der Nachteil? Diese "Landkarte" braucht Speicherplatz und die Berechnung des besten Weges braucht Rechenleistung. Stell dir vor, du müsstest jedes Mal, wenn ein Stau auf der A3 entsteht, die gesamte Deutschlandkarte neu berechnen! Das ist zwar nicht ganz so dramatisch, aber es erklärt, warum Link State Routing etwas komplexer einzurichten und zu betreiben ist als Distance Vector Routing.
Trotzdem: Stell dir vor, dein Navi würde dir sagen, dass du erst nach Rom fahren musst, um nach Paris zu kommen. Das wäre doch lächerlich! Link State Routing vermeidet solche absurden Routen, weil es das große Ganze im Blick hat.

Fazit: Landkarte oder Flüstern?
Beide Methoden haben ihre Vor- und Nachteile. Distance Vector Routing ist einfach und leichtgewichtig, aber langsam und anfällig für Fehler. Link State Routing ist komplexer und ressourcenintensiver, aber schneller, genauer und robuster.
Welche Methode ist nun besser? Das hängt von der Größe und Komplexität des Netzwerks ab. Für kleine, einfache Netzwerke mag Distance Vector Routing ausreichen. Für große, komplexe Netzwerke ist Link State Routing die bessere Wahl.
Am Ende des Tages ist das Routing im Internet wie eine gut geplante (oder manchmal auch weniger gut geplante) Roadtrip. Hauptsache, du kommst ans Ziel!
