TIMED(8) | System Manager's Manual | TIMED(8)

# NAME

`timed` — time server daemon

# SYNOPSIS

`timed` | [`-dMt`] [`-F` host ...] [`-G` netgroup] [`-i` network | `-n` network]

# DESCRIPTION

The `timed` utility is a time server daemon which is normally invoked at boot time from the rc(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.
`-F` host ...
  Create a list of trusted hosts. The `timed` utility 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. This option implies the `-M` option. If this option is not specified, all hosts on the connected networks are treated as trustworthy.
`-G` netgroup
  Specify a netgroup of trustworthy hosts, in addition to any masters specified with the `-M` flag. This option may only be specified once.
`-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.
`-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), netgroup(5), networks(5), ntpd(8), timedc(8)

R. Gusella and S. Zatti, TSP: The Time Synchronization Protocol for UNIX 4.3BSD.

# HISTORY

The `timed` utility appeared in 4.3BSD.

May 11, 1993 | NetBSD 11.0