Timeserver
Woher kommt eigentlich die Zeit?

von Andreas Papst (Ausgabe 10/1, März 2010)

 

Was sind Zeitserver?

Zeitserver (auch Timeserver) dienen zum Synchronisieren der Uhrzeit auf Servern, Arbeitsplatzrechnern und anderen Klienten in Netzwerken. Die aktuelle Uhrzeit wird dabei mit Hilfe einer Referenzuhr, einer Funk- oder Atomuhr, sowie des weltweiten Timeserver-Netzwerks via NTP (Network Time Protocol) zur Verfügung gestellt.

 

Der ZID der Universität Wien hat zwei neue Zeitserver in Betrieb genommen: einen GPS-Receiver, der im Neuen Institutsgebäude aufgestellt und als ts1.univie.ac.at erreichbar ist, sowie einen DCF77-Empfänger mit dem Hostnamen ts2.univie.ac.at, der das Langwellen-Zeitsignal aus Mainflingen/Deutschland auswertet und aufgrund des besseren Empfangs bei der Wiener Firma InterXion betrieben wird.

Beide Server sind Stratum 1-Uhren und frei zugänglich. Unter den Namen ts1.aco.net und ts2.aco.net sind beide Server zudem Teil des NTP-Pool (Öffnet einen externen Link in einem neuen Fensterwww.pool.ntp.org). Die bisherige Uhr unter dem Hostnamen ts0.univie.ac.at wurde abgebaut und verweist nun nur mehr auf einen Stratum 2-Timeserver. Es empfiehlt sich daher, ts0.univie.ac.at nicht mehr als Zeitserver zu konfigurieren, da dieser Host außer Betrieb gehen wird.

Der Zeitserver ts2.univie.ac.at verfügt über IPv6-Connectivity. Leider besteht derzeit nicht die Möglichkeit, eine IPv6-Verbindung anzubieten. Ebenso werden im NTP-Pool keine IPv6-Adressen aufgenommen.

DCF77
Der Zeitsignalsender DCF77 ist ein Langwellensender in Mainflingen/Deutschland, der auf 77,5 kHz die Zeit der dort befindlichen Atomuhren sendet und die meisten funkgesteuerten Uhren im westlichen Europa mit der genauen Uhrzeit versorgt (Öffnet einen externen Link in einem neuen Fensterwww.dcf77.de). D steht für Deutschland, C für Langwellen­sender, F aufgrund der Nähe zu Frankfurt/Main sowie der Zahl 77 für die Trägerfrequenz. Die Reichweite der Bodenwelle beträgt 500 m, die der Reflexionswelle bei sehr guten Empfangs­anlagen bis zu 2000 km. Wien ist weniger als 600 km von Mainflingen entfernt und es gibt normalerweise einen guten Empfang. Normale Funkuhren aus dem Super­markt verwenden ebenfalls DCF77.

GPS-Receiver
Global Positioning System (GPS) ist ein globales Navigations­satellitensystem zur Positionsbestimmung und Zeitmessung.

NTP-Pool
Das Projekt NTP-Pool ist ein Verbund von Zeitservern, die kos­t­enlos die aktuelle Zeit über NTP (Network Time Protocol) im Internet  zur Verfügung stellen.

Stratum 1 / Stratum 2
Stratum 1 bzw. Stratum 2 bezeichnet die Schichten der Zeitserver-Hierachie, wobei Stratum 1 höher geordnet ist als Stratum 2.

Wie wird die Zeit „verteilt“?

Atomuhren sind derzeit die genauesten Uhren. Aus den Messwerten von über 260 Atomuhren an über 60 Instituten weltweit wird die Internationale Atomzeit als Referenzzeit festgelegt. In Österreich betreibt das Bundesamt für Eich- und Vermessungs­wesen mehrere Atom­uhren. Ein Stratum 1-Time­server ist direkt mit einer solchen Referenz­uhr verbunden und gehört damit der obersten Schicht der Zeit­server-Hierachie an. Diese Zeit können dann Computer über das Network Time Protocol von den Stratum-1-Servern empfangen.

Eine kurze Geschichte über die Zeit

