SNTP – Simple Network Time Protocol
Abkürzung: SNTP
SNTP ist die vereinfachte Form des Network Time Protocol. Es verwendet dasselbe Nachrichtenformat und dieselben Server, lässt aber die aufwendige Auswertung weg: Ein SNTP-Client fragt die Zeit ab und übernimmt sie. Für die meisten Geräte genügt genau das.
Was SNTP gegenüber NTP weglässt
Ein vollständiger NTP-Client betreibt erheblichen Aufwand, um aus ungenauen Messungen eine genaue Zeit zu gewinnen:
Er fragt mehrere Server gleichzeitig, vergleicht ihre Antworten und erkennt daran einen, der falsch läuft. Er führt über jeden Server Statistiken zu Laufzeit und Schwankung und bevorzugt den stabilsten. Er regelt die Uhr des Systems nach, statt sie zu stellen — er verändert deren Gang, bis sie von selbst richtig läuft, und kennt danach deren Abweichung so gut, dass sie auch ohne Netz eine Zeit lang genau bleibt.
Ein SNTP-Client tut nichts davon. Er fragt einen Server, berechnet aus Sende- und Empfangszeit die Abweichung und stellt die Uhr. In festen Abständen wiederholt er das.
Beide sprechen dabei dasselbe Protokoll. Ein SNTP-Client kann jeden NTP-Server abfragen, und ein Server unterscheidet nicht, wer fragt — der Unterschied liegt vollständig auf der Clientseite.
Welche Genauigkeit SNTP erreicht
Im lokalen Netz liegt die Abweichung typischerweise im Bereich einiger Millisekunden, über das Internet bei einigen zehn Millisekunden. Das ist eine Größenordnung schlechter als ein gepflegter NTP-Client erreicht, und zwei bis drei Größenordnungen schlechter als zeitkritische Anwendungen mit eigenen Verfahren.
Der entscheidende Unterschied ist weniger der Mittelwert als die Verlässlichkeit: Weil nur eine Quelle abgefragt wird, gibt es keine Möglichkeit, einen falsch laufenden Server zu erkennen. Antwortet dieser mit einer um Stunden verschobenen Zeit, übernimmt der Client sie.
Zweiter Punkt: Ein SNTP-Client stellt die Uhr sprunghaft. Läuft sie vor, springt sie zurück — mit der Folge, dass Zeitstempel in Protokollen rückwärts laufen können und Vorgänge, die auf monotone Zeit angewiesen sind, durcheinander kommen.
Wo SNTP genügt und wo nicht
Es genügt für Endgeräte, Router im Heimnetz, Drucker, Kameras, Steuerungen, Anzeigetafeln — überall, wo eine Abweichung von Millisekunden niemanden stört und eine Abweichung von Sekunden auffällt.
Es genügt nicht, wenn Zeitstempel verschiedener Systeme verglichen werden. Die Zusammenführung von Protokolldateien aus mehreren Quellen, die Rekonstruktion eines Vorfalls, die Reihenfolge von Datenbanktransaktionen und jede Abrechnung nach Zeit verlangen eine gemeinsame, geregelte Zeitbasis. Für Mess- und Steuerungstechnik mit Anforderungen im Mikrosekundenbereich gibt es eigene Verfahren.
Was eine falsch gestellte Uhr anrichtet
Das ist der praktisch wertvollste Teil, denn die Fehlerbilder werden fast nie mit der Zeit in Verbindung gebracht:
Verschlüsselte Verbindungen scheitern. Ein Zertifikat hat einen Gültigkeitszeitraum. Liegt die Systemzeit davor oder danach, lehnt der Client die Verbindung ab — mit einer Meldung über ein ungültiges Zertifikat, die auf den Server zeigt, obwohl die eigene Uhr falsch steht. Bei einem Gerät, dessen Batterie leer ist und das nach dem Start im Jahr 1970 oder 2000 beginnt, ist das der Normalfall.
Die Anmeldung mit Einmalkennwörtern misslingt. Zeitbasierte Verfahren akzeptieren nur ein Fenster von typischerweise dreißig Sekunden. Eine Uhr, die eine Minute abweicht, macht jede Anmeldung unmöglich, und die Fehlermeldung lautet schlicht „Code falsch".
Anmeldeverfahren mit Zeitfenster brechen. Verzeichnisdienste begrenzen die zulässige Abweichung zwischen Client und Server, klassisch auf fünf Minuten. Darüber hinaus wird die Anmeldung abgewiesen, ohne dass es nach einem Zeitproblem aussieht.
Zeitgesteuerte Aufgaben laufen doppelt oder nicht. Springt die Uhr zurück, kann eine geplante Aufgabe erneut starten; springt sie vor, wird sie übersprungen.
Protokolle werden unbrauchbar. Zwei Geräte mit abweichenden Uhren lassen sich nicht gegenüberstellen — die Ursache erscheint dann nach der Wirkung.
Was beim Einrichten zu beachten ist
Ein Server ist eine Einzelabhängigkeit. Fällt er aus, läuft die Uhr frei weiter. Wo mehrere eingetragen werden können, sollte man das tun, auch wenn SNTP sie nicht vergleicht.
Die Zeitzone ist nicht Teil der Zeit. Übertragen wird die koordinierte Weltzeit; die Umrechnung auf Ortszeit samt Sommerzeit macht das Gerät selbst. Eine Uhr, die genau eine oder zwei Stunden abweicht, hat kein Zeitproblem, sondern ein Zonenproblem.
Der Abfrageabstand ist ein Kompromiss. Zu selten lässt die Uhr zwischen den Abfragen weglaufen, zu häufig belastet öffentliche Server unnötig. Für Geräte im Stundenbereich zu bleiben ist üblich.
Sperren im Netz fallen spät auf. Wird der Zeitdienst durch eine Firewall blockiert, bemerkt niemand etwas, bis die Abweichung groß genug ist, um Folgefehler zu erzeugen.
Abgrenzung
NTP ist dasselbe Protokoll mit vollständiger Auswertung und der angemessenen Wahl für Server und zentrale Systeme.
Die Funkuhr und ein Satellitenempfänger sind Zeitquellen, aus denen ein eigener Zeitserver seine Zeit bezieht — nötig, wenn ein Netz ohne Internetzugang eine genaue Zeit braucht.
Verfahren der Präzisionszeitsynchronisation arbeiten mit Zeitstempeln in der Netzhardware und erreichen Genauigkeiten im Mikro- bis Nanosekundenbereich, verlangen dafür aber Unterstützung in allen Switches auf dem Weg.
Quellen
- IEEE Std 1588: Precision Clock Synchronization Protocol