Zum Hauptinhalt springen

Was ist NTP? Ein Leitfaden zum Network Time Protocol

Veröffentlicht am:
.
4 Minuten Lesezeit
.
Für die Englische Version

Die Zeitsynchronisation ist in modernen Computernetzwerken entscheidend, da Methoden wie das Verwalten, Sichern, Planen und Debuggen eines Netzwerks die genaue Zeit erfordern, um festzustellen, wann ein Ereignis stattgefunden hat. Die genaue Zeit zu halten, ist eine Herausforderung, da die Uhr des Computers jeden Tag um einige Minuten oder Sekunden abweicht. Das Network Time Protocol (NTP) ist ein weit verbreitetes Zeit-Synchronisationsprotokoll, und viele Personen verwenden NTP-Software, um ihre Geräte mit NTP-Servern zu synchronisieren und ihre Zeit-Synchronisationsprobleme zu beheben. NTP wird von Servern, Switches, Routern und Computern verwendet, um ihre Zeit über ein Netzwerk zu synchronisieren. Es ermöglicht diesen Geräten, die genaue Zeit zu halten, indem sie ihre Uhren regelmäßig mit einer externen Zeitquelle synchronisieren.

Die Zeitsynchronisation leistet einen bedeutenden Beitrag zu verteilten Systemen und ist ein kritisches Merkmal jeder Infrastruktur. Darüber hinaus ist die Zeitkorrelation für eine Vielzahl von Aufgaben wie Systemauthentifizierung, Netzwerknutzungsanalyse, Dateisystemaktualisierungen, Problemdiagnose, Implementierung von Sicherheitsregeln und mehr von entscheidender Bedeutung. Jeder Computer enthält eine Hardwareuhr, die die aktuelle Zeit verfolgt, obwohl sie aufgrund von Frequenzdrift ungenau ist. Eine kleine Temperaturänderung hat Auswirkungen auf die Uhren, ebenso wie Quarzoszillatoren. Infolgedessen werden die Uhren der beiden Computer nicht gleich sein. Laut Ganeriwals Forschung kann ein Computer um bis zu 40 Mikrosekunden pro Sekunde abweichen. Die Zeitsynchronisation zwischen Geräten ist entscheidend, um die Zeit genau im Auge zu behalten.

Was ist NTP?

Das Network Time Protocol (NTP) ist das am häufigsten verwendete Protokoll zur Synchronisierung von Netzwerkuhren in der Software-Synchronisation und eignet sich gut für große Netzwerke. Hochpräzise Zeit ist eines der wichtigsten Geschäftsanforderungen sowie eine wichtige Herausforderung. Das Network Time Protocol (NTP) ist ein Zeit-Synchronisationsprotokoll, das verwendet wird, um das Problem der hohen Präzision zu lösen. Es ist ein Protokoll, das verwendet wird, um die Zeit eines Computers zu synchronisieren, der sich an einem anderen geografischen Standort im Internet befindet, um die gleiche Zeit zu halten.

NTP ist mehr als ein Protokoll; es ist eine integrierte Technologie, die die systematische Übertragung der nationalen Standardzeit über das Internet und verbundene private und geschäftliche Netzwerke ermöglicht. Die Technologie ist weit verbreitet, omnipräsent und nicht von kommerziellen Interessen kontrolliert. Das ultimative Ziel von NTP ist es, die Uhren aller teilnehmenden Computer innerhalb von ein oder zwei Millisekunden mit UTC zu synchronisieren. Es hat hohe Genauigkeit und Stabilität.

Bedeutung von NTP

Abbildung 1. Bedeutung von NTP

Starten Sie noch heute kostenlos mit Zenarmor

NTP-Geschichte

