NTP (network time protocol) is an Internet protocol. Protocols are simply a set of instructions that a computer will follow and NTP has been designed and developed to synchronize computer networks.
It was developed in the 1985 by Professor David Mills from the University of Delaware when the Internet was still in its infancy. Professor Mills realised the need for synchronisation amongst computers when they were talking to each other.
NTP uses Marzullo’s Algorithm which is an agreement algorithm used to select sources for estimating accurate time from a number of noisy time sources. NTP works by distributing a single time source. Whilst this time reference can be anything such as a wrist watch, it makes little sense to synchronise a network to anything other than UTC time.
UTC (Coordinated Universal Time) is a global time scale based on the time told by atomic clocks. Atomic clocks boast such high levels of accuracy that they do not lose or gain a second in over a million years.
By synchronizing to a UTC time source a network can in affect be synchronised to every other network that uses UTC time.
Once a time source has been selected the NTP daemon (or service on Windows) not only distributes the time reference it also continually checks for accuracy and errors.
NTP is a hierarchical system. The distance from a time server is referred to as a stratum level. A stratum 0 server is a time source itself such as an atomic clock, a stratum 1 server is the NTP time server whilst a stratum 2 server is a device that receives the time from the time server and stratum 3 servers receive the time signal via a stratum 2 server.
Arranging the network into strata means that a NTP time server can distribute time to hundreds or even thousands of machines without the network or time server itself becoming congested with traffic. Although it must be noted that the lower down the stratum level a device a fall in accuracy can be expected.
The actual UTC time signal can be received from a number of ways. From across the Internet although this can cause security issues as the time signal can’t be authenticated which is NTP’s inbuilt security measure. It is far safer to receive a time signal from a radio signal broadcast by several national physics laboratories or even the GPS network whose onboard atomic clocks can be utilised as a timing source if the NTP time server is fitted with a GPS receiver.