NTP, the Network Time Protocol, is the brainchild of Dr. David L. Mills of the University of Delaware. It is both a software package and a protocol to synchronize the clocks of computers over a network, such as the Internet. In addition to downloading a time stamp from one or more servers, NTP compensates for connection latency, network faults, bad time servers, and the drift of the oscillation frequency of clock oscillators. Because it is capable of detecting the drift in a computer's clock, NTP can compensate for the drift even after being disconnected from a network, within a reasonable tolerance. Because of this, NTP does much more than assure that your clock is correct whenever it downloads time from a server: It makes sure your clock is always correct, even in the gaps between synchronizations. NTP is very good at what it does, and provides time synchronization on the order of a handful of milliseconds over a reasonable low-latency connection, and accuracy of around 50-100 milliseconds over poor network conditions.

The official NTP distribution, written by Mills and a considerable number of contributing programmers and maintainers, is written for Unix and Windows computers, and ports can be found for just about every operating system. The NTP team goes out of its way to maintain the distribution for a number of archaic Unix varities, including Ultrix, OSF1 (4.0), Tru64 Unix (5.x), and HP-UX, in addition to the more standard fare of Solaris, *BSD, and Linux. A number of dedicated timekeeping devices such as TrueTime GPS receivers have embedded NTP connectivity. GPS is the most common way for a stratum 1 NTP server to get its time.

In order to provide reliable and secure service, NTP supports completely authenticated and encrypted communications. This requires significant setup, but if you're working to provide an NTP server for your company or network, you may do well to investigate this.

The NTP research project has been heavily funded by DARPA, and is used by the U.S. Military for many, many things. NTP has recently been used by NASA, and the research group is of, as of this writing, attempting to deal with timekeeping issues involved in synchronizing time between different planetary bodies, in preparation for deep space missions involving time-critical devices. (In space travel, everything is time-critical.) The NTP research lab is one of the centers of research for the "Interplanetary Internet".

Information on NTP can be taken from the official website, at http://www.ntp.org/. Mills maintains further documentation that can be found linked there. The NTP web site is hosted at the electrical and computer engineering department at the University of Delaware, where a large testbed for the software distribution is maintained. The RFC that describes NTP is 1305, and the Simple NTP protocol, which is less feature-rich, is described in a chain of RFCs currently ending at 2030.

NTP is currently a draft standard for the Internet, and will remain so only because Mills refuses to provide an official ASCII version of the RFC, instead preferring to use postscript. Rumor has it that the RFC for the (current) NTP version 4 will consist of an ASCII document with nothing but links... "To read how the protocol works, see this postscript document. For network information, see here." etc. Mills can be a bit stubborn at times.

The NTP testing lab is located in Evans Hall at UDel. Official titled the "Internetworking Research Lab", the lab is unofficially known as the swamp, in reference to Walt Kelly's comic strip, Pogo. All of the machines in the lab are named after various pogo characters. If you ever download time from rackety.udel.edu (A stratum 1 server), that's where the name came from. Mills is a huge Pogo fan, and Pogo images, along with images from Alice in Wonderland litter the NTP documentation. His assertion that the Cheshire cat's hiding is like cryptography is somewhat dubious; it always seems more like security through obscurity to me.

References: NTP.org, Mills himself, and experience with the software. I am, as of this writing, the system administrator for the NTP research lab.