Die Forschung zur Zeitsynchronisation im Netzwerk geht NTP voraus. J. Postel und H. Harrenstein veröffentlichten im Mai 1983 ein zweiseitiges RFC mit dem Titel "Time Protocol", was in der Netzwerkbranche wie eine Ewigkeit erscheinen mag. RFC 868 definierte ein sehr grundlegendes Zeitprotokoll, das als Dienst über UDP oder TCP verwendet werden konnte. NTP wurde 1985 an der University of Delaware entwickelt. Dave Mills veröffentlichte RFC 958, den ersten in einer Reihe von RFCs, die das Network Time Protocol spezifizieren, zwei Jahre nachdem RFC 868 veröffentlicht wurde. Seitdem wurden Anstrengungen unternommen, um NTP zu verbessern und es in der sich schnell verändernden Netzwerkumgebung nützlicher und relevanter zu machen.

Was macht NTP?

Mit der raschen Entwicklung der Computertechnologie ist in allen Bereichen eine genaue Zeitsynchronisation erforderlich, und es gibt drei Methoden zur Zeitsynchronisation:

  1. Hardware-Synchronisierung

  2. Zeit-Synchronisation von Navigationssatelliten

  3. Software-Synchronisierung

Die häufigste Technik der Zeitsynchronisation ist die Software-Synchronisation, die die Netzzeitsynchronisation und einen Uhrensynchronisationsalgorithmus verwendet, um die Zeit in einem globalen Netzwerk zu synchronisieren. Das NTP ist das am häufigsten verwendete Netzwerk-Uhrensynchronisationsprotokoll in der Software-Synchronisation und eignet sich gut für große Netzwerke.

Nicht jedes Netzwerkgerät benötigt NTP-Einstellungen, um zu funktionieren. Jeder Router oder Switch hat seine eigene interne Uhr, die Netzwerkadministratoren zur Zeit auf ihren Uhren zum Zeitpunkt der Konfiguration einstellen können. Ein Haushalt mit vielen Uhren, die jeweils eine andere Zeit anzeigen, kann gut funktionieren, bis ein Vorfall eintritt, der eine genaue Zeitbestimmung erfordert. Wenn das Opfer einen Vandalismusakt oder Schlimmeres mit einer ungenauen Tages- oder Nachtzeit (einer früheren oder späteren Zeit als der tatsächliche Zeitpunkt am Tatort) in Verbindung bringt und der Verdächtige ein Alibi vorweisen kann, dass er sich zur angegebenen Zeit an einem anderen Ort befand, könnte der Fall zusammenbrechen, da es keine weiteren harten Beweise gibt, die den Verdächtigen mit dem Verbrechen verbinden.

Dasselbe Konzept gilt für die Vernetzung und Zeitsynchronisation über das Netzwerk. Jeder Router, Switch, Server oder Arbeitsplatz kann seine eigene Zeit haben, bis Situationen auftreten, in denen die genaue Zeit bekannt sein muss. Infolgedessen werden in einem komplexen Netzwerk mit Hunderten von zeitabhängigen Geräten die Zeitsynchronisation und die genaue Zeitmessung zu kritischen Komponenten des gesamten Netzwerkbetriebs und -managements. Wenn der Betrieb eines Netzwerks den nachteiligen Auswirkungen von kaskadierenden Ereignissen ausgesetzt ist, die entweder durch ein offensichtliches anfängliches Ereignis (wie einen Sicherheitsvorfall) oder durch den Fehler eines Ereignisses verursacht werden, das eine Reihe wünschenswerter Aktionen auslösen soll, gibt die Fähigkeit, Ereignisse zeitlich korrekt zu rekonstruieren, einem Administrator eine bessere Chance, effektive Korrekturmaßnahmen umzusetzen.

Wie funktioniert NTP?

Das Network Time Protocol (NTP) besteht aus drei Komponenten:

  • Das NTP-Softwareprogramm, bekannt als Daemon in Unix und als Dienst in Windows;

  • Das Protokoll, das Zeitwerte zwischen Servern und Clients austauscht;

  • Eine Reihe von Algorithmen, die die Zeitwerte verarbeiten, um die Systemuhr vor- oder zurückzustellen.

