The Network Time Protocol (NTP) is a protocol designed purely for the transfer of accurate time around a computer network. The protocol allows network clients to accurately synchronize system time with a precise reference clock. This article describes what a NTP server is, how it operates, and why modern organizations need synchronized network time.
A NTP server is a network device that obtains accurate time information from an external timing reference. Accurate time is maintained internally by the device and provided to any network client that requires it. Any device on a network can synchronize it's internal system time to a NTP server. In this manner whole networks of computer systems can maintain synchronization with an accurate reference.
NTP is a hierarchical protocol. At the highest level is a stratum1 primary reference NTP time server. A stratum 1 server obtains accurate time from an external hardware clock. A stratum 1 server is the most accurate reference, since it synchronizes directly to a prerequisite external source of time. Time servers lower down the hierarchy synchronize to the stratum above and provide consistently less accuracy. However, using a hierarchical system allows multiple time servers to take work away from the most accurate references and results them from becoming swamped with requests for time.
A number of external timing references, or hardware clocks, are available that provide accurate time. The Global Positioning System, GPS, is by far the most popular source of time for external reference clocks. The GPS constellation of satellites each has super-accurate synchronized atomic clocks on board to provide precise timing information. GPS timing information can be received worldwide, provided an antenna can be shown a good view of the sky.
National radio time and frequency broadcasts are also a good source of accurate time. Radio time signals can generally be received by an indoor antenna within the broadcast range of the transmission. A number of broadcasts are available around the world including; MSF (UK), DCF-77 (Germany), WWVB (USA) and JJY (Japan).
Many NTP time servers also contain precision backup reference clocks in order to maintain accurate time during signal outages. A backup reference clock provides extended holdover while external reference clock time is unavailable. A number of backup timing solutions are available, the most accurate, and expensive, being a Rubidium Oscillator. These highly stable oscillators maintain very accurate holdover for extended periods of time.
Good price / performance alternatives are OCXO and TCXO oscillators. An OCXO, Oven-Controlled Crystal Oscillator, is a crystal oscillator that is housed in a very small oven to maintain constant temperature. Since the greatest cause of drift in crystals is temperature variation, OCXO's attempt to minimize drift by maintaining a constant temperature.
TCXO, Temperature-Controlled Crystal Oscillators, work on a similar principle. However, rather than maintain a constant temperature, they speed up or slow down slightly to compensate for any temperature variation. These various oscillators are disciplined by the GPS time signal to provide a very stable time output to maintain holdover during signal outages. This allows networks to remain synchronized when external reference clock synchronization is lost.
Most modern computer operating systems provide integrated NTP client software, which allow synchronization to a time server. LINUX and UNIX operating systems have a freely available GNU public license NTP client available. The Microsoft Windows operating system utilizes the 'Windows Time' service to provide NTP synchronization. Additionally, Novell also provides loadable modules for synchronization of Netware servers.
Many modern computing applications are distributed systems operating across a large number of individual machines. Without synchronization of cooperating devices many problems can arise. Event logging may not provide a true representation of a specified event occurred. Synchronized time is required to ensure time-stamped transactions are generated in the correct order. Many modern computer applications require accurate timestamps for correct operation. NTP is used throughout the Internet to synchronize the network infrastructure. It is also adopted by most organizations to provide an accurate, traceable, source of time for networked computing equipment. NTP is the 'de facto' standard protocol for network time distribution.