SNTP (Simple Network Time Protocol)

Mit der zunehmenden Verbreitung von Netzwerken und systemübergreifenden Prozessen wurde es auch notwendig, eine einheitliche und leistungsstarke Lösung zur Synchronisierung der Systemzeit zu finden. Als offizieller Standard setzte sich dabei das Network Time Protocol (NTP) durch, das u. a. auf verschiedene Algorithmen zur Korrektur von Abweichungen zurückgreift und die offizielle Weltzeit als Referenzuhr verwendet. Dass Anfang der 1990er-Jahre eine vereinfachte Variante mit dem Namen Simple Network Time Protocol (SNTP) veröffentlicht wurde, ist in erster Linie auf die noch sehr spärliche Rechenpower der damals verfügbaren Computer zurückzuführen, die bei der Synchronisation via SNTP deutlich weniger in Anspruch genommen wird, als es bei dem Basisprotokoll der Fall ist.

Was ist SNTP?

Das Simple Network Time Protocol (SNTP) ist ein Zeitsynchronisierungsprotokoll der TCP/IP-Protokollfamilie. Es baut auf dem verbindungslosen User Datagram Protocol (UDP) auf und kann auf allen unterstützenden Geräten zur Synchronisierung der Systemzeit in IP-Netzwerken (IPv4 und IPv6) verwendet werden. Grundlage ist eine Client-Server-Struktur, bei der die einzelnen Clients die Uhrzeitinformationen von einem ausgewählten Zeitserver im gleichen Netzwerk beziehen. Für den Fall, dass dieser nicht verfügbar ist, stehen weitere Zeitserver als Back-up zur Verfügung. Die erste Version von SNTP stammt aus dem Jahr 1992 und ist in RFC 1361 spezifiziert. Darin ist das Protokoll u. a. als vereinfachte Variante des Network Time Protocol (NTP) beschrieben, das ebenfalls zur Angleichung der Systemzeit in Netzwerken genutzt wird.

Nach diversen Überarbeitungen liegt das Protokoll, das von einer Arbeitsgruppe an der University of Delaware entwickelt wird, mittlerweile in der vierten Version (SNTPv4) vor. Diese Version hat die Universität im Jahr 2006 in RFC 4330 veröffentlicht.

Definition: SNTP

Das Simple Network Time Protocol, kurz SNTP, ist ein Protokoll der Internetprotokollfamilie, das zur Synchronisierung der Systemzeit in Netzwerken verwendet wird. Die aktuell gültige Version SNTPv4 unterstützt sowohl IPv4- als auch IPv6-Netzwerke und ist in RFC 4330 beschrieben. Zur Anpassung der Zeit greifen SNTP-Clients auf einen zuvor ausgewählten Zeitserver zurück.

Wie funktioniert die SNTP-Synchronisation?

SNTP dient wie NTP dazu, die Systemzeit aller Geräte in einem Netzwerk auf einfache Weise zu synchronisieren. Zu diesem Zweck wird auf ein Client-Server-Modell zurückgegriffen und die offizielle Weltzeit („Coordinated Universal Time“) als Referenzzeit herangezogen. Sogenannte Zeitserver fungieren dabei als „Verteiler“ der Zeit für die SNTP-Clients, also die jeweiligen Geräte, deren Systemzeit mithilfe des Simple Network Time Protocols synchronisiert werden soll. Die IP-Pakete, die hierfür benötigt werden, laufen über UDP-Port 123. Da SNTP sich grundsätzlich kaum von NTP unterscheidet, werden für den Synchronisationsprozess häufig gewöhnliche NTP-Server verwendet.

Die Übermittlung der Pakete kann sowohl über einfache Direktverbindungen (Unicast) zwischen einem Client und einem Server als auch über Mehrpunktverbindungen zwischen einem Server und mehreren Clients (Broadcast und Multicast) abgewickelt werden.

So unterscheiden sich SNTP und NTP

Die Unterschiede zwischen SNTP und NTP lassen sich grundsätzlich an folgenden zwei Punkten festmachen:

  • Anzahl der Server, die für den Synchronisierungsprozess herangezogen werden
  • Anzahl der Algorithmen, die zum Einsatz kommen, um Zeitabweichungen auszugleichen und so für möglichst akkurate Ergebnisse sorgen

SNTP-Synchronisierung basiert häufig nur auf einem einzigen Zeitserver

Im Gegensatz zum komplexeren NTP-Protokoll steht beim Simple Network Time Protocol Einfachheit in der Server-Frage an erster Stelle. Konkret empfiehlt die SNTP-Spezifikation, die Zeitinformationen lediglich von einem einzigen Server zu beziehen, während jegliche weitere Client-Server-Abhängigkeit möglichst vermieden werden soll. Außerdem ist der serverseitige Einsatz von SNTP nur für den Fall vorgesehen, dass keine andere Synchronisationsquelle verfügbar ist. Die Synchronisierung via NTP setzt dahingegen auf ein komplexes Konstrukt aus verschiedenen Servern, die die Informationen in einem hierarchischen Schichtensystem weitergeben. Dabei können die in dem Prozess involvierten Systeme je nach Positionierung in der Kette sowohl Client als auch Server sein.

Simple Network Time Protocol beinhaltet weniger Algorithmen

SNTP verzichtet auf einige Algorithmen, die in der NTP-Spezifikation als Standard vorgesehen sind. Diese Algorithmen erfüllen den Zweck, Abweichungen bei der lokalen Systemuhr zu kompensieren, um immer die bestmögliche Übereinstimmung mit der Weltzeit liefern zu können. In der Konsequenz bietet SNTP einen geringeren Genauigkeitsgrad als NTP, weshalb das vereinfachte Protokoll für Anwendungen und Prozesse, die besonders akkurate Zeitwerte benötigen, nicht geeignet ist. Dank der Kombination aus weniger Algorithmen und Client-Server-Kommunikation benötigt die SNTP-Synchronisierung allerdings wesentlich weniger Ressourcen, was insbesondere für einfache Geräte oder eingebettete Systeme mit geringer Rechenpower von Vorteil ist.

Hinweis

Bei der Zeitsynchronisierung auf handelsüblichen PCs spielt das SNTP-Protokoll heutzutage aufgrund der stark gestiegenen Rechenleistung keine Rolle mehr. Hier sind komplexere Protokolle wie NTP standardmäßig und ohne spürbare Auswirkung auf die Performance im Einsatz.