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 network data packets. 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 client's time offset and drift relative to the server's time, and minimizes these by smoothly adjusting its own system time so that no noticeable time jumps occur during continuous operation. It also detects and eliminates network jitter, allowing for pretty good time synchronization on the client system.

An SNTP client typically doesn't perform such complex evaluations and instead corrects the system time, which usually results in lower time accuracy on the client system. There are many different SNTP programs, and the level of time accuracy achievable on the client system depends heavily on the client program's implementation. In the worst case, the client's time is set at specific intervals, drifting by 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, an SNTP client is well-suited to retrieve time from an NTP server. Conversely, it doesn't make much sense for an NTP client capable of achieving high accuracy to retrieve time from an SNTP server that offers only lower accuracy.