TIMED(8)

NAME
timed - time server daemon

SYNOPSIS
timed [-M] [-t] [-d] [-i network] [-n network] [-F host1 host2 ...]

DESCRIPTION
This is a 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.

The service provided by timed is based on a master-slave scheme. When timed 8 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.

It also communicates with date(1) in order to set the date globally, and with timedc(8), a timed control program. If the machine running the master crashes, then the slaves will elect a new master from among slaves running with the -M flag. A timed running without the -M or -F flags will remain a slave. The -t flag enables timed to trace the messages it receives in the file /var/log/timed.log. Tracing can be turned on or off by the program timedc(8). The -d flag is for debugging the daemon. It causes the program to not put itself into the background. Normally timed checks for a master time server on each network to which it is connected, except as modified by the options described below. It will request 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(5)), 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(5)), 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.

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.

One way to synchronize a group of machines is to use an NTP daemon 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.

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, NTP, try to adjust the same clock, temporal chaos will result. If both timed and another time daemon are run on the same machine, ensure 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 flag 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.

FILES
/var/log/timed.log
    tracing file for timed
/var/log/timed.masterlog
    log file for master timed

SEE ALSO
date(1), adjtime(2), gettimeofday(2), icmp(4), timedc(8), TSP: The Time Synchronization Protocol for UNIX 4.3BSD, R. Gusella, S. Zatti.

HISTORY
The timed daemon appeared in 4.3BSD.