1258945SrobertoNotes for NTP Version 3
2258945Sroberto
3258945SrobertoThis version operates in much the same manner as Version 2 with the
4258945Srobertofollowing changes and additions:
5258945Sroberto
6258945Sroberto1.   The protocol machinery operates in conformance with the RFC1305 NTP
7258945Sroberto     Version 3 specification. The most visible characteristic of this
8258945Sroberto     version is that the poll intervals for all polls, even selected
9258945Sroberto     ones, is significantly increased. This is especially desirable when
10258945Sroberto     serving a large client population. This implementation supports
11258945Sroberto     previous versions as non-configured peers; for version-2 configured
12258945Sroberto     peers a "version 2" keyword should be included on the "peer" line.
13258945Sroberto
14258945Sroberto2.   The configuration file has a new keyword: statfile <file>, where
15258945Sroberto     <file> is the name of a statistics file." When present, each clock
16258945Sroberto     update generates an entry of the form:
17258945Sroberto
18258945Sroberto     <day> <sec>.<frac> <addr> <status> <offset> <delay> <disp>
19258945Sroberto
20258945Sroberto     where <day> is the modified Julian day, <sec>.<frac> is the time of
21258945Sroberto     day, <addr> is the peer address and <status> is the peer status.
22258945Sroberto     The <offset>, <delay> and <disp> are the measured offset, delay and
23258945Sroberto     dispersion, respectively, of the peer clock relative to the local
24258945Sroberto     clock. About once per day the current file is closed and a new one
25258945Sroberto     created with names <file>.<gen>, where <gen> starts at one and
26258945Sroberto     increments for each new generation.
27258945Sroberto
28258945Sroberto3.   A number of additional platforms are supported. See ./Config file
29258945Sroberto     for details.
30258945Sroberto
31258945Sroberto4.   A driver for the TrueTime 468DC GOES Synchronized Clock is
32258945Sroberto     included. This driver (refclock_goes.c) should also work for other
33258945Sroberto     TrueTime radio clocks, since all use the same format.
34258945Sroberto
35258945Sroberto5.   A replacement driver for the Spectracom 8170 WWVB Synchronized
36258945Sroberto     Clock is included. This driver (refclock_wwvb.c) (a) does not
37258945Sroberto     require a 1-pulse-per-second signal, (b) supports both format 0
38258945Sroberto     (original 8170) and format 2 (Netclock/2 and upgraded 8170), (c)
39258945Sroberto     can be connected to more than one computer and (d) automatically
40258945Sroberto     compensates for all serial baud rates.
41258945Sroberto
42258945Sroberto6.   A driver for the German time/frequency station DCF77 is included.
43258945Sroberto     This requires a special STREAMS module.
44258945Sroberto
45258945Sroberto7.   In Version 2 special line-discipline modules were required for the
46258945Sroberto     CHU and WWVB drivers. This code continues to work in Version 3,
47258945Sroberto     although it is no longer needed for the WWVB driver. However, this
48258945Sroberto     code does not work under STREAMS, as used in SunOS 4.1.1.
49258945Sroberto     Equivalent STREAMS modules are supplied with Version 3.
50258945Sroberto
51258945Sroberto8.   Support for an external 1-pulse-per-second (pps) signal is
52258945Sroberto     provided. The signal is connected to a serial port (see
53258945Sroberto     xntpd/ntp_loopfilter.c for details). When present the leading edge
54258945Sroberto     of the pulse establishes the on-time epoch within an interval
55258945Sroberto     established by the selected radio clock or other NTP time server.
56258945Sroberto     Use of the pps is indicated when the tattletale displayed by ntpq
57258945Sroberto     changes from "*" to "o".
58258945Sroberto
59258945Sroberto9.   The clock-selection and poll-update procedures have been modified
60258945Sroberto     slightly in order to achieve better performance on high speed LANs
61258945Sroberto     with compromise in performance on typical WANs.
62258945Sroberto
63258945Sroberto10.  In order to comply with U.S. Commerce Department regulations, the DES
64258945Sroberto     encryption routine lib/authdes.c cannot be exported. For exportable
65258945Sroberto     versions of this distribution a DES-encrypted version of this routine
66258945Sroberto     lib/authdes.c.des is included along with an unencrypted version
67258945Sroberto     lib/authdes.c.export, which allows normal operation, but without the
68258945Sroberto     NTP authentication feature. Further information is available in the
69258945Sroberto     lib/authdes.c.export file.
70258945Sroberto
71258945Sroberto11.  As an alternative to the DES-based authentication mechanism, an
72258945Sroberto     implementation of the RSA Message Digest 5 algorithm is provided.
73258945Sroberto     (see applicable copyright information in the library files).
74258945Sroberto
75258945Sroberto12.  A driver for the Magnavox MX4200 GPS clock.
76258945Sroberto
77258945Sroberto13.  A STREAMS module which captures carrier-detect data-lead transitions to
78258945Sroberto     connect a precision source of 1-pps, yet avoid the ugly overhead in the
79258945Sroberto     usual STREAMS processing. See the ppsclock subdirectory.
80258945Sroberto
81258945Sroberto14.  Support for the Apple A/UX operating system and enhanced support for the
82258945Sroberto     Hewlet-Packard HP/UX operating system. See the various README and Config
83258945Sroberto     files for further information. 
84258945Sroberto
85258945SrobertoSee the COPYRIGHT file for authors and copyright information. Note that some
86258945Srobertomodules in this distribution contain copyright information that supersedes
87258945Srobertothe copyright information in that file.
88258945Sroberto
89258945SrobertoIf I missed something or neglected to give due credit, please advise.
90258945Sroberto
91258945SrobertoDavid L. Mills
92258945SrobertoUniversity of Delaware
93258945Sroberto31 May 1992, amended 23 July 1992, 25 October 1992
94258945Sroberto
95258945SrobertoBugs and notes
96258945Sroberto
97258945SrobertoA bug in the original tty_clk_STREAMS.c module has been fixed.
98258945Sroberto
99258945SrobertoThe poll-interval randomization feature of poll_update (in
100258945Srobertoxntpd/ntp_proto.c) has been extended to apply when the poll interval is
101258945Srobertoincreased, as well as reduced. This spreads the update messages in time
102258945Srobertoand helps avoid unpleasant bursts of messages.
103258945Sroberto
104258945SrobertoIn the clock_select algorithm the peers selected for combining are
105258945Srobertolimited to those survivors at the lowest stratum, not the entire list.
106258945SrobertoThis helps avoid whiplash when large numbers of peers are at the same
107258945Srobertostratum.
108258945Sroberto
109258945SrobertoThe number formerly displayed by ntpq as "compliance" is now the time
110258945Srobertoconstant of integration.
111258945Sroberto
112258945SrobertoThe DNS resolver xntpd/ntp_intres.c is now integrated into xntpd, making
113258945Srobertoconfiguration of multiple hosts easier.
114258945Sroberto
115258945SrobertoSystem and peer event are now written to the system log at priority
116258945SrobertoLOG_INFO.
117258945Sroberto
118258945SrobertoThe leap-second code was fixed to avoid broadcasting leap warnings on
119258945Srobertoall except the last day of June and December.
120