meta data for this page
  •  

Network protocols

This page presents the protocols used in automation and, where appropriate, compares them.

NTP / SNTP

SNTP (Simple Network Time Protocol) and NTP (Network Time Protocol) use the same format for data packets transmitted over the network. The main difference lies in how the network packets are evaluated on the client side.

A full-featured NTP client uses complex statistical methods to determine the offset and drift of the client's time relative to the server's time and minimizes this by smoothly adjusting its own system time so that no noticeable time jumps occur during continuous operation. It also attempts to detect and eliminate network jitter, allowing for pretty good time synchronization on the client system.

An SNTP client typically doesn't perform such complex evaluations and only corrects the system time in a simple way, which usually results in a lower time accuracy on the client system. There are many different SNTP programs, and the level of time accuracy that can be achieved on the client system depends heavily on the implementation of the client program used. In the worst case, the time on the client is simply set at specific intervals, drifting more or less significantly between them, so that a small time jump can occur whenever the time is adjusted.

Depending on the requirements, this may or may not work well enough.

Because of the differences described above, it works well for an SNTP client to retrieve the time from an NTP server. Conversely, however, it doesn't make much sense for an NTP client capable of achieving high accuracy to retrieve the time from an SNTP server that offers only lower time accuracy.