Zusammenfassung

  • Die Type-68-Option aus RFC 791 ließ IP-Module Zeiten anhängen und optional Adressen notieren; ein vier Bit breiter Überlaufzähler erfasste Module ohne Schreibplatz.
  • Da Uhren nicht zwingend synchronisiert waren und der Eintrag nur begrenzten Platz hatte, bot die Option Teilbeobachtungen statt einer verlässlichen Ende-zu-Ende-Laufzeitmessung.

Ein Zeitwert im Datagramm

RFC 791 definierte die Internet-Timestamp-Option vom Typ 68. Der Absender reservierte Platz im IP-Header; jedes teilnehmende IP-Modul durfte beim Verarbeiten des Datagramms eine Zeit eintragen. Der 32-Bit-Wert zählte Millisekunden seit Mitternacht UT. Wenn UT nicht verfügbar war oder die Uhr nicht nach UT lief, kennzeichnete das höchstwertige Bit den Wert als nicht standardisiert.

Die Flags legten den Inhalt eines Eintrags fest. Flag 0 speicherte nur die Zeit. Flag 1 verknüpfte jede Zeit mit einer Adresse. Flag 3 enthielt vorgegebene Adressen; ein Modul trug nur dann eine Zeit ein, wenn seine Adresse zur nächsten Vorgabe passte. Der Zeiger bezeichnete den nächsten Eintrag. Die Option durfte höchstens 40 Oktette lang sein. Der Absender musste also entscheiden, wie viel Headerplatz er für das Protokoll reservierte.

Diese Grenze erklärt den Überlaufzähler. Seine vier Bits zählten IP-Module, die eine volle Option vorfanden und keinen Zeitwert ergänzen konnten. War kein Platz mehr da, leitete das Modul das Paket weiter und erhöhte den Zähler. Reichte verbleibender Platz nicht für einen vollständigen Zeitwert oder überschritt der Zähler selbst seinen Bereich, galt das Datagramm nach RFC 791 als fehlerhaft; eine ICMP-Parameter-Problem-Meldung durfte gesendet werden. Das Feld nannte weder den fehlenden Router noch den Grund.

Auch die Weitergabe war begrenzt: Bei Fragmentierung wurde die Option nicht in weitere Fragmente kopiert und durfte nur einmal vorkommen. Daher musste nicht jedes Fragment eine vollständige Routenaufzeichnung enthalten.

Beobachtungen, keine verstrichene Zeit

Eine Reihe von Zeitwerten kann wie eine Latenzspur wirken. RFC 791 garantierte jedoch weder synchronisierte und genaue Uhren noch die Beteiligung aller Router oder eine vollständige Hopliste. Jeder Wert spiegelte die Uhr des schreibenden IP-Moduls wider. Die Differenz zwischen zwei Werten kann Uhrversatz und tatsächliche Laufzeit vermischen. Belastbar ist nur die engere Aussage: Das Paket konnte eine begrenzte Zahl von Adress-Zeit-Beobachtungen samt Überlaufzähler tragen.

Die späteren Hostanforderungen bestätigten, dass die Funktion optional war. RFC 1122 machte sowohl das Erzeugen als auch die Verarbeitung der Timestamp-Option optional. Ein Standard legte Format und Verhalten fest, bewies aber keine Einführung auf Hosts oder Routern.

RFC 7126 beschrieb 2014 Sicherheitsrisiken: Offenlegung von Uhren, Rückschlüsse auf Topologien und Geräte-Fingerprinting. Der RFC zufolge machten weit verbreitete Verwerfungen diese Techniken praktisch unmöglich; er empfahl, dass Router, Sicherheitsgateways und Firewalls Pakete mit dieser Option VERWERFEN SOLLTEN. Das ist die Einschätzung und Empfehlung dieses RFC, keine aktuelle Messung aller Netze.

Die Option zeigt eine Grenze der Beobachtbarkeit: Ein In-Band-Protokoll kann nützliche Spuren hinterlassen und zugleich unvollständig, uhrenabhängig und platzsparend sein. Das Format sagt, was ein teilnehmendes Modul eintragen konnte. Ein fehlender Eintrag beweist nicht, dass es den betreffenden Hop nicht gab.

Quellen