1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300
|
= A Glossary of NTP-speak
include::include-html.ad[]
[cols="10%,90%",frame="none",grid="none",style="verse"]
|==============================
|image:pic/howland.jpg[]|
{millshome}pictures.html[from 'Pogo', Walt Kelly]
|==============================
[glossary]
[[ACTS]] ACTS::
https://www.nist.gov/pml/time-and-frequency-division/services/automated-computer-time-service-acts[NIST
Automated Computer Time Service]. NIST provides a civil time reference for
computers equipped with analog modems that can dial in to its phone
lines. Due to variability of delays in the analog phone network
accuracy is not very good, around 4 milliseconds compared to
around a microsecond for <<PPS>>. But the service is still
occasionally used as a backup to more precise sources.
[[association]] association::
An association is the relationship that an NTP client and server have
when the server is computing and shipping time updates to the client
and the client is expecting them. There are several different kinds
of associations including unicast, manycast, and broadcast modes;
another variable is whether the association is authenticated or
unauthenticated. A significant amount of NTP's complexity is the means
for discovering association partners, creating and maintaining
associations, and preventing attackers from forming associations.
[[association ID]] association ID::
A numeric identifier designating an association, normally internal
to ntpd but exposed in <<mode 6>> packets.
[[atom]] atom::
Old name for the PPS driver. Origin lost in the mists of history,
but probably related in some way to cesium atomic clocks.
[[cycle]] cycle::
An <<era>>; code comments sometimes use this term to emphasize that
modular arithmetic is going on.
[[drift]] drift::
In an NTP context, drift refers to the frequency offset of a clock crystal
in an NTP host that causes the system time to drift slowly. It is
usually expressed in a parts-per-million (PPM) offset from its
nominal frequency. It changes, slowly, in response to environmental
factors (mainly ambient temperature). ntpd measures drift by
sampling the clock and performing clock recovery against a
phase-locked loop. The drift measurement can be stored and updated
locally to a drift file so that when ntpd is stopped and restarted
it doesn't have to go through the entire resampling and resynchronization
process before providing reliable time.
[[falseticker]] falseticker::
<<Mills-speak>> for a timeserver identified as not
reliable by statistical filtering. Usually this does not imply a
problem with the timeserver itself but rather with highly variable
and asymmetric network delays between server and client, but firmware
bugs in GPS receivers have produced falsetickers.
[[epoch]] epoch::
1. The zero date of an NTP era. The "prime epoch" (of era 0) was
1900-00-00T00:00:00 in proleptic UTC (leap second correction was not
introduced until 1972). 2. Other calendar systems have other
definitions; notably, the Unix epoch is 1970-00-00T00:00:00.
[[era]] era::
One complete revolution of an NTP 64-bit timestamp; approximately
136 years. Eras are numbered from 0, but this era number is not
represented internally in NTP code because modular-arithmetic
trickery is used to deduce the nearest time that could fit a given
timestamp.
[[fudge]] fudge::
Can have one of two senses. Either (1) an offset configured for a
<<refclock>> or server to correct its time, reversing a fixed or
nearly-fixed propagation delay, or (2) in the old config syntax, a "fudge
bit" was what is now called a driver option - set in a refclock
declaration to change the refclock's behavior in some
driver-dependent way.
[[fuzzball]] fuzzball::
Historical. An
https://www.eecis.udel.edu/~mills/database/papers/fuzz.pdf[operating
system] running on PDP-11s used for early time-service and Internet
routing experiments. Metonymously, a PDP-11 running the suite.
While some of these remained in service as late as 1988 they are
now long gone, but have left a few traces in the NTP codebase.
[[GPS]] GPS::
Global Positioning System; in common parlance "a GPS" is a radio receiver
designed to get position and time fixes from the system. GPS fixes
are derived from spherical trigonometry using the precisely known
positions of satellites in a geocentric coordinate system. GPS
also provides time service; those that emit <<PPS>> are suitable
as clock sources for Stratum 1 timeservers. In timekeeping, the
term is used to refer not only to the original U.S. GPS system,
but newer constellations that work on the same principles, such
as ГЛОНАСС (the Russian GLONASS), 北斗 (the Chinese BeiDou-2),
and the EU's Galileo. Regional systems include QZSS (Japan) and
NavIC, earlier IRNSS (India).
[[GPSDO]] GPSDO::
GPS Disciplined Oscillator. A good crystal is synchronized to
time from a GPS receiver. The combination gets the short term
stability of the crystal and the long term stability of GPS.
With appropriate firmware, the crystal can be used when the
GPS receiver is temporarily non-operational; see <<holdover>>.
Most cell towers have GPSDOs. You can usually spot the conical
GPS antenna.
[[GPSD]] GPSD::
The https://gpsd.io[GPS Daemon], an open-source device
manager for GPSes and other geodetic sensors. Frequently used as
a clock source by Stratum 1 sites via the link:driver_shm.html[SHM]
interface.
[[GPS pivot date]] GPS pivot date::
The GPS pivot date is a specific fixed arbitrary time. It is stored in
the firmware of a GPS receiver, and is probably the date that firmware
was released. For this reason, a GPS receiver will start reporting
incorrect time 512 weeks (9.8 years) or 1024 weeks (19.6 years) after
it's pivot date. There is generally no way to determine what a given
GPS receiver's pivot date is, or to determine that it has failed in
this manner. It is recommended that any critical Stratum 1 NTP server
that uses a GPS receiver as a refclock not use one that is more than
9 years old, and to have a peer or nopeer relationship with other NTP
servers, so as to detect when the GPS time is no longer sane.
[[holdover]] holdover::
In connection with a <<GPSDO>> or <<time radio>> that may lose
signal from its time source, holdover is its ability to continue
delivering accurate time from an internal oscillator. Due to
<<drift>> in the oscillator, accuracy drops as holdover time (time
since last signal lock) increases.
[[in-band time]] in-band time::
GPS-based time sources often deliver two channels of time
information. The timestamp delivered as ASCII data over the
serial link is called "in-band time" to contrast it with the
out-of-band <<PPS>> signal. Abbreviated IBT. Seldom useful
by itself as it tends to have a large random wander from top
of second. However, it is useful as a count of seconds.
[[leap second]] leap second::
Because the earth's rotation varies in irregular ways (gradually
slowing due to tidal drag among other forces) and the second is now defined
in absolute terms rather than as a fraction of day length, keeping
time of day synchronized with mean solar time requires occasional,
unpredictable insertions of a standard second in the calendar. Leap
second notifications are issued as Bulletin C by the
https://www.iers.org/IERS/EN/Home/home_node.html[International
Earth Rotation Service] when required, and obeyed by national time
authorities. The current leap second offset is automatically
propagated through the <<GPS>> system.
[[leapfile]] leapfile::
A local file containing the current <<leap second>> offset, typically
fetched from <<USNO>> or <<NIST>> and potentially needing updates
near the end of each half year. Normally retrieved
by a cron(1) job, but some varieties of <<refclock>> (notably
GPSes) update the same information during normal operation.
[[Mills-speak]] Mills-speak::
Dr. David Mills, the original architect of NTP and its standards,
wrote in a vivid and idiosyncratic style which is still preserved in
much of NTP's documentation. He coined many neologisms which
connoisseurs refer to as "Mills-speak"; examples in this glossary
include <<falseticker>>, <<proventic>>, and <<truechimer>>. The
close-to-definitive reference is
https://lists.ntp.org/pipermail/questions/2007-December/016592.html[The
NTP dictionary], though not all of those terms are still in use.
[[mode 6]] mode 6::
Mode 6 is a control protocol used to get various kinds of
status information from a running ntpd and configure it on
the fly. So-called from the value 6 (0110) in the packet mode
field. It is described in detail link:mode6.html[here].
[[NIST]] NIST::
https://www.nist.gov[National Institute of Standards and
Technology]. The civilian national time authority of the U.S.;
runs <<WWVB>>. Responsible for keeping U.S. civil time
coordinated with UTC. Civil <<NIST>> and military <<USNO>>
time agree to within nanoseconds.
[[NTP-classic]] NTP Classic::
The original reference implementation of NTP by Dave Mills, later
maintained by the Network Time Foundation. It is available at
http://www.ntp.org . NTPsec forked from it on June 6th, 2015.
[[nonce]] nonce::
An arbitrary number that may only be used once. A random or
pseudo-random number issued in an authentication protocol (such as
NTP's) to ensure that old communications cannot be reused in replay
attacks.
[[parse-driver]] parse driver::
A refclock, now known as link:driver_generic.html[generic], which
handles multiple <<time radio>> protocols - two dozen mostly
European precision time radios mostly using DCF, the broadcast time
from the German national authority. Each clock type is internally
represented as a few parse methods and table entries in a
table-driven parser. Older documentation used the term "parse
driver" interchangeably with "generic driver".
[[popcorn spike]] popcorn spike::
A packet from a particular peer that has a computed theta more than
three standard deviations from the previous sample. These are
normally treated as random outliers and suppressed.
[[PPS]] PPS::
(Also as "1PPS") Pulse Per Second. A top-of-second pulse emitted
by time sources, typically a GPS receiver or atomic clocks. It
is often connected to an RS-232 modem control signal pin.
A PPS signal doesn't tell you which second a pulse corresponds to
so it must be used with an ancillary signal, typically text over
the same RS-232 connector (see <<in-band time>>).
The advantage of a PPS signal is improved accuracy. Most OSes have
provisions to grab a timestamp at interrupt time. The API is described
in RFC 2783.
[[PTP]] PTP::
https://en.wikipedia.org/wiki/Precision_Time_Protocol[Precision Time
Protocol], which does for hosts on a local area network what NTP
does on the general Internet. By taking advantage of the (usually)
more controlled conditions of a LAN, it is capable of much higher
sustained accuracy than NTP, into the sub-microsecond range.
[[pool]] pool::
In an NTP context, "the pool" usually refers to the
https://www.ntppool.org/[NTP Pool Project], which coordinates a volunteer
collection of thousands of NTP servers around the world that anyone can
use. The DNS names are designed to keep the timeservers you select
relatively "close" to you on the internet, with varying degrees of
specificity, e.g. using north-america.pool.ntp.org may connect you
to timeservers from Canada to Panama, while us.pool.ntp.org is more
likely to connect you to timeservers within the continental U.S.
See the link:quick.html#pool[Client Quick Start Guide]
for configuration examples.
[[proventic]] proventic:: <<Mills-speak>> for "the transitive
completion of the authentication relationship", defined in RFC 5906.
Time is proventic if it is provided by a chain of time servers
between which packets are authenticated and the chain reaches
back to Stratum 1.
[[refclock]] refclock::
Shorthand for a "reference clock", a primary time source. A computer
with a refclock is implicitly Stratum 1. Examples include <<GPS>>
or <<time radio>> receivers, or even a master cesium clock.
[[stratum]] stratum::
A "stratum" is a layer in the hierarchy of time servers. A
<<refclock>> is stratum 0; a computer directly attached to
a refclock is stratum 1; and a client served by a stratum N is
stratum N+1. Often capitalized, especially when referring to all
members of a stratum. The larger the number, the further away from
the source clock, thus the less accurate. Stratum 16 is the maximum, and
indicates a device that is unreachable and unsynchronized. The majority
of public timeservers are Stratum 1 and Stratum 2.
[[time-radio]] time radio::
A radio receiver specialized for picking up accurate time reference
signals broadcast over the air by a national time authority; notable
ones include <<WWVB>> (U.S.), CHU (Canada), DCF (Germany), MSF
(United Kingdom), and JJY (Japan). Usable as a Stratum 1 time
source; may be qualified by "precision time radio" to distinguish
from consumer-grade "atomic clocks", which are time radios that
normally take radio synchronization just once a day and are _not_
accurate enough to be used for Stratum 1. Precision time radios
used to be important time sources, but (especially in the U.S.) have
been largely obsolesced by <<GPS>> and <<GPSDO>>-based clocks.
[[truechimer]] truechimer::
<<Mills-speak>> for a timeserver that provides time believed good,
that is with low jitter with respect to UTC. As with a
<<falseticker>>, this is usually less a property of
the server itself than it is of favorable network topology.
[[USNO]] USNO::
https://www.usno.navy.mil/USNO[The United States Naval Observatory],
one of the two U.S. national time authorities and the source of the
U.S. military time reference, now delivered primarily by GPS
signals. U.S. civil <<NIST>> and military <<USNO>> time agree to
within nanoseconds.
[[WWVB]] WWVB::
https://www.nist.gov/time-and-frequency-services/nist-radio-stations/wwvb[The
U.S. national time radio station], run by <<NIST>> and broadcasting a highly
accurate U.S. civil-time reference. Formerly an important primary time
source, until NIST changed its modulation at 2012-10-29T15:00:00Z
and obsolesced all then-existing U.S. precision time radios. No
WWVB-compatible precision time radios have been manufactured since,
though consumer-grade "atomic clocks" unaffected by the modulation
change are still made.
'''''
include::includes/footer.adoc[]
|