|
|
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| '''Network Time Protocol''' ('''NTP''') synchronisiert die Zeit von Endgeräten
| | #WEITERLEITUNG [[Network Time Protocol]] |
| | | [[Kategorie:Abkürzung]] |
| == Beschreibung ==
| |
| * [[Internetprotokoll]]
| |
| * Synchronisierung von Uhren in Computersystemen
| |
| | |
| [[User Datagram Protocol|UDP]]/[[Transmission Control Protocol|TCP]]
| |
| * jeweils [[Port (Protokoll)|Port]] 123
| |
| * Standard: [[RFC/5905]]
| |
| | |
| Das '''Network Time Protocol''' ('''NTP''') ist ein Standard, um intelligente Endgeräte über das Internet mit einer Uhrzeit zu versorgen.
| |
| * Die [[Synchronisation|Synchronisierung]] von [[Echtzeituhr]]en in [[Computer]]systemen wird mit paketbasierten [[Rechnernetz|Kommunikationsnetzen]] umgesetzt.
| |
| * NTP kann mit beiden Verbindungsprotokollen der vierten Schicht des [[OSI-Modell]]s arbeiten.
| |
| * Es ist nötig, damit eine zuverlässige [[Uhrzeit|Zeitangabe]] über Netzwerke mit variabler [[Paketumlaufzeit|Paketlaufzeit]] gesendet werden kann.
| |
| | |
| Im allgemeinen Sprachgebrauch bezeichnet ''NTP'' sowohl
| |
| * das Protokoll als auch
| |
| * die Software-Referenzimplementierung desselben.
| |
| Das Simple Network Time Protocol ([[#SNTP|SNTP]]) ist eine vereinfachte Version des NTP.
| |
| | |
| == Grundlagen ==
| |
| === Architektur ===
| |
| [[Datei:Architecture NTP labels de.svg|600px]]
| |
| | |
| === Entwicklung ===
| |
| NTP wurde von David L. Mills an der [[University of Delaware|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<ref>{{Internetquelle |url=https://www.eecis.udel.edu/~mills/ntp/html/release.html |titel=NTP Version 4 Release Notes |abruf=2019-12-01}}</ref> aktuell.
| |
| * Der UDP-[[Port (Protokoll)|Port]] 123 ist für NTP reserviert.
| |
| | |
| === statusmessage ===
| |
| [[Datei:Ntp statusmessage.png|600px|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)<ref>{{Internetquelle |url=https://www.eecis.udel.edu/~mills/ntp/html/ntpq.html |titel=ntpq – standard NTP query program |abruf=2019-12-01}}</ref>]]
| |
| | |
| | |
| NTP ist in [[Unixoides System|UNIX-artigen]] Betriebssystemen in Form des [[Hintergrundprozess]]es ([[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.<ref>{{Internetquelle |url=https://support.industry.siemens.com/cs/document/22144502/wie-konfigurieren-sie-ihren-pc-als-ntp-server-?dti=0&lc=de-WW |titel=SIOS |abruf=2019-12-01}}</ref>
| |
| | |
| 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]], [[Global Positioning System|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-[[Phase-locked loop|PLL]] sowie einer Software-[[Frequency Locked Loop|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 [[Größenordnung (Zeit)#109 s bis 1010 s (31,7 a bis 317 a)|2<sup>32</sup> Sekunden]] (etwa 136 Jahre) mit einer Auflösung von 2<sup>−32</sup> 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.<ref>{{Internetquelle |url=https://datatracker.ietf.org/doc/html/rfc5905 |titel=RFC 5905 – Network Time Protocol Version 4: Protocol and Algorithms Specification |abruf=2022-08-01}}</ref>
| |
| | |
| 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 [[Globales Navigationssatellitensystem|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 …).<ref>{{Internetquelle |url=https://endruntechnologies.com/products/ntp-time-servers/stratum1 |titel=What is Stratum 1? {{!}} EndRun Technologies |abruf=2019-12-01}}</ref> 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 ==
| |
| * [[Daytime]] – Zeitübertragung im ASCII-Format
| |
| * [[Allan-Varianz]]
| |
| * [[NTP-Pool]]
| |
| * [[Zeitserver]]
| |
| * [[Y2K36]]
| |
| | |
| == Links ==
| |
| === Projekt ===
| |
| === Weblinks ===
| |
| | |
| | |
| | |
| | |
| [[Kategorie:Linux/Zeit]]
| |
| [[Kategorie:OSI/7 Application]]
| |
| [[Kategorie:Netzwerk/Zeit]] | |