diff options
author | sheldonh <sheldonh@FreeBSD.org> | 2001-08-29 14:50:56 +0000 |
---|---|---|
committer | sheldonh <sheldonh@FreeBSD.org> | 2001-08-29 14:50:56 +0000 |
commit | 692bc648fffcac38fd766ba0c4aa92d593444e95 (patch) | |
tree | 1eaecaa5d377b7b1ce5983e729189cf951de8393 /usr.sbin/ntp/doc/ntpd.8 | |
parent | edc758be4634e1860f1e2d6bfafe352d642aedcf (diff) | |
download | FreeBSD-src-692bc648fffcac38fd766ba0c4aa92d593444e95.zip FreeBSD-src-692bc648fffcac38fd766ba0c4aa92d593444e95.tar.gz |
Update the mdoc NTP documentation transcribed from the HTML documentation
for ntp-4.1.0.
Unfortunately, David Mills insists on managing the documentation in
such a way as to make it impossible for me to make things easy on our
translators, without printing out the documentation and reading through
it side-by-side with a finger on each page.
Diffstat (limited to 'usr.sbin/ntp/doc/ntpd.8')
-rw-r--r-- | usr.sbin/ntp/doc/ntpd.8 | 594 |
1 files changed, 464 insertions, 130 deletions
diff --git a/usr.sbin/ntp/doc/ntpd.8 b/usr.sbin/ntp/doc/ntpd.8 index cef5366..8fe9dda 100644 --- a/usr.sbin/ntp/doc/ntpd.8 +++ b/usr.sbin/ntp/doc/ntpd.8 @@ -1,7 +1,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 10, 2000 +.Dd August 2, 2001 .Dt NTPD 8 .Os .Sh NAME @@ -9,94 +9,88 @@ .Nd Network Time Protocol (NTP) daemon .Sh SYNOPSIS .Nm -.Op Fl aAbdgmx +.Op Fl aAbdgLmnPqx .Op Fl c Ar conffile +.Op Fl D Ar level .Op Fl f Ar driftfile .Op Fl k Ar keyfile .Op Fl l Ar logfile +.Op Fl N Cm high .Op Fl p Ar pidfile .Op Fl r Ar broadcastdelay .Op Fl s Ar statsdir -.Op Fl t Ar trustedkey +.Op Fl t Ar key .Op Fl v Ar variable .Op Fl V Ar variable .Sh DESCRIPTION +The .Nm -is an operating system daemon -which sets and maintains the system time-of-day -in synchronism with Internet standard time servers. -.Nm -is a complete implementation of the Network Time Protocol (NTP) -version 4, -but also retains compatibility with version 3, -as defined by RFC 1305, -and version 1 and 2, -as defined by RFC 1059 and RFC 1119, -respectively. -.Nm -does most computations in 64-bit floating point arithmetic -and does relatively clumsy 64-bit fixed point operations -only when necessary to preserve the ultimate precision, -about 232 picoseconds. -While the ultimate precision is not achievable -with ordinary workstations and networks of today, -it may be required with future nanosecond CPU clocks and gigabit LANs. -.Pp -The daemon can operate in any of several modes, -including symmetric active/passive, -client/server broadcast/multicast and manycast. -A broadcast/multicast or manycast client can discover remote servers, -compute server-client propagation delay correction factors -and configure itself automatically. -This makes it possible to deploy a fleet of workstations -without specifying configuration details -specific to the local environment. +program is an operating system daemon which sets +and maintains the system time of day in synchronism with Internet +standard time servers. +It is a complete implementation of the +Network Time Protocol (NTP) version 4, but also retains +compatibility with version 3, as defined by RFC-1305, and version 1 +and 2, as defined by RFC-1059 and RFC-1119, respectively. +.Pp +.Nm +does most computations in 64-bit floating point +arithmetic and does relatively clumsy 64-bit fixed point operations +only when necessary to preserve the ultimate precision, about 232 +picoseconds. +While the ultimate precision, is not achievable with +ordinary workstations and networks of today, it may be required +with future gigahertz CPU clocks and gigabit LANs. .Pp Ordinarily, .Nm reads the .Xr ntp.conf 5 -configuration file at startup time -in order to determine the synchronization sources and operating modes. -It is also possible to specify a working, although limited, -configuration entirely on the command line, -obviating the need for a configuration file. -This may be particularly appropriate -when the local host is to be configured -as a broadcast/multicast client or manycast client, -with all peers being determined -by listening to broadcasts at run time. +configuration file at startup time in order to determine the +synchronization sources and operating modes. +It is also possible to +specify a working, although limited, configuration entirely on the +command line, obviating the need for a configuration file. +This may +be particularly useful when the local host is to be configured as a +broadcast/multicast client, with all peers being determined by +listening to broadcasts at run time. .Pp If NetInfo support is built into .Nm , then .Nm -will attempt to read its configuration from the NetInfo -if the default configuration file cannot be read -and no file is specified by the +will attempt to read its configuration from the +NetInfo if the default +.Xr ntp.conf 5 +file cannot be read and no file is +specified by the .Fl c option. .Pp -Various -internal +Various internal .Nm -variables can be displayed and configuration options altered -while the daemon is running -through use of the +variables can be displayed and +configuration options altered while the +.Nm +is running +using the .Xr ntpq 8 and .Xr ntpdc 8 -programs. +utility programs. .Pp When .Nm starts it looks at the value of -.Xr umask 2 -and if it is zero, +.Xr umask 2 , +and if zero .Nm -will set it to 022. +will set the +.Xr umask 2 +to 022. .Pp -The following command line options are available: +The following options are available: .Bl -tag -width indent .It Fl a Enable authentication mode (default). @@ -106,6 +100,8 @@ Disable authentication mode. Synchronize using NTP broadcast messages. .It Fl c Ar conffile Specify the name and path of the configuration file. +(Disable +netinfo?) .It Fl d Specify debugging mode. This flag may occur multiple times, @@ -115,33 +111,69 @@ Specify debugging level directly. .It Fl f Ar driftfile Specify the name and path of the drift file. .It Fl g -Normally, the daemon exits -if the offset exceeds a 1000 s sanity limit. -This option overrides this limit -and allows the time to be set to any value without restriction; -however, this can happen only once. +Normally, +.Nm +exits if the offset exceeds the sanity +limit, which is 1000 s by default. +If the sanity limit is set to +zero, no sanity checking is performed and any offset is acceptable. +This option overrides the limit and allows the time to be set to +any value without restriction; however, this can happen only once. After that, -the daemon will exit if the limit is exceeded. +.Nm +will exit if the limit is exceeded. +This +option can be used with the +.Fl q +option. .It Fl k Ar keyfile -Specify the name and path of the file -containing the NTP authentication keys. +Specify the name and path of the file containing the NTP +authentication keys. .It Fl l Ar logfile Specify the name and path of the log file. -The default is the system log facility. +The default is the +system log facility. +.It Fl L +Listen to virtual IPs. .It Fl m -Synchronize using NTP multicast messages -on the IP multicast group address 224.0.1.1 -(requires multicast kernel). +Synchronize using NTP multicast messages on the IP multicast +group address 224.0.1.1 (requires multicast kernel). +.It Fl n +Don't fork. +.It Fl N Ar priority +To the extent permitted by the operating system, run the +.Nm +at a high priority. .It Fl p Ar pidfile -Specify the name and path to record the daemon's process ID. +Specify the name and path to record the +.Nm Ns 's +process +ID. .It Fl P Override the priority limit set by the operating system. -Not recommended for sissies. +Not +recommended for sissies. +.It Fl q +Exit the +.Nm +just after the first time the clock is +set. +This behavior mimics that of the +.Xr ntpdate 8 +program, +which is to be retired. +The +.Fl g +and +.Fl x +options can +be used with this option. .It Fl r Ar broadcastdelay -Specify the default propagation delay -between the broadcast/multicast server and this computer. +Specify the default propagation delay from the +broadcast/multicast server and this computer. This is necessary -only if the delay cannot be computed automatically by the protocol. +only if the delay cannot be computed automatically by the +protocol. .It Fl s Ar statsdir Specify the directory path for files created by the statistics facility. @@ -151,53 +183,360 @@ Add a key number to the trusted key list. .It Fl V Ar variable Add a system variable listed by default. .It Fl x -Ordinarily, if the time is to be adjusted more than 128 ms, -it is stepped, not gradually slewed. -This option forces the time to be slewed in all cases. -Note: since the slew rate is limited to 0.5 ms/s, -each second of adjustment requires an amortization interval of 2000 s. -Thus, an adjustment of many seconds can take hours or days to amortize. -.El -.Ss Variables -Most variables used by the NTP protocol -can be examined with -.Xr ntpdc 8 -(mode 7 messages) and -.Xr ntpq 8 -(mode 6 messages). -Currently, very few variables can be modified via mode 6 messages. -These variables are either created with the -.Ic setvar -directive -(described in the -.Qq Miscellaneous Options -section of the -.Xr ntp.conf 5 -page) -or the leap warning bits. -The leap warning bits can be set in the -.Va leapwarning -variable up to one month ahead. -Both the -.Va leapwarning -and -.Va leapindication -variables have a slightly different encoding -than the usual leap bits interpretation: -.Pp -.Bl -tag -width indent -compact -.It 00 -The daemon passes the leap bits of its synchronization source -(usual mode of operation). -.It 01 -.It 10 -A leap second is added/deleted (operator forced leap second). -.It 11 -Leap information from the synchronizations source is ignored -(thus -.Dv LEAP_NOWARNING -is passed on). +Normally, the time is slewed if the offset is less than the +step threshold, which is 128 ms by default, and stepped if above +the threshold. +This option forces the time to be slewed in all +cases. +If the step threshold is set to zero, all offsets are +stepped, regardless of value and regardless of the +.Fl x +option. +In general, this is not a good idea, as it bypasses the +clock state machine which is designed to cope with large time and +frequency errors Note: Since the slew rate is limited to 0.5 ms/s, +each second of adjustment requires an amortization interval of 2000 +s. +Thus, an adjustment of many seconds can take hours or days to +amortize. +This option can be used with the +.Fl q +option. .El +.Ss "How NTP Operates" +The +.Nm +program operates by exchanging messages with +one or more configured servers at designated poll intervals. +When +started, whether for the first or subsequent times, the program +requires several exahanges from the majority of these servers so +the signal processing and mitigation algorithms can accumulate and +groom the data and set the clock. +In order to protect the network +from bursts, the initial poll interval for each server is delayed +an interval randomized over 0-16s. +At the default initial poll +interval of 64s, several minutes can elapse before the clock is +set. +The initial delay to set the clock can be reduced using the +.Cm iburst +keyword with the +.Ic server +configuration +command, as described in +.Xr ntp.conf 5 . +.Pp +Most operating systems and hardware of today incorporate a +time-of-year (TOY) chip to maintain the time during periods when +the power is off. +When the machine is booted, the chip is used to +initialize the operating system time. +After the machine has +synchronized to a NTP server, the operating system corrects the +chip from time to time. +In case there is no TOY chip or for some +reason its time is more than 1000s from the server time, +.Nm +assumes something must be terribly wrong and the only +reliable action is for the operator to intervene and set the clock +by hand. +This causes +.Nm +to exit with a panic message to +the system log. +The +.Fl g +option overrides this check and the +clock will be set to the server time regardless of the chip time. +However, and to protect against broken hardware, such as when the +CMOS battery fails or the clock counter becomes defective, once the +clock has been set, an error greater than 1000s will cause +.Nm +to exit anyway. +.Pp +Under ordinariy conditions, +.Nm +adjusts the clock in +small steps so that the timescale is effectively continuous and +without discontinuities. +Under conditions of extreme network +congestion, the roundtrip delay jitter can exceed three seconds and +the synchronization distance, which is equal to one-half the +roundtrip delay plus error budget terms, can become very large. +The +.Nm +algorithms discard sample offsets exceeding 128 ms, +unless the interval during which no sample offset is less than 128 +ms exceeds 900s. +The first sample after that, no matter what the +offset, steps the clock to the indicated time. +In practice this +reduces the false alarm rate where the clock is stepped in error to +a vanishingly low incidence. +.Pp +As the result of this behavior, once the clock has been set, it +very rarely strays more than 128 ms, even under extreme cases of +network path congestion and jitter. +Sometimes, in particular when +.Nm +is first started, the error might exceed 128 ms. +This +may on occasion cause the clock to be set backwards if the local +clock time is more than 128 s in the future relative to the server. +In some applications, this behavior may be unacceptable. +If the +.Fl x +option is included on the command line, the clock will +never be stepped and only slew corrections will be used. +.Pp +The issues should be carefully explored before deciding to use +the +.Fl x +option. +The maximum slew rate possible is limited +to 500 parts-per-million (PPM) as a consequence of the correctness +principles on which the NTP protocol and algorithm design are +based. +As a result, the local clock can take a long time to +converge to an acceptable offset, about 2,000 s for each second the +clock is outside the acceptable range. +During this interval the +local clock will not be consistent with any other network clock and +the system cannot be used for distributed applications that require +correctly synchronized network time. +.Pp +In spite of the above precautions, sometimes when large +frequency errors are present the resulting time offsets stray +outside the 128-ms range and an eventual step or slew time +correction is required. +If following such a correction the +frequency error is so large that the first sample is outside the +acceptable range, +.Nm +enters the same state as when the +.Pa ntp.drift +file is not present. +The intent of this behavior +is to quickly correct the frequency and restore operation to the +normal tracking mode. +In the most extreme cases +(time.ien.it comes to mind), there may be occasional +step/slew corrections and subsequent frequency corrections. +It +helps in these cases to use the +.Cm burst +keyword when +configuring the server. +.Ss "Frequency Discipline" +The +.Nm +behavior at startup depends on whether the +frequency file, usually +.Pa ntp.drift , +exists. +This file +contains the latest estimate of clock frequency error. +When the +.Nm +is started and the file does not exist, the +.Nm +enters a special mode designed to quickly adapt to +the particular system clock oscillator time and frequency error. +This takes approximately 15 minutes, after which the time and +frequency are set to nominal values and the +.Nm +enters +normal mode, where the time and frequency are continuously tracked +relative to the server. +After one hour the frequency file is +created and the current frequency offset written to it. +When the +.Nm +is started and the file does exist, the +.Nm +frequency is initialized from the file and enters normal mode +immediately. +After that the current frequency offset is written to +the file at hourly intervals. +.Ss "Operating Modes" +.Nm +can operate in any of several modes, including +symmetric active/passive, client/server broadcast/multicast and +manycast, as described in the +.Qq Association Management +page +(available as part of the HTML documentation +provided in +.Pa /usr/share/doc/ntp ) . +It normally operates continuously while +monitoring for small changes in frequency and trimming the clock +for the ultimate precision. +However, it can operate in a one-time +mode where the time is set from an external server and frequency is +set from a previously recorded frequency file. +A +broadcast/multicast or manycast client can discover remote servers, +compute server-client propagation delay correction factors and +configure itself automatically. +This makes it possible to deploy a +fleet of workstations without specifying configuration details +specific to the local environment. +.Pp +By default, +.Nm +runs in continuous mode where each of +possibly several external servers is polled at intervals determined +by an intricate state machine. +The state machine measures the +incidental roundtrip delay jitter and oscillator frequency wander +and determines the best poll interval using a heuristic algorithm. +Ordinarily, and in most operating environments, the state machine +will start with 64s intervals and eventually increase in steps to +1024s. +A small amount of random variation is introduced in order to +avoid bunching at the servers. +In addition, should a server become +unreachable for some time, the poll interval is increased in steps +to 1024s in order to reduce network overhead. +.Pp +In some cases it may not be practical for +.Nm +to run +continuously. +A common workaround has been to run the +.Xr ntpdate 8 +program from a +.Xr cron 8 +job at designated +times. +However, this program does not have the crafted signal +processing, error checking and mitigation algorithms of +.Nm . +The +.Fl q +option is intended for this purpose. +Setting this option will cause +.Nm +to exit just after +setting the clock for the first time. +The procedure for initially +setting the clock is the same as in continuous mode; most +applications will probably want to specify the +.Cm iburst +keyword with the +.Ic server +configuration command. +With this +keyword a volley of messages are exchanged to groom the data and +the clock is set in about a minute. +If nothing is heard after a +couple of minutes, the daemon times out and exits. +After a suitable +period of mourning, the +.Xr ntpdate 8 +program may be +retired. +.Pp +When kernel support is available to discipline the clock +frequency, which is the case for stock Solaris, Tru64, Linux and +.Fx , +a useful feature is available to discipline the clock +frequency. +First, +.Nm +is run in continuous mode with +selected servers in order to measure and record the intrinsic clock +frequency offset in the frequency file. +It may take some hours for +the frequency and offset to settle down. +Then the +.Nm +is +stopped and run in one-time mode as required. +At each startup, the +frequency is read from the file and initializes the kernel +frequency. +.Ss "Poll Interval Control" +This version of NTP includes an intricate state machine to +reduce the network load while maintaining a quality of +synchronization consistent with the observed jitter and wander. +There are a number of ways to tailor the operation in order enhance +accuracy by reducing the interval or to reduce network overhead by +increasing it. +However, the user is advised to carefully consider +the consequenses of changing the poll adjustment range from the +default minimum of 64 s to the default maximum of 1,024 s. +The +default minimum can be changed with the +.Ic tinker +.Cm minpoll +command to a value not less than 16 s. +This value is used for all +configured associations, unless overriden by the +.Cm minpoll +option on the configuration command. +Note that most device drivers +will not operate properly if the poll interval is less than 64 s +and that the broadcast server and manycast client associations will +also use the default, unless overriden. +.Pp +In some cases involving dial up or toll services, it may be +useful to increase the minimum interval to a few tens of minutes +and maximum interval to a day or so. +Under normal operation +conditions, once the clock discipline loop has stabilized the +interval will be increased in steps from the minumum to the +maximum. +However, this assumes the intrinsic clock frequency error +is small enough for the discipline loop correct it. +The capture +range of the loop is 500 PPM at an interval of 64s decreasing by a +factor of two for each doubling of interval. +At a minimum of 1,024 +s, for example, the capture range is only 31 PPM. +If the intrinsic +error is greater than this, the drift file +.Pa ntp.drift +will +have to be specially tailored to reduce the residual error below +this limit. +Once this is done, the drift file is automatically +updated once per hour and is available to initialize the frequency +on subsequent daemon restarts. +.Ss "The huff-n'-puff filter" +In scenarios where a considerable amount of data are to be +downloaded or uploaded over telephone modems, timekeeping quality +can be seriously degraded. +This occurs because the differential +delays on the two directions of transmission can be quite large. +In +many cases the apparent time errors are so large as to exceed the +step threshold and a step correction can occur during and after the +data transfer is in progress. +.Pp +The huff-n'-puff filter is designed to correct the apparent time +offset in these cases. +It depends on knowledge of the propagation +delay when no other traffic is present. +In common scenarios this +occurs during other than work hours. +The filter maintains a shift +register that remembers the minimum delay over the most recent +interval measured usually in hours. +Under conditions of severe +delay, the filter corrects the apparent offset using the sign of +the offset and the difference between the apparent delay and +minimum delay. +The name of the filter reflects the negative (huff) +and positive (puff) correction, which depends on the sign of the +offset. +.Pp +The filter is activated by the +.Ic tinker command and +.Cm huffpuff +keyword, as described in +.Xr ntp.conf 5 . .Sh FILES .Bl -tag -width /etc/ntp.drift -compact .It Pa /etc/ntp.conf @@ -234,18 +573,13 @@ A snapshot of this documentation is available in HTML format in .%T Network Time Protocol (Version 3) .%O RFC1305 .Re -.Sh HISTORY -Written by -.An Dennis Ferguson -at the University of Toronto. -Text amended by -.An David Mills -at the University of Delaware. .Sh BUGS .Nm has gotten rather fat. -While not huge, it has gotten larger than might -be desireable for an elevated-priority daemon running on a workstation, -particularly since many of the fancy features which consume the space -were designed more with a busy primary server, rather than a high -stratum workstation, in mind. +While not huge, it has gotten +larger than might be desirable for an elevated-priority +.Nm +running on a workstation, particularly since many of +the fancy features which consume the space were designed more with +a busy primary server, rather than a high stratum workstation in +mind. |