xref: /freebsd/contrib/ntp/html/hints/notes-xntp-v3 (revision 416ba5c74546f32a993436a99516d35008e9f384)
1*2b15cb3dSCy SchubertNotes for NTP Version 3
2*2b15cb3dSCy Schubert
3*2b15cb3dSCy SchubertThis version operates in much the same manner as Version 2 with the
4*2b15cb3dSCy Schubertfollowing changes and additions:
5*2b15cb3dSCy Schubert
6*2b15cb3dSCy Schubert1.   The protocol machinery operates in conformance with the RFC1305 NTP
7*2b15cb3dSCy Schubert     Version 3 specification. The most visible characteristic of this
8*2b15cb3dSCy Schubert     version is that the poll intervals for all polls, even selected
9*2b15cb3dSCy Schubert     ones, is significantly increased. This is especially desirable when
10*2b15cb3dSCy Schubert     serving a large client population. This implementation supports
11*2b15cb3dSCy Schubert     previous versions as non-configured peers; for version-2 configured
12*2b15cb3dSCy Schubert     peers a "version 2" keyword should be included on the "peer" line.
13*2b15cb3dSCy Schubert
14*2b15cb3dSCy Schubert2.   The configuration file has a new keyword: statfile <file>, where
15*2b15cb3dSCy Schubert     <file> is the name of a statistics file." When present, each clock
16*2b15cb3dSCy Schubert     update generates an entry of the form:
17*2b15cb3dSCy Schubert
18*2b15cb3dSCy Schubert     <day> <sec>.<frac> <addr> <status> <offset> <delay> <disp>
19*2b15cb3dSCy Schubert
20*2b15cb3dSCy Schubert     where <day> is the modified Julian day, <sec>.<frac> is the time of
21*2b15cb3dSCy Schubert     day, <addr> is the peer address and <status> is the peer status.
22*2b15cb3dSCy Schubert     The <offset>, <delay> and <disp> are the measured offset, delay and
23*2b15cb3dSCy Schubert     dispersion, respectively, of the peer clock relative to the local
24*2b15cb3dSCy Schubert     clock. About once per day the current file is closed and a new one
25*2b15cb3dSCy Schubert     created with names <file>.<gen>, where <gen> starts at one and
26*2b15cb3dSCy Schubert     increments for each new generation.
27*2b15cb3dSCy Schubert
28*2b15cb3dSCy Schubert3.   A number of additional platforms are supported. See ./Config file
29*2b15cb3dSCy Schubert     for details.
30*2b15cb3dSCy Schubert
31*2b15cb3dSCy Schubert4.   A driver for the TrueTime 468DC GOES Synchronized Clock is
32*2b15cb3dSCy Schubert     included. This driver (refclock_goes.c) should also work for other
33*2b15cb3dSCy Schubert     TrueTime radio clocks, since all use the same format.
34*2b15cb3dSCy Schubert
35*2b15cb3dSCy Schubert5.   A replacement driver for the Spectracom 8170 WWVB Synchronized
36*2b15cb3dSCy Schubert     Clock is included. This driver (refclock_wwvb.c) (a) does not
37*2b15cb3dSCy Schubert     require a 1-pulse-per-second signal, (b) supports both format 0
38*2b15cb3dSCy Schubert     (original 8170) and format 2 (Netclock/2 and upgraded 8170), (c)
39*2b15cb3dSCy Schubert     can be connected to more than one computer and (d) automatically
40*2b15cb3dSCy Schubert     compensates for all serial baud rates.
41*2b15cb3dSCy Schubert
42*2b15cb3dSCy Schubert6.   A driver for the German time/frequency station DCF77 is included.
43*2b15cb3dSCy Schubert     This requires a special STREAMS module.
44*2b15cb3dSCy Schubert
45*2b15cb3dSCy Schubert7.   In Version 2 special line-discipline modules were required for the
46*2b15cb3dSCy Schubert     CHU and WWVB drivers. This code continues to work in Version 3,
47*2b15cb3dSCy Schubert     although it is no longer needed for the WWVB driver. However, this
48*2b15cb3dSCy Schubert     code does not work under STREAMS, as used in SunOS 4.1.1.
49*2b15cb3dSCy Schubert     Equivalent STREAMS modules are supplied with Version 3.
50*2b15cb3dSCy Schubert
51*2b15cb3dSCy Schubert8.   Support for an external 1-pulse-per-second (pps) signal is
52*2b15cb3dSCy Schubert     provided. The signal is connected to a serial port (see
53*2b15cb3dSCy Schubert     xntpd/ntp_loopfilter.c for details). When present the leading edge
54*2b15cb3dSCy Schubert     of the pulse establishes the on-time epoch within an interval
55*2b15cb3dSCy Schubert     established by the selected radio clock or other NTP time server.
56*2b15cb3dSCy Schubert     Use of the pps is indicated when the tattletale displayed by ntpq
57*2b15cb3dSCy Schubert     changes from "*" to "o".
58*2b15cb3dSCy Schubert
59*2b15cb3dSCy Schubert9.   The clock-selection and poll-update procedures have been modified
60*2b15cb3dSCy Schubert     slightly in order to achieve better performance on high speed LANs
61*2b15cb3dSCy Schubert     with compromise in performance on typical WANs.
62*2b15cb3dSCy Schubert
63*2b15cb3dSCy Schubert10.  In order to comply with U.S. Commerce Department regulations, the DES
64*2b15cb3dSCy Schubert     encryption routine lib/authdes.c cannot be exported. For exportable
65*2b15cb3dSCy Schubert     versions of this distribution a DES-encrypted version of this routine
66*2b15cb3dSCy Schubert     lib/authdes.c.des is included along with an unencrypted version
67*2b15cb3dSCy Schubert     lib/authdes.c.export, which allows normal operation, but without the
68*2b15cb3dSCy Schubert     NTP authentication feature. Further information is available in the
69*2b15cb3dSCy Schubert     lib/authdes.c.export file.
70*2b15cb3dSCy Schubert
71*2b15cb3dSCy Schubert11.  As an alternative to the DES-based authentication mechanism, an
72*2b15cb3dSCy Schubert     implementation of the RSA Message Digest 5 algorithm is provided.
73*2b15cb3dSCy Schubert     (see applicable copyright information in the library files).
74*2b15cb3dSCy Schubert
75*2b15cb3dSCy Schubert12.  A driver for the Magnavox MX4200 GPS clock.
76*2b15cb3dSCy Schubert
77*2b15cb3dSCy Schubert13.  A STREAMS module which captures carrier-detect data-lead transitions to
78*2b15cb3dSCy Schubert     connect a precision source of 1-pps, yet avoid the ugly overhead in the
79*2b15cb3dSCy Schubert     usual STREAMS processing. See the ppsclock subdirectory.
80*2b15cb3dSCy Schubert
81*2b15cb3dSCy Schubert14.  Support for the Apple A/UX operating system and enhanced support for the
82*2b15cb3dSCy Schubert     Hewlet-Packard HP/UX operating system. See the various README and Config
83*2b15cb3dSCy Schubert     files for further information.
84*2b15cb3dSCy Schubert
85*2b15cb3dSCy SchubertSee the COPYRIGHT file for authors and copyright information. Note that some
86*2b15cb3dSCy Schubertmodules in this distribution contain copyright information that supersedes
87*2b15cb3dSCy Schubertthe copyright information in that file.
88*2b15cb3dSCy Schubert
89*2b15cb3dSCy SchubertIf I missed something or neglected to give due credit, please advise.
90*2b15cb3dSCy Schubert
91*2b15cb3dSCy SchubertDavid L. Mills
92*2b15cb3dSCy SchubertUniversity of Delaware
93*2b15cb3dSCy Schubert31 May 1992, amended 23 July 1992, 25 October 1992
94*2b15cb3dSCy Schubert
95*2b15cb3dSCy SchubertBugs and notes
96*2b15cb3dSCy Schubert
97*2b15cb3dSCy SchubertA bug in the original tty_clk_STREAMS.c module has been fixed.
98*2b15cb3dSCy Schubert
99*2b15cb3dSCy SchubertThe poll-interval randomization feature of poll_update (in
100*2b15cb3dSCy Schubertxntpd/ntp_proto.c) has been extended to apply when the poll interval is
101*2b15cb3dSCy Schubertincreased, as well as reduced. This spreads the update messages in time
102*2b15cb3dSCy Schubertand helps avoid unpleasant bursts of messages.
103*2b15cb3dSCy Schubert
104*2b15cb3dSCy SchubertIn the clock_select algorithm the peers selected for combining are
105*2b15cb3dSCy Schubertlimited to those survivors at the lowest stratum, not the entire list.
106*2b15cb3dSCy SchubertThis helps avoid whiplash when large numbers of peers are at the same
107*2b15cb3dSCy Schubertstratum.
108*2b15cb3dSCy Schubert
109*2b15cb3dSCy SchubertThe number formerly displayed by ntpq as "compliance" is now the time
110*2b15cb3dSCy Schubertconstant of integration.
111*2b15cb3dSCy Schubert
112*2b15cb3dSCy SchubertThe DNS resolver xntpd/ntp_intres.c is now integrated into xntpd, making
113*2b15cb3dSCy Schubertconfiguration of multiple hosts easier.
114*2b15cb3dSCy Schubert
115*2b15cb3dSCy SchubertSystem and peer event are now written to the system log at priority
116*2b15cb3dSCy SchubertLOG_INFO.
117*2b15cb3dSCy Schubert
118*2b15cb3dSCy SchubertThe leap-second code was fixed to avoid broadcasting leap warnings on
119*2b15cb3dSCy Schubertall except the last day of June and December.
120