Die Begriffe "Server" und "Client" werden im NTP verwendet. Ein Client ist ein System, das versucht, seine Uhr mit einem Server zu synchronisieren, während ein Server eine Quelle für Zeitinformationen ist. Ein Primärserver oder ein Sekundärserver sind die beiden Arten von Servern. Ein Hauptserver (auch bekannt als Stratum-1-Server im Zusammenhang mit der Zeitreferenzarchitektur des Telefonnetzes) ist ein Server, der ein UTC-Zeitsignal direkt von einer autoritativen Zeitquelle empfängt, wie zum Beispiel einer programmierten Atomuhr oder heutzutage typischerweise einer GPS-Signalquelle. Das Zeitsignal wird von einem sekundären Server von einem oder mehreren vorgelagerten Servern empfangen und an einen oder mehrere nachgelagerte Server und Clients verteilt. Sekundärserver fungieren als Repeater für Zeitsignale, entlasten die Primärserver von der Nachfrage der Client-Abfragen und liefern dennoch ein Zeitsignal von gleichwertiger Qualität wie die Primärserver. Die sekundären Server müssen in einer strengen Upstream- und Downstream-Hierarchie organisiert werden, und die Stratum-Terminologie wird häufig verwendet, um dabei zu helfen.

Wie NTP funktioniert

Abbildung 2. Wie NTP funktioniert

Ein Stratum-1-Server erhält sein Zeitsignal von einer UTC-Referenzquelle, wie bereits erwähnt. Das Zeitsignal für einen Stratum-2-Server stammt von einem Stratum-1-Server, für einen Stratum-3-Server von Stratum-2-Servern und so weiter.

Um ein Referenz-Uhrzeitsignal aufrechtzuerhalten, kann ein Stratum-n-Server mit zahlreichen Stratum-n-1-Servern kommunizieren. Diese Stratum-Architektur ist darauf ausgelegt, Synchronisationsschleifen zwischen Zeitservern zu verhindern. Clients kommunizieren mit Servern, um ihre internen Uhren mit dem NTP-Zeitsignal zu synchronisieren.

Das NTP-Protokoll ist im Wesentlichen eine Zeitabfrage-Transaktion, bei der ein Client die aktuelle Uhrzeit von einem Server anfordert und dabei seine eigene Uhrzeit mit der Anfrage übermittelt. Der Server fügt seine Zeit dem Datenpaket hinzu und sendet es an den Client zurück. Wenn der Client das Paket empfängt, kann er zwei wichtige Informationen extrahieren: die Referenzzeit des Servers und die verstrichene Zeit, die ein Signal benötigt, um vom Client zum Server und zurück zu gelangen, gemessen von der lokalen Uhr. Wiederholte Iterationen dieses Verfahrens ermöglichen es dem lokalen Client, die Auswirkungen von Netzwerk-Jitter zu beseitigen und somit einen stabilen Wert für die Verzögerung zwischen der lokalen Uhr und dem Referenzstandard der Serveruhr zu erhalten. Dieser Wert wird dann verwendet, um die lokale Uhr anzupassen, damit sie mit dem Server synchronisiert ist.

Um die Zeitmessung mit hoher Präzision zu ermöglichen, wurde ein kostenloses Projekt ins Leben gerufen. Es heißt „The NTP pool Project“. Das Projekt verbindet sehr große virtuelle Cluster von NTP-Servern mit dem Internet. Einzelpersonen oder Unternehmen mit internetverbundenen Servern melden sich freiwillig und stellen die Zeitserver zur Verfügung, die die Pools bilden. Server-Pools befinden sich in fast jedem Land auf dem Planeten. Dies ermöglicht es den Kunden, einen nahegelegenen Server zu nutzen, wodurch die Hin- und Rücklaufzeiten reduziert und die Integrität verbessert werden. Sie können einfach den Domainnamen "pool.ntp.org" konfigurieren, um dem Pool-System mitzuteilen, dass es nach dem nächstgelegenen erreichbaren Server in Ihrer Nähe suchen soll.

Was sind die Funktionen von NTP?

