ntpd.1ntpdmdoc revision 1.1.1.2.12.2 1 .Dd December 19 2014
2 .Dt NTPD 1ntpdmdoc User Commands
3 .Os
4 .\" EDIT THIS FILE WITH CAUTION (ntpd-opts.mdoc)
5 .\"
6 .\" It has been AutoGen-ed December 19, 2014 at 07:49:14 AM by AutoGen 5.18.5pre4
7 .\" From the definitions ntpd-opts.def
8 .\" and the template file agmdoc-cmd.tpl
9 .Sh NAME
10 .Nm ntpd
11 .Nd NTP daemon program
12 .Sh SYNOPSIS
13 .Nm
14 .\" Mixture of short (flag) options and long options
15 .Op Fl flags
16 .Op Fl flag Op Ar value
17 .Op Fl \-option\-name Ns Oo Oo Ns "=| " Oc Ns Ar value Oc
18 [ <server1> ... <serverN> ]
19 .Pp
20 .Sh DESCRIPTION
21 The
22 .Nm
23 utility is an operating system daemon which sets
24 and maintains the system time of day in synchronism with Internet
25 standard time servers.
26 It is a complete implementation of the
27 Network Time Protocol (NTP) version 4, as defined by RFC\-5905,
28 but also retains compatibility with
29 version 3, as defined by RFC\-1305, and versions 1
30 and 2, as defined by RFC\-1059 and RFC\-1119, respectively.
31 .Pp
32 The
33 .Nm
34 utility does most computations in 64\-bit floating point
35 arithmetic and does relatively clumsy 64\-bit fixed point operations
36 only when necessary to preserve the ultimate precision, about 232
37 picoseconds.
38 While the ultimate precision is not achievable with
39 ordinary workstations and networks of today, it may be required
40 with future gigahertz CPU clocks and gigabit LANs.
41 .Pp
42 Ordinarily,
43 .Nm
44 reads the
45 .Xr ntp.conf 5
46 configuration file at startup time in order to determine the
47 synchronization sources and operating modes.
48 It is also possible to
49 specify a working, although limited, configuration entirely on the
50 command line, obviating the need for a configuration file.
51 This may
52 be particularly useful when the local host is to be configured as a
53 broadcast/multicast client, with all peers being determined by
54 listening to broadcasts at run time.
55 .Pp
56 If NetInfo support is built into
57 .Nm ,
58 then
59 .Nm
60 will attempt to read its configuration from the
61 NetInfo if the default
62 .Xr ntp.conf 5
63 file cannot be read and no file is
64 specified by the
65 .Fl c
66 option.
67 .Pp
68 Various internal
69 .Nm
70 variables can be displayed and
71 configuration options altered while the
72 .Nm
73 is running
74 using the
75 .Xr ntpq 1ntpqmdoc
76 and
77 .Xr ntpdc 1ntpdcmdoc
78 utility programs.
79 .Pp
80 When
81 .Nm
82 starts it looks at the value of
83 .Xr umask 2 ,
84 and if zero
85 .Nm
86 will set the
87 .Xr umask 2
88 to 022.
89 .Sh "OPTIONS"
90 .Bl -tag
91 .It Fl 4 , Fl \-ipv4
92 Force IPv4 DNS name resolution.
93 This option must not appear in combination with any of the following options:
94 ipv6.
95 .sp
96 Force DNS resolution of following host names on the command line
97 to the IPv4 namespace.
98 .It Fl 6 , Fl \-ipv6
99 Force IPv6 DNS name resolution.
100 This option must not appear in combination with any of the following options:
101 ipv4.
102 .sp
103 Force DNS resolution of following host names on the command line
104 to the IPv6 namespace.
105 .It Fl a , Fl \-authreq
106 Require crypto authentication.
107 This option must not appear in combination with any of the following options:
108 authnoreq.
109 .sp
110 Require cryptographic authentication for broadcast client,
111 multicast client and symmetric passive associations.
112 This is the default.
113 .It Fl A , Fl \-authnoreq
114 Do not require crypto authentication.
115 This option must not appear in combination with any of the following options:
116 authreq.
117 .sp
118 Do not require cryptographic authentication for broadcast client,
119 multicast client and symmetric passive associations.
120 This is almost never a good idea.
121 .It Fl b , Fl \-bcastsync
122 Allow us to sync to broadcast servers.
123 .sp
124 .It Fl c Ar string , Fl \-configfile Ns = Ns Ar string
125 configuration file name.
126 .sp
127 The name and path of the configuration file,
128 \fI/etc/ntp.conf\fP
129 by default.
130 .It Fl d , Fl \-debug\-level
131 Increase debug verbosity level.
132 This option may appear an unlimited number of times.
133 .sp
134 .It Fl D Ar number , Fl \-set\-debug\-level Ns = Ns Ar number
135 Set the debug verbosity level.
136 This option may appear an unlimited number of times.
137 This option takes an integer number as its argument.
138 .sp
139 .It Fl f Ar string , Fl \-driftfile Ns = Ns Ar string
140 frequency drift file name.
141 .sp
142 The name and path of the frequency file,
143 \fI/etc/ntp.drift\fP
144 by default.
145 This is the same operation as the
146 \fBdriftfile\fP \fIdriftfile\fP
147 configuration specification in the
148 \fI/etc/ntp.conf\fP
149 file.
150 .It Fl g , Fl \-panicgate
151 Allow the first adjustment to be Big.
152 This option may appear an unlimited number of times.
153 .sp
154 Normally,
155 \fBntpd\fP
156 exits with a message to the system log if the offset exceeds the panic threshold, which is 1000 s by default. This option allows the time to be set to any value without restriction; however, this can happen only once. If the threshold is exceeded after that,
157 \fBntpd\fP
158 will exit with a message to the system log. This option can be used with the
159 \fB\-q\fP
160 and
161 \fB\-x\fP
162 options.
163 See the
164 \fBtinker\fP
165 configuration file directive for other options.
166 .It Fl i Ar string , Fl \-jaildir Ns = Ns Ar string
167 Jail directory.
168 .sp
169 Chroot the server to the directory
170 \fIjaildir\fP
171 .
172 This option also implies that the server attempts to drop root privileges at startup.
173 You may need to also specify a
174 \fB\-u\fP
175 option.
176 This option is only available if the OS supports adjusting the clock
177 without full root privileges.
178 This option is supported under NetBSD (configure with
179 \fB\-\-enable\-clockctl\fP) or Linux (configure with
180 \fB\-\-enable\-linuxcaps\fP) or Solaris (configure with \fB\-\-enable\-solarisprivs\fP).
181 .It Fl I Ar iface , Fl \-interface Ns = Ns Ar iface
182 Listen on an interface name or address.
183 This option may appear an unlimited number of times.
184 .sp
185 Open the network address given, or all the addresses associated with the
186 given interface name. This option may appear multiple times. This option
187 also implies not opening other addresses, except wildcard and localhost.
188 This option is deprecated. Please consider using the configuration file
189 \fBinterface\fP command, which is more versatile.
190 .It Fl k Ar string , Fl \-keyfile Ns = Ns Ar string
191 path to symmetric keys.
192 .sp
193 Specify the name and path of the symmetric key file.
194 \fI/etc/ntp.keys\fP
195 is the default.
196 This is the same operation as the
197 \fBkeys\fP \fIkeyfile\fP
198 configuration file directive.
199 .It Fl l Ar string , Fl \-logfile Ns = Ns Ar string
200 path to the log file.
201 .sp
202 Specify the name and path of the log file.
203 The default is the system log file.
204 This is the same operation as the
205 \fBlogfile\fP \fIlogfile\fP
206 configuration file directive.
207 .It Fl L , Fl \-novirtualips
208 Do not listen to virtual interfaces.
209 .sp
210 Do not listen to virtual interfaces, defined as those with
211 names containing a colon. This option is deprecated. Please
212 consider using the configuration file \fBinterface\fP command, which
213 is more versatile.
214 .It Fl M , Fl \-modifymmtimer
215 Modify Multimedia Timer (Windows only).
216 .sp
217 Set the Windows Multimedia Timer to highest resolution. This
218 ensures the resolution does not change while ntpd is running,
219 avoiding timekeeping glitches associated with changes.
220 .It Fl n , Fl \-nofork
221 Do not fork.
222 This option must not appear in combination with any of the following options:
223 wait\-sync.
224 .sp
225 .It Fl N , Fl \-nice
226 Run at high priority.
227 .sp
228 To the extent permitted by the operating system, run
229 \fBntpd\fP
230 at the highest priority.
231 .It Fl p Ar string , Fl \-pidfile Ns = Ns Ar string
232 path to the PID file.
233 .sp
234 Specify the name and path of the file used to record
235 \fBntpd\fP's
236 process ID.
237 This is the same operation as the
238 \fBpidfile\fP \fIpidfile\fP
239 configuration file directive.
240 .It Fl P Ar number , Fl \-priority Ns = Ns Ar number
241 Process priority.
242 This option takes an integer number as its argument.
243 .sp
244 To the extent permitted by the operating system, run
245 \fBntpd\fP
246 at the specified
247 \fBsched_setscheduler(SCHED_FIFO)\fP
248 priority.
249 .It Fl q , Fl \-quit
250 Set the time and quit.
251 This option must not appear in combination with any of the following options:
252 saveconfigquit, wait\-sync.
253 .sp
254 \fBntpd\fP
255 will not daemonize and will exit after the clock is first
256 synchronized. This behavior mimics that of the
257 \fBntpdate\fP
258 program, which will soon be replaced with a shell script.
259 The
260 \fB\-g\fP
261 and
262 \fB\-x\fP
263 options can be used with this option.
264 Note: The kernel time discipline is disabled with this option.
265 .It Fl r Ar string , Fl \-propagationdelay Ns = Ns Ar string
266 Broadcast/propagation delay.
267 .sp
268 Specify the default propagation delay from the broadcast/multicast server to this client. This is necessary only if the delay cannot be computed automatically by the protocol.
269 .It Fl \-saveconfigquit Ns = Ns Ar string
270 Save parsed configuration and quit.
271 This option must not appear in combination with any of the following options:
272 quit, wait\-sync.
273 .sp
274 Cause \fBntpd\fP to parse its startup configuration file and save an
275 equivalent to the given filename and exit. This option was
276 designed for automated testing.
277 .It Fl s Ar string , Fl \-statsdir Ns = Ns Ar string
278 Statistics file location.
279 .sp
280 Specify the directory path for files created by the statistics facility.
281 This is the same operation as the
282 \fBstatsdir\fP \fIstatsdir\fP
283 configuration file directive.
284 .It Fl t Ar tkey , Fl \-trustedkey Ns = Ns Ar tkey
285 Trusted key number.
286 This option may appear an unlimited number of times.
287 .sp
288 Add the specified key number to the trusted key list.
289 .It Fl u Ar string , Fl \-user Ns = Ns Ar string
290 Run as userid (or userid:groupid).
291 .sp
292 Specify a user, and optionally a group, to switch to.
293 This option is only available if the OS supports adjusting the clock
294 without full root privileges.
295 This option is supported under NetBSD (configure with
296 \fB\-\-enable\-clockctl\fP) or Linux (configure with
297 \fB\-\-enable\-linuxcaps\fP) or Solaris (configure with \fB\-\-enable\-solarisprivs\fP).
298 .It Fl U Ar number , Fl \-updateinterval Ns = Ns Ar number
299 interval in seconds between scans for new or dropped interfaces.
300 This option takes an integer number as its argument.
301 .sp
302 Give the time in seconds between two scans for new or dropped interfaces.
303 For systems with routing socket support the scans will be performed shortly after the interface change
304 has been detected by the system.
305 Use 0 to disable scanning. 60 seconds is the minimum time between scans.
306 .It Fl \-var Ns = Ns Ar nvar
307 make ARG an ntp variable (RW).
308 This option may appear an unlimited number of times.
309 .sp
310 .It Fl \-dvar Ns = Ns Ar ndvar
311 make ARG an ntp variable (RW|DEF).
312 This option may appear an unlimited number of times.
313 .sp
314 .It Fl w Ar number , Fl \-wait\-sync Ns = Ns Ar number
315 Seconds to wait for first clock sync.
316 This option must not appear in combination with any of the following options:
317 nofork, quit, saveconfigquit.
318 This option takes an integer number as its argument.
319 .sp
320 If greater than zero, alters \fBntpd\fP's behavior when forking to
321 daemonize. Instead of exiting with status 0 immediately after
322 the fork, the parent waits up to the specified number of
323 seconds for the child to first synchronize the clock. The exit
324 status is zero (success) if the clock was synchronized,
325 otherwise it is \fBETIMEDOUT\fP.
326 This provides the option for a script starting \fBntpd\fP to easily
327 wait for the first set of the clock before proceeding.
328 .It Fl x , Fl \-slew
329 Slew up to 600 seconds.
330 .sp
331 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.
332 This option sets the threshold to 600 s, which is well within the accuracy window to set the clock manually.
333 Note: Since the slew rate of typical Unix kernels is limited to 0.5 ms/s, each second of adjustment requires an amortization interval of 2000 s.
334 Thus, an adjustment as much as 600 s will take almost 14 days to complete.
335 This option can be used with the
336 \fB\-g\fP
337 and
338 \fB\-q\fP
339 options.
340 See the
341 \fBtinker\fP
342 configuration file directive for other options.
343 Note: The kernel time discipline is disabled with this option.
344 .It Fl \-usepcc
345 Use CPU cycle counter (Windows only).
346 .sp
347 Attempt to substitute the CPU counter for \fBQueryPerformanceCounter\fP.
348 The CPU counter and \fBQueryPerformanceCounter\fP are compared, and if
349 they have the same frequency, the CPU counter (RDTSC on x86) is
350 used directly, saving the overhead of a system call.
351 .It Fl \-pccfreq Ns = Ns Ar string
352 Force CPU cycle counter use (Windows only).
353 .sp
354 Force substitution the CPU counter for \fBQueryPerformanceCounter\fP.
355 The CPU counter (RDTSC on x86) is used unconditionally with the
356 given frequency (in Hz).
357 .It Fl m , Fl \-mdns
358 Register with mDNS as a NTP server.
359 .sp
360 Registers as an NTP server with the local mDNS server which allows
361 the server to be discovered via mDNS client lookup.
362 .It Fl \&? , Fl \-help
363 Display usage information and exit.
364 .It Fl \&! , Fl \-more\-help
365 Pass the extended usage information through a pager.
366 .It Fl \-version Op Brq Ar v|c|n
367 Output version of program and exit. The default mode is `v', a simple
368 version. The `c' mode will print copyright information and `n' will
369 print the full copyright notice.
370 .El
371 .Sh "OPTION PRESETS"
372 Any option that is not marked as \fInot presettable\fP may be preset
373 by loading values from environment variables named:
374 .nf
375 \fBNTPD_<option\-name>\fP or \fBNTPD\fP
376 .fi
377 .ad
378 .Sh USAGE
379 .Ss "How NTP Operates"
380 The
381 .Nm
382 utility operates by exchanging messages with
383 one or more configured servers over a range of designated poll intervals.
384 When
385 started, whether for the first or subsequent times, the program
386 requires several exchanges from the majority of these servers so
387 the signal processing and mitigation algorithms can accumulate and
388 groom the data and set the clock.
389 In order to protect the network
390 from bursts, the initial poll interval for each server is delayed
391 an interval randomized over a few seconds.
392 At the default initial poll
393 interval of 64s, several minutes can elapse before the clock is
394 set.
395 This initial delay to set the clock
396 can be safely and dramatically reduced using the
397 .Cm iburst
398 keyword with the
399 .Ic server
400 configuration
401 command, as described in
402 .Xr ntp.conf 5 .
403 .Pp
404 Most operating systems and hardware of today incorporate a
405 time\-of\-year (TOY) chip to maintain the time during periods when
406 the power is off.
407 When the machine is booted, the chip is used to
408 initialize the operating system time.
409 After the machine has
410 synchronized to a NTP server, the operating system corrects the
411 chip from time to time.
412 In the default case, if
413 .Nm
414 detects that the time on the host
415 is more than 1000s from the server time,
416 .Nm
417 assumes something must be terribly wrong and the only
418 reliable action is for the operator to intervene and set the clock
419 by hand.
420 (Reasons for this include there is no TOY chip,
421 or its battery is dead, or that the TOY chip is just of poor quality.)
422 This causes
423 .Nm
424 to exit with a panic message to
425 the system log.
426 The
427 .Fl g
428 option overrides this check and the
429 clock will be set to the server time regardless of the chip time
430 (up to 68 years in the past or future \(em
431 this is a limitation of the NTPv4 protocol).
432 However, and to protect against broken hardware, such as when the
433 CMOS battery fails or the clock counter becomes defective, once the
434 clock has been set an error greater than 1000s will cause
435 .Nm
436 to exit anyway.
437 .Pp
438 Under ordinary conditions,
439 .Nm
440 adjusts the clock in
441 small steps so that the timescale is effectively continuous and
442 without discontinuities.
443 Under conditions of extreme network
444 congestion, the roundtrip delay jitter can exceed three seconds and
445 the synchronization distance, which is equal to one\-half the
446 roundtrip delay plus error budget terms, can become very large.
447 The
448 .Nm
449 algorithms discard sample offsets exceeding 128 ms,
450 unless the interval during which no sample offset is less than 128
451 ms exceeds 900s.
452 The first sample after that, no matter what the
453 offset, steps the clock to the indicated time.
454 In practice this
455 reduces the false alarm rate where the clock is stepped in error to
456 a vanishingly low incidence.
457 .Pp
458 As the result of this behavior, once the clock has been set it
459 very rarely strays more than 128 ms even under extreme cases of
460 network path congestion and jitter.
461 Sometimes, in particular when
462 .Nm
463 is first started without a valid drift file
464 on a system with a large intrinsic drift
465 the error might grow to exceed 128 ms,
466 which would cause the clock to be set backwards
467 if the local clock time is more than 128 s
468 in the future relative to the server.
469 In some applications, this behavior may be unacceptable.
470 There are several solutions, however.
471 If the
472 .Fl x
473 option is included on the command line, the clock will
474 never be stepped and only slew corrections will be used.
475 But this choice comes with a cost that
476 should be carefully explored before deciding to use
477 the
478 .Fl x
479 option.
480 The maximum slew rate possible is limited
481 to 500 parts\-per\-million (PPM) as a consequence of the correctness
482 principles on which the NTP protocol and algorithm design are
483 based.
484 As a result, the local clock can take a long time to
485 converge to an acceptable offset, about 2,000 s for each second the
486 clock is outside the acceptable range.
487 During this interval the
488 local clock will not be consistent with any other network clock and
489 the system cannot be used for distributed applications that require
490 correctly synchronized network time.
491 .Pp
492 In spite of the above precautions, sometimes when large
493 frequency errors are present the resulting time offsets stray
494 outside the 128\-ms range and an eventual step or slew time
495 correction is required.
496 If following such a correction the
497 frequency error is so large that the first sample is outside the
498 acceptable range,
499 .Nm
500 enters the same state as when the
501 .Pa ntp.drift
502 file is not present.
503 The intent of this behavior
504 is to quickly correct the frequency and restore operation to the
505 normal tracking mode.
506 In the most extreme cases
507 (the host
508 .Cm time.ien.it
509 comes to mind), there may be occasional
510 step/slew corrections and subsequent frequency corrections.
511 It
512 helps in these cases to use the
513 .Cm burst
514 keyword when
515 configuring the server, but
516 ONLY
517 when you have permission to do so from the owner of the target host.
518 .Pp
519 Finally,
520 in the past many startup scripts would run
521 .Xr ntpdate 1ntpdatemdoc
522 to get the system clock close to correct before starting
523 .Xr ntpd 1ntpdmdoc ,
524 but this was never more than a mediocre hack and is no longer needed.
525 If you are following the instructions in
526 .Sx "Starting NTP (Best Current Practice)"
527 and you still need to set the system time before starting
528 .Nm ,
529 please open a bug report and document what is going on,
530 and then look at using
531 .Xr sntp 1sntpmdoc .
532 .Pp
533 There is a way to start
534 .Xr ntpd 1ntpdmdoc
535 that often addresses all of the problems mentioned above.
536 .Ss "Starting NTP (Best Current Practice)"
537 First, use the
538 .Cm iburst
539 option on your
540 .Cm server
541 entries.
542 .Pp
543 If you can also keep a good
544 .Pa ntp.drift
545 file then
546 .Xr ntpd 1ntpdmdoc
547 will effectively "warm\-start" and your system's clock will
548 be stable in under 11 seconds' time.
549 .Pp
550 As soon as possible in the startup sequence, start
551 .Xr ntpd 1ntpdmdoc
552 with at least the
553 .Fl g
554 and perhaps the
555 .Fl N
556 options.
557 Then,
558 start the rest of your "normal" processes.
559 This will give
560 .Xr ntpd 1ntpdmdoc
561 as much time as possible to get the system's clock synchronized and stable.
562 .Pp
563 Finally,
564 if you have processes like
565 .Cm dovecot
566 or database servers
567 that require
568 monotonically\-increasing time,
569 run
570 .Xr ntp\-wait 1ntp\-waitmdoc
571 as late as possible in the boot sequence
572 (perhaps with the
573 .Fl v
574 flag)
575 and after
576 .Xr ntp\-wait 1ntp\-waitmdoc
577 exits successfully
578 it is as safe as it will ever be to start any process that require
579 stable time.
580 .Ss "Frequency Discipline"
581 The
582 .Nm
583 behavior at startup depends on whether the
584 frequency file, usually
585 .Pa ntp.drift ,
586 exists.
587 This file
588 contains the latest estimate of clock frequency error.
589 When the
590 .Nm
591 is started and the file does not exist, the
592 .Nm
593 enters a special mode designed to quickly adapt to
594 the particular system clock oscillator time and frequency error.
595 This takes approximately 15 minutes, after which the time and
596 frequency are set to nominal values and the
597 .Nm
598 enters
599 normal mode, where the time and frequency are continuously tracked
600 relative to the server.
601 After one hour the frequency file is
602 created and the current frequency offset written to it.
603 When the
604 .Nm
605 is started and the file does exist, the
606 .Nm
607 frequency is initialized from the file and enters normal mode
608 immediately.
609 After that the current frequency offset is written to
610 the file at hourly intervals.
611 .Ss "Operating Modes"
612 The
613 .Nm
614 utility can operate in any of several modes, including
615 symmetric active/passive, client/server broadcast/multicast and
616 manycast, as described in the
617 .Qq Association Management
618 page
619 (available as part of the HTML documentation
620 provided in
621 .Pa /usr/share/doc/ntp ) .
622 It normally operates continuously while
623 monitoring for small changes in frequency and trimming the clock
624 for the ultimate precision.
625 However, it can operate in a one\-time
626 mode where the time is set from an external server and frequency is
627 set from a previously recorded frequency file.
628 A
629 broadcast/multicast or manycast client can discover remote servers,
630 compute server\-client propagation delay correction factors and
631 configure itself automatically.
632 This makes it possible to deploy a
633 fleet of workstations without specifying configuration details
634 specific to the local environment.
635 .Pp
636 By default,
637 .Nm
638 runs in continuous mode where each of
639 possibly several external servers is polled at intervals determined
640 by an intricate state machine.
641 The state machine measures the
642 incidental roundtrip delay jitter and oscillator frequency wander
643 and determines the best poll interval using a heuristic algorithm.
644 Ordinarily, and in most operating environments, the state machine
645 will start with 64s intervals and eventually increase in steps to
646 1024s.
647 A small amount of random variation is introduced in order to
648 avoid bunching at the servers.
649 In addition, should a server become
650 unreachable for some time, the poll interval is increased in steps
651 to 1024s in order to reduce network overhead.
652 .Pp
653 In some cases it may not be practical for
654 .Nm
655 to run continuously.
656 A common workaround has been to run the
657 .Xr ntpdate 1ntpdatemdoc
658 or
659 .Xr sntp 1sntpmdoc
660 programs from a
661 .Xr cron 8
662 job at designated
663 times.
664 However, these programs do not have the crafted signal
665 processing, error checking or mitigation algorithms of
666 .Nm .
667 The
668 .Fl q
669 option is intended for this purpose.
670 Setting this option will cause
671 .Nm
672 to exit just after
673 setting the clock for the first time.
674 The procedure for initially
675 setting the clock is the same as in continuous mode; most
676 applications will probably want to specify the
677 .Cm iburst
678 keyword with the
679 .Ic server
680 configuration command.
681 With this
682 keyword a volley of messages are exchanged to groom the data and
683 the clock is set in about 10 s.
684 If nothing is heard after a
685 couple of minutes, the daemon times out and exits.
686 After a suitable
687 period of mourning, the
688 .Xr ntpdate 1ntpdatemdoc
689 program will be
690 retired.
691 .Pp
692 When kernel support is available to discipline the clock
693 frequency, which is the case for stock Solaris, Tru64, Linux and
694 .Fx ,
695 a useful feature is available to discipline the clock
696 frequency.
697 First,
698 .Nm
699 is run in continuous mode with
700 selected servers in order to measure and record the intrinsic clock
701 frequency offset in the frequency file.
702 It may take some hours for
703 the frequency and offset to settle down.
704 Then the
705 .Nm
706 is
707 stopped and run in one\-time mode as required.
708 At each startup, the
709 frequency is read from the file and initializes the kernel
710 frequency.
711 .Ss "Poll Interval Control"
712 This version of NTP includes an intricate state machine to
713 reduce the network load while maintaining a quality of
714 synchronization consistent with the observed jitter and wander.
715 There are a number of ways to tailor the operation in order enhance
716 accuracy by reducing the interval or to reduce network overhead by
717 increasing it.
718 However, the user is advised to carefully consider
719 the consequences of changing the poll adjustment range from the
720 default minimum of 64 s to the default maximum of 1,024 s.
721 The
722 default minimum can be changed with the
723 .Ic tinker
724 .Cm minpoll
725 command to a value not less than 16 s.
726 This value is used for all
727 configured associations, unless overridden by the
728 .Cm minpoll
729 option on the configuration command.
730 Note that most device drivers
731 will not operate properly if the poll interval is less than 64 s
732 and that the broadcast server and manycast client associations will
733 also use the default, unless overridden.
734 .Pp
735 In some cases involving dial up or toll services, it may be
736 useful to increase the minimum interval to a few tens of minutes
737 and maximum interval to a day or so.
738 Under normal operation
739 conditions, once the clock discipline loop has stabilized the
740 interval will be increased in steps from the minimum to the
741 maximum.
742 However, this assumes the intrinsic clock frequency error
743 is small enough for the discipline loop correct it.
744 The capture
745 range of the loop is 500 PPM at an interval of 64s decreasing by a
746 factor of two for each doubling of interval.
747 At a minimum of 1,024
748 s, for example, the capture range is only 31 PPM.
749 If the intrinsic
750 error is greater than this, the drift file
751 .Pa ntp.drift
752 will
753 have to be specially tailored to reduce the residual error below
754 this limit.
755 Once this is done, the drift file is automatically
756 updated once per hour and is available to initialize the frequency
757 on subsequent daemon restarts.
758 .Ss "The huff\-n'\-puff Filter"
759 In scenarios where a considerable amount of data are to be
760 downloaded or uploaded over telephone modems, timekeeping quality
761 can be seriously degraded.
762 This occurs because the differential
763 delays on the two directions of transmission can be quite large.
764 In
765 many cases the apparent time errors are so large as to exceed the
766 step threshold and a step correction can occur during and after the
767 data transfer is in progress.
768 .Pp
769 The huff\-n'\-puff filter is designed to correct the apparent time
770 offset in these cases.
771 It depends on knowledge of the propagation
772 delay when no other traffic is present.
773 In common scenarios this
774 occurs during other than work hours.
775 The filter maintains a shift
776 register that remembers the minimum delay over the most recent
777 interval measured usually in hours.
778 Under conditions of severe
779 delay, the filter corrects the apparent offset using the sign of
780 the offset and the difference between the apparent delay and
781 minimum delay.
782 The name of the filter reflects the negative (huff)
783 and positive (puff) correction, which depends on the sign of the
784 offset.
785 .Pp
786 The filter is activated by the
787 .Ic tinker
788 command and
789 .Cm huffpuff
790 keyword, as described in
791 .Xr ntp.conf 5 .
792 .Sh "ENVIRONMENT"
793 See \fBOPTION PRESETS\fP for configuration environment variables.
794 .Sh FILES
795 .Bl -tag -width /etc/ntp.drift -compact
796 .It Pa /etc/ntp.conf
797 the default name of the configuration file
798 .It Pa /etc/ntp.drift
799 the default name of the drift file
800 .It Pa /etc/ntp.keys
801 the default name of the key file
802 .El
803 .Sh "EXIT STATUS"
804 One of the following exit values will be returned:
805 .Bl -tag
806 .It 0 " (EXIT_SUCCESS)"
807 Successful program execution.
808 .It 1 " (EXIT_FAILURE)"
809 The operation failed or the command syntax was not valid.
810 .It 70 " (EX_SOFTWARE)"
811 libopts had an internal operational error. Please report
812 it to autogen\-users (a] lists.sourceforge.net. Thank you.
813 .El
814 .Sh "SEE ALSO"
815 .Xr ntp.conf 5 ,
816 .Xr ntpdate 1ntpdatemdoc ,
817 .Xr ntpdc 1ntpdcmdoc ,
818 .Xr ntpq 1ntpqmdoc ,
819 .Xr sntp 1sntpmdoc
820 .Pp
821 In addition to the manual pages provided,
822 comprehensive documentation is available on the world wide web
823 at
824 .Li http://www.ntp.org/ .
825 A snapshot of this documentation is available in HTML format in
826 .Pa /usr/share/doc/ntp .
827 .Rs
828 .%A David L. Mills
829 .%T Network Time Protocol (Version 1)
830 .%O RFC1059
831 .Re
832 .Rs
833 .%A David L. Mills
834 .%T Network Time Protocol (Version 2)
835 .%O RFC1119
836 .Re
837 .Rs
838 .%A David L. Mills
839 .%T Network Time Protocol (Version 3)
840 .%O RFC1305
841 .Re
842 .Rs
843 .%A David L. Mills
844 .%A J. Martin, Ed.
845 .%A J. Burbank
846 .%A W. Kasch
847 .%T Network Time Protocol Version 4: Protocol and Algorithms Specification
848 .%O RFC5905
849 .Re
850 .Rs
851 .%A David L. Mills
852 .%A B. Haberman, Ed.
853 .%T Network Time Protocol Version 4: Autokey Specification
854 .%O RFC5906
855 .Re
856 .Rs
857 .%A H. Gerstung
858 .%A C. Elliott
859 .%A B. Haberman, Ed.
860 .%T Definitions of Managed Objects for Network Time Protocol Version 4: (NTPv4)
861 .%O RFC5907
862 .Re
863 .Rs
864 .%A R. Gayraud
865 .%A B. Lourdelet
866 .%T Network Time Protocol (NTP) Server Option for DHCPv6
867 .%O RFC5908
868 .Re
869 .Sh "AUTHORS"
870 The University of Delaware
871 .Sh "COPYRIGHT"
872 Copyright (C) 1970\-2014 The University of Delaware all rights reserved.
873 This program is released under the terms of the NTP license, <http://ntp.org/license>.
874 .Sh BUGS
875 The
876 .Nm
877 utility has gotten rather fat.
878 While not huge, it has gotten
879 larger than might be desirable for an elevated\-priority
880 .Nm
881 running on a workstation, particularly since many of
882 the fancy features which consume the space were designed more with
883 a busy primary server, rather than a high stratum workstation in
884 mind.
885 .Pp
886 Please send bug reports to: http://bugs.ntp.org, bugs (a] ntp.org
887 .Sh NOTES
888 Portions of this document came from FreeBSD.
889 .Pp
890 This manual page was \fIAutoGen\fP\-erated from the \fBntpd\fP
891 option definitions.
892