ntpd

ntpd

The Network Time Protocol daemon (ntpd) is an operating system daemon program that maintains the system time in synchronization with time servers using the Network Time Protocol (NTP).

Contents

Description

The ntpd program is an operating system daemon that sets and maintains the system time in synchronization with Internet standard time servers. It is a complete implementation of the Network Time Protocol (NTP) version 4, but 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 performs most computations in 64-bit floating point arithmetic and uses 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 processors and networks.

xntpd is the Network Time Protocol version three daemon software. The "x" was added to the name because the branch of code that eventually became NTPv3 was "experimental". The name of the software was changed back to "ntpd" for version four because the NTP creator, Dave Mills, decided that something probably should not be "experimental" for about twenty years without changing dramatically.

Ntpd uses a single configuration file to run the daemon in server and/or client modes. The configuration file is usually named ntp.conf and is located under the /etc directory. Other important files include the drift file, 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 any.ntpserver.example

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 an ntpd daemon and query it for various parameters. To show what peers are available and synchronization status try:

 ntpq -p localhost

Implementations

Complete NTP implementations

Simple NTP (SNTP) implementations

Information and support

See also

  • rdate

References