Network Time Protocol (NTP) is one of the oldest Internet protocols currently in use. NTP was developed to disseminate accurate time to clients around a computer network. Simple Network Time Protocol (SNTP) is a much less complex implementation of NTP. SNTP lacks many complex synchronisation algorithms used by NTP which makes it ideal for implementation on small computers.
This article describes the differences between NTP and SNTP. The article also describes when the SNTP protocol can be safely implemented in place of NTP. It also outlines the differences between a NTP serverclient and a SNTP serverclient.
NTP protocol packets transferred between a NTP server and client are identical to SNTP packets. Each field in a NTP packet of information has a corresponding field in a SNTP packet. NTP protocol packets are entirely interchangeable with SNTP protocol packets. Indeed a NTP server cannot differentiate a request for time originating from a NTP client or SNTP client.
The difference between the NTP and SNTP protocols lie in the algorithms used to implement the protocols. NTP has complex algorithms designed to query multiple NTP servers or external reference clocks and decide on the most accurate time reference. NTP constantly monitors multiple time references for jitter and offset and decides which is the best one to synchronise. NTP corrects time by slewing the system clock. The host's system clock is accelerated or decelerated to slowly bring it into line with an accurate external time reference. Large stepped time adjustments are avoided. NTP has complex synchronisation algorithms that calibrate the system clock to match the frequency of an accurate reference clock.
SNTP is a simplified sub-set of the algorithms used by the NTP protocol. SNTP does not slew the host computers system time instead it steps forwards or backwards to the correct time. Adjusting the system time in steps can cause time critical applications problems. SNTP also lacks the functionality to monitor multiple NTP server reference clocks and decide on the optimal source of time. Instead it utilises a list of references and in the event of failure of a reference it moves on to the next.
The SNTP protocol is best suited to synchronizing computers at the extremities of a computer network. It is ideally suited to less powerful processors, such as micro-controllers and embedded systems, which do not require the accuracy of NTP. The complex algorithms of NTP may not be practically implemented on small computers. NTP is ideal for use in dedicated NTP server systems and synchronising large networks of computers. Here, accurate time may be of the utmost importance and the sophisticated routines employed by NTP will help maintain synchronization.
David Evans has been involved in the telecommunications and network timing industry for a number of years. David is a free-lance technical author with a long history of involvement in installing and configuring NTP server systems. He has also provided a technical authoring service to many ntp server and reference clock manufacturers. Click here to find out more about ntp server systems.