SelfLinux Linux im Netzwerk Netzwerkzeitprotokoll Abschnitt 1 | SelfLinux-0.13.0

| Netzwerkzeitprotokoll | Autor Formatierung GFDL

#### 1 Einleitung

Uhrzeiten (zusammen mit einem Datum) sind ein wichtiger Bestandteil des täglichen Lebens. Man verabredet sich für eine bestimmte Zeit oder erwartet eine Fernsehsendung zu einer bestimmten Zeit. Seit Jahrhunderten verwendet die Menschheit Uhren, um die Zeit möglichst genau zu messen. Mit der Kenntnis einer genauen Uhrzeit können auch längere Zeitspannen genau gemessen werden. Inzwischen ist man mit sogenannten Atomuhren in der Lage, mit viel technischem Aufwand die Zeit unheimlich genau zu messen: eine Atomuhr misst die Zeit auf mindestens 0.00000000001 Sekunden genau! Das bedeutet, dass eine Atomuhr nach zehn Jahren um maximal eine Millisekunde oder nach 10.000 Jahren nur um eine Sekunde falsch geht.

Es ist sicherlich einsichtig, dass es wichtig ist, dass auch jeder die gleiche Uhrzeit verwendet. Falsch gehende Armbanduhren können zu bösen Überraschungen beim ersten Rendevouz führen...

Auch bei Rechnersystemen und in Netzwerken spielt die genaue Uhrzeit eine wichtige Rolle: nur so können Protokoll- und Logdateien sinnvoll genutzt werden, Dateiänderungen korrekt dokumentiert und verglichen werden.

Dieser Text beschreibt, wie man es erreicht, dass ein Linuxsystem über das Netzwerkzeitprotokoll NTP über eine sehr genaue Zeit verfügt und diese einem Windowssystem über Samba zur Verfügung stellen kann. Netzwerkzeit ist ein Basisdienst eines Netzwerkes und sollte immer eingerichtet werden. Dies ist auch nicht sehr aufwendig.

Die Begriffe Uhrzeit und Zeit schließen im Folgenden das Datum grundsätzlich mit ein.

#### 1.1 Über dieses Dokument

Dieses Dokument kann nur einen kleinen Überblick über das Thema geben. Viele Details werden nur angerissen oder überhaupt nicht erwähnt. Trotz aller Sorgfalt kann es leider passieren, dass einige der Informationen aus diesem Dokument fehlerhaft sind.

Der Autor Steffen Dettmer ( steffen@dett.de) freut sich natürlich über Kommentare und Anregungen zu diesem Text.

#### 1.2 Zeitzonen

Mittags erwarten wir, dass die Sonne den höchsten Stand hat. Nun ist klar, dass dies regional unterschiedlich ist: ist es in Europa Mittag, so herrscht in Australien gerade tiefe Nacht. Also hat man verschiedene Uhrzeiten. Nun wäre es natürlich umständlich, in Berlin ausrechnen zu müssen, wie spät es gerade in Hamburg ist (vermutlich ein paar Sekunden früher), daher hat man sogenannte Zeitzonen eingeführt. Innerhalb einer Zeitzone verwendet man die gleiche Uhrzeit (auch wenn dann die Sonne erst ein paar Minuten nach zwölf Uhr im Zenit steht). Vereinfacht gesprochen hat man jeweils etliche Länder oder grössere Regionen in eine Zeitzone gesteckt, deren Zeit weniger als eine Stunde von einander abweicht. So erhält man 24 Zeitzonen (in der Praxis gibt es allerdings mehr). Im Internet findet man Seiten, die Karten der Zeitzonen zeigen.

#### 1.3 Weltzeit und Sommerzeit

Beispielsweise im internationalen Schiffsverkehr, aber auch in internationalen Chaträumen ist es aufwendig, die Zeitzonen entsprechend ineinander umzurechnen. Daher hat man eine Weltzeit Coordinated Universal Time UTC definiert. Diese entspricht der Zeit am Nullmeridian und ist damit (ziemlich genau) gleich der Greenwich Mean Time (GMT). Die Zeit in Mitteleuropa ist im Winter eine Stunde, im Sommer zwei Stunden weiter (später).

