Nothing Special   »   [go: up one dir, main page]

„Network Time Protocol“ – Versionsunterschied

[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
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&nbsp;5905</nowiki><ref name="RFC5905" />
}}
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.
Zeile 23:
[[Datei:Ntp statusmessage.png|mini|400px|Statusmeldung des NTP-Daemons. Spalten v.&nbsp;l.&nbsp;n.&nbsp;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&nbsp;958</nowiki><ref>{{RFC-Internet |RFC=958 |Titel=Network Time Protocol (NTP) |Datum=1985 |Kommentar=veraltet}}</ref> veröffentlicht. NachSeit der Pensionierung von Mills im Jahr 2011 wird die Referenzimplementierung derzeit als [[Open Source|Open-Source]]-Projekt durch die im Jahr 2011 gegründete ''Network Time Foundation'' unter der Leitung von Harlan Stenn gepflegt.<ref name="jZjhj">{{cite web| url=http://www.informationweek.com/cloud/infrastructure-as-a-service/ntp-needs-money-is-a-foundation-the-answer/d/d-id/1319557| title=NTP Needs Money: Is A Foundation The Answer?| work=[[InformationWeek]]| date=2015-03-23| access-date=2015-04-04| archive-url=https://web.archive.org/web/20150410033108/http://www.informationweek.com/cloud/infrastructure-as-a-service/ntp-needs-money-is-a-foundation-the-answer/d/d-id/1319557| archive-date=2015-04-10| url-status=live|language=en}}</ref><ref name="MShrI">{{cite web| url=http://www.informationweek.com/it-life/ntps-fate-hinges-on-father-time/d/d-id/1319432?cmp=em-prog-na-na-newsltr_20150313_control&imm_mid=0ce65e&page_number=2| title=NTP's Fate Hinges On 'Father Time'| work=[[InformationWeek]]| date=2015-03-11| access-date=2015-04-04| archive-url=https://web.archive.org/web/20150410021745/http://www.informationweek.com/it-life/ntps-fate-hinges-on-father-time/d/d-id/1319432?cmp=em-prog-na-na-newsltr_20150313_control&imm_mid=0ce65e&page_number=2| archive-date=2015-04-10| url-status=live|language=en}}</ref>
 
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&nbsp;0 am 1.&nbsp;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#109Sekunden 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 Bits umfassenden Zeitstempel auch die Ära übermittelt werden.<ref name="RFC5905" />
 
NTP nutzt ein hierarchisches System verschiedener ''Strata'' (Plural von ''Stratum''). Als Stratum&nbsp;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&nbsp;1. Jede weitere abhängige Einheit erhält bei der Bezeichnung eine höhere Nummer (Stratum&nbsp;2, Stratum&nbsp;3&nbsp;…).<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&nbsp;1, Stratum&nbsp;2, Stratum&nbsp;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.&nbsp;Oktober 2020 im <nowiki>RFC&nbsp;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&nbsp;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&nbsp;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 standardisierten PortsPortnummern|standardmäßig]] über den TCP-Port 4460.<ref>{{Internetquelle |url=https://www.internetsociety.org/blog/2020/10/nts-rfc-published-new-standard-to-ensure-secure-time-on-the-internet/ |titel=NTS RFC Published: New Standard to Ensure Secure Time on the Internet |hrsg=[[Internet Society]] |datum=2020-10-01 |sprache=en |abruf=2022-01-02}}</ref><ref name="PTB">{{Internetquelle |url=https://www.ptb.de/cms/ptb/fachabteilungen/abtq/gruppe-q4/ref-q42/zeitsynchronisation-von-rechnern-mit-hilfe-des-network-time-protocol-ntp.html |titel=Zeitsynchronisation von Rechnern mit Hilfe des „Network Time Protocol“ (NTP) |hrsg=[[Physikalisch-Technische Bundesanstalt]] |datum=2021-07-28 |abruf=2023-11-14}}</ref><ref name="Netnod">{{Internetquelle |url=https://www.netnod.se/nts/network-time-security |titel=Network Time Security |hrsg=Netnod |datum=2021 |sprache=en |abruf=2022-01-02}}</ref>
 
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>