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