Summary

  • RFC 778 beschrieb den DCNET-Uhrendienst über vorgeschlagene ICMP-Zeitstempel und eine vorübergehende GGP-Echo-Kompatibilität.
  • Die Funkreferenz COMSAT-WWV lieferte normalerweise WWVB-Zeit auf eine Millisekunde genau. Andere Hosts konnten dennoch regelmäßig um einen beträchtlichen Bruchteil einer Sekunde abweichen; der beschriebene Weg zu einem BBN-Gateway dauerte typischerweise 550 ms hin und zurück.

Wer eine gute Uhr besitzt, hat noch lange kein pünktliches Büro. D. L. Mills beschrieb in RFC 778 vom 18. April 1981 einen ganzen Satz solcher Uhren. Der virtuelle Host COMSAT-WWV besaß einen Spectracom-Empfänger für das WWVB-Funksignal. Die Funkuhr lieferte Uhrzeit und Datum normalerweise innerhalb einer Millisekunde. Die übrigen DCNET-Hosts korrigierten Offset und Gangabweichung dagegen. Bei manchen Rechnern waren Stromnetzuhren schwer zu verfolgen; Abweichungen um einen beträchtlichen Bruchteil einer Sekunde kamen routinemäßig vor. Die Genauigkeit der Quelle musste erst durch die Maschinen hindurch.

Der Internet Clock Service stand auf allen DCNET-Hosts zur Verfügung, vor allem zum Synchronisieren und für Einweg-Laufzeitmessungen mit kooperierenden Internet-Hosts. Dafür dienten die damals vorgeschlagenen ICMP-Nachrichten Timestamp und Timestamp Reply. Eine Übergangslösung verwendete zusätzlich GGP Echo und Echo Reply für bestehende Systeme. Mills ermunterte andere Hosts und Gateways, die Methode zu entwickeln und ihre breitere Nutzbarkeit zu prüfen. Die Beschreibung erfasste die DCNET-Praxis und das nächste Experiment.

Im Datagramm standen drei Uhrzeiten: Ursprung, Eingang beim Empfänger und Versand der Antwort. Der Absender füllte vor dem Start zunächst alle drei Felder mit seiner Ortszeit. Der Empfänger überschrieb beim Eingang das zweite und vor der Rücksendung das dritte. ICMP benutzte die Typen 13 und 14; GGP Echo ging als Typ 8 hinaus und kam als Typ 0 zurück. Die Zahlen zählten Millisekunden seit Mitternacht Weltzeit, gewöhnlich mit Rechnungen modulo 24 Stunden. Das von RFC 778 angegebene Datagramm umfasste 36 Oktette samt 20-Oktett-Internet-Header. Eine kleine Stempelkarte auf Reisen.

Bei der Rückkehr fügte der Absender den vierten Zeitpunkt hinzu. Aus Hin- und Rückweg entstand eine Rundreisezeit ohne die interne Bearbeitung beim DCNET-Host. In der Summe hob sich der Versatz zwischen beiden Rechneruhren auf. Für die einzelnen Richtungen spielte dieser Versatz wieder eine Rolle. Wer einen Funkempfänger mit Millisekundengenauigkeit besitzt, hat damit noch keine Zauberformel für die Einweg-Laufzeit zweier auseinanderlaufender Rechner.

Der Weg zur Zeitquelle verlief über handfeste Infrastruktur. COMSAT-WWV residierte in COMSAT-GAT. Bis zum BBN-Gateway nannte das Dokument einen weiteren Gateway, Clarksburg SIMP und eine Leitung mit 4.800 bit/s. Die typische Hin- und Rückfahrt zwischen COMSAT-GAT und dem BBN-Gateway betrug dort 550 Millisekunden. Das war die Messung dieser Route. Die präzise Funkzeit stieg in ein Paket, das anschließend seine eigene halbe Sekunde unterwegs war.

Für die Fehlersuche gab es ein kleines Bedienhandbuch. Per TELNET verband man sich mit COMSAT-GAT. SET HOST HOST lieferte die Offset-Tabelle der DCNET-Hosts. SET WWV SHOW zeigte Verkehrsdaten und die letzte Antwort des Spectracom-Geräts. Ein Leerzeichen vor der Uhrzeit bedeutete korrekt empfangenes WWVB; ein ? markierte gestörten Empfang. Zudem beschrieb das RFC, welcher Tabellenwert den Zeitstempeln von COMSAT-GAT oder COMSAT-WWV hinzugerechnet werden sollte, um die ausgestrahlte Funkzeit zu erhalten. Am Ende sollte man die Verbindung schließen, „please!“. Selbst die Internet-Uhr bat um einen aufgeräumten Schreibtisch.

Fiel der Spectracom-Empfänger aus oder verhielt er sich falsch, wurde der virtuelle Host COMSAT-WWV in dieser Konstruktion unerreichbar; eine entsprechende GGP-Meldung kam zurück. RFC 777 definierte im selben April die ICMP-Zeitstempeltypen und verwies auf Mills. RFC 792 legte im September die überarbeitete ICMP-Form fest. Der DCNET-Dienst stand mitten in diesem Übergang und machte zugleich seine Funkreferenz und die lokalen Korrekturen sichtbar.

Eine Zeitangabe aus dem Netz war hier kein Orakelspruch. Der Signalstatus sagte, ob die Referenz ankam. Die Tabelle sagte, wie weit die Hosts fortgelaufen waren. Das Antwortpaket lieferte die Reisekosten. RFC 778 schrieb die Fragen gleich neben die Uhr. Das Fragezeichen auf dem Funkstatus war kein Makel der Dokumentation; es war eine ehrliche Anzeige dafür, wann man besser nachsieht.