TIMED(1M) TIMED(1M)
timed - time server daemon
/usr/etc/timed [ -tdM ] [ -G netgroup] [ -F host1 host2 ...]
[ -n network ] [ -i network ] [ -P param-file ]
Timed is a time server daemon and is normally invoked at boot time from
the /etc/init.d/network file. It synchronizes the host's time with the
time of other machines in a local area network running timed. 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 communicates with the date(1) command in order to set the date
globally. Adjustments made by the date command are accumulated by the
time daemon with all other adjustments. This means that timed can
automatically adjust the system clock on an isolated machine, not
connected to a network. The adjustments from the date command change the
timetrim parameter described below.
The service provided by timed is based on a master-slave scheme. When
timed is started on a machine, it asks the master for the network time
and sets the host's clock to that time. After that, it accepts
synchronization messages periodically sent by the master and calls
adjtime(2) to perform the needed corrections on the host's clock. The
master adjusts its own clock by averaging the clocks of all trusted
machines (see below) with its own clock. If the machine running the
master crashes, then the slaves elect a new master from among slaves
running with the -M flag. A timed running without the -M, -F, or -G
flags will remain a slave.
Note that "master-slave" suggests things to many people that are not
true. A better word than "master" is "moderator." Unless the clock of
the so called master is extremely bad, the time it distributes to the so
called slaves is the median of all of the slaves. As long as the so
called master can keep time for the few seconds from when it starts to
measure the current time of all of the slaves until it sends the
difference between each slave's clock and the median, the master's clock
is fine. Bad clocks are treated the same whether they are on the master
or a slave. Times that are very different from the median are discarded,
and then the median of the remaining times is computed and used. For
that reason, it is practically always wrong to run timed without the -M
flag.
Timed logs accumulated corrections in the system log (see syslogd(1M)) to
ease adjusting the local clock. The clock can be adjusted by changing
the timetrim parameter using systune(1M) or with the syssgi(2) system
call. This parameter is used by the operating system to compensate for
variations among machines. It can be used to improve the accuracy of the
Page 1
TIMED(1M) TIMED(1M)
local clock. -P param-file specifies a file in which to save a computed
value of the timetrim parameter. The active value in the operating
system is set to the value found in the file when the daemon started. An
error message is displayed when the daemon is first started if the file
contains nonsense. However, a corrected value will be placed in the file
during its normal updates. A good choice for the file name is
/var/adm/timetrim.
The -F flag means only the local machine and the machines host1, host2,
etc., are trusted to have good hardware clocks and to be securely
administered. Any attempts to change the clocks by other, untrusted
machines are ignored, except to log them in the system log. The clocks
of untrusted machines are not averaged by the master if the master is the
only trusted machine. Untrusted clocks that are close to the clock of
the master are used if there is more than one trusted master active. A
master which has been told it is trustworthy will tell untrustworthy
machines which try to be elected master to be quiet, to "squash" them.
A machine without the -G or -F flags trusts all other machines as much as
it trusts itself.
The clock of a daemon started with -F localhost and without -G "free
runs." In other words, if the machine does not trust any other machines,
it does not try to adjust its own clock.
The -G flag is used to specify a netgroup (see netgroup(4)) of trusted
machines. This flag allows central administration of the list of trusted
machines. Making gateways trusted ties the clocks in an internet
together, because after a network partition is healed, the trusted
gateways will suppress the upstart local master elected during the
partition.
Timed requests synchronization service from the first master server
located. If permitted by the -M flag, it will provide synchronization
service on any attached networks on which no current master server was
detected. Such a server propagates the time computed by the top-level
master. The -n flag, followed by the name of a network which the host is
connected to (see networks(4)), overrides the default choice of the
network addresses made by the program. Each time the -n flag appears,
that network name is added to a list of valid networks. All other
networks are ignored. The -i flag, followed by the name of a network to
which the host is connected (see networks(4)), overrides the default
choice of the network addresses made by the program. Each time the -i
flag appears, that network name is added to a list of networks to ignore.
All other networks are used by the time daemon. The -n and -i flags are
meaningless if used together.
The -t flag causes timed to trace the messages it receives in the file
/var/adm/timed.log. Tracing can be turned on or off by the program
timedc(1M). Beware that the log file grows very quickly in a large
network.
Page 2
TIMED(1M) TIMED(1M)
The -d flag is for debugging the daemon. It causes the program to not
put itself into the background.
Timed checks for a master time server on each network to which it is
connected, except as modified by the -n and -i options described above.
If it finds masters on more than one network, it chooses one network on
which to be a "slave," and then periodically checks the other networks to
see if the masters there have disappeared.
The timeslave(1M) daemon can be used to inexpensively synchronize the
clock on a machine to the clock on a remote machine. It does not require
any daemons or special programs on the remote machine.
One way to synchronize a group of IRIS's is to use timeslave to
synchronize the clock of one machine to a distant standard or a radio
receiver and -F hostname to tell its timed daemon to trust only itself.
Messages printed by the kernel on the system console occur with
interrupts disabled. This means that the clock stops while they are
printing. A machine with many disk or network hardware problems and
consequent messages cannot keep good time by itself. Each message
typically causes the clock to lose a dozen milliseconds. A time daemon
can correct the result, but will compute a bogus timetrim value.
Messages in the system log about machines that failed to respond usually
indicate machines that crashed or were turned off. Complaints about
machines that failed to respond to initial time settings are often
associated with "multi-homed" machines that looked for time masters on
more than one network and eventually chose to become a slave on the other
network.
If two or more time daemons, whether timed, timeslave, or NTP, try to
adjust the same clock, temporal chaos will result. If both timed and
timeslave are run on the same machine, ensure that the -G flag is not
used but that the -F flag is used, so that timed never attempts to adjust
the local clock.
The protocol is based on UDP/IP broadcasts. All machines within the
range of a broadcast that are using the TSP protocol must cooperate.
There cannot be more than a single administrative domain using the -F or
-G flags among all machines reached by a broadcast packet. Failure to
follow this rule is usually indicated by complaints concerning
"untrusted" machines in the system log.
/var/adm/timed.log tracing file for timed
/var/adm/SYSLOG system log
/etc/init.d/network start-up script
/etc/config/timed.options optional flags, by default
"-G timelords -P /var/adm/timetrim"
/var/adm/timetrim default file for timetrim accumulation
Page 3
TIMED(1M) TIMED(1M)
chkconfig(1M), date(1), adjtime(2), gettimeofday(2), icmp(4P),
timedc(1M), timeslave(1M), systune(1M)
PPPPaaaaggggeeee 4444 [ Back ]
|