When running a single computer system the accuracy of the internal clock is usually of little concern. Whilst a clock which gains or loses a few seconds here or there is an annoyance it is rarely of critical importance.
As soon as a computer is connected to a network of other computers however the time which it keeps becomes of more interest. This is especially true when using shared filesystems, when a modification time which appears in the future may confuse poorly written software, or when trying to debug the interaction of more than one system by examining the combined system logs.
The Network Time Protocol, or NTP as it is more commonly referred, is a protocol for synchronising a set of network clocks using a set of distributed clients and servers. It was first suggested as an Internet Standard in RFC-958◳ and later formalised as an Internet Standard in RFC-1059◳ when version 1 of the protocol was accepted by the IETF. As time went by and limitations of the original protocol became apparent updates to the protocol were adopted, version 2 in RFC-1119◳ and most recently version 3 in RFC-1305◳.
The Network Time Protocol Daemon, or NTPD, is a software implementation of version 3 of the NTP protocol developed by the Network Time Protocol project◳ capable of operating in either client or server roles. With minimal configuration it can be used to synchronise the local clock to a set of reference clock sources and then make this accurate time available to other clients over a network.