Network Time Protocol (NTP) is a standard protocol for the transfer of time across the Internet and computer networks. The NTP protocol source code is ?open source' and can be freely downloaded from the NTP web site. The NTP primary development platform is LINUX but ports to Windows are also available.
This article describes how to debug a NTP server installation after compilation and configuration of the distribution.
NTP Server Debugging
Once the NTP distribution is installed and configured, correct operation needs to be verified. NTP includes a number of tools that can be used to query and debug a NTP server. The most widely used tool is ?ntpq' ? the standard NTP query utility. The ?ntpq' utility can be run on the NTP Server installation or from any other computer on the network. The utility can be used to inspect NTP Server system variables to verify correct operation.
Using ?ntpq' ? The NTP Query Utility
The ?ntpq' utility is run from a Linux command prompt. It can be run with a number of command line options. The most useful parameter is the ?-p' option which display NTP server peer variables. Run the ntpq utility with the ?p option, thus:
>ntpq ?p 192.168.0.1 # where 192.168.0.1 is the IP address of the NTP server.
If the ntpq utility is run on the NTP server, the IP address may be omitted. Output similar to the information below may be generated.
remote refid st t when poll reach delay offset jitter
*127.127.0.32 .GPS. 1 u 18 64 377 0.000 0.412 0.015
+127.127.0.7 .MSF. 1 u 18 64 377 1.622 0.546 1.125
This first character on the left margin indicates the synchronisation status of each reference peer in the list. The currently selected reference peer is indicated by an asterisk (?*'). Additional peers marked with a ?+' are also used in the computation, while peers marked with any other symbol are not used.
The ?remote' address corresponds to the server or peer entries in the NTP server configuration file. The ?refid' field indicates the time source utilised by the server. The ?st' field indicates the stratum, ?t' indicates type; unicast, multicast or local. The ?when' field indicates the time since the reference was last contacted. The ?poll' field indicates the polling frequency of the reference. The ?delay' field provides the round-trip delay when contacting the reference. The ?offset' field is the difference between the reference time and the server time. The ?jitter' field indicates the dispersion of time stamps received from the reference.
In the event of problems synchronising to a reference peer, a four-character status string is entered in the ?refid' field. The status fields may consist of one of:
ACST - The association belongs to a anycast server.
AUTH - Server authentication failed.
AUTO - Autokey sequence failed.
BCST - The association belongs to a broadcast server.
CRYP - Cryptographic authentication or identification failed. The details should be in the system log file or the cryptostats statistics file, if configured. No further messages will be sent to the server.
DENY - Access denied by remote server. No further messages will be sent to the server.
DROP - Lost peer in symmetric mode. Please wait while the association is restarted.
RSTR - Access denied due to local policy. No further messages will be sent to the server.
INIT - The association has not yet synchronized for the first time.
MCST - The association belongs to a manycast server.
NKEY - No key found. Either the key was never installed or is not trusted.
RATE - Rate exceeded. The server has temporarily denied access because the client exceeded the rate threshold.
RMOT - Somebody is tinkering with the association from a remote host running ntpdc. Not to worry unless some rascal has stolen your keys.
STEP - A step change in system time has occurred, but the association has not yet resynchronized.
Ntp Server On Windows
NTP was developed over 25 years ago as a means of synchronising time on client machines across the Internet. The Network Time Protocol is one of the oldest Internet protocols still in use today. NTP was originally developed for Linux but has been ported to the Microsoft Windows operating systems. NTP provides a suite of programs that allow a client to synchronise to within fractions of a second of an accurate timing reference.
Combining an accurate external timing reference with the NTP application provides a highly accurate network timing device. This article describes how to utilise a low-cost GPS receiver in combination with the NTP software distribution to provide an accurate stratum 1 NTP server timing reference.
The NTP source code can be obtained from the NTP website and must be compiled on the local machine. The distribution extracts to a working directory where simple configuration and compilation scripts are available to install the software. Many Linux distributions provide pre-installed versions of the software. To set up and install a stratum 1 time server a stable external timing reference is required. The NTP software provides a large number of reference clock drivers that can be utilised to interface with a range of hardware timing references. Dedicated hardware timing devices can be prohibitively expensive. However, the popularity of GPS navigation devices has reduced the cost of GPS technology. Low-cost GPS receivers are now readily available from around $100. Many GPS receivers have a RS232 serial communications port, which can easily be connected to a PC. Many low-cost GPS devices use the NMEA protocol, which is a standard GPS protocol for providing location and timing information. The timing information can be utilised by the NTP software as an accurate timing reference to provide a stratum 1 NTP server.
The NTP software needs to be compiled with the NMEA reference clock driver to interface with the GPS receiver. Once compiled the application must be configured to utilise the correct serial port. On completion, the NTP software will provide a highly accurate stratum 1 NTP server resource.
A NTP server can be utilised to synchronise time on most computer operating systems and network infrastructure. Any network device that has an integrated NTP client can be configured to synchronise time with the NTP server. Generally, clients only need the IP address of the NTP server for synchronisation. With a NTP server, you can synchronise almost any device on your network.
Christian View On Abortion A major source for this article was Lights in the Sky and Little Green Men A Rational Christian Look at UFOs and Extraterrestials by Ross, Samples and Clark