„Network Time Protocol“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
Inhalt gelöscht Inhalt hinzugefügt
Aka (Diskussion | Beiträge) K →Grundlagen: zu großen Zeilenabstand entfernt, Datumsformat im Einzelnachweis korrigiert |
intelligent? wohl kaum |
||
(5 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 15:
|Standard= <nowiki>RFC 5905</nowiki><ref name="RFC5905" />
}}
Das '''Network Time Protocol''' ('''NTP''') ist ein Standard, um
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.
Zeile 23:
[[Datei:Ntp statusmessage.png|mini|400px|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 wurde von [[David L. Mills]] an der [[University of Delaware|Universität von Delaware]] entwickelt und 1985 als <nowiki>RFC 958</nowiki><ref>{{RFC-Internet |RFC=958 |Titel=Network Time Protocol (NTP) |Datum=1985 |Kommentar=veraltet}}</ref> veröffentlicht.
Bis zum Tod von Mills wurde das Protokoll und die UNIX-Implementierung unter seiner Leitung 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 (Netzwerkadresse)|Port]] 123 ist für NTP reserviert.
Zeile 31:
{{Anker|PLL}} Der UNIX-ntpd synchronisiert die lokale Uhr mit Hilfe von externen Zeitsignalen, die er entweder direkt von einer lokalen [[Atomuhr]] ([[Caesium]]-Uhr, [[Rubidium-Oszillator]] usw.) 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-[[Phasenregelschleife|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 Bits lang. 32 Bits kodieren die Sekunden seit dem Beginn einer Ära, wobei Ära 0 am 1. Januar 1900, 00:00:00 Uhr begann, weitere 32 Bits den Sekundenbruchteil. Auf diese Weise lässt sich ein Zeitraum von [[Liste von Größenordnungen der Zeit#
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? |hrsg=EndRun Technologies |abruf=2019-12-01}}</ref> Die NTP-Software auf Stratum 1, Stratum 2, Stratum 3 usw. ist zugleich Client des darüber liegenden Stratums als auch Server des darunter liegenden Stratums, sofern eines existiert.
Zeile 88:
=== NTS ===
[[Network Time Security]] (NTS) ist ein Netzwerkprotokoll zur [[Kryptographie|kryptographischen]] Absicherung von NTP. NTS wurde von der [[Internet Engineering Task Force]] (IETF) unter Mitarbeit von [[Akamai]], Netnod und der [[Physikalisch-Technische Bundesanstalt|Physikalisch-Technischen Bundesanstalt]] (PTB) entwickelt und am 1. Oktober 2020 im <nowiki>RFC 8915</nowiki><ref>{{RFC-Internet |RFC=8915 |Titel=Network Time Security for the Network Time Protocol |Datum=2020}}</ref> veröffentlicht. Es orientiert sich an den im <nowiki>RFC 7384</nowiki><ref>{{RFC-Internet |RFC=7384 |Titel=Security Requirements of Time Protocols in Packet Switched Networks |Datum=2014-10}}</ref> genannten Sicherheitsanforderungen. Insbesondere gewährleistet NTS [[Authentifizierung|Authentifizierbarkeit]] der Zeitserver, [[Integrität (Informationssicherheit)|Integrität]] und [[Authentizität]] von NTP-Paketen sowie [[Skalierbarkeit]]. Die Genauigkeit der Uhrensynchronisation soll trotz des zusätzlichen [[Overhead (EDV)|Overheads]] von NTS nicht nachteilig beeinflusst werden. Der [[Schlüssel (Kryptologie)|Schlüssel]]<nowiki />austausch basiert auf [[Transport Layer Security|TLS]] 1.3 (<nowiki>RFC 8446</nowiki><ref>{{RFC-Internet |RFC=8446 |Titel=The Transport Layer Security (TLS) Protocol Version 1.3 |Datum=2018-08}}</ref>) und erfolgt [[Liste der
Beispiele für öffentlich erreichbare NTP-Server, die NTS unterstützen, sind:<ref>{{Internetquelle |autor=Marcel Waldvogel |url=https://netfuture.ch/2021/12/transparent-trustworthy-time-with-ntp-and-nts/#server-list |titel=Transparent, Trustworthy Time with NTP and NTS |werk=Netfuture |datum=2021-12-26 |abruf=2022-01-18}}</ref>
|