Network Time Protocol (NTP)

The Network Time Protocol (NTP) is a time synchronization system for computer clocks through the Internet network, it was mainly developed at the Delaware University in the United States. Tree versions of NTP were defined: the first on 1988, the second on 1989, the third on 1992. The current version is the third that is compatible with the previous ones. To make the use of NTP on personal computers easier, on 1995 it was defined the Simplified NTP (SNTP). The main characteristics of NTP are the following.

working principles
A NTP primary server, also called of stratum 1, is a computer connected to an high precision reference clock and equipped with a NTP software. Other computers, called of stratum 2, equipped with a similar software, automatically query the primary server to synchronize their system clocks. The stratum 2 computers can synchronize other computers, called of stratum 3, and so on until 16 stratums. Going away from stratum 1 toward lower stratums, the synchronization accuracy lowers. In such a framework, each computer can be at the same time a server for the computers belonging to the lower stratum and a client for the computers belonging to the upper stratum. Each server can have some hundreds of clients, so the number of computers that can be indirectly synchronized by one primary server is virtually unlimited. To make the system more reliable, each client can have more the one server in the upper stratum. In this case, the NTP software monitors continuously the figures of stability and accuracy of all configured servers, switching dynamically to the server with the best figures.

synchronization schemes
The figure shows same typical situations of NTP synchronization.

In the case BX a single computer is synchronized to the A1 stratum 1 server.
In the case BY , to have more synchronization reliability, the computer BY is configured with two synchronization servers A1 and A2.
In the case LANZ, an organization that want to synchronize the computers of its network, has chosen a classic solution: two computers of the local network have been set up as NTP local servers and synchronized to three NTP primary servers (A1, A2, A3), then all remaining computers (C1, C2, ..., Cn) have been synchronized to the local servers (B1, B2). This configuration reduces the traffic across Internet between the local network and the primary servers and keeps the configuration of the local network depending only on the local servers (B1, B2) that can be easily reconfigured against the external servers when it is needed.

what is needed
To implement a NTP client or a non-primary server, it is sufficient to install and to configure a NTP software. To implement a NTP primary server, among the software, an external reference clock it is needed, many choices are possible depending on needs and possibilities.

Software for NTP

There are two kind of NTP software: complete and simplified (SNTP). The complete kind implements all the features of NTP. The simplified kind implements a subset of NTP, it can only work as client and can only have defined 1 server at a time.

Some Unix operating systems already include the NTP functionality (e.g. Digital Unix (ex OSF/1) or Ultrix), even if the NTP software is often made of very old versions. For those without this functionality (e.g. AIX 3.2), it is freely available at the Delaware University (U.S.) the xntp software that is a full implementation of NTP. New versions of this software are frequently released, in fact it is still in full evolution. Unfortunately, the xntp contains the DES (Data Encryption System) algorithm which export outside the United States is forbidden. To overcome this drawback, at the same time of the release of a new version, it is occasionally released a version of the same level without the DES. At this time (96/2/26) the export version is aligned to the more recent release: the
In the month of July 1995 at CSTV, a new xntp driver for the reference time signal CTD of the National Electrotecnical Institute "G. Ferraris" of Italy was released. The update was sent to the Delaware University and it was merged into the most recent versions of the xntp software (xntp3.5a).

The xntp software includes among the others, the following programs provided with a wide documentation.

To implement a primary server, the xntp accept more than 20 different type of reference clocks on which to synchronize: GPS, GEOS, OMEGA, CHU, WWV/H/B radio receivers, ACTS, CTD modem time services, atomic clocks.

Windows 95
It can be used the freeware
4th Dimension or the shareware version of Simplified 32 bit NTP (NTSNTP). The TCP/IP protocol must be set up on your Windows installation. For installation see how to configure SNTP.

Windows NT
The same software for Windows 95 can be used.

Windows for Workgroups
There is a shareware version of the
Simplified 16 bit NTP (WINSNTP), it requires the installation of a winsocket compatible TCP/IP (e.g. the TCP/IP32 by Microsoft ). For installation see how to configure SNTP.

Other Information

Synchronization software catalog
A wide list of any kind of synchronization software for any type of computers using NTP or other methods.

NTP primary and secondary servers in the world
A list of servers in the world where to synchronize.

NTP home page
A www site devoted to NTP and all related topics, maintained by the protocol authors.

NTP news
Usenet News discussion list comp.protocols.time.ntp.

These RFC documents (Request For Comment (the standards of Internet)) contains the detailed specifications of the various versions of NTP.

F. Pollastri - The Time of Internet