aufmacher.jpg

NTP und andere Zeit-Server

Mit der Zeit gehen

Eine korrekt gestellte Systemuhr ist nicht nur praktisch, sie hilft auch bei der Suche nach Konfigurations- und Netzwerksfehlern oder bei der Analyse von Angriffen. Aber woher bekommt man die richtige Zeit? Über's Internet.

Mail abgeschickt um 17:15 Uhr, angekommen fünf Minuten vorher? Hier erscheint die falsch gestellte Systemuhr noch amüsant. Unangenehm wird es spätestens dann, wenn man in den Logdateien eines halbwegs beschäftigten Servers nach einem bestimmten Problem sucht. Für verteilte Anwendungen ist eine korrekte Uhrzeit auf allen beteiligten Systemen oft unerlässlich.

Leider sind die so genannten Echtzeituhren der meisten Computer alles andere als quarzgenau. Abweichungen von mehreren Sekunden pro Tag sind keine Seltenheit, und mal ehrlich: Wer will denn schon zweimal in der Woche die Zeit korrigieren? Kaum verwunderlich, dass es schon sehr früh in der Geschichte des Internets eine Lösung für das Zeitproblem gab.

NTP

Das "Network Time Protocol" (NTP, [3] und [4]) mit dem zugehörigen Server-Programm ntpd erfüllt fast alle vorstellbaren Forderungen an eine Uhr.

NTP synchronisiert die Systemzeit mit der "Universal Time Coordinated" (UTC), bei uns gerne "Greenwich Mean Time" (GMT) genannt. Als Quelle für diese exakte Uhrzeit dient beispielsweise ein terrestrisches oder satellitengestütztes Funksystem, etwa DCF-77 oder GPS. Dabei kann man mit einem aktuellen Linux-Kernel eine Genauigkeit in der Größenordnung einer Mikrosekunde erreichen, einer Millionstel-Sekunde also!

Die meisten Leute haben weder einen eigenen Hardware-Empfänger noch eine Cäsium-Atomuhr im Garten. Für Normalsterbliche bezieht der NTP-Daemon die Zeit daher von einem Server aus dem Intra- oder Internet. Die Genauigkeit liegt dabei immerhin noch im Millisekundenbereich (im LAN) oder zumindest bei einigen Hundertstel Sekunden (über das Internet).

Ein typischer NTP-Daemon berechnet die systematische Ungenauigkeit der eigenen Systemuhr im PC. Dadurch liefert er selbst ohne Netzwerkanbindung für einige Stunden bis hin zu einem Tag eine ganz exakte Uhrzeit. Zudem berücksichtigen aktuelle Versionen die Besonderheiten von ISDN- und Modem-Verbindungen mit teils stark asymmetrischen Paketlaufzeiten. So ist auch für einfache Leute eine absolut exakte Systemzeit erreichbar.

Zeitarchitektur im Netz

Für die Verteilung der Uhrzeit über das Netz sieht NTP eine raffinierte Server-Architektur vor, die in Abbildung 1 skizziert ist.

Abbildung 1: Die NTP-Architektur im Internet

Die Uhrzeit jedes synchronisierten Rechners geht letztlich auf eine so genannte externe Zeitquelle zurück. In Abbildung 1 sind dafür GPS-Satellitenempfänger oder DCF-Funkuhren als Beispiele genannt. Der meistgenutzte NTP-Daemon unterstützt unzählige dieser Zeitquellen. Ein Computer, der direkt an eine solche Uhr angeschlossen ist, befindet sich definitionsgemäß in der obersten Schicht der NTP-Architektur, im Stratum 1. Er verfügt (in den Grenzen der verwendeten Hardware) über eine absolut korrekte Zeit.

Über das Netz geben die Computer dieser ersten Schicht die Zeit weiter. Rechner aus Stratum 2 beziehen die Zeit von Stratum 1; Rechner aus Stratum 3 von Stratum 2. Das lässt sich (fast) beliebig fortsetzen.

Ziel von NTP ist nicht die Synchronisation eines Clients mit einem vorgegebenen Server, sondern mit UTC. Fällt ein Server aus oder liefert er eine fehlerhafte Zeit zurück, soll NTP dies ohne Wimpernzucken umgehen. Daher benötigt ein NTP-Client im Idealfall mehrere Server.

