An NTP server must be accessible to the NTP client device.
The NTP network typically gets its time from an authoritative time source, such
as a radio clock or an atomic clock attached to a time server. NTP distributes
this time across the network.
Running continuously in the background, the NTP client sends
periodic time requests to known NTP servers, obtaining server time stamps and
using them to adjust the client clock. NTP is extremely efficient, requiring no
more than one packet per minute to synchronize two machines to within a
millisecond.
NTP uses the term “stratum” to describe the number of NTP hops
away a device is from an authoritative time source. A stratum
1 time server has a radio or atomic clock directly attached, a stratum 2 time server receives its time from a stratum 1 time
server, and so on. Any device configured to run NTP client automatically selects
the time source device with the lowest stratum number, effectively building a
self-organizing tree of NTP speakers.
The NTP devices are organized into associations—devices that will
share NTP information—by statically configuring the IP address of all machines
with which it should form associations. In a LAN environment, NTP can be
configured to use IP broadcast messages with each device configured to send or
receive these broadcast messages. The accuracy of timekeeping is only marginally
reduced because the information flow is one-way only.
NTP uses the two following techniques to avoid synchronizing to a
device whose time might be inaccurate:
-
The NTP device never synchronizes to a NTP server that isn’t
synchronized itself.
-
The NTP device first compares the time reported by several
NTP servers and won’t synchronize to a machine whose time is seriously different
than the others, even if its stratum is lower.