Zusammenfassung

  • LSRR und SSRR legten Zwischenadressen im IPv4-Header ab; jedes beteiligte System entschied selbst über ihre Verarbeitung.
  • Spätere Standards behielten das Format bei, schalteten nichtlokales Source-Forwarding jedoch standardmäßig aus und empfahlen, die Optionen standardmäßig zu verwerfen.

Normalerweise zeigt das IPv4-Zieladressenfeld an, wohin ein Paket als Nächstes gelangen soll. Source-Routing machte diese Antwort vorläufig. Erreichte das Paket die aktuelle Adresse und enthielt die Option noch eine weitere, konnte ein teilnehmendes System die nächste Adresse in das Zielfeld übernehmen, seine ausgehende Schnittstellenadresse in den frei gewordenen Platz schreiben und den Zeiger um vier Oktette verschieben. Die Route war damit veränderlicher Zustand im Paket, nicht bloß eine Markierung.

LSRR hatte den Typ 131 und erlaubte normales Routing zwischen den angegebenen Stationen. SSRR hatte den Typ 137 und verlangte, dass die nächste Station direkt erreichbar war. Beide Optionen enthielten Länge, Zeiger und IPv4-Adressplätze; diese Felder mussten vor der Verarbeitung geprüft werden. Das Kopierbit ließ die Optionen jedes Fragment begleiten, während die maximale IPv4-Headerlänge von 60 Oktetten die Länge der Liste begrenzte.

Der Absender erhielt dadurch keine allgemeine Befehlsgewalt. Jedes System konnte lokale Filter und Richtlinien anwenden. SSRR konnte scheitern, wenn der nächste Eintrag nicht in einem direkt angeschlossenen Netz lag. Die aufgezeichneten Adressen zeigten nur, welche Systeme die Option angenommen und verarbeitet hatten; sie authentifizierten nicht den gesamten Pfad.

RFC 1122 machte die Weiterleitung zu einer Host-Richtlinienfrage. Ein Host durfte als Zwischenstation dienen, musste für nichtlokales Source-Forwarding aber eine abschaltbare Funktion anbieten, deren Standardzustand deaktiviert war. Gateway-Filter blieben anwendbar. Konnte eine unvollständige Source-Route nicht weitergeleitet werden, konnte ICMP Destination Unreachable, Code 5, Source Route Failed, den Fehler melden.

RFC 6274 beschrieb Risiken: Routing-Kontrollen konnten umgangen, Systeme über unerwartete Schnittstellen erreicht, Topologie offengelegt und Pakete auf künstliche Umwege gelenkt werden. Außerdem mussten Länge und Zeiger geprüft werden, bevor Adressplätze gelesen oder beschrieben wurden. Die Empfehlung lautete, LSRR und SSRR standardmäßig zu verwerfen, aber eine ausdrückliche Aktivierung für tatsächlich benötigte Umgebungen zu bewahren, etwa für begrenzte Diagnose- oder Peering-Szenarien.

RFC 7126 unterschied drei Betriebsarten: Paket verwerfen, Option ignorieren und normal weiterleiten oder nach RFC 791 verarbeiten. Für beide Optionen sollte der Standardwert drop sein und dokumentiert werden. Ignorieren ist nicht dasselbe wie Verwerfen; das Paket kann ein anderes Gerät erreichen als vom Absender an dieser Stelle erwartet.

Die Geschichte handelt daher vom Ende des Vertrauens als Voreinstellung, nicht vom Verschwinden der Funktion. Source-Routing bleibt in IPv4 spezifiziert, doch ein Paket darf die automatische Mitarbeit des Netzes nicht mehr voraussetzen.

Quellen