NTP, or Network Time Protocol, is a standard Internet protocol used to distribute accurate time to client computers. NTP is freely downloadable from the NTP website. With the addition of an accurate reference clock, you can build your own highly accurate stratum one NTP Server. This article describes how to build and configure your very own stratum one NTP Server. By adding a low-cost GPS or radio time reference to your Linux machine, you can have your very own highly accurate time reference. Your NTP server can be used to synchronize all the machines on your network to the precise time. NTP is available as source code for compilation and configuration on a Linux machine. The source code freely downloadable from the NTP.org website. Many Linux distributions, such as Redhat and Debian have a pre-installed version of NTP. Other distributions may include it as an installable RPM. In order to build a stratum one NTP server, you need an accurate external timing reference. Many timing references are available, most utilise GPS or national time and frequency radio sources such as WWVB, DCF77 and MSF. The Global Positioning System (GPS) is a great timing reference, since it is available worldwide and the equipment required for receiving time and positioning information is very low-cost. Most GPS receivers have a RS232 serial port that can be easily interfaced to a PC. The receiver generally provides continuous time and positioning information in a standard format known as NMEA. An NTP server can utilise the timing information provided by a NMEA receiver as an accurate timing reference. Additionally, some receivers also provide a highly accurate pulse output that can be utilised by a NTP server as a highly precise epoch. Any timing pulse generated by a GPS receiver may need to be converted into a usable RS232 signal level. This can be achieved by feeding the pulse into a RS232 driver chip. Many radio based reference clocks are available that utilise national time and frequency standards. WWVB is a US radio time and frequency transmission, DCF77 is transmitted from Germany, MSF is available throughout the UK. The advantage of a radio signal as a reference clock for your NTP server is that you can usually pick up a good signal indoors, close to the NTP server. In contrast, GPS requires an antenna with a good view of the sky. Once you have your NTP server external reference clock set-up and installed, you need to configure the clock in the NTP configuration file 'ntp.conf'. This usually involves finding and specifying the reference clock code for your timing reference. Once configured, your NTP server will act as an accurate source of time for your network time clients. Most modern computers operating systems can utilise NTP to synchronize time. Linux and Unix machines can utilise the NTP distribution itself. Modern Windows operating systems such as XP and 2003 have pre-installed SNTP clients that can point to the IP address or DNS name of a NTP server for synchronisation. Many network devices such as routers and switches can also utilise your NTP server for synchronization.