Zum Inhalt springen

Diskussion:Network Time Protocol

Aus Foxwiki

Network Time Protocol (NTP) synchronisiert die Zeit von Endgeräten

Beschreibung

UDP/TCP

Das Network Time Protocol (NTP) ist ein Standard, um intelligente Endgeräte über das Internet mit einer Uhrzeit zu versorgen.

Im allgemeinen Sprachgebrauch bezeichnet NTP sowohl

  • das Protokoll als auch
  • die Software-Referenzimplementierung desselben.

Das Simple Network Time Protocol (SNTP) ist eine vereinfachte Version des NTP.

Grundlagen

Architektur

Entwicklung

NTP wurde von David L. Mills an der Universität von Delaware entwickelt und 1985 als RFC 958 veröffentlicht.

  • Unter seiner Leitung werden Protokoll und UNIX-Implementierung ständig weiterentwickelt.
  • Gegenwärtig ist die Protokollversion 4[1] aktuell.
  • Der UDP-Port 123 ist für NTP reserviert.

statusmessage

Statusmeldung des NTP-Daemons. * Spalten v. l. n. r.: Status des Peers (+: Wird miteinbezogen; *: Aktueller Hauptpeer; -: Wird nicht beachtet); Servername (remote); Zeitquellen-ID, hier die IP des Servers, von dem der Peer die Zeit hat (refid); Stratum des Servers (st); Typ des Servers (u: Unicast); wann das letzte Mal abgefragt wurde in Sekunden (when); in welchem Intervall der Server abgefragt wird (poll, in Sekunden); wie oft der Server erreicht wurde (reach; 377 heißt, dass die letzten 8 Abfragen erfolgreich waren, ein Schieberegister); die Laufzeit (Round-Trip-Time) des NTP-Pakets (delay); der Offset der lokalen Uhr gegenüber dem Server (offset, in Millisekunden) und wie stark die abgefragte Zeit schwankt (jitter, Millisekunden)[2]


NTP ist in UNIX-artigen Betriebssystemen in Form des Hintergrundprozesses (daemon) ntpd implementiert, der sowohl das lokale System justieren als auch als Server die Zeit für andere Systeme bereitstellen kann. Windows-Systeme können ebenfalls ohne Zusatzsoftware die genaue Zeit mittels NTP aus dem Internet beziehen (Systemsteuerung "Datum und Uhrzeit" / "Internetzeit") und nach Bearbeitung eines Eintrags in der Registrierungsdatenbank auch über NTP bereitstellen.[3]

Der UNIX-ntpd synchronisiert die lokale Uhr mit Hilfe von externen Zeitsignalen, die er entweder direkt von einer lokalen Atomuhr (Caesium-Uhr, Rubidiumuhr und weitere) oder einem lokalen Funkempfänger (zum Beispiel DCF77, GPS, LORAN), oder per NTP von einem NTP-Server erhält. 
  • Damit die lokale Uhrzeit nicht nur zu den zyklischen Synchronisationszeitpunkten präzise mit dem externen Signal übereinstimmt, korrigiert der ntpd-Prozess nicht nur die Phase, sondern auch die Frequenz des lokalen Zeitgebers mit Hilfe einer Software-PLL sowie einer Software-FLL.
  • Um den internen Zeitgeber mit Hilfe eines hochpräzisen Sekundensignals noch enger an einen externen Normalzeitempfänger zu koppeln, haben einige UNIX-Varianten (unter anderem Linux und FreeBSD) die oben erwähnte Software-PLL im Kernel implementiert.

Die Zeitstempel im NTP (bis v3) sind 64 Bit lang. 32 Bit kodieren die Sekunden seit dem Beginn einer Ära, wobei Ära 0 am 1. Januar 1900, 00:00:00 Uhr begann, weitere 32 Bit den Sekundenbruchteil.

  • Auf diese Weise lässt sich ein Zeitraum von 232 Sekunden (etwa 136 Jahre) mit einer Auflösung von 2−32 Sekunden (etwa 0,23 Nanosekunden) darstellen.
  • Soweit das Betriebssystem mit einer Genauigkeit von etwa 68 Jahren die grobe Zeit vorgeben kann, genügt theoretisch ein NTP-Zeitstempel, um die exakte Zeit in der richtigen Ära zu erhalten, allerdings wird dies nicht von allen Betriebssystemen korrekt beachtet.
  • Ab NTP v4 kann mit einem 128 Bit umfassenden Zeitstempel auch die Ära übermittelt werden.[4]

NTP nutzt ein hierarchisches System verschiedener Strata (Plural von Stratum).

  • Als Stratum 0 bezeichnet man das Zeitnormal, beispielsweise eine Atomuhr oder eine Funkuhr (Zeitzeichenempfänger via GNSS oder DCF77).
  • Die unmittelbar mit ihm gekoppelten NTP-Server heißen Stratum 1.
  • Jede weitere abhängige Einheit erhält bei der Bezeichnung eine höhere Nummer (Stratum 2, Stratum 3 …).[5] Die NTP-Software auf Stratum 1, Stratum 2, Stratum 3 und weitere
  • ist zugleich Client des darüber liegenden Stratums als auch Server des darunter liegenden Stratums, sofern eines existiert.

Installation

Anwendungen

Problembehebung

Aufruf

Optionen

Argumente

Umgebung

Rückgabewert

Konfiguration

Dateien

Sicherheit

Dokumentation

RFC

Man-Page

Info-Pages

Siehe auch

Siehe auch

Links

Projekt

Weblinks