The Difference Between NTP and SNTP Protocols
Sunday, 07.01.2007, 12:36pm (GMT)
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. The article also descibes the differences between a
NTP server and a SNTP server.
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. Infact a NTP
server has no way of telling if a time request originated from a NTP or
SNTP client.
The difference between the NTP and SNTP protocols is contained within
the sophisticated routines 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 steps the host computers system time rather than slowly
slewing it towards 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.
SNTP is ideal for synchronising computers at the leaves of a 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,
time may be critical and the added complexity of NTP will help maintain
accurate synchronisation.
|