Overview of NTP Servers and the NTP Protocol
Overview of NTP Servers and the NTP Protocol by David
Evans
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. A NTP Server
provides networked clients primarily with three peices of
information: 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. Second
level NTP servers obtain time from primary NTP servers and are used
to spread the load of requests for time from 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). NTP protocol messages consist of a number of
distinct 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.
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 NTP server replies with a time
stamp that the client can utilise for accurate timing. 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 versions of NTP
are backwards compatible and can be freely interchanged.
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. SNTP is
often implemented on Microsoft Windows platforms where many of the
complex algorithms for maintaining accurate time are
unavailable.
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 SNTP and NTP protocols are fully
interchangeable, a SNTP client can synchronise to a NTP server
without any issues.
Dave Evans has a number of years experience as a technical author
in the telecommunications and computer timing industries. Click
here for more information on
Windows NTP Server systems.
Article Directory: Article Dashboard
