Except in broadcast mode, an NTP association is
formed when two peers exchange messages and one or both of them create and maintain an instantiation of the protocol machine, called
an association. The association can operate in one of five modes as indicated by the host-mode variable (peer.mode): symmetric active,
symmetric passive, client, server and broadcast, which are defined as follows:
(1): A host operating in this mode sends periodic
messages regardless of the reachability state or stratum of its peer. By operating in this mode the host announces its willingness to
synchronize and be synchronized by the peer.
(2): This type of association is ordinarily created
upon arrival of a message from a peer operating in the symmetric active mode and persists only as long as the peer is reachable and
operating at a stratum level less than or equal to the host; otherwise, the association is dissolved. However, the association will
always persist until at least one message has been sent in reply. By operating in this mode the host announces its willingness to
synchronize and be synchronized by the peer.
Client (3): A host operating in this mode sends periodic messages
regardless of the reachability state or stratum of its peer. By operating in this mode the host, usually a LAN workstation, announces
its willingness to be synchronized by, but not to synchronize the peer.
Server (4): This type of association is ordinarily created upon arrival of
a client request message and exists only in order to reply to that request, after which the association is dissolved. By operating in
this mode the host, usually a LAN time server, announces its willingness to synchronize, but not to be synchronized by the
Broadcast (5): A host operating in this mode sends periodic messages
regardless of the reachability state or stratum of the peers. By operating in this mode the host, usually a LAN time server operating
on a high-speed broadcast medium, announces its willingness to synchronize all of the peers, but not to be synchronized by any of
A host operating in client mode occasionally sends
an NTP message to a host operating in server mode, perhaps right after rebooting and at periodic intervals thereafter. The server
responds by simply interchanging addresses and ports, filling in the required information and returning the message to the client.
Servers need retain no state information between client requests, while clients are free to manage the intervals between sending NTP
messages to suit local conditions. In these modes the protocol machine described in this document can be considerably simplified to a
simple remote-procedure-call mechanism without significant loss of accuracy or robustness, especially when operating over high-speed
In the symmetric modes the client/server distinction
(almost) disappears. Symmetric passive mode is intended for use by time servers operating near the root nodes (lowest stratum) of the
synchronization subnet and with a relatively large number of peers on an intermittent basis. In this mode the identity of the peer
need not be known in advance, since the association with its state variables is created only when an NTP message arrives. Furthermore,
the state storage can be reused when the peer becomes unreachable or is operating at a higher stratum level and thus ineligible as a
Symmetric active mode is intended for use by time
servers operating near the end nodes (highest stratum) of the synchronization subnet. Reliable time service can usually be maintained
with two peers at the next lower stratum level and one peer at the same stratum level, so the rate of ongoing polls is usually not
significant, even when connectivity is lost and error messages are being returned for every poll.
Normally, one peer operates in an active mode
(symmetric active, client or broadcast modes) as configured by a startup file, while the other operates in a passive mode (symmetric
passive or server modes), often without prior configuration. However, both peers can be configured to operate in the symmetric active
mode. An error condition results when both peers operate in the same mode, but not symmetric active mode. In such cases each peer will
ignore messages from the other, so that prior associations, if any, will be demobilized due to reachability failure.
Broadcast mode is intended for operation on
high-speed LANs with numerous workstations and where the highest accuracies are not required. In the typical scenario one or more time
servers on the LAN send periodic broadcasts to the workstations, which then determine the time on the basis of a preconfigured latency
in the order of a few milliseconds. As in the client/server modes the protocol machine can be considerably simplified in this mode;
however, a modified form of the clock selection algorithm may prove useful in cases where multiple time servers are used for enhanced