Die folgenden sind die grundlegenden Merkmale des Network Time Protocols:

  • NTP stellt eine Referenzuhr zur Verfügung, die eine Quelle für alle Synchronisationsaufgaben bietet. Alle Uhren sind nach dieser Uhr oder Zeit ausgerichtet. Die koordinierte Weltzeit (UTC), die als Standardweltzeituhr gilt, wird seit Beginn zu diesem Zweck verwendet.

  • NTP ist ein Synchronisierungsprotokoll, das automatisch nach den besten Zeitquellen sucht. Mehrere Quellen können zusammengeführt werden, um die Menge an Fehleransammlungen zu reduzieren, die die Synchronisation beeinträchtigen. Wenn möglich, erkennt und verwirft das Network Time Protocol Zeitquellen, die stark abweichende Werte vorübergehend oder dauerhaft einreichen.

  • NTP ist ein sehr skalierbares Protokoll. Jedes Synchronisationsnetzwerk kann viele Referenzuhren haben. Darüber hinaus kann jeder Netzwerkknoten bidirektionale (punkt-zu-punkt) oder unidirektionale Zeitinformationen in einer hierarchischen Struktur (in eine Richtung) senden.

  • NTP ist ziemlich zuverlässig. Ein Ergebnis von bis zu einer Nanosekunde ist dank der Fähigkeit, den besten Kandidaten für die Synchronisation auszuwählen, machbar.

  • NTP kann verwendet werden, um vorübergehende Netzwerkverbindungsprobleme zu lösen. Es nutzt vergangene Messungen, um die Zeit oder die Abweichung zu diesem Zeitpunkt zu bestimmen.

Was ist NTP-Konfiguration?

Die Auswahl Ihrer Zeitquelle, die Entscheidung über die NTP-Topologie, die Identifizierung der zu konfigurierenden NTP-Funktionen sowie die Überwachung und Steuerung der NTP-Operationen sind allesamt Teil des Prozesses zur Gestaltung einer effektiven NTP-Implementierung. Jede Phase bietet eine Reihe von Optionen, die alle auf den Anforderungen der Netzwerkbenutzer an eine präzise und synchronisierte Netzwerkzeit basieren. Je nachdem, ob Sie einen Server, Client oder Peer konfigurieren, werden die grundlegenden NTP-Einstellungen unterschiedlich sein. Variationen werden auch aufgrund des Betriebssystems auftreten. Die Grundkonfiguration ermöglicht es unterdessen einem Client, Updates von einem Server zu empfangen, einem Server, Updates anzubieten, und Peers, Updates auszutauschen. NTP-Sicherheit und Redundanz werden von der grundlegenden NTP-Konfiguration nicht behandelt.

Wie ändert man die NTP-Konfiguration?

Wenn Sie NTP einrichten möchten, benötigen Sie Zugriff auf mindestens einen NTP-fähigen Server. Der NTP-Daemon erhält seine Einstellungen aus einer Datei namens „ntp.conf“ oder „xntp.conf“. Diese Datei befindet sich normalerweise im Verzeichnis /etc auf UNIX-ähnlichen Systemen. Wenn eine aktuelle NTP-Version auf Windows installiert ist, befindet sich die ntp.conf-Datei in einem etc-Verzeichnis unterhalb des NTP-Programmverzeichnisses.

Ein Beispiel für eine grundlegende ntp.conf-Datei würde so aussehen:

--- GENERAL CONFIGURATION ---

server aaa.bbb.ccc.ddd

server 127.127.1.0

fudge 127.127.1.0 stratum 10

---Drift file. -----

driftfile /etc/ntp/drift

