Network Time Protocol

Network Time Protocol
NTP (Network Time Protocol)
Familie: Internetprotokollfamilie
Einsatzgebiet: Synchronisierung von Uhren in Computersystemen
Ports: 123/UDP
NTP im TCP/IP‑Protokollstapel:
Anwendung NTP
Transport UDP
Internet IP (IPv4, IPv6)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI
Standards: RFC 5905

Das Network Time Protocol (NTP) ist ein Standard zur Synchronisierung von Uhren in Computersystemen über paketbasierte Kommunikationsnetze. NTP verwendet das verbindungslose Transportprotokoll UDP. NTP wurde speziell entwickelt, um eine zuverlässige Zeitgabe über Netzwerke mit variabler Paketlaufzeit zu ermöglichen.

Im allgemeinen Sprachgebrauch bezeichnet NTP sowohl das Protokoll als auch die Software-Referenzimplementierung desselben.

Inhaltsverzeichnis

Grundlagen

Architecture NTP labels de.svg
Statusmeldung des NTP-Daemons. Spalten v.l.n.r.: Servername (remote); Zeitquellen-ID (refid); Stratum des Servers (st); wann das letzte mal abgefragt wurde (when); in welchem Intervall der Server abgefragt wird (poll); wie oft der Server erreicht wurde (reach; 377 heißt, dass die letzten 8 Abfragen erfolgreich waren); die Laufzeit des NTP-Pakets (delay); der Offset der lokalen Uhr gegenüber dem Server (offset) und wie stark die abgefragte Zeit schwankt (jitter)

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.

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 „Internetzeit“) und nach Bearbeitung eines Eintrags in der Registrierungsdatenbank auch über NTP bereitstellen.[2]

Der UNIX-ntpd synchronisiert die lokale Uhr mit Hilfe von externen Zeitsignalen, die er entweder direkt von einer lokalen Atomuhr (Caesium-Uhr, Rubidium-Uhr usw.) 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 sind 64 Bits lang. 32 Bits kodieren die Sekunden seit dem 1. Januar 1900 00:00:00 Uhr, weitere 32 Bits 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.

NTP nutzt ein hierarchisches System verschiedener Strata. Als Stratum 0 bezeichnet man das Zeitnormal, beispielsweise eine Atomuhr oder eine Funkuhr (genauer: Zeitzeichenempfänger) (GNSS, 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 …).[3] 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.

Algorithmus und Genauigkeit

NTP benutzt den Marzullo-Algorithmus (erfunden von Keith Marzullo von der Universität San Diego in seiner Dissertation) und auch einen Algorithmus, um Byzantinische Fehler zu behandeln. NTP wird meist mit einer UTC-Zeitskala eingesetzt.

NTP unterstützt Schaltsekunden. Durch die Betrachtung der Schaltsekunden im Protokoll kommt es dazu, dass mit jeder Schaltsekunde (welche jedoch selten vorkommen) eine neue Sekundenskala benutzt wird. Für die Skala der Systemzeit wird jedoch für gewöhnlich die tatsächlich vergangene Zeit seit einem bestimmten Zeitpunkt benutzt und Schaltsekunden kommen erst bei der Darstellung der Zeit ins Spiel.

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. Bei einem hinreichend stabilen lokalen Taktgeber (thermostatgesteuerter Quarzoszillator, Rubidium-Oszillator etc.) lässt sich unter Verwendung der Kernel-PLL (siehe oben) der Phasenfehler zwischen Referenzzeitgeber und lokaler Uhr bis in die Größenordnung weniger Mikrosekunden reduzieren.

SNTP

Das Simple Network Time Protocol (SNTP) ist eine vereinfachte Version des NTP. Es wird im RFC 4330 beschrieben.

Der Aufbau des Protokolls ist mit dem von NTP identisch. SNTP-Clients können damit die Zeit auch von NTP-Servern beziehen. Der wesentliche Unterschied liegt in den verwendeten Algorithmen zur Zeitsynchronisation. Während bei NTP die Zeitsynchronisation in der Regel mit mehreren Zeitservern erfolgt, wird bei SNTP nur ein Zeitserver verwendet. SNTP verzichtet auch auf die Beeinflussung von Phase und Frequenz des lokalen Zeitgebers.[4] SNTP kann daher nicht dieselbe Genauigkeit wie NTP liefern. Aufgrund der einfacheren Algorithmen benötigt SNTP weniger Rechenressourcen, was jedoch aufgrund der heute zur Verfügung stehenden Rechenleistung zu vernachlässigen ist.[5]

Ältere Windows-Versionen wie Windows 2000 verwenden SNTP, um die Uhrzeit auf dem lokalen Computer aktuell zu halten. Dies wird durch den Windows-Service W32Time übernommen. In Windows XP und Windows Server 2003 wurde die Dynamic-Link-Library W32Time.dll überarbeitet, so dass nun NTP zur Zeitsynchronisation verwendet wird.

