The NTP Server Protocol Made Easy
The Network Time Protocol, or NTP, is an internet protocol developed to distribute accurate timing information to network time clients. NTP is a client-server based protocol widely used throughout the Internet for accurate time synchronisation. This article describes some of the features of NTP and attempts to simplify some of the terminology used. NTP was originally developed 25 years ago by Dr David Mills of the University of Delaware. The protocol is one of the oldest Internet protocols still in continuous use. Originally developed for the LINUX operating systems, it has since been ported to the Microsoft Windows operating systems.
NTP servers obtain accurate time from an external timing reference, such as GPS or Radio time and frequency transmissions. They provide network time clients with three products: system clock offset, network delay and dispersion relative to an external reference clock.
The Network Time Protocol is structured in a heirachical configuration; primary servers, secondary servers and time clients. Primary NTP servers are synchronised to an accurate external clock and is attributed a stratum, or hierarchy, level of one. Secondary NTP servers synchronise to primary servers and provide a buffer between primary servers and clients. Secondary servers are attributed a stratum of greater than one. As the stratum increases, so the accuracy of the server decreases.
The Network Time Protocol uses the TCP\IP UDP protocol (User Data-gram Protocol). The protocol defines a number of distinct fields in the messages: 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.
A NTP server can operate in three modes: unicast; anycast and multicast. In unicast and anycast modes, the client transmits a NTP request message to the server. The server responds with a NTP time message that the client uses for time synchronisation. In multicast mode, NTP time messages are broadcast at periodic specified intervals.
The current release of NTP is version 4. The only significant modification to the protocol between versions 3 and 4 is a slight header re-interpretation to accommodate IPv6. All new releases of NTP are backwards compatible with previous versions of the protocol.
SNTP, or Simple Network Time Protocol, is a simplification of the full-blown Network Time Protocol. It can be used where the complexities of the full-blown protocol are not required. The SNTP protocol is mainly utilised on Microsoft Windows operating systems which does not have the complex time keeping algorithms of LINUX.
SNTP can be implemented when the high synchronisation performance of NTP is not required. The message format of the SNTP protocol is almost identical to that of the NTP protocol. However, the complex subroutines designed to maintain a highly accurate synchronised time are removed or simplified. Small computers with reduced processing power, such as micro-controllers or monitoring equipment most often use SNTP. The NTP and SNTP protocols are interoperable and can be interchanged without problem.
About the Author
Dave Evans has a number of years experience as a technical author in the telecommunications and computer timing industries. For more information on Windows NTP Server systems, please visit http://www.timetools.co.uk/ntp-servers/ref/ntp-server-windows.htm
Tell others about
this page:
Comments? Questions? Email Here