TIMED(8) BSD TIMED(8)
NAME
timed - time server daemon
SYNOPSIS
/etc/timed [ -t ] [ -M ] [ -n network ] [ -i network ]
DESCRIPTION
timed is the time server daemon and is normally invoked at boot time from
the rc(8) file. It synchronizes the host's time with the time of other
machines in a local area network running timed(8). These time servers
will slow down the clocks of some machines and speed up the clocks of
others to bring them to the average network time. The average network
time is computed from measurements of clock differences using the ICMP
timestamp request message. timed also communicates with date(1) in order
to set the date globally, and with timedc(8), a timed control program.
The service provided by timed is based on a master-slave scheme. Started
with or without the -M option, timed checks the local area network for a
master. It becomes a slave if a master already exists or if it was
started without the -M option. A newly created slave asks the master for
the network time and uses adjtime(2) to set the host's clock to that
time. After that, the slave accepts synchronization messages
periodically sent by the master and uses adjtime(2) to perform the needed
corrections on the host's clock. Since the correction is expressed as a
time difference rather than an absolute time, transmission delays do not
interfere with the accuracy of the synchronization.
A slave whose clock is ahead of the master of a set of participating
machines adjusts itself backward before joining the set. No time
synchronization is done over the period of time it takes the
participating machines to adjust themselves to an earlier time specified
with date(1). timed logs an error under conditions that require it to
set its machine's clock backwards in excess of ADJTIME_MAX_DELTA
(<sys/time.h>). If the machine is a slave, timed exits. If the machine
is a master, timed continues.
Specifying -t enables trace mode, in which timed logs messages it
receives in /usr/adm/timed.log. Use timedc(8) to turn trace mode on or
off.
A machine that starts timed with the -M option becomes the master if none
already exists. A master may control up to 254 slaves. If the master
crashes, then the slaves having been started with the -M option elect a
new master from among themselves. Use timedc(8) to find out who's
master.
A time daemon running on a gateway may act as a submaster. A submaster
classifies each network to which it is connected as one of three types.
A slave network is a network on which the submaster acts as a slave.
There can be only one slave network. A master network is a network on
which the submaster acts as a master. An ignored network is any other
network which already has a valid master. The submaster tries
periodically to become master on ignored networks, but gives up
immediately if a master already exists.
The -n network option tells the time daemon running on a gateway to
attend only to network, and ignore all others. The -i network option
tells the time daemon running on a gateway to ignore only network, and to
attend to all others. In each case, network must be a legitimate address
(see networks(5)). A time daemon running on a gateway typically would be
instructed to ignore all but the networks belonging to the local
administrative control.
There's a pathological condition that can arise in the case where, let's
say, machines A and B are both gateways between networks X and Y. If
time daemons were started on both A and B without constraints, it would
be possible for submaster time daemon A to be a slave on network X and
the master on network Y, while submaster time daemon B is a slave on
network Y and the master on network X. This loop of master time daemons
will not function properly or guarantee a unique time on both networks,
and will cause the submasters to use large amounts of system resources in
the form of network bandwidth and CPU time. This kind of loop can also
be generated with more than two master time daemons, when several local
area networks are interconnected.
FILES
/usr/adm/timed.log tracing file for timed
/usr/adm/timed.masterlog log file for master timed
SEE ALSO
date(1), adjtime(2), gettimeofday(2), icmp(4P), timedc(8).