Mit der zu­neh­men­den Ver­brei­tung von Netz­wer­ken und sys­tem­über­grei­fen­den Prozessen wurde es auch notwendig, eine ein­heit­li­che und leis­tungs­star­ke Lösung zur Syn­chro­ni­sie­rung der Sys­tem­zeit zu finden. Als of­fi­zi­el­ler Standard setzte sich dabei das Network Time Protocol (NTP) durch, das u. a. auf ver­schie­de­ne Al­go­rith­men zur Korrektur von Ab­wei­chun­gen zu­rück­greift und die of­fi­zi­el­le Weltzeit als Re­fe­renz­uhr verwendet. Dass Anfang der 1990er-Jahre eine ver­ein­fach­te Variante mit dem Namen Simple Network Time Protocol (SNTP) ver­öf­fent­licht wurde, ist in erster Linie auf die noch sehr spärliche Re­chen­power der damals ver­füg­ba­ren Computer zu­rück­zu­füh­ren, die bei der Syn­chro­ni­sa­ti­on via SNTP deutlich weniger in Anspruch genommen wird, als es bei dem Ba­sis­pro­to­koll der Fall ist.

Was ist SNTP?

Das Simple Network Time Protocol (SNTP) ist ein Zeit­syn­chro­ni­sie­rungs­pro­to­koll der TCP/IP-Pro­to­koll­fa­mi­lie. Es baut auf dem ver­bin­dungs­lo­sen User Datagram Protocol (UDP) auf und kann auf allen un­ter­stüt­zen­den Geräten zur Syn­chro­ni­sie­rung der Sys­tem­zeit in IP-Netz­wer­ken (IPv4 und IPv6) verwendet werden. Grundlage ist eine Client-Server-Struktur, bei der die einzelnen Clients die Uhr­zeit­in­for­ma­tio­nen von einem aus­ge­wähl­ten Zeit­ser­ver im gleichen Netzwerk beziehen. Für den Fall, dass dieser nicht verfügbar ist, stehen weitere Zeit­ser­ver als Back-up zur Verfügung. Die erste Version von SNTP stammt aus dem Jahr 1992 und ist in RFC 1361 spe­zi­fi­ziert. Darin ist das Protokoll u. a. als ver­ein­fach­te Variante des Network Time Protocol (NTP) be­schrie­ben, das ebenfalls zur An­glei­chung der Sys­tem­zeit in Netz­wer­ken genutzt wird.

Nach diversen Über­ar­bei­tun­gen liegt das Protokoll, das von einer Ar­beits­grup­pe an der Uni­ver­si­ty of Delaware ent­wi­ckelt wird, mitt­ler­wei­le in der vierten Version (SNTPv4) vor. Diese Version hat die Uni­ver­si­tät im Jahr 2006 in RFC 4330 ver­öf­fent­licht.

De­fi­ni­ti­on: SNTP

Das Simple Network Time Protocol, kurz SNTP, ist ein Protokoll der In­ter­net­pro­to­koll­fa­mi­lie, das zur Syn­chro­ni­sie­rung der Sys­tem­zeit in Netz­wer­ken verwendet wird. Die aktuell gültige Version SNTPv4 un­ter­stützt sowohl IPv4- als auch IPv6-Netzwerke und ist in RFC 4330 be­schrie­ben. Zur Anpassung der Zeit greifen SNTP-Clients auf einen zuvor aus­ge­wähl­ten Zeit­ser­ver zurück.

Wie funk­tio­niert die SNTP-Syn­chro­ni­sa­ti­on?

SNTP dient wie NTP dazu, die Sys­tem­zeit aller Geräte in einem Netzwerk auf einfache Weise zu syn­chro­ni­sie­ren. Zu diesem Zweck wird auf ein Client-Server-Modell zu­rück­ge­grif­fen und die of­fi­zi­el­le Weltzeit („Coor­di­na­ted Universal Time“) als Re­fe­renz­zeit her­an­ge­zo­gen. So­ge­nann­te Zeit­ser­ver fungieren dabei als „Verteiler“ der Zeit für die SNTP-Clients, also die je­wei­li­gen Geräte, deren Sys­tem­zeit mithilfe des Simple Network Time Protocols syn­chro­ni­siert werden soll. Die IP-Pakete, die hierfür benötigt werden, laufen über UDP-Port 123. Da SNTP sich grund­sätz­lich kaum von NTP un­ter­schei­det, werden für den Syn­chro­ni­sa­ti­ons­pro­zess häufig ge­wöhn­li­che NTP-Server verwendet.

