The following variables are common to two or more of the
system, peer and packet classes. Additional variables are specific to the optional authentication mechanism as described in Appendix
C. When necessary to distinguish between common variables of the same name, the variable identifier will be used.
Peer Address (peer.peeraddr, pkt.peeraddr), Peer Port (peer.peerport, pkt.peerport): These are the 32-bit Internet address and 16-bit
port number of the peer.
Host Address (peer.hostaddr, pkt.hostaddr), Host Port (peer.hostport, pkt.hostport): These are the 32-bit Internet address and 16-bit
port number of the host. They are included among the state variables to support multi-homing.
Leap Indicator (sys.leap, peer.leap, pkt.leap): This is a two-bit code warning of an impending leap second to be inserted in the NTP
time scale. The bits are set before 23:59 on the day of insertion and reset after 00:00 on the following day. This causes the number
of seconds (rollover interval) in the day of insertion to be increased or decreased by one. In the case of primary servers the bits
are set by operator intervention, while in the case of secondary servers the bits are set by the protocol. The two bits, bit 0 and bit
1, respectively, are coded as follows:
||last minute has 61
||last minute has 59
(clock not synchronized)
In all except the alarm condition (112), NTP itself does nothing with these bits, except pass them on to the time-conversion routines
that are not part of NTP. The alarm condition occurs when, for whatever reason, the local clock is not synchronized, such as when
first coming up or after an extended period when no primary reference source is available.
Mode (peer.mode, pkt.mode): This is an integer indicating the association mode, with values coded as follows:
||reserved for NTP
Stratum (sys.stratum, peer.stratum, pkt.stratum): This is an integer indicating the stratum of the local clock, with values defined as
(e.g.,, calibrated atomic clock,, radio clock)
For comparison purposes a value of zero is considered greater than any other value. Note that the maximum value of the integer encoded
as a packet variable is limited by the parameter NTP.MAXSTRATUM.
Poll Interval (sys.poll, peer.hostpoll, peer.peerpoll, pkt.poll): This is a signed integer indicating the minimum interval between
transmitted messages, in seconds as a power of two. For instance, a value of six indicates a minimum interval of 64 seconds.
Precision (sys.precision, peer.precision, pkt.precision): This is a signed integer indicating the precision of the various clocks, in
seconds to the nearest power of two. The value must be rounded to the next larger power of two; for instance, a 50-Hz (20 ms) or 60-Hz
(16.67ms) power-frequency clock would be assigned the value -5 (31.25 ms), while a 1000-Hz (1 ms) crystal-controlled clock would be
assigned the value -9 (1.95 ms).
Root Delay (sys.rootdelay, peer.rootdelay, pkt.rootdelay): This is a signed fixed-point number indicating the total roundtrip delay to
the primary reference source at the root of the synchronization subnet, in seconds. Note that this variable can take on both positive
and negative values, depending on clock precision and skew.
Root Dispersion (sys.rootdispersion, peer.rootdispersion, pkt.rootdispersion): This is a signed fixed-point number indicating the
maximum error relative to the primary reference source at the root of the synchronization subnet, in seconds. Only positive values
greater than zero are possible.
Reference Clock Identifier (sys.refid, peer.refid, pkt.refid): This is a 32-bit code identifying the particular reference clock. In
the case of stratum 0 (unspecified) or stratum 1 (primary reference source), this is a four-octet, left-justified, zero-padded ASCII
string, for example (see Appendix A for comprehensive list):
||WWVB LF (band 5)
||GOES UHF (band 9)
||WWV HF (band 7)
the case of stratum 2 and greater (secondary reference) this is the four-octet Internet address of the peer selected for
Reference Timestamp (sys.reftime, peer.reftime, pkt.reftime): This is the local time, in timestamp format, when the local clock was
last updated. If the local clock has never been synchronized, the value is
Originate Timestamp (peer.org, pkt.org): This is the local time, in timestamp format, at the peer when its latest NTP message was
sent. If the peer becomes unreachable the value is set to zero.
Receive Timestamp (peer.rec, pkt.rec): This is the local time, in timestamp format, when the latest NTP message from the peer arrived.
If the peer becomes unreachable the value is set to zero.
Transmit Timestamp (peer.xmt, pkt.xmt): This is the local time, in timestamp format, at which the NTP message departed the sender.