Wie in der Menschheitsgeschichte war auch am Computer die Zeitmessung1) ursprünglich ein lokales Ereignis. In der „echten“ Welt orientierte sich die Zeit am Sonnenstand. 12 Uhr war es, wenn die Sonne am höchsten stand, was relativ einfach mit einer Sonnenuhr festgestellt werden konnte. Die Zeit zwischen zwei aufeinander folgenden Mittags-Ereignissen wurde in 24 gleich lange Stunden eingeteilt. Um auch in der Nacht Zeit verwalten zu können, konnte man mit Hilfe des gleichen Prinzips auch eine Sternenuhr benutzen. Waren jedoch weder Sonne noch Sterne sichtbar, musste man auf periodische Abläufe zurückgreifen, deren Genauigkeit nicht gerade berauschend war und so die Messung regelmäßig in kurzen Abständen nachjustiert werden musste.

Navigation in der Seefahrt

Diese Zeitmessung reichte auch lange Zeit für den Durchschnittsbürger aus, denn es wurde zuverlässig die Arbeitszeit und die Freizeit eingeteilt, sodass niemand übervorteilt wurde. Treibend für die Her­stel­lung von immer genaueren Uhren war vor allem das Problem der notwendig gewordenen exakten Navi­ga­tion in der Schifffahrt. Mithilfe des Sex­tan­ten, der den Sonnenstand anzeigte, einem dicken Tabel­len­buch und der genauen Zeit war es möglich, die aktuelle Position zu bestimmen. Das Problem bei der Sache war die genaue Zeit und zwar bezogen auf den Aus­gangspunkt der Reise, da bei monatelangen Seereisen die gemessene Zeit schon bei einer geringen Ungenauigkeit im Gang der Uhr beträchtlich von der tatsächlichen Zeit abwich. Erschwe­rend hinzu kam, dass das Bewegen von Uhren noch weitere Ungenauigkeit erzeugte und daher zusätzliche Heraus­forderungen an deren Konstruktion darstellte. Dabei ist aber noch nicht die Realbewegung der GPS-Satelliten zueinander gemeint, sondern schon alleine die Schwankung des Schiffes durch den Seegang oder die Änderung der Fahrtrichtung.

Reisen mit der Eisenbahn

Der andere angesprochene Punkt ist die gemeinsame Zeitbasis. Dass es bereits im Nachbarort zu einem anderen Zeitpunkt Mittag ist, war lange nicht von Be­deutung, da die Reise dorthin deutlich länger war als dieser Zeitunterschied. Das änderte sich erst mit der Ein­führung eines Hoch­ge­schwin­dig­keits­­transport­systems2) – der Eisen­bahn. Zu­min­dest auf längeren Distanzen deutlich schneller als das bis dahin schnellste Transport­mittel, das Pferd3), hatte es einen Nachteil: Entgegen­kommende Züge konnten einander nicht beliebig ausweichen. Es mussten also Fahrpläne erstellt werden. Und damit Fahrpläne funktionieren, muss an jedem Ort der Strecke die selbe Zeitbasis gelten, auch wenn damit 12:00 Uhr nicht mehr den Sonnenhöchststand bedeutet.

Durch weitere Vernetzung und Abgleich der Zeitbasen verschiedener Strecken führte diese Normierung schließlich 1884 zu einer weltweit als gültig anerkannten Zeitbasis basierend auf dem mittleren Sonnenjahr der GMT (Greenwich Mean Time), einer idealisierten schwankungsbereinigten Sonnen­zeitmessung, die selbst zur Lokalzeit in Greenwich um bis zu 16 Minuten abweicht4).

Damit war nun auch das Umsteigen zwischen verschiedenen Strecken nicht mehr mit Umrechnungen von einer Bahnzeit in eine andere verbunden. Die Synchronisierung der Uhren wurde mittels Telegrafie erledigt. Und damit die lokale Zeit nicht zu sehr von der Sonnenzeit abweicht, wurden Zeitzonen eingeführt, die lokal verordnet einen jeweils fixen Offset zur GMT darstellen5). „Nicht zu sehr“ bedeutet aber mancherorts trotzdem einen Versatz von mehr als drei Stunden. 1968 wurde die GMT durch die UTC (Universal Time Coordinated) als Zeitbasis abgelöst. Diese wird nun nicht mehr durch die reine Beobachtung der Sonnen­zeit bestimmt, sondern basiert auf einem weltweiten Verbund von Atomuhren.
Damit diese Zeitbasis nicht von der durch die Verlangsamung der Erdrotation verursachten, entschleunigten Sonnenzeit in Greenwich wegdriftet, sind Schaltsekunden vorgesehen, wenn GMT mehr als 0,9 Sekunden von der UTC6) abweicht. In einem solchen Fall hat die letzte Minute des Jahres dann 61 Sekunden. Durchschnittlich wird alle 2 Jahre solch eine Sekunde geschaltet und bisher gab es seit 1972, dem Jahr mit der ersten Schaltsekunde, insgesamt 24 zusätzliche Sekunden. Zuletzt war dies am 31.12.2008 23:59 UTC, das entspricht dem 1.01.2009 00:59 MEZ, der Fall.