Die einfachste ntp.conf-Datei wird einfach zwei Server auflisten, mit denen sie sich synchronisieren möchte und mit denen sie über eine pseudo IP-Adresse (in diesem Fall 127.127.1.0) kommunizieren möchte. Im Falle eines Netzwerkausfalls oder des Ausfalls des entfernten NTP-Servers wird die Pseudo-IP-Adresse verwendet. NTP wird sich selbst synchronisieren, bis es die Synchronisation mit dem entfernten Server wieder aufnehmen kann. Es wird empfohlen, dass Sie mindestens zwei Remote-Server auflisten, mit denen Sie synchronisieren können. Einer wird als primärer Server dienen, während der andere als Backup-Server fungieren wird. Sie sollten auch angeben, wo eine Drift-Datei gespeichert werden soll. NTP wird im Laufe der Zeit die Fehlerquote der Systemuhr "erlernen" und automatisch anpassen.

Was ist lokales NTP?

Um die Zeit zwischen Geräten zu synchronisieren, verwenden die meisten Geräte einen Internet-Zeitserver und eine Zeitquelle, wie zum Beispiel einen GPS-Satelliten. Die Zeitsynchronisation muss in einem Offline-Szenario, in dem Geräte nicht mit dem Internet verbunden sind, mithilfe eines lokalen Network Time Protocol (NTP) Servers erreicht werden.

Ein Designer könnte in Betracht ziehen, ein vorhandenes Netzwerkgerät als lokalen NTP-"Master" zu nutzen und zu konfigurieren, wenn er eine NTP-Zeitquelle auswählt. Ein lokaler NTP-"Master" verwendet eine Zeitquelle, die nicht mit UTC synchronisiert ist (Zeit, die von Ihnen bestimmt und eingestellt wird). Die "Master"-Funktion ermöglicht die Zeitsynchronisation zwischen den beteiligten Geräten basierend auf lokaler Zeit, auch wenn diese Zeit im Vergleich zu UTC nicht sehr genau ist. Ein Router, Switch oder Server, der die "Master"-Funktion implementiert, kann als lokaler NTP-"Master" fungieren. Da der Hauptzweck eines lokalen NTP-"Masters" nicht die Zeitsynchronisation ist, ziehen Sie in Betracht, die "Master"-Funktion als kostenlose Option zu nutzen, ähnlich wie die Verwendung öffentlicher NTP-Server, die über das Internet verfügbar sind.

Was ist ein NTP-Server?

Der Netzwerk-Zeitserver ist ein allgemeiner Begriff, der die Software beschreibt, die auf dem NTP-Network Time Protocol-Server läuft und auf jeder Server-/Computerplattform installiert werden kann, die NTP unterstützt. Netzwerkgeräte (Tray-Montage, Rack, usw.) beziehen und nutzen die Zeit von einer externen Quelle, um die Zeit in ihren eigenen internen Uhren aufrechtzuerhalten, und liefern die Zeit dann an ihre zugehörigen Netzwerke. NTP-Server hören auf Client-NTP-Pakete auf Port 123. Der NTP-Server ist zustandslos und antwortet auf jedes empfangene NTP-Paket des Clients in transaktionaler Weise, indem er Informationen wie Zeitstempel zu dem empfangenen Paket hinzufügt und es an den ursprünglichen Absender zurücksendet, ohne Rücksicht auf vorherige NTP-Transaktionen.

Wofür wird ein NTP-Server verwendet?

Ein NTP-Server ist eine Zeitquelle, während ein NTP-Client ein System oder Gerät ist, das versucht, seine Uhr mit einem Server zu synchronisieren. Server können primär oder sekundär sein. Ein primärer Server erhält UTC-Zeit-Signale von einer hochpräzisen Quelle, wie einer Atomuhr oder, typischerweise, einer GPS-Signalquelle. Ein sekundärer Server erhält sein Zeitsignal von einem oder mehreren vorgelagerten Servern und sendet es an einen oder mehrere nachgelagerte Server und Clients. Sekundäre Server sind in einer strengen Hierarchie in Bezug auf Upstream und Downstream angeordnet, und die Stratum-Terminologie wird häufig verwendet, um diesen Prozess zu unterstützen.

Wie erfährt man die IP-Adresse eines NTP-Servers?

Wie man die IP-Adresse des NTP-Servers sowohl in Windows als auch in Linux herausfindet, wird unten erklärt.

