1181834SrobertoNotes for NTP Version 3
2181834Sroberto
3181834SrobertoThis version operates in much the same manner as Version 2 with the
4181834Srobertofollowing changes and additions:
5181834Sroberto
6181834Sroberto1.   The protocol machinery operates in conformance with the RFC1305 NTP
7181834Sroberto     Version 3 specification. The most visible characteristic of this
8181834Sroberto     version is that the poll intervals for all polls, even selected
9181834Sroberto     ones, is significantly increased. This is especially desirable when
10181834Sroberto     serving a large client population. This implementation supports
11181834Sroberto     previous versions as non-configured peers; for version-2 configured
12181834Sroberto     peers a "version 2" keyword should be included on the "peer" line.
13181834Sroberto
14181834Sroberto2.   The configuration file has a new keyword: statfile <file>, where
15181834Sroberto     <file> is the name of a statistics file." When present, each clock
16181834Sroberto     update generates an entry of the form:
17181834Sroberto
18181834Sroberto     <day> <sec>.<frac> <addr> <status> <offset> <delay> <disp>
19181834Sroberto
20181834Sroberto     where <day> is the modified Julian day, <sec>.<frac> is the time of
21181834Sroberto     day, <addr> is the peer address and <status> is the peer status.
22181834Sroberto     The <offset>, <delay> and <disp> are the measured offset, delay and
23181834Sroberto     dispersion, respectively, of the peer clock relative to the local
24181834Sroberto     clock. About once per day the current file is closed and a new one
25181834Sroberto     created with names <file>.<gen>, where <gen> starts at one and
26181834Sroberto     increments for each new generation.
27181834Sroberto
28181834Sroberto3.   A number of additional platforms are supported. See ./Config file
29181834Sroberto     for details.
30181834Sroberto
31181834Sroberto4.   A driver for the TrueTime 468DC GOES Synchronized Clock is
32181834Sroberto     included. This driver (refclock_goes.c) should also work for other
33181834Sroberto     TrueTime radio clocks, since all use the same format.
34181834Sroberto
35181834Sroberto5.   A replacement driver for the Spectracom 8170 WWVB Synchronized
36181834Sroberto     Clock is included. This driver (refclock_wwvb.c) (a) does not
37181834Sroberto     require a 1-pulse-per-second signal, (b) supports both format 0
38181834Sroberto     (original 8170) and format 2 (Netclock/2 and upgraded 8170), (c)
39181834Sroberto     can be connected to more than one computer and (d) automatically
40181834Sroberto     compensates for all serial baud rates.
41181834Sroberto
42181834Sroberto6.   A driver for the German time/frequency station DCF77 is included.
43181834Sroberto     This requires a special STREAMS module.
44181834Sroberto
45181834Sroberto7.   In Version 2 special line-discipline modules were required for the
46181834Sroberto     CHU and WWVB drivers. This code continues to work in Version 3,
47181834Sroberto     although it is no longer needed for the WWVB driver. However, this
48181834Sroberto     code does not work under STREAMS, as used in SunOS 4.1.1.
49181834Sroberto     Equivalent STREAMS modules are supplied with Version 3.
50181834Sroberto
51181834Sroberto8.   Support for an external 1-pulse-per-second (pps) signal is
52181834Sroberto     provided. The signal is connected to a serial port (see
53181834Sroberto     xntpd/ntp_loopfilter.c for details). When present the leading edge
54181834Sroberto     of the pulse establishes the on-time epoch within an interval
55181834Sroberto     established by the selected radio clock or other NTP time server.
56181834Sroberto     Use of the pps is indicated when the tattletale displayed by ntpq
57181834Sroberto     changes from "*" to "o".
58181834Sroberto
59181834Sroberto9.   The clock-selection and poll-update procedures have been modified
60181834Sroberto     slightly in order to achieve better performance on high speed LANs
61181834Sroberto     with compromise in performance on typical WANs.
62181834Sroberto
63181834Sroberto10.  In order to comply with U.S. Commerce Department regulations, the DES
64181834Sroberto     encryption routine lib/authdes.c cannot be exported. For exportable
65181834Sroberto     versions of this distribution a DES-encrypted version of this routine
66181834Sroberto     lib/authdes.c.des is included along with an unencrypted version
67181834Sroberto     lib/authdes.c.export, which allows normal operation, but without the
68181834Sroberto     NTP authentication feature. Further information is available in the
69181834Sroberto     lib/authdes.c.export file.
70181834Sroberto
71181834Sroberto11.  As an alternative to the DES-based authentication mechanism, an
72181834Sroberto     implementation of the RSA Message Digest 5 algorithm is provided.
73181834Sroberto     (see applicable copyright information in the library files).
74181834Sroberto
75181834Sroberto12.  A driver for the Magnavox MX4200 GPS clock.
76181834Sroberto
77181834Sroberto13.  A STREAMS module which captures carrier-detect data-lead transitions to
78181834Sroberto     connect a precision source of 1-pps, yet avoid the ugly overhead in the
79181834Sroberto     usual STREAMS processing. See the ppsclock subdirectory.
80181834Sroberto
81181834Sroberto14.  Support for the Apple A/UX operating system and enhanced support for the
82181834Sroberto     Hewlet-Packard HP/UX operating system. See the various README and Config
83181834Sroberto     files for further information. 
84181834Sroberto
85181834SrobertoSee the COPYRIGHT file for authors and copyright information. Note that some
86181834Srobertomodules in this distribution contain copyright information that supersedes
87181834Srobertothe copyright information in that file.
88181834Sroberto
89181834SrobertoIf I missed something or neglected to give due credit, please advise.
90181834Sroberto
91181834SrobertoDavid L. Mills
92181834SrobertoUniversity of Delaware
93181834Sroberto31 May 1992, amended 23 July 1992, 25 October 1992
94181834Sroberto
95181834SrobertoBugs and notes
96181834Sroberto
97181834SrobertoA bug in the original tty_clk_STREAMS.c module has been fixed.
98181834Sroberto
99181834SrobertoThe poll-interval randomization feature of poll_update (in
100181834Srobertoxntpd/ntp_proto.c) has been extended to apply when the poll interval is
101181834Srobertoincreased, as well as reduced. This spreads the update messages in time
102181834Srobertoand helps avoid unpleasant bursts of messages.
103181834Sroberto
104181834SrobertoIn the clock_select algorithm the peers selected for combining are
105181834Srobertolimited to those survivors at the lowest stratum, not the entire list.
106181834SrobertoThis helps avoid whiplash when large numbers of peers are at the same
107181834Srobertostratum.
108181834Sroberto
109181834SrobertoThe number formerly displayed by ntpq as "compliance" is now the time
110181834Srobertoconstant of integration.
111181834Sroberto
112181834SrobertoThe DNS resolver xntpd/ntp_intres.c is now integrated into xntpd, making
113181834Srobertoconfiguration of multiple hosts easier.
114181834Sroberto
115181834SrobertoSystem and peer event are now written to the system log at priority
116181834SrobertoLOG_INFO.
117181834Sroberto
118181834SrobertoThe leap-second code was fixed to avoid broadcasting leap warnings on
119181834Srobertoall except the last day of June and December.
120