📄 readme.3.4
字号:
Danger: don't attempt to run ntpd on a NeXT machine. It provokes a bug in the OS which hangs the machine quite absolutely. There is some support for a statrum 1 clock in some code provided by Doug Kingston (dpk@morgan.com). I'm not really sure that its the ``right'' way to do it; I'd rather have the clock appear just like another peer, and have it selected as a reference, just like you'd select any other clock. In fact, by doing it that way with some other support, you could even have a seperate process take care of reading the clock, and talking to the main process with some UNIX domain sockets... Hmm..12/8/88 *** THIS IS A TEST RELEASE *** Really. We have tested this code on a VAX platform, but not much of anything else. I would like to hear back about any bugs, but you should not treat this as a 'release' version. Very large number of changes and updates. Files have been reorganized with ntpd.c containing intialization and other very UNIX specific code, while the new file ntp_proto.c contains the bulk of the NTP code. This version of the UNIX NTP daemon was re-written and updated to conform with the revised NTP specification. For all of the mucking about with tickadj, you can now define SETTICKADJ in the Makefile, and specify the value of tickadj in /etc/ntp.conf. The ntpd will attempt to update `tickadj' using /dev/kmem. Yow! If possible, ntpd will attempt to discover the value of your kernel's `hz' variable, and set the value of `precison' automagically. If `precision' is specified in /etc/ntp.conf, it will override any automatic selection. Only hosts which are configured or mentioned in /etc/ntp.conf on a `peer', `server' or `passive' statement are elligable to be synchronized to. This solves the "ganging-up" problem, but is sorta ugly. The `peer' statement in /etc/ntp.conf works just as before; it sends packets with MODE=SYMMETRIC-ACTIVE to the remote host. The remote host might synchronize to you if appropriate. If reachability is lost, polling will continue. The new `server' statement in /etc/ntp.conf causes packets of MODE= CLIENT to be sent to the specified host. The remote host will *not* synchronize to you under any circumstances. If reachability is lost, polling will continue. The new `passive' statement in /etc/ntp.conf causes packets of MODE=SYMMETRIC-PASSIVE to be sent to the remote host *when the local host is polled*. If reachability is lost, then polling will cease until the remote host begins to the local host again. Note conditional compilation define in the makefile for VAX_COMPILER_FLT_BUG for old 4.2 and Ultrix 2.0/2.2/3.0 pcc compilers. There is a bug in the code generated to convert an unsigned long to a double. Previously, this code was always present, but it is now #ifdef'd. The 4.3BSD-tahoe and GNU CC (1.30 and 1.31 at least) are known to work correctly. If you don't know if your compiler performs this conversion correctly, try making and running the `ntest' program, and see if test3 passes or not. The format of the data sent between ntpd and the ntpdc programs has changed yet again. It is likely to change again before the final release of this version. 7/30/88 Added and updated manual entries contributed by Glenn Trewitt. (trewitt@miasma.stanford.edu)7/27/88 Reorder peer list so configuted hosts are always first. This REALLY helps the faleticker code. Changed ntpdc to have a larger RECV socket buffer. This fixes the "only see 20 peers" problem. This is a side affect of using UDP for the status return.6/20/88 Support for hosts with multiple interfaces. Minor updates to the ntpdc program; note that the format of the messages between the ntpd and ntpdc programs is different in this version than the last. You should update both ntpd and ntpdc at the same time. New file ``ntp_sock.c''. Tested with Ultrix 2.4 field test, and 4.3 BSD tahoe release. Debug level can be adjusted by sending SIGUSR1 to increase and SIGUSR2 to zero the debug level.5/17/88 Changed peer structure alloactor to stop allocating a perm structure for non-peer relationships. This make the ntpdc output a lot more understandable. Installed faletick code. Installed work around to bug in Ultrix C compiler. The compiler has troubles converting unsigned longs to floats. This caused a lot of off by 2 second problems.3/31/88 The world is ALL different now. The NTP protocols have had some major structural work. This is the first rev that attempts to meet NTP version 1 compliance. There are a couple of loose ends (faltickers code and clock slew rate) that are not finished, but should be RSN. This release is to bridge the compatability with the old clock system. CHANGES: ntpsubs.c had a MAJOR bug in the tstamp routine. Accuracy should be much better now. The ntp.conf file is much simpler. List your precision and peers, the rest is automagic. The ntp/udp service mapping is now consitent. No more hard coded 123s. The math routines are more robust. They now handle signed conversion of longs and shorts. The control structure of ntpd is radically different. A peer relation is NOT setup for clocks at a higher stratum. This reduces table clutter, but you lose the history of those requesters.2/20/88 Removed the median filter and replaced it with a minimum filter. Experimentation by Dave Mills suggests this is a better way to track network clocks. Changed status field based on updated RFC.12/29/87 Only believe samples were the round trip delay is positive. I recommend HIGHLY that you change tickadj in /sys/conf/param.c to equal 1 instead of 40. This reduces the granularity of clock slewing from 4ms/sec to .1ms/sec. This should suffice if your clock is less that 4.3 minutes per month. If this is the case get a new clock, increase the value, or live with periodic clock jumps due to setimeofday(). The basic problem is that adjtime() slews only with "tickadj" granularity. That's argueably broken, but needs kernel mods to fix it.12/17/87 Added some of the changes from Greg Fowler and Ken Stone of HP labs. This adds "hpux" compatability. Ken and Greg also tighten up the "bestclock" determination so you don't end up tracking yourself. (thanks again) The Precision field in now correct, precision is the power of 2 indication of internal clock tics. (ex. 60-HZ = -6) This is a constant for the machine and should be set in the ntp.conf file.12/1/87 Massive cleanup in the daemon code. There was a BIG problem with "bestclock" peer calculation. A clock of a lower type would be tracked if the delay to that clock was lower than the delay to the higher precision clock. The peers listed in the ntp.conf files are marked as PERM. This causes a ntp gram to go to these guys regardless of any recv activity. This eliminates the problem of a peer being down and not talking ot him when he comes back up because the activity indicator went to zero. Using PERM entries creates a fixed overhead, use it with caution. There is the beginning of a second order filter that can be used to adjust the kernel tick rate. More on that when it's done. The data structures have changed for queries. Querying old clocks will cause problems. Note - the NTP protocol has NOT changed, only the query hack. The SET_THRESHOLD has been changed to be more reasonable with the max slew rate of 4.3BSD. This will be relaxed when the second order stuff is working.5/29/87 All of the internal math is now done with doubles. This removesa lot of the hair and cost. On vaxen the double yields 54(5) bits ofaccuracy. The NTP timestamps are 64 bits. Converting to doubleswill cause the loss of some bits on ost machines. This is not badsince most machines don't have clocks that could track even the lower16 bits of the NTP timestamps. NTP makes three choices on changing the local clock. 1) If the local clock apperars to be off by more than WAYTOOBIG (1000.0) seconds, it refuses to do anything but fill up you log. 2) If the local clock is off less than WAYTOOBIG but more than SET_THRESHOLD (2.0) a settimeofday will be done. 3) If the clock is off less than SET_THRESHOLD an adjustime is done. Ntpd clears out the samples after every clock adjustment. This helped to prevent the filter from overshouting based on old data.===========================================================================Still cooking on the stove are: modify adjtime - it won't allow small adjustments. I may punt and put in a new adjtime that handles the second order stuff. making it handle broadcasted time like timed man pagesAny suggestions or help are ALWAYS appreciated.Louis A. Mamakos (louie@trantor.umd.edu)mike petry (petry@trantor.umd.edu)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -