Network Time Protocol

Controlling Time

When the first computers where linked together to form the first computer network it became apparent that a system of synchronising the time was necessary to enable it to function properly.

Network Time Protocol was developed by Professor David Mills and his colleagues of Delaware University in the early 1980’s, it wasn’t the first time synchronisation protocol, nor was it the last, but it has become the most widespread and most used time synchronisation software around.

NTP commonly relies on a single time source as a reference. This reference time is checked against devices on the network, which if found to be inaccurate are then corrected.

But NTP handles time differently to the way people do. Rather than dividing time into hours, minutes and seconds, NTP, like other computer protocols, uses a single 32 (or 64 depending on the version) digit number that represents the number of seconds that have passed since a set point in time. This reference point is known as the prime epoch and for NTP is set at 01 January 1900.

NTP is also based around an algorithm (Marzullo’s algorithm) which makes can make a best estimate of time from a number of inaccurate or noisy time sources.
Whilst NTP can utilise any source of time as a reference, its main purpose is to synchronise computer networks to the atomic clock controlled UTC (Coordinated Universal Time). For this purpose, it structures the network in a hierarchical basis. The closer a device is to the original source of time the lower the strata: An atomic clock is a stratum 0 device, whilst a time server that receives the time from an atomic clock is a stratum 1 device, and a computer synchronised to the time server is a stratum 2 device and so on. NTP can typically handle up to 16 strata but typically it’s rare for a network to have more than four or five.

NTP is also a highly secure protocol. It has its own authentication process which can establish the reality of time sources and it also has an inbuilt distrust that enables it to dismiss time sources until it becomes certain of their origin and accuracy.

NTP is widely distributed and is installed as standard in most operating systems up to an including Microsoft’s Windows 7. And while there are numerous sources of UTC time available on the internet these are stratum 2 time sources and are neither guaranteed in their accuracy nor can they be authenticated by NTP
*Using sources of internet time is also reliant on packet transfer through a network firewall which can lead to other security risks.

Many computer networks rely on NTP time servers. These are dedicated devices that receive a secure time source, most commonly from the GPS (Global Positioning System) externally to the network which is used to synchronise all devices on the NTP network.