Computer systems and applications use time stamps for communication purposes. Synchronous system times are highly important for these so-called temporal signatures to be of any use – especially for systems that exchange information via the internet. A protocol that has provided valuable assistance for decades is the network time protocol (NTP) – here is an introduction to NTP, as well as some...Network time protocol (NTP): definition and functionality
With the spread of networks and cross-system processes, it has become necessary to find a uniform solution for synchronizing system-time. The official standard was the network time protocol (NTP), which uses various algorithms to correct deviations and uses official world time as a reference clock. The release of a simplified version called simple network time protocol (SNTP) at the beginning of the 1990s is primarily due to the limited computing power of the computers available at that time. The processing power is used a lot less during synchronization via SNTP than with the basic protocol, NTP, which frees up the processor for other tasks – however, most modern devices have a processing power which can accommodate the complexity of NTP.
What is SNTP?
The simple network time protocol (SNTP) is a time synchronization protocol of the TCP/IP protocol family. It is based on the connectionless user datagram protocol (UDP) and can be used on all supporting devices to synchronize system time in IP networks (IPv4 and IPv6). The basis is a client-server structure in which the individual clients obtain the time information from a selected time server in the same network. In the event that this is not available, additional time servers are available as backup. The first version of SNTP dates from 1992 and is specified in RFC 1361. This describes the protocol as a simplified variant of the network time protocol, which is also used to adjust the system time in networks.
After several revisions, the protocol, developed by a working group at the University of Delaware, is now available in its fourth version (SNTPv4). This version was published by the university in 2006 in RFC 4330.
Simple network time protocol (SNTP) is a protocol of the internet protocol family used to synchronize system time in networks. The current version SNTPv4 supports both IPv4 and IPv6 networks and is described in further detail in RFC 4330. SNTP clients use a previously selected time server to make adjustments.
How does SNTP synchronization work?
Like NTP, SNTP is used to synchronize the system time of all devices in a network easily. For this purpose, a client-server model is used and the official world time (“coordinated universal time”) as reference time. So-called time servers act as “distributors” of time for the SNTP clients, i.e. the respective devices, the system time which is to be synchronized using the simple network time protocol. The IP packets required for this function through UDP port 123, and since SNTP is very similar to NTP, NTP servers are often used for the synchronization process.
The transmission of the IP packets can be handled either via simple direct connections (unicast) between a client and a server, or via multipoint connections between a server and several clients (broadcast and multicast).
The differences between SNTP and NTP
SNTP and NTP can be differentiated according to the two following points:
- The number of servers used for the synchronization process
- The number of algorithms used to make up for time deviations and ensure the most accurate results possible
SNTP synchronization is often based on a single time server
In contrast to the more complex NTP protocol, the simple network time protocol prioritizes simplicity. The SNTP specification recommends that the time information should only be obtained from a single server, and any further client-server dependency should be avoided. Furthermore, the server-side use of SNTP is only intended if no other synchronization source is available. Synchronization via NTP, on the other hand, relies on a complex construct of different servers that pass on the information in a hierarchical layer system. Depending on the positioning in the chain, the systems involved in the process can be both clients and servers.
Simple network time protocol contains fewer algorithms
SNTP does not use some algorithms that are provided as standard in the NTP specification. These algorithms serve the purpose of making up for deviations in the local system time to always be able to provide the best possible relation to world time. As a result, SNTP offers a lower level of accuracy than NTP, making the simplified protocol unsuitable for applications and processes that require incredibly accurate time synchronization. Thanks to the combination of fewer algorithms and client-server communication, SNTP synchronization requires significantly fewer resources, which is particularly helpful for simple devices or systems with low computing power.
The SNTP protocol no longer plays a role in time synchronization on commercially available PCs due to today’s improved computing power. More complex protocols such as NTP are used as standard, and have no noticeable effect on performance.