NTP stands for Network Time Protocol, and it is an Internet protocol used
to synchronize the clocks of computers to some time reference, normaly the
UTC reference time. NTP is an Internet standard protocol originally
developed by David Mills at the University of Delaware.
What are the basic features of NTP?
There exist several protocols to synchronize computer clocks, each having
distinguished features. Here is a list of NTP's features:
NTP needs some reference clock that defines the true time to
operate. All clocks are set towards that true time. (It will not just
make all systems agree on some time, but will make them agree upon the
true time as defined by some standard.)
NTP uses UTC as reference time (See also What is UTC?).
NTP is a fault-tolerant protocol that will automatically select the
best of several available time sources to synchronize to. Multiple
candidates can be combined to minimize the accumulated error.
Temporarily or permanently insane time sources will be detected and
avoided.
NTP is highly scalable: A synchronization network may consist of
several reference clocks. Each node of such a network can exchange
time information either bidirectional or unidirectional. Propagating
time from one node to another forms a hierarchical graph with
reference clocks at the top.
Having available several time sources, NTP can select the best
candidates to build its estimate of the current time. The protocol is
highly accurate, using a resolution of less than a nanosecond (about
2^-32 seconds). (The popular protocol used by rdate and defined in
[RFC 868] only uses a resolution of one second).
Even when a network connection is temporarily unavailable, NTP can use
measurements from the past to estimate current time and error.
Are there any implementations of NTP?
Fortunately there is an implementation of an NTP client and server
available for free. The software is available as C source and it runs on
most UNIX compatible operating systems.
For other platforms and operating systems there may be different software
under different conditions. In addition someone might provide binary
program packages for your computer system. A good starting point for your
search is the NTP home page at
http://www.eecis.udel.edu/~ntp .
During Xcov17 in Mai 1999 we realized a continous drift of the
systemclock of the aquicission computer at the Calar Alto observatory.
For upcoming WET campains the HQ requests a time accuracy better than
+/- 0.1 second.
The problem of a correct time synchronisation has been widely discussed
on the WET workshop in Toulouse. The four most popular ideas to solve this
problem are
a precise quarz clock
a time-signal reciver
a GPS-time reciver
a NTP Time-Server
The first idea is a good solution for PMTs, except that a
synchronisation with respect to a common standard time is only possible
within certain limits.
Idea two and three are also only good for PMTs,
because normaly it is impossible for visiting astonomers to connect own
hardware to the local computer network.
After we realized the time drift we asked the Calar Alto staff to fix
that problem. They decided to synchronize their systemclocks with an GPS
time signal in an hourly schedule.
On the Toulouse workshop I promised, that we'll have a sufficient
systemclock stability on the next WET campain. In preparation of the
upcomming Xcov19 campain I checked the systemclock on the aquicission
computer at the 1.23m telescope therefore. It emerged, that the
synchronisation to the GPS signal didn't solve the problem. The first
problem was, that the synchronisation with the GPS signal showed a offset
to the NTP Standard -Time and the second prolem was, that the systemclock
still drifted slowly (2s per hour). I couldn't figure out the reason for
the first problem, the second one is probably due to a discrepancy between
the clock chip setting (e.g. 666 MHz) and an the real clock speed (e.g. 667
MHz).
Therefore I asked Uli Thiele, staff astronomer at the Calar Alto
observatory, to use NTP for time synchronisation. He and Enrique de
Guindoshis agreed at once and did the installtion within a few day. I also
want to thank my colleagues Joern Wilms and Ingo Kreykenbohm which helped
me a lot to understand all the problems concerning computer clocks and
NTP.
As a result a time stability better than +/- 5 msec can be ensured
for time-resolved photometry at the Calar Alto
The following two plots show a 24h meassurement of the time stability of
the aquicission computer at the 1.23m telescope. The high peaks all over
the plot are terrifying at the first moment. A comarison with the time
dispersion related with each ntp request in the lower plot reveals, that
those peaks could be ignored completley. Thus we have a time offset of
approximately +2/-8 msec in the maximum.
Time Check @ Calar Alto
We log the accuracy of the systemclock using three different NTP-Time-Server:
computer center of the University Erlangen
ntps1-0.uni-erlangen.de
rustime01.rus.uni-stuttgart.de
bernina.ethz.ch
using the Network-Time-Protocol command "ntpdate -d -p 8" to ensure the
highest precision possible.
These NTP servers are located at
Computer center at the University Erlangen, Germany
Computer center at the University Stuttgart, Germany
ETH Zürich, Switzerland
The Calar Alto network has direct satellite link to the
Max-Planck-Institute in Heidelberg. Therefore I choosed NTP Time-Servers
in central Europe.
All three servers are Public NTP Primary (stratum 1) Time Servers. That
means, that they receive their time direcly from an atomic clock or an
equivalent.
I suggest, that other members of the WET community also check their
clock against the time given by a local NTP Time-Server. You may find a
suitable one on this list of primary
or of
secondary NTP Time-Servers.