Simple Network Time Protocol (SNTP)

Diagrammatic representation of the Simple Network Time Protocol (SNTP) with clock symbols and text on a blue background

With the increasing spread of networks and cross-system processes, there was a need to find a standardized solution for synchronizing time. The official standard was the Network Time Protocol (NTP), which used various algorithms to correct deviations and used the official world time as a reference clock. In the early 1990s, a simplified version called Simple Network Time Protocol (SNTP) was published due to the limited computing power of the computers available at the time. SNTP synchronization requires much less computing power than the basic NTP protocol, freeing up the processor for other tasks - but most modern devices have the computing power to handle the complexity of NTP.

What is SNTP?

The SNTP is a time synchronization protocol from the TCP/IP protocol family. It is based on the connection less User Data-gram Protocol (UDP) and can be used on all supported devices to synchronize the system time in IP networks (IPv4 and IPv6). It is based on a client-server architecture in which individual clients obtain time information from selected time servers in the same network. If this function is not available, other time servers can be used as a backup.

The first version of SNTP dates back to 1992 and is described in RFC 1361. It describes the protocol as a simplified version of the Network Time Protocol, which is also used to set the system time in a network.

Different transmission paths

The SNTP protocol has different transmission paths. In unicast mode, a client sends a request to the unicast address of a specific time server, whereupon the client determines the exact time from the server response. Another method is multicast transmission, in which a time server sends the time to a group of clients at regular intervals.

SNTP in comparison to NTP

High-contrast image labelled 'SNTP vs NTP'

SNTP and NTP describe exactly the same network packet format, the differences lie in the way a system handles the content of these packets to synchronize its time. They are basically two different types of time synchronization.

While a full-fledged NTP server or client achieves a very high level of accuracy and avoids abrupt timestamps as much as possible by using various mathematical and statistical methods and smooth adjustments of the clock frequency, SNTP can only be recommended for simple applications where the requirements for accuracy and reliability are not too high.

By neglecting drift values and using simplified methods to adjust the system clock (often simple time steps), SNTP only achieves low quality time synchronization compared to a full NTP.

The SNTP contains fewer algorithms

While NTP uses a lot of complex algorithms to synchronize your computer's time with the world clock as accurately as possible, SNTP omits some of these complicated calculations. This means that SNTP is not quite as accurate as NTP. For most everyday applications, however, this is perfectly fine. SNTP is especially useful for smaller devices or systems that aren't as powerful because it doesn't require as many computer resources. So, if you don't need super-accurate timekeeping, SNTP might be a better choice for you.