mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-11-29 08:52:46 +00:00
262 lines
11 KiB
HTML
262 lines
11 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
|
<html>
|
|
<head>
|
|
<meta name="generator" content="HTML Tidy, see www.w3.org">
|
|
<title>The Network Time Protocol (NTP) Distribution</title>
|
|
</head>
|
|
<body>
|
|
<h3>The Network Time Protocol (NTP) Distribution</h3>
|
|
|
|
<img align="left" src="pic/barnstable.gif" alt="gif"><a href=
|
|
"http://www.eecis.udel.edu/~mills/pictures.htm"><i>P.T. Bridgeport
|
|
Bear</i>; from <i>Pogo</i>, Walt Kelly</a>
|
|
|
|
<p>Pleased to meet you.<br clear="left">
|
|
</p>
|
|
|
|
<hr>
|
|
<h4>Introduction</h4>
|
|
|
|
Note: The software contained in this distribution is available
|
|
without charge under the conditions set forth in the <a href=
|
|
"copyright.htm">Copyright Notice</a>.
|
|
|
|
<p>The Network Time Protocol (NTP) is used to synchronize the time
|
|
of a computer client or server to another server or reference time
|
|
source, such as a radio or satellite receiver or modem. It provides
|
|
accuracies typically within a millisecond on LANs and up to a few
|
|
tens of milliseconds on WANs relative to Coordinated Universal Time
|
|
(UTC) via a Global Positioning Service (GPS) receiver, for example.
|
|
Typical NTP configurations utilize multiple redundant servers and
|
|
diverse network paths in order to achieve high accuracy and
|
|
reliability. Some configurations include cryptographic
|
|
authentication to prevent accidental or malicious protocol attacks
|
|
and some provide automatic server discovery using IP multicast.</p>
|
|
|
|
<p>Background information on computer network time synchronization
|
|
can be found on the <a href="exec.htm">Executive Summary - Computer
|
|
Network Time Synchronization</a> page. Discussion on protocol
|
|
conformance issues and interoperability with previous NTP versions
|
|
can be found in the <a href="biblio.htm">Protocol Conformance
|
|
Statement</a> page. Discussion on how NTP reckons the time can be
|
|
found in the <a href="leap.htm">NTP Timescale and Leap Seconds</a>
|
|
page. Background information, bibliography and briefing slides
|
|
suitable for presentations can be found in the <a href=
|
|
"http://www.eecis.udel.edu/~mills/ntp.htm">Network Time
|
|
Synchronization Project</a> page. Additional information can be
|
|
found at the NTP web site <a href="http://www.ntp.org">
|
|
www.ntp.org</a>. Please send bug reports to <a href=
|
|
"mailto:bugs@mail.ntp.org"><bugs@mail.ntp.org></a>.</p>
|
|
|
|
<h4>Building and Installing NTP</h4>
|
|
|
|
NTP supports Unix and Windows (NT4 and 2000) systems. The <a href=
|
|
"build.htm">Building and Installing the Distribution</a> page
|
|
presents an overview of the procedures for compiling the
|
|
distribution and installing it on a typical client or server. The
|
|
build procedures inspect the system hardware and software
|
|
environment and automatically select the appropriate options for
|
|
that environment. While these procedures work with most computers
|
|
and operating systems marketed today, exceptions requiring manual
|
|
intervention do exist, as documented in the <a href="config.htm">
|
|
Configuration Options</a> and <a href="release.htm">Release
|
|
Notes</a> pages. Note that support for strong cryptography requires
|
|
cryptographic libraries not included in this distribution.
|
|
|
|
<p>Bringing up a NTP primary server requires a radio or satellite
|
|
receiver or modem. It is also possible to configure a machine on an
|
|
isolated network with the local clock driver and have other
|
|
machines synchronize to it. The distribution includes hardware
|
|
drivers for the local clock and over three dozen radio clocks and
|
|
modem services. A list of supported drivers is given in the <a
|
|
href="refclock.htm">Reference Clock Drivers</a> page. For most
|
|
popular workstations marketed by Digital/Compaq, Sun and Hewlett
|
|
Packard, as well as widely available Unix clones such as FreeBSD
|
|
and Linux, the automatic build procedures select all drivers that
|
|
run on the target machine. While this increases the size of the
|
|
executable binary somewhat, individual drivers can be included or
|
|
excluded using the configure utility documented in the
|
|
Configuration Options page.</p>
|
|
|
|
<h4>Configuring Clients and Servers</h4>
|
|
|
|
<p>NTP is by its very nature a complex distributed network
|
|
application and can be configured and used for a great many widely
|
|
divergent timekeeping scenarios. The documentation presented on
|
|
these pages attempts to cover the entire suite of configuration,
|
|
operation and maintenance facilities which this distribution
|
|
supports. However, most applications will need only a few of these
|
|
facilities. If this is the case, the <a href="quick.htm">Quick
|
|
Start</a> page may be useful to get a simple workstation on the air
|
|
with an existing server.</p>
|
|
|
|
<p>However, in order to participate in the existing NTP
|
|
synchronization subnet and obtain accurate, reliable time, it is
|
|
usually necessary to construct an appropriate configuration file,
|
|
commonly called <tt>ntp.conf</tt>, which establishes the servers
|
|
and/or external receivers or modems to be used by this particular
|
|
machine. Directions for constructing this file are in the <a href=
|
|
"notes.htm">Notes on Configuring NTP and Setting up a NTP
|
|
Subnet</a> page. However, in many common cases involving simple
|
|
network topologies and workstations, the configuration data can be
|
|
specified entirely on the command line for the <a href="ntpd.htm">
|
|
<tt>ntpd</tt> - Network Time Protocol (NTP) daemon</a>.</p>
|
|
|
|
<p>The most important factor in providing accurate, reliable time
|
|
is the selection of modes and servers to be used in the
|
|
configuration file. A discussion on the available modes is on the
|
|
<a href="assoc.htm">Association Management</a> page. NTP support
|
|
for one or more computers is normally engineered as part of the
|
|
existing NTP synchronization subnet. The existing NTP subnet
|
|
consists of a multiply redundant hierarchy of servers and clients,
|
|
with each level in the hierarchy identified by stratum number.
|
|
Primary servers operate at stratum one and provide synchronization
|
|
to secondary servers operating at stratum two and so on to higher
|
|
strata. In this hierarchy, clients are simply servers that have no
|
|
dependents.</p>
|
|
|
|
<p>The NTP subnet in late 2000 includes over a hundred public
|
|
primary (stratum 1) servers synchronized directly to UTC by radio,
|
|
satellite or modem and located in every continent of the globe,
|
|
including Antarctica. Normally, client workstations and servers
|
|
with a relatively small number of clients do not synchronize to
|
|
primary servers. There are over a hundred public secondary (stratum
|
|
2) servers synchronized to the primary servers and providing
|
|
synchronization to a total in excess of 100,000 clients and servers
|
|
in the Internet. The current lists are maintained in the <a href=
|
|
"http://www.eecis.udel.edu/~mills/ntp/index.htm">Information on
|
|
Time and Frequency Services</a> page, which is updated frequently.
|
|
There are numerous private primary and secondary servers not
|
|
normally available to the public as well. You are strongly
|
|
discouraged from using these servers, since they sometimes hide in
|
|
little ghettos behind dinky links to the outside world and your
|
|
traffic can bring up expensive ISDN lines, causing much grief and
|
|
frustration.</p>
|
|
|
|
<h4>Resolving Problems</h4>
|
|
|
|
Like other things Internet, the NTP synchronization subnets tend to
|
|
be large and devilishly intricate, with many opportunities for
|
|
misconfiguration and network problems. The NTP engineering model is
|
|
specifically designed to help isolate and repair such problems
|
|
using an integrated management protocol, together with a suite of
|
|
monitoring and debugging tools. There is an optional data recording
|
|
facility which can be used to record normal and aberrant operation,
|
|
log problems to the system log facility, and retain records of
|
|
client access. The <a href="debug.htm">NTP Debugging Techniques</a>
|
|
and <a href="hints.htm">Hints and Kinks</a> pages contain useful
|
|
information for identifying problems and devising solutions.
|
|
|
|
<p>Users are requested to report bugs, offer suggestions and
|
|
contribute additions to this distribution. The <a href=
|
|
"patches.htm">Patching Procedures</a> page suggests procedures
|
|
which greatly simplify distribution updates, while the <a href=
|
|
"porting.htm">Porting Hints</a> page suggest ways to make porting
|
|
this code to new hardware and operating systems easier. Additional
|
|
information on reference clock driver construction and debugging
|
|
can be found in the <a href="refclock.htm">Reference Clock
|
|
Drivers</a> page. Further information on NTP in the Internet can be
|
|
found in the <a href="http://www.eecis.udel.edu/~ntp">NTP web
|
|
page</a>.</p>
|
|
|
|
<h4>Program Manual Pages</h4>
|
|
|
|
<ul>
|
|
<li><a href="ntpd.htm"><tt>ntpd</tt> - Network Time Protocol (NTP)
|
|
daemon</a></li>
|
|
|
|
<li><a href="ntpq.htm"><tt>ntpq</tt> - standard NTP query
|
|
program</a></li>
|
|
|
|
<li><a href="ntpdc.htm"><tt>ntpdc</tt> - special NTP query
|
|
program</a></li>
|
|
|
|
<li><a href="ntpdate.htm"><tt>ntpdate</tt> - set the date and time
|
|
via NTP</a></li>
|
|
|
|
<li><a href="ntptrace.htm"><tt>ntptrace</tt> - trace a chain of NTP
|
|
servers back to the primary source</a></li>
|
|
|
|
<li><a href="tickadj.htm"><tt>tickadj</tt> - set time-related
|
|
kernel variables</a></li>
|
|
|
|
<li><a href="ntptime.htm"><tt>ntptime</tt> - read kernel time
|
|
variables</a></li>
|
|
|
|
<li><a href="genkeys.htm"><tt>ntp-genkeys</tt> - generate public
|
|
and private keys</a></li>
|
|
</ul>
|
|
|
|
<h4>Supporting Documentation</h4>
|
|
|
|
<ul>
|
|
<li><a href="http://www.eecis.udel.edu/~mills/ntp.htm">NTP Project
|
|
and Reference Library</a></li>
|
|
|
|
<li><a href="copyright.htm">Copyright Notice</a></li>
|
|
|
|
<li><a href="exec.htm">Executive Summary - Computer Network Time
|
|
Synchronization</a></li>
|
|
|
|
<li><a href="biblio.htm">Protocol Conformance Statement</a></li>
|
|
|
|
<li><a href="leap.htm">NTP Timescale and Leap Seconds</a></li>
|
|
|
|
<li><a href="notes.htm">Notes on Configuring NTP and Setting up a
|
|
NTP Subnet</a></li>
|
|
|
|
<li><a href="release.htm">NTP Version 4 Release Notes</a></li>
|
|
|
|
<li><a href="build.htm">Building and Installing the
|
|
Distribution</a></li>
|
|
|
|
<li><a href="config.htm">Configuration Options</a></li>
|
|
|
|
<li><a href="debug.htm">NTP Debugging Techniques</a></li>
|
|
|
|
<li><a href="refclock.htm">Reference Clock Drivers</a></li>
|
|
|
|
<li><a href="patches.htm">Patching Procedures</a></li>
|
|
|
|
<li><a href="hints.htm">Hints and Kinks</a></li>
|
|
|
|
<li><a href="porting.htm">Porting Hints</a></li>
|
|
</ul>
|
|
|
|
<h4>Application Notes</h4>
|
|
|
|
<ul>
|
|
<li><a href="prefer.htm">Mitigation Rules and the <tt>prefer</tt>
|
|
Keyword</a></li>
|
|
|
|
<li><a href="assoc.htm">Association Management</a></li>
|
|
|
|
<li><a href="pps.htm">Pulse-per-second (PPS) Signal
|
|
Interfacing</a></li>
|
|
|
|
<li><a href="gadget.htm">Gadget Box PPS Level Converter and CHU
|
|
Modem</a></li>
|
|
|
|
<li><a href="measure.htm">Time and Time Interval Measurement with
|
|
Application to Computer and Network Performance Evaluation</a></li>
|
|
|
|
<li><a href="kern.htm">Kernel Model for Precision
|
|
Timekeeping</a></li>
|
|
|
|
<li><a href="kernpps.htm">Kernel Programming Interface for
|
|
Precision Time Signals</a></li>
|
|
</ul>
|
|
|
|
<hr>
|
|
<center><img src="pic/pogo1a.gif" alt="gif"></center>
|
|
|
|
<br>
|
|
<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>
|
|
|