NTP is an abbreviation of Network Time Protocol. NTP is a standard computer protocol used throughout the internet as a means of achieving and maintaining the synchronization of time of computers and other network infrastructure. This article attempts to describe how NTP works and why a NTP time server is generally considered to be an essential part of modern computer systems, it covers:
- NTP time servers
- NTP stratum.
- Precision oscillators.
- Client software.
NTP Time Servers
A NTP server is basically a device that receives precise time from an external hardware clock and provides a network with an accurate timing reference. Accurate time is maintained internally and passed to network time clients on demand. Any network device can contact a NTP server to request time and to synchronize its system clock. In this way networks of computers can synchronize time to an accurate reference.
NTP is essentially a hierarchical protocol. It has a series of levels or ‘stratum’. Each stratum is synchronized to the level above in the hierarchy. At the top-level, a stratum 1 server obtains accurate time from an external hardware clock. It is the most accurate time reference, since it synchronizes directly to an external time reference.
Lower stratum time servers synchronize to the stratum above and provide consistently less accuracy. Using a hierarchical system, in this manner, has the advantage of allowing multiple time servers to take workload away from the most accurate references and prevents them from becoming swamped.
There are a number of external reference clock time sources available, the most common being GPS. Each GPS satellite has an onboard atomic clock that can provide extremely accurate timing information. National radio time and frequency broadcasts are also a good source of accurate time.
Many time servers also contain precise crystal oscillators that can be used as backup timing references. A backup timing reference provides extended holdover while external references are unavailable. A number of different types of oscillator are available, the most accurate, and expensive, being Rubidium. However, good price / performance alternatives are available. An OCXO, Oven-Controlled Crystal Oscillator, is an oscillator that is housed in a very small constant temperature oven. Since the greatest cause of drift in crystals is temperature variation, OCXO’s attempt to minimize drift by maintaining a constant temperature. Temperature-Controlled Crystal Oscillators (TCXO’s), work on a very similar principle to OCXO’s by attempting to minimize drift. However, rather than using a miniature oven to maintain a consistent temperature, they increase or decrease the frequency of an oscillator according to a pre-programmed map in order to compensate for any temperature induced variance.
Modern operating systems provide integrated NTP client software, which allow the system time synchronization to a time server. LINUX and UNIX operating systems have a freely available GNU public licence NTP client available. Microsoft incorporates the ‘Windows Time’ service in the latest Windows operating systems, which has NTP functionality. Additionally, Novell also provides NetWare Loadable Modules (NLM) for synchronization of NetWare servers.
With the advent of distributed computer applications, time synchronization of computer systems is becoming more and more critical. The Network Time Protocol (NTP) and its simpler sister protocol, SNTP, is becoming pivotal in the successful design and implementation of modern computer systems.