This article describes the Network Time Protocol and provides an overview of how NTP servers utilise NTP to provide an accurate source of time to network time clients.
This article describes the Network Time Protocol and provides an overview of how NTP servers utilise NTP to provide an accurate source of time to network time clients.
A Brief HistoryThe NTP protocol is one of the oldest Internet protocols still in use today. It has been in continuous use for more than 25 years. The protocol was originally designed to synchronise computers and time critical processes across the Internet. Initially developed for the Linux operating system, the protocol has recently been partly ported to the Microsoft Windows operating system. NTP is installed by default in many Linux Unix and Free BSD distributions. Most NTP server systems utilise the Linux operating system due to its specialised kernel timing algorithms.
About the ProtocolNTP is a client-server based protocol. The NTP protocol provides clients with 3 fundamental products: system clock offset, round-trip delay and time dispersion of a specified external reference clock (such as GPS). The clock offset specifies the difference between the local system time and an external reference clock. The round-trip delay specifies the time latencies measured during the transfer of packets around the network. Time dispersion specifies the maximum error associated with timing information received from the external reference clock.
The NTP protocol has a hierarchical structure. A stratum 1 time server is the primary reference server and sits at the top of the heirachy. The primary reference server it is followed by secondary reference servers and clients. A primary reference NTP server is generally synchronised by an external timing reference, such as a radio or GPS clock. At the highest level a primary reference NTP server has a stratum of one. Each lower-level NTP server and client is attributed a stratum one greater than the previous level. As the stratum increases, accuracy decreases due to inconsistencies in network path timing.
Network Time Protocol uses the UDP protocol which is an integral part of the TCP/IP protocol suite. Each NTP message consists of a number of fields: Leap Indicator; Version Number; Mode; Stratum; Poll; Precision; Root Delay; Root Dispersion; Reference Identifier; Reference Timestamp; Originate Timestamp; Receive Timestamp; Transmit Timestamp; Key Identifier and Message Digest. The fields are used to identify messages and provide time stamp and round-trip delay information.
The current release of NTP is version 4. All versions of the protocol are backwards compatible with previous versions. The only significant modification to the protocol between versions 3 and 4 is a slight header re-interpretation to accommodate IPv6.
NTP Server Modes of OperationA stratum 1 NTP server has three modes of operation: unicast; anycast and multicast. The client initiates the unicast and anycast modes, the server responds with a NTP time message that the client uses for synchronisation. Multicast is a broadcast mode of operation, at periodic intervals time messages are broadcast to the entire sub-domain.
Accurate External Reference ClocksThe standard NTP distribution can operate with a number of external time references, or ‘reference clocks'. The Global Positioning System (GPS) is a popular choice since it provides a global precise time reference. A number of national time and frequency radio broadcasts are also available, such as WWVB (US), DCF-77 (Germany) and MSF (UK).
The Simple Network Time Protocol (SNTP)SNTP is a simplified version of the full-blown Network Time Protocol. SNTP is generally used where the complexities and high accuracy of the NTP protocol is not required. The SNTP protocol is often used by micro-controllers and SBC computers. The SNTP and NTP protocols are fully interchangeable. Any SNTP client can synchronise with a full-blown NTP server.
Why Does My Organisation Need a NTP Time Server?
This article attempts to clearly and simply describe what a NTP server is and why it is an essential part of a modern computer network infrastructure.Network Time Synchronisation using GPS
This article describes the components required to utilise GPS for computer timing applications. It also discusses how the GPS system can be used for computer network timing by using the Network Time Protocol (NTP) and NTP time servers.Installing a Radio Referenced NTP Server
Many networks in organisations suffer from a lack of time synchronisation between servers, workstations and other network components. This can lead to problems processing time critical information and transactions. However, a solution has been available for many years in the form of NTP.