Da Microsoft das Verfahren zur Zeitsynchronisation erst mit Windows 2000 einführte, haben einige Softwarehersteller eigenständige Programme zur Zeitsynchronisation unter Windows entwickelt. Moderne Authentifizierungssysteme (wie Kerberos), die in Windows 2000 und neueren Versionen verwendet werden, benötigen zur Erhöhung der Sicherheit Zeitstempel, daher ergibt sich auch hier ein Anwendungsfall für NTP.

Die NTP-Website

Neben der Referenz-NTP-Software, die auf der NTP-Website für diverse Betriebssysteme erhältlich ist, bieten eine Reihe von Herstellern fertige Standalone-Lösungen an, die als NTP-Zeitquelle in Computernetzwerken jeder Größe Verwendung finden können.

Einige tausend NTP-Server haben einen NTP-Pool gebildet.

Standards

Die Standards sind in folgenden RFCs festgelegt:[6]

  • RFC 5905 – NTPv4 Protokoll und Algorithmus
  • RFC 5906 – NTPv4 Autokey-Spezifikation
  • RFC 5907 – NTPv4 MIB
  • RFC 5908 – NTP Server Option für DHCPv6
  • RFC 2783 – PPS API (Hochpräzise Zeitsynchronisation bei Unix-Kerneln)

Quellen

  1. NTP Version 4 Release Notes
  2. http://www.pctools.com/guides/registry/detail/1117/
  3. NTP Time Servers: What is Stratum 1?
  4. www.eecis.udel.edu/~mills/database/papers/history.ps
  5. Spectracom (Hrsg.): What is the difference between NTP and SNTP?. New York 21. Juli 2004 ((PDF), abgerufen am 29. Mai 2009).
  6. ISC: NTP-bezogene RFCs

Siehe auch

Literatur

  • David L. Mills: Computer Network Time Synchronization: The Network Time Protocol. CRC Taylor & Francis, Boca Raton 2006, ISBN 0-8493-5805-1.
  • Jörg Reitter: Zeitsynchronisation im LAN. Immer im Takt bleiben. Linux-Magazin, April 2004, abgerufen am 27. August 2011.

Weblinks

  • Österreich

Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Network time protocol — Le Protocole d Heure Réseau (Network Time Protocol ou NTP) est un protocole qui permet de synchroniser, via un réseau informatique, l horloge locale d ordinateurs sur une référence d heure. NTP est un protocole assez ancien. La première version… …   Wikipédia en Français

  • Network Time Protocol — (NTP) Familia: Familia de protocolos de Internet Función: Sincronización de relojes de sistemas informáticos Puertos: 123/UDP Ubicación en la pila de protocolos Aplicación …   Wikipedia Español

  • Network Time Protocol —   [Abk. NTP, dt. »Netzwerkzeitprotokoll«], ein Internetprotokoll zur Synchronisation der Uhren von Rechnern. Es soll erstens die korrekte Zeit von einem oder mehreren Time Servern an einen Client weitergeben und zweitens die Frequenz der Uhren… …   Universal-Lexikon

  • Network Time Protocol — (NTP) es un protocolo de internet para sincronizar los relojes de los sistemas informáticos …   Enciclopedia Universal

  • Network Time Protocol — The Network Time Protocol (NTP) is a protocol and software implementation for synchronizing the clocks of computer systems over packet switched, variable latency data networks. Originally designed by David L. Mills of the University of Delaware… …   Wikipedia

  • Network Time Protocol — Le Protocole d Heure Réseau (Network Time Protocol ou NTP) est un protocole qui permet de synchroniser, via un réseau informatique, l horloge locale d ordinateurs sur une référence d heure. NTP est un protocole assez ancien. La première version… …   Wikipédia en Français

  • Network Time Protocol Daemon — ntpd ntpd, acronyme de Network Time Protocol Daemon, est un daemon qui définit et maintient l heure sur un système d exploitation par synchronisation avec les serveurs dédiés à donner cette information. Sommaire 1 Description 2 Debugging 3… …   Wikipédia en Français

  • Simple network time protocol — Network Time Protocol Le Protocole d Heure Réseau (Network Time Protocol ou NTP) est un protocole qui permet de synchroniser, via un réseau informatique, l horloge locale d ordinateurs sur une référence d heure. NTP est un protocole assez ancien …   Wikipédia en Français

  • Network Time Protocol — (Internet) protocol that schedules the computer s internal clock with the atomic clocks or radio clocks on the Internet, NTP …   English contemporary dictionary

  • Simple Network Time Protocol — SNTP Название: Simple Network Time Protocol Уровень (по модели OSI): Прикладной Семейство: TCP/IP Порт/ID: 123/Назначение протокола: Синхронизация времени Спецификация: RFC 2030 SNTP (англ. Simple Network Time Protocol) протокол синхронизации… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”