NTP or SNTP That is the Question?
| By Stuart
While there are several protocols available for time synchronisation the majority of network time is synchronised using either NTP or SNTP.
Network Time Protocol (NTP) and Simple Network Time Protocol (SNTP) have been around since the inception of the Internet (and in the case of NTP, several years beforehand) and are by far the most popular and widespread time synchronisation protocols.
However, the difference between the two is slight and deciding which protocol is best for a ntp time server or a particular time synchronisation application can be troublesome.
As its name suggests, SNTP is a simplified version of Network Time Protocol but the question is often asked: ‘what exactly is the difference?’
The main difference between the two versions of the protocol is in the algorithm that is used. NTP’s algorithm can query multiple reference clocks an calculate which is the most accurate.
SNTP use for low processing devices – it is suited to less powerful machines, do not require the high level accuracy of NTP. NTP can also monitor any offset and jitter (small variations in waveform resulting from voltage supply fluctuations, mechanical vibrations or other sources) whilst SNTP does not.
Another major difference is in the way the two protocols adjust for any drift in network devices. NTP will speed up or slow down a system clock to match the time of the reference clock coming into the NTP server (slewing) while SNTP will simply step forward or backward the system clock.
This stepping of the system time can cause potential problems with time sensitive applications especially of the step is quite large.
NTP is used when accuracy is important and when time critical applications are reliant on the network. However, its complex algorithm is not suited to simple machines or those with less powerful processors. SNTP on the other hand is best suited for these simpler devices as it takes up less computer resources, however it is not suited for any device where accuracy is critical or where time critical applications are reliant on the network.