Woher bekommt mein Computer die Zeit?
(dotat.at)- Die Computerzeit beginnt normalerweise bei NTP, aber dahinter steht eine lange Lieferkette aus Referenzuhren, GPS, dem US Naval Observatory und internationalen Zeitstandards
- Stratum-1-NTP-Server verwenden Funksignale wie MSF oder DCF77 oder GPS-Empfänger als Referenzuhr; in der Praxis ist GPS oft die häufigste Quelle
- Verfolgt man die GPS-Zeit zurück, gelangt man zur Schriever Space Force Base in Colorado, zur US Naval Observatory Alternate Master Clock und zum US Naval Observatory in Washington, D.C.
- UTC ist ein Standard, der die Zeit von Atomuhren mit der Erdrotation in Einklang bringt; Bulletin C des IERS und Circular T des BIPM verwalten Schaltsekunden und Abweichungen zur offiziellen UTC
- Die heutige, auf Cäsium basierende Definition der Sekunde geht auf die Kalibrierungsarbeit von 1955 bis 1958 zurück, die die Atomuhr von Louis Essen und Jack Parry, astronomische Beobachtungen von William Markowitz und das WWV-Funkzeitsignal verband
Die Zeithierarchie, die bei NTP beginnt
- Die kürzeste Antwort auf die Frage, woher ein Computer seine Zeit bekommt, lautet NTP
- Allerdings erzeugen auch NTP-Server ihre Zeit nicht selbst; verfolgt man die Quelle weiter zurück, ergeben sich mehrere Ebenen
- NTP verteilt Zeit in einer Stratum-Struktur
- Stratum-3-NTP-Server beziehen ihre Zeit von Stratum-2-NTP-Servern
- Stratum-2-NTP-Server orientieren sich an Stratum-1-NTP-Servern
- Stratum-1-NTP-Server holen die Zeit direkt von einer Referenzuhr
- Eine Referenzuhr kann ein Funksignal wie MSF aus Großbritannien oder DCF77 aus Deutschland sein, oft ist es aber ein GPS-Empfänger
GPS-Zeit und das US Naval Observatory
- Verfolgt man die Quelle der GPS-Zeit, landet man bei der Schriever Space Force Base in Colorado
- In Schriever gibt es mehrere streng geheime Satelliten und zugehörige Missionen, daher ist es schwer, sich zu nähern und gute Fotos zu machen
- Vor Ort befindet sich die US Naval Observatory Alternate Master Clock
- Diese alternative Master Clock erhält ihre Zeit vom US Naval Observatory in Washington, D.C.
Die drei Grundlagen, auf denen das USNO seine Zeit abgleicht
-
Atomuhren
- Die erste Grundlage des US Naval Observatory sind viele Atomuhren
- Verwendet werden rackmontierte Cäsiumstrahluhren, schwarze Kästen mit Wasserstoffmasern und rubidium fountains
- Das USNO besitzt so viele Uhren, dass es dafür sogar ein eigenes Gebäude gibt
- Auf Apple Maps war in der Mitte des USNO-Campus eine große Baustelle zu sehen, die sich als neues Uhrengebäude herausstellte
- Die wichtigste Grenze der Uhrengenauigkeit ist die Stabilität der Umgebung wie Temperatur und Luftfeuchtigkeit; das neue Gebäude soll mit leistungsstarker Klimatisierung ausgestattet werden
-
Informationen zur Erdrotation
- Die zweite Grundlage ist, dass UTC ein Kompromiss zwischen Atomzeit und Erdrotationszeit ist
- Das USNO erhält dazu Informationen vom internationalen Erdrotationsdienst IERS mit Sitz an der Pariser Sternwarte
- Der IERS verschickt zweimal im Jahr Bulletin C, das mitteilt, ob es in sechs Monaten eine Schaltsekunde geben wird
- Schaltsekunden können hinzugefügt oder entfernt werden, um UTC mit der Erdrotation zu synchronisieren
- IERS Bulletin A ist eine wöchentliche Mitteilung mit präzisen Informationen zu Erdorientierungsparametern und wird vom US Naval Observatory herausgegeben
- Damit GPS präzise Positionen liefern kann, muss die Richtung der Erde unter den Satelliten genau bekannt sein
-
Verifikation der Atomuhren
- Die dritte Grundlage sind Informationen zur Überprüfung, ob die Atomuhren des USNO korrekt arbeiten
- Diese Informationen kommen vom BIPM in Paris, das die weltweite Standard-UTC pflegt
BIPM, UTC und die SI-Sekunde
- Das BIPM sammelt Zeitmessungen nationaler Zeitinstitute aus aller Welt und bestimmt daraus die offizielle UTC
- Das regelmäßig veröffentlichte Circular T enthält Informationen über Abweichungen zwischen der offiziellen UTC und der UTC der einzelnen nationalen Zeitinstitute
- Das BIPM ist auch für die Pflege des internationalen Einheitensystems SI verantwortlich
- Das SI wird von der CGPM definiert; die CGPM ist eine internationale Vertragsorganisation, die 1875 durch die Meterkonvention gegründet wurde
- UTC ist die Umsetzung der SI-Zeiteinheit auf Basis von Quantenmessungen an Cäsiumatomen
- Die Zahl von etwa 9,2 GHz in der heutigen Definition der Sekunde geht auf die frühe Kalibrierung von Cäsium-Atomuhren zurück
Die Verbindung zwischen Cäsium-Atomuhr und astronomischer Sekunde
- 1955 bauten Louis Essen und Jack Parry die erste Cäsium-Atomuhr; die heutige Definition der Sekunde geht auf die Kalibrierung dieser Uhr zurück
- Vor den Atomuhren war die Sekunde astronomisch definiert, daher mussten Essen und Parry herausfinden, wie schnell ihre Atomuhr im Vergleich zum bestehenden Zeitstandard tickte
- An dieser Verknüpfungsarbeit waren Astronomen des US Naval Observatory beteiligt
- William Markowitz maß die Zeit durch Himmelsbeobachtung
- Louis Essen maß die Zeit anhand der Atomuhr
- Um beide Messungen abzugleichen, hörten beide das WWV-Funkzeitsignal, das vom National Bureau of Standards in Washington, D.C. ausgestrahlt wurde
- Diese Arbeit lief über drei Jahre von 1955 bis 1958
- Was Markowitz maß, war die ephemeris second
- 1952 änderte die Internationale Astronomische Union die Zeitdefinition so, dass sie nicht mehr auf der Erdrotation, sondern auf der Umlaufbahn der Erde um die Sonne basierte
- In den 1930er Jahren wurde entdeckt, dass die Erdrotation nicht vollkommen gleichmäßig ist, sondern sich leicht verlangsamt und beschleunigt
- Als Uhren präziser wurden als die Erdrotation, wurde die ephemeris second zum neuen, präziseren Zeitstandard
- Die ephemeris second basiert auf einer Ephemeride, einem mathematischen Modell des Sonnensystems
- Die Standard-Ephemeride wurde von Simon Newcomb Ende des 19. Jahrhunderts erstellt
- Newcomb sammelte riesige Mengen historischer astronomischer Daten und baute daraus ein mathematisches Modell
- Dieses Modell blieb bis Mitte der 1980er Jahre der Standard
- Auch Simon Newcomb arbeitete beim US Naval Observatory und im US nautical almanac office
- In noch früherer Zeit stellte man Uhren direkter, indem man beobachtete, wie Sterne über den Himmel wandern
- Die Quelle der Computerzeit ist nicht das Royal Greenwich Observatory
1 Kommentare
Hacker-News-Kommentare
Im Zusammenhang mit der Zeithaltung gibt es auch den NIST Randomness Beacon: https://csrc.nist.gov/projects/interoperable-randomness-beac...
Dieser Prototyp erzeugt und veröffentlicht alle 60 Sekunden eine vollständige Entropie-Bitfolge als 512-Bit-Block; jeder Wert ist mit Sequenznummer, Zeitstempel und Signatur versehen und enthält außerdem den Hash des vorherigen Werts, wodurch die Werte zu einer Kette verbunden werden.
Es gab hier den Witz, man „schreibe die Zeit in die Blockchain“, aber im Grunde macht NIST bereits etwas Ähnliches.
Es braucht keinen Konsens und ähnelt einem Git-Repository mit einem einzelnen Autor.
Mir ist nicht ganz klar, warum es nützlich sein soll, eine veröffentlichte lange Zufallszeichenkette in eine Kette aufzunehmen, außer um zu beweisen, dass ein bestimmtes Ereignis nicht vor einem bestimmten Zeitpunkt stattgefunden hat.
Wenn es eine vertrauenswürdige Zeitquelle mit ein paar Schlüsseln gibt, die sich nicht ändern werden, und jeder sie weiterverbreiten kann, scheint das ziemlich nützlich zu sein.
So könnten auch konfigurationsfreie Uhren möglich werden, die sich ohne manuelle Einrichtung die Zeit vom nächstgelegenen Smartphone oder Computer holen.
Es ist erstaunlich zu sehen, wie schnell die Zeit driftet, wenn man verhindert, dass der Computer sie automatisch synchronisiert.
Mein aktueller Haupt-Desktop geht 1,7 Sekunden vor; wahrscheinlich wurde seine Uhr seit ein paar Wochen nicht aktualisiert.
Das ist aber noch nicht besonders schlimm, andere Systeme können deutlich stärker abweichen.
Warum ich sie nicht automatisch per NTP stellen lasse? Vielleicht, weil ich die Driftrate sehen will, vielleicht, weil ich möglichst wenige laufende Dienste haben möchte, vielleicht, weil ich nicht will, dass der Ethernet-Switch vor mir so stark blinkt, oder vielleicht, weil ich daran erinnert werden möchte, was kaputtgeht, wenn die Uhr stark danebenliegt.
Am Ende lautet die Antwort: „weil ich es so will“, und die internen Uhren oder Quarze vieler Computer sind überhaupt nicht präzise.
In einer Woche kann das bei 20 ppm zu rund 12 Sekunden Abweichung führen.
Auf dem Mainboard steckt vermutlich eine CR2032, die die Zeit auch dann weiterführt, wenn der Strom weg ist.
Beispiel für Quarze: https://www.digikey.com/en/products/filter/crystals/171?s=N4...
Dieses Design gefiel mir, denn wenn man NTP repariert, springt die Zeit nach vorn und es entsteht eine Lücke in der wahrgenommenen Zeit, statt dass man „denselben Moment zweimal erlebt“.
Deshalb dachte ich, Quarze würden absichtlich etwas langsamer gebaut, ähnlich wie Tachometer absichtlich etwas zu viel anzeigen, damit Computer nicht in die Zukunft rutschen.
Nach zwei Wochen hatten sich 30 Sekunden Drift angesammelt, und Prometheus schlug Alarm; anfangs hielt ich das fälschlich für eine Warnung, die dadurch entstanden war, dass ich alles auf einen einzelnen Node gepackt hatte.
Beim Abfragen der Metriken sah ich, dass wegen der Drift Fehler auftraten; als ich dann die Ausgabe von
date +'%s'auf Server und Laptop verglich, lag der Unterschied deutlich über 30 Sekunden.Temperaturkompensierte RTC-ICs schaffen auch unter 5 ppm und sind praktisch genau genug, um astronomische Navigation zu betreiben, die traditionelle Aufgabe von Marinechronometern.
2011 kamen Chip-Scale-Atomuhren auf; sie sind deutlich teurer und verbrauchen mehr Strom, halten die Zeit aber innerhalb von 50 ppt.
Eine interessante Erläuterung, aber dieses Format ist viel zu umständlich, um Informationen zu vermitteln.
Es wäre wohl besser gewesen, die Folien zu entfernen, den Text als zusammenhängende Absätze neu zu schreiben und nur die wichtigsten Bilder wieder als Begleitmaterial einzufügen.
Man kann bekannt geben, dass der Vortrag stattgefunden hat, eine Aufzeichnung hochladen, die Folien ohne Erklärung als PDF o. Ä. bereitstellen, die Folien in eine HTML-Seite einbetten und ergänzen, was die Vortragende Person wohl dazu gesagt hat, und schließlich alles als Fließtext neu schreiben.
Hier wurde Schritt 1 bis 4 gemacht; sich darüber zu beschweren, dass Schritt 5 fehlt, hieße also, eine ziemlich große Zusatzarbeit zu verlangen, weshalb man das schwer kritisieren kann. Und schon die Tatsache, dass der Vortrag in lesbarer Form online gestellt wurde, ist eigentlich etwas, wofür man dankbar sein kann.
Ich stimme zu, dass es auf Mobilgeräten, besonders in der frühen Version, schwer zu lesen war, aber das Format „annotierter Vortrag“ an sich ist nicht schlecht.
Es gibt zum Beispiel Fälle wie https://idlewords.com/talks/ mit https://idlewords.com/talks/superintelligence.htm, https://noidea.dog/talks mit https://noidea.dog/impostor oder https://simonwillison.net/tags/annotatedtalks/ mit https://simonwillison.net/2022/Nov/26/productivity/; mit etwas angepasstem CSS, etwa indem man die Bilder rechts platziert, ließe sich das besser lesbar machen.
Etwa: Nach „Hier ist eine Abbildung eines NTP-Pakets“ erscheint ein Foto eines Mannes, der an einem Schreibtisch sitzt.
Hat mir gefallen.
Erwähnenswert ist auch der NTP Pool, eine Ressource, die von vielen Geräten gemeinsam genutzt wird.
Das ist eine Gruppe von NTP-Servern, die von Freiwilligen betrieben wird, und sie wird besonders häufig von Open-Source-nahen Geräten gewählt.
Microsoft, Apple und Google betreiben jeweils eigene Zeitserver, aber für fast alles andere ist der NTP Pool eine hervorragende Ressource: https://www.ntppool.org/en/
Das war interessant, aber in der Umgebung eines Maschinenraums war es schwierig, dauerhaft eine Dome-Antenne angeschlossen zu lassen.
Man mochte keine Spezialkabel, und Zugang zum Dach war aus Sicherheits- und Leckagegründen ein Ärgernis.
Heutzutage sind auch Rubidium-Uhren ziemlich erschwinglich.
Derzeit nehme ich an Bert Huberts GPS-Drift-/Verfügbarkeitsprojekt teil, bei dem mit einem Raspberry Pi die GPS-Sichtbarkeit und -Verfügbarkeit außerhalb des Fensters meines Homeoffice gemessen wird; das macht deutlich mehr Spaß.
Faszinierend ist der Moment, in dem ein Messinstrument oder eine Messmethode präziser, stabiler und verlässlicher wird als die Referenzsubstanz.
Und dann entdeckt irgendwann jemand, meist eine einzelne Person, genau das – oder bewirkt es in manchen Fällen sogar selbst.
Die Ephemeridensekunde basierte auf der Ephemeride, also einem mathematischen Modell des Sonnensystems; die Standard-Ephemeride war ein Modell, das Simon Newcomb Ende des 19. Jahrhunderts aus umfangreichen historischen astronomischen Daten zusammengestellt hatte, und sie blieb bis Mitte der 1980er-Jahre Standard.
1952 änderte die Internationale Astronomische Union die Definition der Zeit so, dass sie nicht mehr auf der Erdrotation beruhte, sondern auf dem Umlauf der Erde um die Sonne, weil in den 1930er-Jahren entdeckt worden war, dass die Erdrotation nicht völlig gleichmäßig ist, sondern sich allmählich verlangsamt oder beschleunigt.
Uhren waren nun präziser als die Erdrotation, und die Ephemeridensekunde wurde zum neuen, präziseren Zeitstandard.
Wenn sie auf der Erdrotation beruhte, was waren dann die „umfangreichen historischen astronomischen Daten“, die Newcomb gesammelt hatte?
Ich frage mich, wie man die Länge der Zeit zuverlässig erfassen und speichern konnte, wenn sie nur auf der sich mit der Zeit ändernden Rotationsgeschwindigkeit der Erde basierte; vermutlich waren es Daten im Vergleich zu anderen Naturphänomenen.
Wenn wir nicht zu abhängig von Big Time sein wollen, brauchen wir meiner Meinung nach einen von der Community gepflegten und demokratisierten Standard zur Zeitverfolgung.
True Time™ wird praktisch durch Mittelung von Dutzenden Atomuhren in Laboren weltweit bestimmt; näher an „von der Community gepflegt“ und „demokratisiert“ kommt man kaum heran, denke ich.
Es scheint ziemlich viel Redundanz und Konsens zu geben, aber ich frage mich, welche Systeme ausfallen würden, nach welchem Zeitplan Probleme entstünden und wie die Wiederherstellung ablaufen würde.
Genauigkeit im Sekundenbereich scheint nicht völlig unrealistisch, auch wenn die Kalibrierung möglicherweise unrealistisch lange dauern würde.
DARPA finanziert das Programm Robust Optical Clock Network (ROCkN).
Ziel dieses Programms ist es, optische Atomuhren zu entwickeln, die geringe Größe, geringes Gewicht und niedrigen Energieverbrauch (SWaP) haben, genauer sind und bessere Holdover-Eigenschaften als GPS-Atomuhren besitzen und auch außerhalb von Laboren eingesetzt werden können.
Die meisten großen Cloud-Anbieter beziehen ihre Zeit aus GPS, haben aber Geräte auf dem Niveau der Open Compute Time Card ausgerollt, die auch ohne GPS die korrekte Zeit halten können.
https://www.darpa.mil/news-events/2022-01-20
Wenn noch ein Raspberry Pi übrig ist und man selbst einen Stratum-1-NTP-Server betreiben möchte, gibt es dazu diesen Artikel: https://austinsnerdythings.com/2021/04/19/microsecond-accura...
Bei älteren Boards sitzt der Ethernet-Port hinter einem USB-Hub, wodurch im Netzwerk Paket-Timing-Jitter im Millisekundenbereich entsteht; NTP-Genauigkeit im Mikrosekundenbereich ist damit schwer zu erreichen
Wer noch mehr Spaß will, kann ihn in eine isolierte Box stecken und die CPU unter Last setzen, damit er warm bleibt – so macht man den Raspberry Pi gewissermaßen zu einem ofenkompensierten Quarzoszillator: https://blog.ntpsec.org/2017/03/21/More_Heat.html
Als Stratum-1-Server bezeichnet man einen Server, der seine Zeit von einem Stratum-0-Server erhält
Die meisten Folien behandeln die Physik der Zeitmessung, etwa GPS oder Atomuhren
Das ist an sich interessant, aber um zu verstehen, wie mein Computer an die aktuelle Zeit kommt, ist die relevantere Frage: „Wie misst ein Heimcomputer die Verzögerung von Paketen, die von einem entfernten Zeitserver gesendet werden?“
Fragen wie, ob die Dauer mehrerer Round-Trips gemessen und daraus die Latenz gemittelt wird, oder was passiert, wenn während eines bestimmten Round-Trips plötzlich Überlastung auftritt, wirken mysteriöser als die physikalischen Fragen
Man muss aufpassen, welche Zeitquelle man verwendet
Vor etwa 10 bis 15 Jahren war einer unserer Server so konfiguriert, dass er
tick.usno.navy.milundtock.usno.navy.milnutzte, und es gab ein „Problem“ mit der von der Navy ausgegebenen ZeitÜber Nacht konnten sich mehrere Lizenzserver nicht mehr authentifizieren, und wir konnten uns nicht mehr bei den Systemen anmelden
Ich wusste, dass auch SSH eine auf wenige Minuten genaue Uhrzeit benötigt; also meldeten wir uns lokal von einem anderen Büro im selben Gebäude aus an, stellten die Zeitabweichung fest und lösten das Problem, indem wir Zeitserver und Synchronisationsmethode änderten
SSH interessiert sich überhaupt nicht für die Uhrzeit, außer man verwendet sehr kurzlebige SSH-Zertifikate