
The Network Time Protocol daemon (ntpd) is an
operating system program that maintains the
system time
In computer science and computer programming, system time represents a computer system's notion of the passage of time. In this sense, ''time'' also includes the passing of calendar date, days on the calendar.
System time is measured by a ''sys ...
in synchronization with time servers using the
Network Time Protocol
The Network Time Protocol (NTP) is a networking protocol for clock synchronization between computer systems over packet-switched, variable-Network latency, latency data networks. In operation since before 1985, NTP is one of the oldest Intern ...
(NTP).
Description
The ntpd program is an operating-system
daemon
A demon is a malevolent supernatural being, evil spirit or fiend in religion, occultism, literature, fiction, mythology and folklore.
Demon, daemon or dæmon may also refer to:
Entertainment Fictional entities
* Daemon (G.I. Joe), a character ...
that sets and maintains a computer system's system time in synchronization with Internet-standard
time servers. It is a complete implementation of the
Network Time Protocol
The Network Time Protocol (NTP) is a networking protocol for clock synchronization between computer systems over packet-switched, variable-Network latency, latency data networks. In operation since before 1985, NTP is one of the oldest Intern ...
(NTP) version 4, but retains compatibility with versions 1, 2, and 3 as defined by RFC 1059, RFC 1119, and RFC 1305, respectively. ntpd performs most computations in 64-bit
floating point
In computing, floating-point arithmetic (FP) is arithmetic on subsets of real numbers formed by a ''significand'' (a signed sequence of a fixed number of digits in some base) multiplied by an integer power of that base.
Numbers of this form ...
arithmetic and uses 64-bit fixed point operations only when necessary to preserve the ultimate precision, about 232
picoseconds. While ordinary workstations and networks cannot achieve the ultimate
precision , future processors and networks may require it.
xntpd is the Network Time Protocol version three (1992) 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 changed back to "ntpd" for version four because the inventor of NTP,
Dave Mills, decided that something probably should not remain "experimental" for about twenty years in the absence of dramatic change.
ntpd uses a single configuration-file to run the daemon in server and/or client modes. The configuration file, usually named ntp.conf, is located in the /etc directory. Other important files include the drift file, which ntpd uses to correct for hardware-
clock skew
Clock skew (sometimes called timing skew) is a phenomenon in synchronous digital circuit systems (such as computer systems) in which the same sourced clock signal arrives at different components at different times due to gate or, in more advanc ...
in the absence of a connection to a more accurate upstream time-server.
Implementations
NTP implementations
NTP (RFC 5905):
The NTP Reference Implementationfrom The NTP Project at the University of Delaware.
– Free Windows port of The NTP Reference Implementation from http://www.ntp.org with an easy-to-use installer
*
NTPsec a hardened implementation derived from NTP Classic, Dave Mills's original.
*
chrony
chrony is an implementation of the Network Time Protocol (NTP). It is an alternative to ntpd, a reference implementation of NTP. It runs on Unix-like operating systems (including Linux and macOS) and is released under the GNU General Public Licen ...
– chronyd implements the NTP protocol and can act as either a client or a server.
*
OpenNTPD – A portable Simple NTPD implementation by the
OpenBSD
OpenBSD is a security-focused operating system, security-focused, free software, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by fork (software development), forking NetBSD ...
group.
*
ntpd-rs – a security-focused implementation of the NTP protocol by
Internet Security Research Group.
[{{cite web , last1=Aas , first1=Josh , title=More Memory Safety for Let’s Encrypt: Deploying ntpd-rs , url=https://letsencrypt.org/2024/06/24/ntpd-rs-deployment/ , access-date=18 December 2024 , website=Let's Encrypt , publisher=Let's Encrypt , ref=LEntpd]
Simple NTP (SNTP) implementations
SNTP (RFC 4330):
clockspeed– A simplest available and secure suite of NTP/SNTP client, clock skew eliminator, and precise time synchronization server and client.
dntpd– A simpl
client ntpdin
DragonFly BSD
DragonFly BSD is a free and open-source Unix-like operating system forked from FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and FreeBSD developer between 1994 and 2003, began working on DragonFly BSD in ...
.
ConnMan– ConnMan contains an NTP implementation.
*
BusyBox
BusyBox is a software suite that provides several List of Unix commands, Unix utilities in a single executable file. It runs in a variety of POSIX environments such as Linux, Android (operating system), Android, and FreeBSD, although many of the ...
, since version 1.16.2, has included an SNTP client and server based on OpenNTP.
systemd-timesyncd– A Linux and systemd specific client implementation of SNTP.
See also
*
Precision Time Protocol
The Precision Time Protocol (PTP) is a protocol for clock synchronization throughout a computer network with relatively high precision and therefore ''potentially'' high accuracy. In a local area network (LAN), accuracy can be sub-microsecon ...
*
rdate
*
timed
timed (time daemon) is an operating system program that maintains the system time in synchronization with time servers using the Time Synchronization Protocol (TSP) developed by Riccardo Gusella and Stefano Zatti. Gusella and Zatti had done e ...
References
- Network Time Protocol (NTP) daemon''Mills, D. L. The University of Delaware, USA. 2005. (Date Accessed: 19 August 2005)
External links
Official NTP Documentationfor the current development release
NTP Community Support InformationNTP Development CollaborationNTP Mailing ListsNTP Software ArchiveNTP Documentation Archivefor current development and all stable releases of the NTP codebase
How To: CentOS / Red Hat Linux Configure an NTP Client And ServerSetting up on Linux/Windows/Macintosh the NTP Servers Pooling
Network time-related software