Die Über­mitt­lung der Pakete kann sowohl über einfache Di­rekt­ver­bin­dun­gen (Unicast) zwischen einem Client und einem Server als auch über Mehr­punkt­ver­bin­dun­gen zwischen einem Server und mehreren Clients (Broadcast und Multicast) ab­ge­wi­ckelt werden.

So un­ter­schei­den sich SNTP und NTP

Die Un­ter­schie­de zwischen SNTP und NTP lassen sich grund­sätz­lich an folgenden zwei Punkten fest­ma­chen:

  • Anzahl der Server, die für den Syn­chro­ni­sie­rungs­pro­zess her­an­ge­zo­gen werden
  • Anzahl der Al­go­rith­men, die zum Einsatz kommen, um Zeit­ab­wei­chun­gen aus­zu­glei­chen und so für möglichst akkurate Er­geb­nis­se sorgen

SNTP-Syn­chro­ni­sie­rung basiert häufig nur auf einem einzigen Zeit­ser­ver

Im Gegensatz zum kom­ple­xe­ren NTP-Protokoll steht beim Simple Network Time Protocol Ein­fach­heit in der Server-Frage an erster Stelle. Konkret empfiehlt die SNTP-Spe­zi­fi­ka­ti­on, die Zeit­in­for­ma­tio­nen lediglich von einem einzigen Server zu beziehen, während jegliche weitere Client-Server-Ab­hän­gig­keit möglichst vermieden werden soll. Außerdem ist der ser­ver­sei­ti­ge Einsatz von SNTP nur für den Fall vor­ge­se­hen, dass keine andere Syn­chro­ni­sa­ti­ons­quel­le verfügbar ist. Die Syn­chro­ni­sie­rung via NTP setzt da­hin­ge­gen auf ein komplexes Konstrukt aus ver­schie­de­nen Servern, die die In­for­ma­tio­nen in einem hier­ar­chi­schen Schich­ten­sys­tem wei­ter­ge­ben. Dabei können die in dem Prozess in­vol­vier­ten Systeme je nach Po­si­tio­nie­rung in der Kette sowohl Client als auch Server sein.

Simple Network Time Protocol be­inhal­tet weniger Al­go­rith­men

SNTP ver­zich­tet auf einige Al­go­rith­men, die in der NTP-Spe­zi­fi­ka­ti­on als Standard vor­ge­se­hen sind. Diese Al­go­rith­men erfüllen den Zweck, Ab­wei­chun­gen bei der lokalen Systemuhr zu kom­pen­sie­ren, um immer die best­mög­li­che Über­ein­stim­mung mit der Weltzeit liefern zu können. In der Kon­se­quenz bietet SNTP einen ge­rin­ge­ren Ge­nau­ig­keits­grad als NTP, weshalb das ver­ein­fach­te Protokoll für An­wen­dun­gen und Prozesse, die besonders akkurate Zeitwerte benötigen, nicht geeignet ist. Dank der Kom­bi­na­ti­on aus weniger Al­go­rith­men und Client-Server-Kom­mu­ni­ka­ti­on benötigt die SNTP-Syn­chro­ni­sie­rung al­ler­dings we­sent­lich weniger Res­sour­cen, was ins­be­son­de­re für einfache Geräte oder ein­ge­bet­te­te Systeme mit geringer Re­chen­power von Vorteil ist.

Hinweis

Bei der Zeit­syn­chro­ni­sie­rung auf han­dels­üb­li­chen PCs spielt das SNTP-Protokoll heut­zu­ta­ge aufgrund der stark ge­stie­ge­nen Re­chen­leis­tung keine Rolle mehr. Hier sind kom­ple­xe­re Pro­to­kol­le wie NTP stan­dard­mä­ßig und ohne spürbare Aus­wir­kung auf die Per­for­mance im Einsatz.

Zum Hauptmenü