Um die NTP-Server-IP unter Windows zu lernen:

Bevor Sie die Uhrzeit Ihres PCs mit Ihrem NTP-Server synchronisieren können, müssen Sie zuerst den Windows-Zeitdienst starten.

Schritt 1: Öffnen Sie die Eingabeaufforderung und führen Sie sie als Administrator aus. Geben Sie dann den folgenden Befehl ein, um den Zeitdienst erfolgreich zu registrieren.

w32tm /register

Schritt 2: Wieder im Eingabeaufforderungsfenster, führen Sie den folgenden Befehl aus, um den Zeitdienst zu starten.

sc start w32time

Schritt 3: Nach der Registrierung und dem Starten des Zeitservers können wir die IP-Adresse des Servers mit dem folgenden Befehl ermitteln. Geben Sie im Eingabeaufforderungsfenster den folgenden Befehl ein, um Informationen über die IP-Adresse des NTP-Servers zu erhalten.

w32tm /query /status

Um die NTP-Server-IP unter Linux zu lernen:

Um die genaue Upstream-IP-Adresse des NTP-Servers auf einem Linux-System zu identifizieren, sollten Sie den folgenden Befehl in der CLI eingeben.

systemctl status systemd-timesyncd

Wie viele NTP-Server sind im Internet verfügbar?

Laut Project Sonar gibt es heute 1.638.577 NTP-Server im öffentlichen Internet, und ihre Zahl nimmt täglich zu.

Welche Version von NTP ist besser?

Die Synchronisierung aller Netzwerkkomponenten ist entscheidend, um eine hohe Serviceeffizienz zu erreichen und Probleme zu vermeiden. Es gibt verschiedene Zeit-Synchronisationsprotokolle, die auf NTP-Protokollen basieren, aber an die Bedürfnisse angepasst sind.

  • Das Simple Network Time Protocol (SNTP)

  • Network Time Protocol (NTP)

  • Precision Time Protocol (PTP)

sind die drei beliebtesten Synchronisierungstechnologien.

Das PTP-Protokoll ist das genaueste, mit einer Genauigkeit im Nanosekundenbereich, während die SNTP- und NTP-Protokolle weniger genau sind, mit einer Genauigkeit im Mikrosekundenbereich, aber für bestimmte industrielle und kommerzielle Bedürfnisse zufriedenstellend sind.

Damit unsere Ausrüstung effektiv arbeiten kann, müssen wir ihre spezifischen Anforderungen identifizieren. Je mehr Zeitgenauigkeit erforderlich ist, desto anspruchsvoller und präziser muss die Arbeit der Ausrüstung sein. In diesem Fall wird die Implementierung des PTP-Algorithmus angemessener sein.

Die Verwendung der NTP- und SNTP-Protokolle ist angemessen, wenn unsere Geräte keine hohe Genauigkeit erfordern. Die Position des Geräts im Netzwerk, die Speicherkapazität und der Genauigkeitsbedarf beeinflussen alle, welche dieser beiden Methoden verwendet wird. SNTP hat einen einfacheren Algorithmus als NTP. Also verbraucht es weniger Systemressourcen. SNTP wird möglicherweise eher in Systemen bevorzugt, die keine sehr hohe Sicherheit erfordern.

Was ist NTP in der Cybersicherheit?

Die sichere Zeit-Synchronisation über ein öffentliches Netzwerk durchzuführen, ist sowohl verlockend als auch riskant. Offensichtlich können katastrophale Dinge passieren, wenn ein Terrorist die Zeit manipuliert, was dazu führt, dass Züge kollidieren, Aktien verkauft werden, bevor sie gekauft werden, und die Abendnachrichten um Mitternacht ausgestrahlt werden. Wenn die Zeit so stark verzerrt wird, dass Rezepte, Festplattenspeicherquoten oder Einkommenssteuererklärungen ungültig werden, gibt es auch einen noch böseren Aspekt.

Das Network Time Protocol (NTP) ermöglicht es jeder Maschine, einen dieser Zeitserver über das Internet abzufragen, um ihre interne Uhr mit UTC zu synchronisieren. Damit die Systeme der Organisation jedoch synchronisiert werden können, muss im Grunde eine Tür in ihrer Firewall für den Eintritt von Zeitinformationen offen gelassen werden. NTP ist so konzipiert, dass es einen bestimmten Port auf 123 verwendet. Aus der Sicht der Cybersicherheit ist dies ein großes Risiko. Viele Unternehmen nutzen diese Strategie, um die Netzwerkzeit aufrechtzuerhalten. Andererseits wissen böswillige Hacker genau, welche Tür in der Firewall offen sein wird. Es ist ähnlich, als würde man einem Angreifer eine Einladung mit Anweisungen zum Hacken Ihres Netzwerks schicken.

Angreifer können NTP nutzen, um das Netzwerk mit großen Antwortpaketen zu überlasten, einen zeitkritischen wichtigen Dienst zu beeinträchtigen und so weiter. NTP ist anfällig für eine Reihe verschiedener Angriffe. Die folgenden sind einige davon:

  • Ein Replay-Angriff

  • Man-in-the-Middle-Angriff (MITM)

  • Ein Verzögerungsangriff, bei dem Client- und Serverpakete für eine feste oder variable Zeitspanne verzögert werden, aber unverändert bleiben.

  • Ein DDoS-Angriff, bei dem ein Angreifer eine ungeschützte Maschine identifiziert, sie in einen Bot-Master verwandelt und sie nutzt, um weitere anfällige Computer mit Malware zu infizieren.

NTP ist eines der ältesten Protokolle im Internet und ist standardmäßig nicht sicher, was es anfällig für DDoS- und Man-in-the-Middle (MitM)-Angriffe macht. NTP-Verstärkung ist eine Art reflektierter DDoS-Angriff, bei dem ein Angreifer wiederholt Anfragen an öffentlich zugängliche NTP-Server sendet, indem er eine gefälschte IP-Adresse verwendet, um dem angegriffenen System eine massive Antwort vom NTP-Server zu liefern. Aufgrund der erhöhten Bandbreitennachfrage könnte dies zu einer Dienstverschlechterung führen, wodurch legitime Benutzer und Systeme daran gehindert werden, auf Netzwerkressourcen zuzugreifen und diese zu nutzen.

Was ist SNTP?

Um die Genauigkeit der Zeitsynchronisation zu verbessern und Uhrdrift zu verhindern, hat NTP komplexe statistische Methoden entwickelt. Andererseits benötigen die Algorithmen viel Speicher und Rechenleistung. Die maximale Leistung von NTP wird für viele Anwendungen, insbesondere auf kleineren Systemen, nicht benötigt. Infolgedessen wurde das Simple Network Time Protocol (SNTP) entwickelt, um die Zeitsynchronisation für weniger leistungsfähige Systeme zu ermöglichen, die nicht die Raffinesse von NTP benötigen.

Das Simple Network Time Protocol (SNTP) ist eine Client-Only-Version des Network Time Protocol (NTP). SNTP kann nur Zeit von NTP-Servern empfangen und kann keine Zeitdienste für andere Systeme bereitstellen. SNTP fehlen die ausgeklügelten mathematischen Formeln, die NTP verwendet, um den genauesten Server zu bestimmen. Es fehlen auch die Algorithmen, um die Zeit zu verschieben und plötzliche Zeitverschiebungen zu vermeiden, stattdessen wird ein gestaffelter Ansatz zur Zeitänderung gewählt. Infolgedessen ist SNTP für Anwendungen geeignet, bei denen keine Präzision erforderlich ist. Aus diesem Grund sollte SNTP nicht verwendet werden, um Dienste für Clients bereitzustellen. Es sollte ausschließlich an der Spitze und am Ende der NTP-Hierarchie verwendet werden.

Was sind die Unterschiede zwischen NTP und SNTP?

