Network Time Protocol

NTP soll alle teilnehmenden Computer bis auf wenige Millisekunden genau mit der koordinierten Weltzeit (UTC) synchronisieren. Es verwendet den Intersection-Algorithmus, eine modifizierte Version des Marzullo-Algorithmus, um genaue Zeitserver auszuwählen, und ist so konzipiert, dass es die Auswirkungen variabler Netzwerk-Latenzzeiten abschwächt. NTP ist in der Regel in der Lage, die Zeit über das öffentliche Internet auf einige zehn Millisekunden genau einzuhalten, und kann unter idealen Bedingungen in lokalen Netzen eine Genauigkeit von mehr als einer Millisekunde erreichen. Asymmetrische Routen und Netzüberlastungen können Fehler von 100 ms oder mehr verursachen.

Allgemeines zu NTP

Auf dem Arbeitsplatzrechner oder der Surfstation zu Hause einen ausgewachsenen NTP-Server zu installieren, ist gewiss übertrieben. Mit Client-Programmen, die per SNTP (Simple NTP, RFC 5905) die Zeit eines Stratum-2-Servers nach dem Hochfahren oder in bestimmten Abständen abfragen, kann man eine ausreichende Genauigkeit erzielen. Solche Tools gibt es für alle gängigen Betriebssysteme.

Bei allen Programmen gilt, dass einmal ausgewählte Server eventuell in Zukunft abgeschaltet werden oder einen anderen Namen bekommen können. Man überprüft deshalb die Erreichbarkeit der gewählten Zeitquellen von Zeit zu Zeit und sucht gegebenenfalls andere. Ebenso kommt stets der Name und nicht die IP-Nummer des Servers in die Client-Konfiguration, denn die Nummer kann sich ändern, aber der Name bleibt normalerweise über Jahre gleich.

Soll nur der private Surf-PC oder ein DSL-Router die Zeit abfragen, kann man diesen auf den NTP-Pool ansetzen. Dort haben Freiwillige die Adressen ihrer NTP-Server eingetragen, die sie der Allgemeinheit zur Verfügung stellen. Bei jedem Zugriff auf pool.ntp.org liefert der DNS-Server eine andere Adresse aus, damit sich die Last verteilt.

Eine vorangestellte Ziffer liefert mehrere unterschiedliche Quellen:

  • 0.pool.ntp.org,
  • 1.pool.ntp.org und
  • 2.pool.ntp.org.

letzte Beiträge Blog Seite

Blogeinträge

NTP ntpdate ntpq ntpdc

Administrationstools ntpdate, ntpq und ntpdc

Mit dem Tool ntpdate ist es möglich, einzelne Zeitserver manuell abzufragen und ggf. eine Synchronisation herzuleiten. Das Tool ntpq stellt zusammen mit seinem Schwester-Tool ntpdc den Administrationspool für den NTP Daemon dar. Generell können die Tools ntpq und ntpdc separat aufgerufen werden. Sie bieten jeweils eine eigene Shell an, um die deren Subkommandos aufzurufen.

NTP Hierachy Stratum

NTP Hierarchie

Jeder NTP-Server ist in ein Stratum (Schicht, Ebene, Mehrzahl Strata) eingeordnet. Dieses gibt an, wie weit der Server in einem NTP-Netz von einer externen Zeitquelle (Atomuhr, GPS- oder Zeitzeichenempfänger) entfernt ist: Ein Stratum-1-Server besitzt eine externe Quelle, eine Stratum-2-Maschine dagegen einen Stratum-1-Server als Referenz, und so weiter. Das höchste Stratum ist 16, ein Server dieser Stufe hat sich noch nicht mit anderen NTP-Servern synchronisiert. In der Praxis kommt man jedoch mit vier Stufen aus.

NTP logrotate

logrotate für NTP

Auf was muss ich achten, um logrotate für NTP zu nutzen.

Ein paar grundsätzliche Dinge zu NTP?

speech-bubble

Was ist das Auto-Key Verfahren?

Generelles Ziel des Auto-Key-Sicherheitsmodells ist es nicht, die   NTP-Datenpakete beziehungsweise deren Inhalt zu verschleiern. Vielmehr   dient das Verfahren dazu, die Quelle der Datenpakete zu verifizieren und  sicherzustellen, dass die Pakete nicht durch Dritte modifiziert wurden.  Es verwendet dazu öffentliche Schlüssel, daraus abgeleitete Session  Keys und X.509 Zertifikate. Ursprünglich wurde das Autokey Verfahren entworfen, um öffentliche  Zeitserver als verlässliche Zeitquelle für NTP Clients verwenden zu  können. Wesentliche Merkmale des Auto-Key Sicherheitsmodells sind:

  • basierend auf der Public Key Kryptographie,  
  • es bietet die Möglichkeit die NTP Server gleichzeitig mehreren Sicherheits­bereichen zu zuordnen,
  • die Algorithmen sind speziell auf die Reduktion von serverseitigen   Res­sourcenanforderungen bei umfangreichen Clientinstallationen angepasst worden,
  • das Modell kann genutzt werden, um automatisiert Schaltsekundentabellen zu empfangen und es erfordert eine Multicast-Umgebung.

speech-bubble

Was ist ein False-Speaker (byzantinischer Fehler)?

Der False-Speaker ist eine Uhr (NTP-Server), die nicht  nur eine falsche Zeit liefert, sondern auch jedem anfragenden System  eine andere „falsche“ Zeit zurückliefert. Um robust gegen­über dem Fehlertyp „False-Speaker“ zu  sein, ist für die Erkennung eines False-Speaker die Synchro­nisation mit  mindestens 4 Zeitservern pro Stratum Ebene erforderlich. Mit der Formel  n=3t+1 besteht die Möglichkeit für jede benötigte False-Speaker  Erkennungsrate die Mindest­anzahl der aufzubauenden Zeitserver zu  errechnen.
Die Variablen haben folgende Bedeutung:

  • n="Anzahl der benötigten NTP-Instanzen" und
  • t="Anzahl der zu erkennenden False-Speaker"

speech-bubble

Was ist ein True-Chimer?

True-Chimer liefern unter Berücksichtigung von Paketlaufzeiten,  Offset- und Drift­-Be­rech­nungen das qualitativ stets beste Zeitsignal.  Zum Erkennen des Truechimer, werden pro Stratum Ebene mindestens 3   Zeitdienst Server benötigt.

speech-bubble

Was ist ein False-Ticker?

Ein False-Ticker ist eine Uhr (NTP-Server), die konsistent eine  falsche Uhrzeit liefert (z.B. um 1h verschoben). Bei nur zwei  verfügbaren NTP-Servern ist es einem Client nicht möglich, zu  identifizieren, welcher Server eine falsche Uhrzeit liefert. Um robust  gegenüber diesem Fehler zu sein, werden mindestens 3 Zeitserver Server  der gleichen Ebene benötigt.