Computer und Zeit

Eine ähnliche, wenn auch deutlich rasantere, Entwicklung machte die Zeitmessung am Computer durch. Beim frühen Personal Computer wurde die Uhr am Arbeitsrechner bestenfalls minutengenau eingestellt und je nach verbauter Hardware änderte sich die Zeitdifferenz zur Pendeluhr an der Wand mehr oder weniger. Das war aber kein Problem, solange es nur darum ging, die Reihenfolge der Ereignisse am Rechner zu dokumentieren, eventuell verknüpft mit der ungefähren Zeitangabe, wann ein Eintrag erfolgte. Die Kollegin am Nachbarrechner hatte ebenfalls ihre eigene Zeit, aber beide Rechner zeigten in der Regel den selben Tag an, was für den Versand von Briefen und Rechnungen vollkommen zufriedenstellend war.

Wie auch heute wurde die Systemzeit am PC meist in einer RTC (Real Time Clock)7) gehalten. Beim Hochfahren des Rechners übernimmt das Betriebssystem die aktuelle Zeit der RTC und verwendet meist die CPU, um während des Betriebes die Zeit zu bestimmen. Beim Herunterfahren des Rechners wird dann die Zeit vom Betriebssystem in der RTC gesetzt. Die meisten RTCs halten die Zeit als Unix-Zeit8) vor, das ist die Anzahl der Sekunden seit dem 1. Januar 1970 00:00 Uhr UTC, wobei Schaltsekunden nicht mitgezählt werden. Dieses Startdatum wird auch als Epoche bezeichnet. Insgesamt steht ein 32 bit-Register für das Zählen der Sekunden zur Verfügung. Soll damit eine ganze Zahl mit Vorzeichen dargestellt werden, so können insgesamt 231-1 das sind 2.147.483.647 Sekunden gezählt werden, bevor die Zahl ins Negative kippt. Das passiert am 19. Januar 2038 um 03:14:07 Uhr, eine Sekunde später wäre dann am Rechner der 13. Dezember 1901 20:45:52. Dieses Problem, auch Jahr-2038-Problem bezeichnet, wird natürlich schon einige Jahre davor relevant, da auch immer wieder Tage in der Zukunft berechnet werden müssen. Aber noch lässt uns dieses Problem kalt wie seine Entsprechung, die Y2K, im Jahr 1998.

Zeit in Netzwerken

Mit dem ersten Aufkommen von lokalen Netz­werken war es schließlich möglich und manch­mal auch notwendig, dass die Uhren der vernetzen Rechner dieselbe Zeit anzeigten. Technisch wurde das Problem gelöst, indem die aktuelle Zeit von einem Nachbarrechner automatisch übernommen wurde. Damit entfiel die lästige Datums-Einstellung am Arbeitsplatz-PC und es war nur mehr die Uhr des zentralen Zeitservers zu warten. Schließlich wurden, wie nach der Gründerzeit die Eisenbahnstrecken auch, die lokalen Computer­netzwerke zu größeren Verbünden zusammen geschaltet.

Große Netzbetreiber boten für viel Geld diese Dienst­leistungen an und viele von diesen verschwanden auch wieder, der Rest ging praktisch im in der Zwischenzeit ins Leben gerufenen Netz der Computernetze, dem Internet auf. Auch die korrekte Zeiteinstellung am Rechner hat sehr an Bedeutung gewonnen. Nicht nur rein administrative Daten, wie die Zeitstempel in Logfiles, sind nur dann einfach verwertbar, wenn die interne Uhr stimmt, auch Applikationen wie Erinnerungsfunktionen im Kalender verlassen sich auf eine richtige Uhrzeit. Dies geht so weit, dass Sicherheits­protokolle den Verbindungsaufbau zu einem anderen Rechner ablehnen, wenn die Zeiten auf beiden Hosts eine zu große Differenz aufweisen.

