Network Time Protocol (NTP) is a standard network protocol for synchronizing the time on servers, workstations and other network devices. It is generally implemented in a client-server manner, whereby a client asks a NTP server for time and the server responds accordingly. This article describes the advantages of using the NTP protocol over SNTP, including:
- Features of NTP and SNTP servers.
- Advantages and disadvantages of both protocols.
- Interoperability of the protocols.
Features of NTP and SNTP time servers
NTP is a large and very complex application for the synchronization of computers and computer networks. It incorporates complex statistical algorithms that can filter out small discrepancies in time. Additionally, it makes time adjustments by tweaking the ‘tick’ rate of the host computers system clock. System time is speeded-up or slowed slightly in order to meet the correct time thus avoiding stepped time changes.
Simple Network Time Protocol (SNTP) is as the name suggests a simplified version of the full-blown NTP application. It allows computers with much less processing power to utilize time synchronization. Typically, small network devices, such as IP CCTV cameras, DVR’s, some routers and switches use the protocol. A number of operating systems for small computers and workstations also use the SNTP protocol for simplicity and because of it’s smaller foot-print and lower resource requirements.
Disadvantages of SNTP
The SNTP protocol can generally only be configured to operate from a single source of time – either a hardware clock or a network time reference. Additionally, it generally steps time rather than skews. This can cause problems with events happening twice when time is adjusted by being stepped back. For example, if time was stepped back between the generation of two transactions, they would not have a correctly sequenced order.
SNTP applications also do not monitor the stability and quality of time references, they tend to just accept any supplied time-stamp without attempting to filter out any timing discrepancies. Additionally, many implementations do not include any form of security, which can leave systems vulnerable to attack from malicious users.
Essentially, SNTP offers a much lower-quality time synchronization solution than NTP. However, it is ideal where requirements of accurate time, security and reliability are less of a priority and having an application that uses lower-resources is important.
Advantages of NTP
By utilising complex statistical algorithms and filtering time discrepancies, NTP can achieve a much higher degree of accuracy than SNTP. Monitoring of the stability of time references also provides the ability to utilise the most stable available references. It can also use multiple sources of time, including a mixture of hardware clocks and network time servers aiding robustness. Additionally, it skews time adjustments, speeding up or slowing down the system tick, rather than stepping to avoid problems associated with sequence ordering.
There are also a number of security features implemented in NTP, in particular authentication using the MD5 encryption algorithm. This allows a client to be sure of the origin of received time-stamps alleviating any issues with falsely generated communication.
NTP should be used for all timing applications, unless the larger foot-print and resource requirement is a real issue. It provides a highly accurate, robust and reliable time synchronization service.
The NTP and SNTP protocols are completely interoperable. Any SNTP client can synchronize to any NTP server and vice-versa. This is primarily because the packets of information exchanged are identical. The differences between NTP and SNTP does not lie in the information exchange, but what the algorithms actually do with the information in order to provide synchronization.
TimeTools time servers implement the full NTP protocol in order to ensure a high degree of accuracy, security and reliability. However, they can be used to provide time to both NTP and SNTP clients.