Network Time Protocol (NTP) is one of the Internet’s oldest protocols still utilised. Invented by Dr David Mills from the University of Delaware it has been in use since 1985. NTP is a protocol designed to synchronize the clocks on computers and networks across the Internet or Local Area Networks (LANs).
NTP (version 4) can maintain time over the public Internet to within 10 milliseconds (1/100th of a second) and can perform even better over LANs with accuracies of 200 microseconds (1/5000th of a second) under ideal conditions.
NTP works within the TCP/IP suite and relies on UDP, a less complex form of NTP exists called Simple Network Time Protocol (SNTP) that does not require the storing of information about previous communications, needed by NTP. It is used in some devices and applications where high accuracy timing is not as important.
Time synchronisation with NTP is relatively simple, it synchronises time with reference to a reliable clock source. This source could be relative (a computer’s internal clock or the time on a wrist-watch) or absolute (A UTC – Universal Coordinated Time – clock source that is accurate as is humanely possible).
Atomic clocks are the most absolute time-keeping devices. They work on the principle that the atom, caesium-133, has an exact number of cycles of radiation every second (9,192,631,770). This has proved so accurate the International System of Units (SI) has now defined the second as the duration of 9,192,631,770 cycles of radiation of the caesium-133 atom.
However, atomic clocks are extremely expensive and are generally only to be found in large-scale physics laboratories. However, NTP can synchronise networks to an atomic clock by using either the Global Positioning System (GPS) or a specialist radio transmission.
The most widely used is the GPS system which consists of a number of satellites providing accurate positioning and location information. Each GPS satellite can only do this by utilising an atomic clock which in turn can be can be used as a timing reference.
A typical GPS receiver can provide timing information to within a few nanoseconds of UTC as long as there is an antenna situated with a good view of the sky.
There are also a number of national time and frequency radio transmissions that can be used to synchronise a NTP server. In Britain the signal (called MSF) is broadcast by the National Physics Laboratory in Cumbria which serves as the United Kingdom’s national time reference, there are also similar systems in Colorado, US (WWVB) and in Frankfurt, Germany (DCF-77). These signals provides UTC time to an accuracy of 100 microseconds, however, the radio signal has a finite range and is vulnerable to interference.
The distance from the reference clock is known as the stratum levels and they exist to prevent cycles in the NTP. Stratum 0, are devices such as atomic clocks connected directly to a computer. Stratum 1, are computers attached to stratum 0 devices, while Stratum 2 are computers that send NTP requests to Stratum 1 servers. NTP can support up to 256 strata.
All Microsoft Windows versions since 2000 include the Windows Time Service (w32time.exe) which has the ability to synchronise the computer clock to an NTP server (or an SNTP server – a simplified version of NTP) Many LINUX and UNIX based operating systems also have a version of NTP but the source code is free to download (current version 4.2.4) at the NTP website (ntp.org).
It is strongly recommended by Microsoft and others, that external based timing should be used rather than Internet based, as these can’t be authenticated. Specialist NTP time servers are available that can synchronise time on networks using either the MSF (or equivalent) or GPS signal.