Sommerzeit wurde eingeführt, um das Tageslicht besser ausnutzen zu können. Man kennt das: zweimal im Jahr werden die Uhren um je eine Stunde verstellt. Da man die Uhrzeit im Sommer eine Stunde vorstellt und die UTC keine Sommer- oder Winterzeit unterscheidet, hat man im Sommer also zwei Stunden Differenz.

Bei Zeitsynchronisation verwendet man UTC oder GMT. Die lokale Zeit wird dann vom System entsprechend der lokalen Zeitzone angezeigt. Die Umstellung von Sommer- auf Winterzeit und umgekehrt ist in diesem Modell auch keine Zeitumstellung, sondern lediglich eine Änderung der Zeitzone; so sind CET und MET Winterzeit, CEST und MEST sind Varianten dieser Zeitzonen in Sommerzeit.

Das Kommando date gibt die aktuelle Systemzeit und die lokale Zeitzone aus:

user@linux ~$ date Sun Apr 13 16:08:15 CEST 2003

man erkennt, dass wir Sommerzeit haben. Die Weltzeit UTC kann das GNU date Kommando über die Option --utc anzeigen:

user@linux ~$ date --utc Sun Apr 13 14:11:15 UTC 2003

Mitteleuropäische Zeit ist eine Stunde Differenz, die zweite kommt durch die Sommerzeit - daher beträgt die Zeitdifferenz im Winter nur eine Stunde.

#### 1.4 Zeitverteilung

Dass es super genaue Atomuhren gibt, hilft einem zunächst erstmal nicht sehr viel: man bräuchte einen grossen Keller und sehr preiswert sind diese Uhren auch nicht. Nun ist es aber möglich, die Atomzeit zu verteilen. Ein bekanntes Beispiel sind die Funkuhren, die die Uhrzeit auf ca. 20 Millisekunden genau über das DFC77 Protokoll aus Frankfurt/Main per Funk empfangen. Mit dem Satelliten-Navigationssystem GPS ist es sogar möglich, die Uhrzeit auf eine Mikrosekunde genau zu erhalten, jedoch ist dies technisch deutlich aufwendiger.

Neben Funkverbindungen bietet sich das Internet an, um Uhrzeitdaten zu übermitteln. Leider ist die Signallaufzeit im Internet deutlich größer und vor allem ungenau, so dass man einige Tricks benutzen muß, um eine Genauigkeit besser als eine Sekunde zu erreichen. Es gibt Server im Internet, die die Uhrzeit auf Anfrage verschicken. Die physikalisch-technische Bundesanstalt beispielsweise betreibt eine Atomuhr und solche Zeitserver.

Es gibt etliche Programme, die eine genaue Zeitsynchronisation über das Internet ermöglichen.

#### 1.5 Server

Häufig wird das Network Time Protocol (NTP) verwendet. Es gibt Server, die über eine externe Quelle, beispielsweise über einen GPS Empfänger, mit einer Atomuhr verbunden sind. Man bezeichnet diese als Stratum 1 Server. Diese können die Zeit mittels NTP zur Verfügung stellen. Server, die ihre Zeit über Stratum 1 Server beziehen, und damit indirekt von einer Atomuhr, nennt man Stratum 2 Server. So hat man ein Maß für die Qualität der Zeit. Auch Stratum 2 Server sind auf Sekundenbruchteile genau.

Manche Zeitserver im Internet dürfen nur nach Vereinbarung oder Erlaubnis benutzt werden. Insbesondere Stratum 1 Server sind oft stark belastet. Für die meisten Anwendungen ist ein Stratum 2 Server jedoch mehr als ausreichend (im Heimbereich ist eine auf hundertstel Sekunde genaue Uhrzeit sicherlich immer ausreichend).