Jump to content

ntpd

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 209.184.240.68 (talk) at 20:03, 5 November 2008. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The ntpd (Network Time Protocol daemon) program is an operating system daemon which sets and maintains the system time of day in synchronism with time servers (Mills).

Description

The ntpd 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. ntpd 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. The Solaris version of ntpd is named xntpd.

Ntpd uses a single configuration file to run the daemon in server and/or client modes. The configuration file is usually named ntpd.conf and is located under the /etc directory. Other important files include the driftfile, which is used by ntpd to correct for hardware clock skew in the absence of a connection to a more accurate upstream time server.

Debugging

If ntpd does not work (but is correctly configured) assuming an RFC-compliant implementation, your clock may have drifted too far. If you view /var/log/ntp.log, you may see an entry similar to:

18 Aug 21:04:40 ntpd[7220]: time correction of 1738 seconds exceeds sanity limit (1000); set clock manually to the 
correct UTC time. 

This sanity check can be overridden by adding the command-line switch "-g" when starting ntpd.

ntpd -g

To manually force the time to synchronize, use:

 ntpd -q

or on older systems

 ntpdate ntpserver

Note that switching time settings by large amounts may cause undefined behavior in long-running or complex processes, and is not advised for servers.

The ntpq command can be used to connect to a ntpd daemon and query it for various parameters. To show what peers are available and synchronization status try:

 ntpq -p localhost

Implementations

ntpd guides

References