Jeder Server informiert nicht nur darüber, was er gerade für die richtige Zeit hält. Zusätzlich schätzt er seine eigene Abweichung von der "echten" UTC. Wenn nun mehrere Server zur Verfügung stehen, werden zunächst diejenigen mit offensichtlich falscher Uhrzeit ausgemerzt. Anschließend sucht der Client sich den besten Server aus, also den aus der obersten Schicht bzw. denjenigen mit der geringsten Abweichung. Nur mit diesem synchronisiert er seine Zeit. Im Idealfall sind bei jedem Rechner wenigstens drei Server konfiguriert. Davon wird effektiv nur einer für die Synchronisation benutzt, die übrigen dienen als Vergleich und Backup.

Für den typischen Linux-Computer zu Hause ist ein ständig laufender NTP-Daemon, also ntpd bzw. xntpd, in der Regel Overkill. Nicht nur, dass diese Software im Idealfall eine kontinuierlich laufende Maschine mit zumindest überwiegend aktiver Netzwerkverbindung erwartet: Die zugehörige Funktionalität lässt sich zudem auch viel einfacher erreichen, indem man jeweils nach dem Herstellen einer Netzwerkverbindung einmalig die Uhrzeit abgleicht. Dafür verwenden Sie wahlweise ntpdate oder ntpd -q.

Beide Programme lassen sich aus den auf der Heft-CD befindlichen Sourcen kompilieren, sofern sie nicht ohnehin bereits auf dem Rechner vorliegen. Nach dem Auspacken mit tar -xzvf ntp-4.1.1a.tar.gz installiert man die Software mit dem üblichen Dreiklang ./configure; make; make install in den /usr/local-Zweig des Dateisystems.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Prozess beobachten und beenden auf der Kommandozeile
    Zahlreiche Prozesse tummeln sich auf einem Linux-System: Dieser Artikel bringt Licht ins Prozessdunkel, zeigt, wie Sie Tasks anhalten, fortsetzen oder beenden und verrät, wie Sie Überbleibsel von abgestürzten Programmen ins Jenseits befördern.
  • Linux-Systeme vor Angriffen schützen, Teil 1
  • Unnötige Systemdienste abschalten
    Der Feind lauert überall: Nicht nur das Einrichten einer Firewall oder der Einsatz eines Viren-Scanners, sondern auch das Abschalten von Diensten trägt dazu bei, den eigenen Rechner zu schützen. Wir zeigen, wie Sie Ihren Linux-PC ein bisschen besser abschotten.
  • Richtig ticken
    Wer hat an der Uhr gedreht? Für viele Anwendungen ist es äußerst wichtig, dass der PC die korrekte Zeit(zone) kennt. NTP und Co. sorgen dafür, dass ihr PC richtig tickt.
  • Newsgroups offline lesen: leafnode
    Die Hierarchie der Newsgroups ist bunt und breit gefächert. Sie bekommen auf jede Frage, die Sie dort stellen, eine kompetente Antwort. Sollten Sie jedoch Ihre Online-Zeit im Minutentakt bezahlen, dann können diese Antworten zuweilen ein Loch in Ihren Geldbeutel schneiden, wenn Sie sie bei laufender Verbindung zum Newsserver lesen.
Kommentare

Infos zur Publikation

LU 10/2016: Kryptographie

Digitale Ausgabe: Preis € 0,00
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Soundkarte wird erkannt, aber kein Ton
H A, 25.09.2016 01:37, 2 Antworten
Hallo, Ich weiß, dass es zu diesem Thema sehr oft Fragen gestellt wurden. Aber da ich ein Linu...
Scannen nur schwarz-weiß möglich
Werner Hahn, 20.09.2016 13:21, 2 Antworten
Canon Pixma MG5450S, Dell Latitude E6510, Betriebssyteme Ubuntu 16.04 und Windows 7. Der Canon-D...
Meteorit NB-7 startet nicht
Thomas Helbig, 13.09.2016 02:03, 3 Antworten
Verehrte Community Ich habe vor Kurzem einen Netbook-Oldie geschenkt bekommen. Beim Start ersch...
windows bootloader bei instalation gelöscht
markus Schneider, 12.09.2016 23:03, 1 Antworten
Hallo alle zusammen, ich habe neben meinem Windows 10 ein SL 7.2 Linux installiert und musste...
Ubuntu 16 LTE installiert, neustart friert ein
Matthias Nagel, 10.09.2016 01:16, 3 Antworten
hallo und guten Abend, hab mich heute mal darangewagt, Ubuntu 16 LTE parallel zu installieren....