2001-08-29 14:35:15 +00:00
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta name="generator" content="HTML Tidy, see www.w3.org">
|
|
|
|
<meta http-equiv="Content-Type" content=
|
|
|
|
"text/html; charset=iso-8859-1">
|
|
|
|
<meta name="GENERATOR" content=
|
|
|
|
"Mozilla/4.01 [en] (Win95; I) [Netscape]">
|
|
|
|
<title>Undisciplined Local Clock</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<h3>Undisciplined Local Clock</h3>
|
|
|
|
|
|
|
|
<hr>
|
|
|
|
<h4>Synopsis</h4>
|
|
|
|
|
|
|
|
Address: 127.127.1.<i>u</i> <br>
|
|
|
|
Reference ID: <tt>LCL</tt> <br>
|
|
|
|
Driver ID: <tt>LOCAL</tt>
|
|
|
|
|
|
|
|
<h4>Description</h4>
|
|
|
|
|
|
|
|
<p>This driver is intended for use in an isolated network where no
|
|
|
|
external source of synchronization such as a radio clock or modem
|
|
|
|
is available. It allows a designated time server to act as a
|
|
|
|
primary server to provide synchronization to other clients on the
|
|
|
|
network. Pick a machine that has a good clock oscillator (Digital
|
|
|
|
machines are good, Sun machines are not) and configure it with this
|
|
|
|
driver. Set the clock using the best means available, like
|
|
|
|
eyeball-and-wristwatch. Then, point all the other machines at this
|
|
|
|
one or use broadcast (not multicast) mode to distribute time.</p>
|
|
|
|
|
|
|
|
<p>Another application for this driver is if a particular server
|
|
|
|
clock is to be used as the clock of last resort when all other
|
|
|
|
normal synchronization sources have gone away. This is especially
|
|
|
|
useful if that server has an ovenized oscillator. For this you
|
|
|
|
would configure this driver at a stratum greater than any other
|
|
|
|
likely sources of time (say 3 or 4) to prevent the server taking
|
|
|
|
over when legitimate sources are still available.</p>
|
|
|
|
|
|
|
|
<p>A third application for this driver is when an external
|
|
|
|
discipline source is available, such as the NIST <tt>lockclock</tt>
|
|
|
|
program, which synchronizes the local clock via a telephone modem
|
|
|
|
and the NIST Automated Computer Time Service (ACTS), or the Digital
|
|
|
|
Time Synchronization Service (DTSS), which runs on DCE machines. In
|
|
|
|
this case the stratum should be set at zero, indicating a bona fide
|
|
|
|
stratum-1 source. In the case of DTSS, the local clock can have a
|
|
|
|
rather large jitter, depending on the interval between corrections
|
|
|
|
and the intrinsic frequency error of the clock oscillator. In
|
|
|
|
extreme cases, this can cause clients to exceed the 128-ms slew
|
|
|
|
window and drop off the NTP subnet.</p>
|
|
|
|
|
|
|
|
<p>In the case where a NTP time server is synchronized to some
|
|
|
|
device or protocol that is not external to the NTP daemon itself,
|
|
|
|
some means should be provided to pass such things as error and
|
|
|
|
health values to the NTP daemon for dissemination to its clients.
|
|
|
|
If this is not done, there is a very real danger that the device or
|
|
|
|
protocol could fail and with no means to tell NTP clients of the
|
|
|
|
mishap. When ordinary Unix system calls like <tt>adjtime()</tt> are
|
|
|
|
used to discipline the kernel clock, there is no obvious way this
|
|
|
|
can be done without modifying the code for each case. However, when
|
|
|
|
a modified kernel with the <tt>ntp_adjtime()</tt> system call
|
|
|
|
is available, that routine can be used for the same purpose as the
|
|
|
|
<tt>adjtime()</tt> routine and in addition provided with the
|
|
|
|
estimated error, maximum error, and leap-indicator values. This is
|
|
|
|
the preferred way to synchronize the kernel clock and pass
|
|
|
|
information to the NTP clients.</p>
|
|
|
|
|
|
|
|
<p>In the default mode the behavior of the clock selection
|
|
|
|
algorithm is modified when this driver is in use. The algorithm is
|
|
|
|
designed so that this driver will never be selected unless no other
|
|
|
|
discipline source is available. This can be overridden with the
|
|
|
|
<tt>prefer</tt> keyword of the <tt>server</tt> configuration
|
|
|
|
command, in which case only this driver will be selected for
|
|
|
|
synchronization and all other discipline sources will be ignored.
|
|
|
|
This behavior is intended for use when an external discipline
|
|
|
|
source controls the system clock. See the <a href="prefer.htm">
|
|
|
|
Mitigation Rules and the <tt>prefer</tt> Keyword</a> page for a
|
|
|
|
detailed description of the exact behavior.</p>
|
|
|
|
|
|
|
|
<p>The stratum for this driver is set at 3 by default, but can be
|
|
|
|
changed by the <tt>fudge</tt> configuration command and/or the <tt>
|
|
|
|
ntpdc</tt> utility. The reference ID is <tt>LCL</tt> by default,
|
|
|
|
but can be changed using the same mechanisms. <b>*NEVER*</b>
|
|
|
|
configure this driver to operate at a stratum which might possibly
|
|
|
|
disrupt a client with access to a bona fide primary server, unless
|
|
|
|
the local clock oscillator is reliably disciplined by another
|
|
|
|
source. <b>*NEVER NEVER*</b> configure a server which might devolve
|
|
|
|
to an undisciplined local clock to use multicast mode.</p>
|
|
|
|
|
|
|
|
<p>This driver provides a mechanism to trim the local clock in both
|
|
|
|
time and frequency, as well as a way to manipulate the leap bits.
|
|
|
|
The <tt>fudge time1</tt> parameter adjusts the time (in seconds)
|
|
|
|
and the <tt>fudge time2</tt> parameter adjusts the frequency (in
|
|
|
|
parts per million). Both parameters are additive and operate only
|
|
|
|
once; that is, each command (as from <tt>ntpdc</tt>) adds signed
|
|
|
|
increments in time or frequency to the nominal local clock time and
|
|
|
|
frequency.</p>
|
|
|
|
|
|
|
|
<h4>Monitor Data</h4>
|
|
|
|
|
|
|
|
No <tt>filegen clockstats</tt> monitor data are produced by this
|
|
|
|
driver.
|
|
|
|
|
|
|
|
<h4>Fudge Factors</h4>
|
|
|
|
|
|
|
|
<dl>
|
|
|
|
<dt><tt>time1 <i>time</i></tt></dt>
|
|
|
|
|
|
|
|
<dd>Specifies the time offset calibration factor, in seconds and
|
|
|
|
fraction, with default 0.0.</dd>
|
|
|
|
|
|
|
|
<dt><tt>time2 <i>time</i></tt></dt>
|
|
|
|
|
|
|
|
<dd>Specifies the frequency offset calibration factor, in parts per
|
|
|
|
million, with default 0.0.</dd>
|
|
|
|
|
|
|
|
<dt><tt>stratum <i>number</i></tt></dt>
|
|
|
|
|
|
|
|
<dd>Specifies the driver stratum, in decimal from 0 to 15, with
|
|
|
|
default 3.</dd>
|
|
|
|
|
|
|
|
<dt><tt>refid <i>string</i></tt></dt>
|
|
|
|
|
|
|
|
<dd>Specifies the driver reference identifier, an ASCII string from
|
|
|
|
one to four characters, with default <tt>LCL</tt>.</dd>
|
|
|
|
|
|
|
|
<dt><tt>flag1 0 | 1</tt></dt>
|
|
|
|
|
|
|
|
<dd>Not used by this driver.</dd>
|
|
|
|
|
|
|
|
<dt><tt>flag2 0 | 1</tt></dt>
|
|
|
|
|
|
|
|
<dd>Not used by this driver.</dd>
|
|
|
|
|
|
|
|
<dt><tt>flag3 0 | 1</tt></dt>
|
|
|
|
|
|
|
|
<dd>Not used by this driver.</dd>
|
|
|
|
|
|
|
|
<dt><tt>flag4 0 | 1</tt></dt>
|
|
|
|
|
|
|
|
<dd>Not used by this driver.</dd>
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
<p>Additional Information</p>
|
|
|
|
|
|
|
|
<p><a href="refclock.htm">Reference Clock Drivers</a></p>
|
|
|
|
|
|
|
|
<hr>
|
|
|
|
<a href="index.htm"><img align="left" src="pic/home.gif" alt=
|
|
|
|
"gif"></a>
|
|
|
|
|
|
|
|
<address><a href="mailto:mills@udel.edu">David L. Mills
|
|
|
|
<mills@udel.edu></a></address>
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
|