Die wichtigsten Unterschiede zwischen NTP und SNTP werden im Folgenden erläutert.

  • Um einen sehr hohen Grad an Uhrensynchronisation zu erreichen, hat NTP komplexe statistische Algorithmen mit Kalibrierungsansätzen entwickelt, die darauf abzielen, winzige Abweichungen herauszufiltern. Im Gegensatz dazu verfolgt SNTP einen erheblich einfacheren Ansatz zur Netzwerksynchronisation der Zeit. Viele der Komplexitäten der NTP-Algorithmen wurden entfernt oder vereinfacht.

  • Mehrere Zeitreferenzen werden regelmäßig überwacht, um Redundanz zu gewährleisten. Die zuverlässigsten und stabilsten werden durch komplexe Auswahlalgorithmen bestimmt. Mehrere Zeitquellen, einschließlich einer Kombination aus Hardwareuhren und Netzwerkzeitquellen, können überwacht werden, um die Zuverlässigkeit zu verbessern. Andererseits ist SNTP nicht in der Lage, zahlreiche Zeitquellen zu überwachen und zu filtern. In den meisten Fällen kann das Protokoll nur so eingerichtet werden, dass es mit einer einzigen Zeitquelle arbeitet.

  • NTP verfügt über eine Vielzahl von Sicherheitsfunktionen. Symmetrische Schlüssel-Kryptographie wird verwendet, um eine sichere Client-Server-Authentifizierung zu erreichen. Im Gegenteil, viele SNTP-Clients verwenden aus Gründen der Einfachheit keine sicheren Authentifizierungsverfahren, wodurch Systeme böswilligen Benutzern ausgesetzt sind.

Was ist PTP?

PTP (Precision Time Protocol) ist vollständig im IEEE-Standard 1588 definiert. Es ist eine sehr genaue und skalierbare Zeitquelle, die eine breite Palette von vernetzten Geräten unterstützen kann. Es wurde für Systeme entwickelt, die das höchste Maß an Präzision erfordern. PTP kann Zeitstempel auf das Niveau von Zehntelnanosekunden ermöglichen, indem es Hardware-Zeitstempelung aktiviert und diese in Verbindung mit bestimmten Hardware-Setups verwendet. Es arbeitet auf einer Master-Slave-Architektur und verwendet eine Grandmaster-Uhr, um die Kommunikation zu synchronisieren. PTP wird hauptsächlich in militärischen Anwendungen, im Elektrizitätssektor, in hochrangigen Forschungsinstituten (wie CERN), in der Telekommunikation und in der Finanzdienstleistungsbranche als Zeitverteilungsprotokoll verwendet, das das höchste Maß an Präzision ohne die inhärenten Schwächen von GPS bietet.

Was ist der Unterschied zwischen PTP und NTP?

Die wichtigsten Unterschiede zwischen PTP und NTP werden im Folgenden erläutert.

  • PTP wurde für die Nutzung über ein LAN entwickelt, oder genauer gesagt, für "räumlich lokalisierte Systeme mit größeren Systemoptionen". Im Gegensatz dazu wird NTP häufig im Internet verwendet und ist daher anfällig für viele nichtdeterministische Verzögerungen durch Zwischen-Netzknoten sowie für viele Sicherheitsbedenken.

  • PTP steht für "administrationsfreien Betrieb," was bedeutet, dass die Geräte, die ein System bilden, mit wenig oder keiner Konfiguration installiert werden können und dennoch die beste Zeitsynchronisation für die Umgebung erreichen. Der von NTP verwendete Optimierungsalgorithmus sieht jedoch nicht dasselbe Maß an Autonomie vor.

  • NTP bietet eine Genauigkeit im Millisekundenbereich, während PTP eine Genauigkeit im Submikrosekundenbereich bietet.

  • NTP beschreibt die Verwendung von Zugriffskontrolllisten und einer Art der Public-Key-Kryptographie namens Autokey, während PTP einfach eine experimentelle Ergänzung zum Protokoll enthält, um Sicherheitsverletzungen zu beheben.