Network Time Protocol
Anwendung | NTP | |||
Transport | UDP | TCP | ||
Netzwerk | IP | |||
Netzzugang | Ethernet | Token Ring | FDDI | ... |
NTP benutzt den Marzullo-Algorithmus (erfunden von Keith Marzullo von der Universität San Diego in dessen Dissertation) mit einer UTC-Zeitskala, und unterstützt Schaltsekunden. NTPv4 kann die lokale Zeit eines Systems über das öffentliche Internet mit einer Genauigkeit von 10 Millisekunden halten, in lokalen Netzwerken sind unter idealen Bedingungen sogar Genauigkeiten von 200 Mikrosekunden und besser möglich.
NTP ist eines der ältesten noch immer verwendeten TCP/IP-Protokolle. Es wurde ursprünglich von David Mills von der Universität von Delaware entwickelt, der es auch noch immer betreut. Die gegenwärtige Fassung des Protokolls trägt die Versionsnummer 4.
Der NTP-Daemon ist ein Usermode-Prozess, der auf der Maschine, die ihre Uhr über NTP synchronisiert, ständig im Hintergrund läuft. Der größte Teil des Protokolls ist in diesem User-Prozess implementiert. Um mit NTP die beste Leistung zu erzielen, ist es wichtig, dass der Kernel des Betriebssystems einen Phase-locked Loop implementiert, damit man sich nicht allein auf die Intervention des NTP-Daemons verlassen muss: Alle neueren Versionen des Linux-Kernel haben beispielsweise eine entsprechende Unterstützung.
NTP nutzt ein hierarchisches System verschiedener Strata, wobei Systeme mit dem Stratum 1 direkt mit einer sehr genauen externen Uhr (z.B. eine GPS- oder andere Funkuhr) verbunden sind. Systeme mit dem Stratum 2 beziehen ihre Zeit von einem oder mehreren Systemen mit Stratum 1 usw. (Achtung: Der Begriff Stratum hat hier eine andere Bedeutung als sonst in der Telekommunikationstechnik üblich).
Die 64-bit Zeitstempel von NTP bestehen aus einem Sekunden-Teil von 32 Bit und einem weiteren 32-bit-Teil für Sekundenbruchteile, d.h. NTP umfasst eine Zeitskala von 232 Sekunden (etwa 136 Jahre) und eine theoretische Auflösung von 2-32 Sekunden. Obwohl diese Skala also alle 232 Sekunden umspringt, sollten NTP-Implementationen in der Lage sein, die tatsächliche Zeit festzustellen, indem sie eine ungefähre Zeit aus anderen Quellen heranziehen. Da dies nur eine Genauigkeit von ein paar Jahrzehnten erfordert, sollte dies im Alltag kein Problem sein.
Die Details zu NTP werden in den RFCs 778, 891, 956, 958, 1305 und 2030 beschrieben.
Neben der Referenz-NTP-Software, die auf der NTP-Homepage erhältlich ist und für diverse Betriebssysteme portiert wurde, bieten eine Reihe von Herstellern fertige Standalone-Lösungen an, die als NTP-Zeitquelle in Computernetzwerken jeder Grösse Verwendung finden können. Beispiele: Meinberg Funkuhren, FEI-Zyfer und andere.
Siehe auch:
- Allan-Varianz
- Synchronisierung
- Liste der TCP/IP-basierten Netzwerkdienste
Weblinks
Generelle NTP Links: Software: Hersteller von NTP Zeitservern:- Meinberg Funkuhren Hersteller von NTP Zeitservern namens LANTIME (Siehe auch Übersicht NTP Zeitserver)
- FEI-Zyfer Hersteller von NTP Zeitservern vom Typ NTPSync