Introduction
The standard timescale used
by most nations of the world is Coordinated Universal Time
(UTC), which is based on the Earth's rotation about its axis,
and the Gregorian Calendar, which is based on the Earth's
rotation about the Sun. The UTC timescale is disciplined with
respect to International Atomic Time (TAI) by inserting leap
seconds at intervals of about 18 months. UTC time is disseminated
by various means, including radio and satellite navigation
systems, telephone modems and portable clocks.
Special purpose receivers are
available for many time-dissemination services, including
the Global Positioning System (GPS) and other services operated
by various national governments. For reasons of cost and convenience,
it is not possible to equip every computer with one of these
receivers. However, it is possible to equip a small number
of computers acting as primary time servers that can then
synchronise a much larger number of secondary servers and
clients connected by a common network. In order to do this,
a distributed network clock synchronisation protocol such
as the Network Time Protocol (NTP) is required. This protocol
can read a server clock, transmit the reading to one or more
clients and adjust each client clock as required.
The Need for Synchronised Time
Electronic clocks in servers
and networking devices keep inaccurate time. Even fairly accurate
computer clocks are likely to vary die to manufacturing defects,
changes in temperature, electric and magnetic interference,
the age of the oscillator, or even computer load. If a clock
is off by just 10 parts per million, it will gain or lose
almost a second a day.
The accuracy of NTP depends
on how many hops occur between client and server, and other
network latency inducing factors. Experiments with NTP suggest
accuracies to a millisecond can be expected when operated
over a high speed LAN and tens of milliseconds on a WAN [2].
Network operations typically require the most accuracy, in
the order of 1 to 10 milliseconds.
What is NTP?
NTP is the
Internet standard protocol for time synchronisation and coordinated
time distribution using the UTC time standard. It is designed
to maintain accuracy and robustness, even when used over typical
Internet paths involving multiple highways, highly dispersive
delays and unreliable networks. It is a fault tolerant protocol
that will automatically select the best of several time sources
with which to synchronise. In addition, it is highly scalable
as its network has a hierarchical self-organising design.
NTP does not attempt to synchronise
clocks to each other. Rather, each server attempts to synchronise
to UTC using the best available source and transmission paths
to that source. For communication between clients and servers
NTP uses the UDP protocol on port 123. Time service requests
are tried at designated polling intervals until the server
responds. When first started transactions occur about once
per minute, increasing gradually to once every 17 minutes.
Using UDP prevents retries from using up network bandwidth
if a time server with a large number of clients becomes faulty.
Clients can use time information from multiple servers to
automatically determine the best source of time and prevent
bad time sources from corrupting their own time.
The Irish NTP subnet
The Irish NTP
subset relies on overseas primary servers (mostly in the UK
and Europe) accessed via long distance network links that
are frequently congested. This means that the accuracy achieved
by NTP in Ireland may be worse than that achieved in other
parts of the Internet.
The NTP server at NUI, Galway is currently
the only operational stratum-1 server in Ireland
A stratum-1 NTP server has
been set-up to provide time synchronisation within the I.T.
Department. The platform used for the server was Linux 6.2.
The primary reason for choosing Linux as the operating system
was because of its support for pulse-per-second (PPS) signalling.
While not currently implemented, PPS may be useful at a later
stage. In addition, a number of stratum-2 clients have been
set-up on both Linux and Windows machines.
The synchronisation time source
for the NTP server is Trimbles Acutime 2000 GPS Synchronisation
Kit. The benefits of GPS derived time and frequency are long-term
stability and coordination with the worldwide time network
via the GPS time standard. Support for the Linux platform,
accuracy of timing and the level of NTP support were the main
considerations in deciding which GPS receiver to purchase
as the synchronisation source for the stratum-1 server. The
timing pulse (PPS) and event time stamps generated by the
Synchronisation Kit are synchronised to UTC within 50 nanoseconds.
The following is an example of Trimbles Synchronisation
Kit performance on a typical Linux time server over several
days.
|