Timeserver

Damit die Zeit automatisch eingestellt werden kann, ist es notwendig, ein entsprechendes Verfahren zu spezifizieren. Im Internet ist die Synchronisierung der Zeit in einem eigenen Standard9) geregelt. Dazu werden im Internet Server betrieben, welche als Dienst die Zeitsynchronisierung anbieten. Naheliegender­weise heißen diese Server Timeserver. Timeserver bilden eine Hierarchie, die durch das so genannte Stratum (übersetzt Schicht) bezeichnet wird. Stratum 0, also die oberste Schicht, bilden die Atomuhren. Die Server in Stratum 1 holen ihre Zeit von einer Stratum 0-Uhr. Der Transport ist dabei unerheblich, es können die Uhren direkt angeschlossen sein oder die Zeit auch via Mittelwellenfunk oder GPS-Signal übermittelt werden. Und letztendlich ho­len Stra­tum 2-Ser­ver ihre Zeit von einem Stratum 1-Server. Dabei werden alle Server so konfiguriert, dass die Über­tragungs­latenzen entfernt werden. So kann jeder Host im Internet durch das Angebot der Dienste von Timeservern seine Zeit akkurat halten. Und weil diese Syn­chronisierung so wichtig ist, hat jeder Anbieter eines neueren Betriebs­system auch automatisch einen Server für den Zeit­abgleich konfiguriert, auf den der Client voreingestellt ist.

Ein Nachteil dieser Grund­einstellung ist, dass der Zeit­server meist sehr weit entfernt ist und daher die Latenz der Antworten hoch und relativ weit gestreut ist. Daher ist es sinnvoll, einen oder mehrere Server in der Nähe zu konfigurieren. Diese Nähe sollte auch das erste Auswahl­kriterium sein. Ein gut gewarteter Stratum 2-Timeserver im eigenen Netz liefert bessere Ergebnisse, als in Stratum 1-Server am anderen Ende der Welt.

Zur Auswahl steht ein großes Angebot: Die Universität Wien bietet ihren Usern die beiden Server ts1.univie.ac.at und ts2.univie.ac.at sowie die beiden frei zugänglichen Server ts1.aco.net und ts2.aco.net an. Microsoft verweist auf fremde Listen von Zeitservern10) und die Ubuntu-Community bietet ihren Usern eigene Infor­mationen11) an. Das Bundesamt für Eich- und Vermessungs­wesen stellt seine an die eigenen Atomuhren angeschlossenen Zeitserver zur Verfügung12). Wenn Sie eine selbstorganisierende Quelle für öffentliche Zeitserver aus Österreich konfigurieren möchten, so konfigurieren Sie einfach 0.at.pool.ntp.org, 1.at.pool.ntp.org, 2.at.pool.ntp.org und 3.at.pool.ntp.org als Timeserver 13).

Bitte beachten Sie, dass Sie hier eine Gratisdienst­leistung in Anspruch nehmen, die nicht über Gebühr strapaziert werden sollte. Daher gehört es zum guten Ton, bestimmte Konfigurations­richtlinien einzuhalten. Die Standard­konfi­gu­rationen der Time­server-Klien­ten entspricht bereits diesen Anfor­derungen: Die Verwendung von iburst soll burst vorgezogen werden, als Werte für die Parameter minpoll und maxpoll sollen 64 Sekunden bzw. 1024 Sekunden konfiguriert werden, ein ntp-Klient soll die KOD-Nachrichten des Servers beachten und die Timeserveradressen sollen immer als Hostnamen und nie als IP-Adressen konfiguriert werden.

Eintragen eines Timeservers unter Windows 7

Klicken Sie auf die Uhrzeit rechts in der Taskleiste und dann auf Datum/Uhrzeit ändern. Wählen Sie die Registerkarte Internetzeit und klicken dort auf Einstellungen ändern. Geben Sie in das Feld Server einen Timeserver, z. B. ts1.univie.ac.at ein.