SNTP Vs. NTP - What Is The Difference?

While reading the detailed and instructive NTP / Network Time Guide For Video Surveillance, I came across the following statement:

The most commonly used time protocol in surveillance (and the IT industry at large) is SNTP (Simple Network Time Protocol) which is a less complex version of NTP (Network Time Protocol).... Surveillance devices often are not clear whether they support NTP or SNTP. It is common for devices to simply state 'time synchronization' instead of SNTP or NTP specifically. Despite this, they will work with varying time servers...

Which I found odd at first since having been in IT for a number of years I could only vaguely remember hearing SNTP. So I read about it and this is what I discovered

As a transmission protocol (on the wire), NTP and SNTP are identical. Put another way using Wireshark to sniff packets one could not tell from either looking at the requests or the responses whether a SNTP or NTP server was involved.

SNTP and NTP only differ in the algorithms used in the timeserver code itself. Clients can't support just one or the other, since there is no difference in the request. Another interesting time server tidbit: Apparently up until Windows 2000, only an SNTP server was provided with Windows. Since then an NTP server has been included as well and is now the default.

Even so SNTP may indeed be the most commonly used time service in surveillance. Major VMSes may implement their own SNTP service, to reduce server load. DVR/NVR appliances running Linux would be expected to do the same. Though there is no way to tell from the outside.

Does anyone know if VMSes typically run their own timeserver code, or enable either the default NTP or SNTP server on the Windows host?


More information from Microsoft Technet:

Time protocols determine how closely two computers’ clocks are synchronized. A time protocol is responsible for determining the best available time information and converging the clocks to ensure that a consistent time is maintained on separate systems. The Windows Time service uses the Network Time Protocol (NTP) to help synchronize time across a network. NTP is an Internet time protocol that includes the discipline algorithms necessary for synchronizing clocks. NTP is a more accurate time protocol than the Simple Network Time Protocol (SNTP) that is used in some versions of Windows; however W32Time continues to support SNTP to enable backward compatibility with computers running SNTP-based time services, such as Windows 2000.

Network Time Protocol (NTP) is the default time synchronization protocol used by the Windows Time service in the operating system. NTP is a fault-tolerant, highly scalable time protocol and is the protocol used most often for synchronizing computer clocks by using a designated time reference. NTP time synchronization takes place over a period of time and involves the transfer of NTP packets over a network. NTP packets contain time stamps that include a time sample from both the client and the server participating in time synchronization. NTP relies on a reference clock to define the most accurate time to be used and synchronizes all clocks on a network to that reference clock. NTP uses Coordinated Universal Time (UTC) as the universal standard for current time. UTC is independent of time zones and enables NTP to be used anywhere in the world regardless of time zone settings.