TIMED(8)

NAME
timed - time server daemon

SYNOPSIS
timed [-dtM] [-i network | -n network] [-F host ...]

DESCRIPTION
The timed utility is a time server daemon which is normally invoked at boot time from the rc.network(8) file. It synchronizes the host's time with the time of other machines, which are also running timed, in a local area network. 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 following options are available:

-d  Enable debugging mode; do not detach from the terminal.

-i network
    Add network to the list of networks to ignore. All other networks to which the machine is directly connected are used by timed. This option may be specified multiple times to add more than one network to the list.

-F host ...
    -   Create a list of trusted hosts.
    -   Can take one or more parameters.
    -   timed will only accept trusted hosts as masters. If it finds an untrusted host claiming to be master, timed will suppress incoming messages from that host and call for a new election.
    -   Use real host names (resolvable by RDNS) not aliases (eg in named(8) parlance: use A names, not C names).
    -   Use full names eg time1.domain.com not time1.
    -   -F automatically includes the functionality of -M (so -M does not need to asserted).
    -   If -F is not specified, all hosts on connected networks are treated as trustworthy.

-M  Allow this host to become a timed master if necessary.

-n network
    Add network to the list of allowed networks. All other networks to which the machine is directly connected are ignored by timed. This option may be specified multiple times to add more than one network to the list.

-t  Enable tracing of received messages and log to the file /var/log/timed.log. Tracing can be turned on or off while timed is running with the timedc(8) utility.

The -n and -i flags are mutually exclusive and require as arguments real networks to which the host is connected (see networks(5)). If neither flag is specified, timed will listen on all connected networks.

A timed running without the -M nor -F flags will always remain a slave. If the -F flag is not used, timed will treat all machines as trustworthy.

The timed utility 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.

It also communicates with date(1) in order to set the date globally, and with timedc(8), a timed control utility. If the machine running the master becomes unreachable, the slaves will elect a new master from among those slaves which are running with at least one of the -M and -F flags.

At startup timed normally 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. It will request synchronization service from the first master server located. If permitted by the -M or -F flags, it will provide synchronization service on any attached networks on which no trusted master server was detected. Such a server propagates the time computed by the top-level master. The timed utility will periodically check for the presence of a master on those networks for which it is operating as a slave. If it finds that there are no trusted masters on a network, it will begin the election process on that network.

One way to synchronize a group of machines is to use ntpd(8) to synchronize the clock of one machine to a distant standard or a radio receiver and -F hostname to tell its timed 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.

WARNINGS
Temporal chaos will result if two or more time daemons attempt to adjust the same clock. 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), networks(5), ntpd(8), timedc(8) TSP: The Time Synchronization Protocol for UNIX 4.3BSD, R. Gusella, S. Zatti.

HISTORY
The timed utility appeared in 4.3BSD.