Network Time Protocol
John Harrison was a self-made man. After creating very precise wooden clocks that are working until today, he attacked the navigational problem of longitude. Between 1730 and 1770, he built five revolutionary timekeepers that had an error of only a few seconds over several weeks even on a rolling ship.
There is a nice book about John Harrison's life:
There is a nice book about John Harrison's life:
The Network Time Protocol (NTP) is an Internet protocol based upon IP and UDP. It is used by software running unattended as client, server or peer background process (daemon, service).
Over the network, systems synchronize to each other and all together to Universal Coordinated Time (UTC), the legal time in most countries.
Ultimate source of UTC are services operated by governmental organizations like PTB in Germany or NIST in the United States. Special devices connected to NTP servers receive time and sync signals via telephone/modem, from radio broadcasts or the Global Positioning System (GPS).
NTP servers directly referencing such a UTC source are designated as primary (stratum 1) servers. Most of all NTP servers synchronize only to higher-level (numerically lower-stratum) servers via the Internet, as do all clients.
The Network Time Protocol NTP and its variant Simple Network Time Protocol SNTP were created by Prof. David L. Mills at the University of Delaware. The development lasted several years and had many contributors. It was coordinated in an Internet engineering working group. The once most used Version 3 is defined in RFC-1305. The current Version 4 is defined in RFC-5906 and is fully backwards compatible.
David Mills and several contributors also developed the ntpd daemon software. It's the only common NTP software of practical relevance and freely available.
It not only implements the complete NTP protocol, but is also accompanied by an enhancement for the usual system clock mechanism in Unix. Like a Phase Locked Loop (PLL) in an electronic circuitry the software stabilizes the clock.
The daemon supports several modem, radio clock and GPS devices. It runs on virtually all Unix and Linux variants and is ported to MS Windows and VMS. Modern Unix and Linux variants are already shipped with the ntpd daemon and utilities.
Replacing the University of Delaware WWW server there is a new Home of the Network Time Protocol. You can download the latest distribution of the ntpd daemon software and link to other servers offering time software. Any kind of information regarding NTP and time is accessible directly or via link. Several resources like technical papers, RFC's and the complete ntpd documentation are offered in Postscript, PDF or html format. That's all you need to start.
There are configurations for many different machines prepared in the distribution. They should require no or little patching. The 'Building and Installing the Distribution' page of the documentation is sufficient to install the software in most cases.
The most difficult part of setup is 'Configuring NTP and Setting up a NTP Subnet'. The corresponding documentation page explains shortly how NTP works. You should read that. You have to plan your own NTP subnet and may wish to embed it into the world-wide virtual NTP network.
Example configuration files for different kinds of servers are in a directory of the distribution. A subdirectory of the documentation directory contains some hints for certain machines, the right subnet structure and more. You should read that too.
The NTP.Servers Web presents a list of all public primary (stratum 1) and secondary (stratum 2) NTP servers worldwide. They are enrolled in this list after announcement by their operators. Most German stratum-1 servers offered are operated by universities:
University of Erlangen-Nürnberg
Technical University of Berlin
University of Stuttgart
Physikalisch-Technische Bundesanstalt (PTB)
The adresses may be subject to change. Please check the access policy of the operator before using any server.
And please consider using a geographically close NTP Pool Time Server since that will be sufficient in many cases and is even easier for you.
Primary source of information about NTP is the Home of the Network Time Protocol. Further development of NTP and a reference implementation are done in the 'NTP Project (R&D)' which is supported by that website as well.
For topical questions and answers (sometimes discussions) there is the newsgroup
comp.protocols.time.ntp. Only reading it will often result in valuable hints for setting up a NTP subnet. Important articles from the newsgroup are sometimes collected in NTP FAQ and should be scanned for special information about certain machines (e.g. IBM, HP) or configurations. There is also a Non-technical Mini-HOWTO and FAQ on NTP (accompanying the NTP FAQ) for 'Understanding and using the Network Time Protocol', worth reading indeed.