Category: Time Synchronisation

How to Build and Configure Your Own Radio Referenced NTP Time Server

  |   By

Many people are probably familiar with the Internet Time tab when setting their clock in Windows. This is a basic form of NTP (Network Time Protocol) called SNTP (Simple Network Time Protocol) that polls a NTP server every so often to synchronize time to. However, full NTP does a lot more, such as polling several servers to determine what is the best and most stable times source.

Creating your own NTP time server is relatively straightforward and if you are a resident of the US then the simplest way is to use a relatively cheap receiver module, set to receive the WWVB timing signal which is broadcast by NIST (National Institute of Standards and Time) at a frequency of 60 kHz.

To create your own product using the WWVB time signal, WWVB receiver modules, are readily available at low cost. When looking for a receiver module there are several points to consider:

There should be a simple interface to allow easy integration of accurate timekeeping into electronic equipment etc. The receiver should use dedicated chips designed specifically to receive the WWVB (USA) time signal. The advantage of these over other solutions is that the modules include the necessary support electronics, tuned crystals, etc and are preassembled, tested and are usually in miniature form.

When combined with a suitable Antenna the receiver module acts as a complete time code receiver, providing a serial digital data output stream for external decoding.

Once assembled and tested so the module is receiving a signal it can then be connected to your computer or server.

Once connected the time server should be configured using the registry editor. Simply follow these steps:

Locate the following subkey: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParametersType
In the right pane, right-click Type then click Modify, in edit Value type NTP in the Value data box then click OK.

Locate the following subkey: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfigAnnounceFlags.

In the right pane, right-click AnnounceFlags and click Modify. The ‘AnnounceFlags’ registry entry indicates whether the server is a trusted time reference, 5 indicates a trusted source so in the Edit DWORD Value box, under Value Data, type 5, then click OK.

To enable the Network Time Protocol; NTPserver, locate and click: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpServer

In the right pane, right-click Enabled, then click Modify. In the Edit DWord Value box, type 1 under Value data, then click OK.

Now go back and click on: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParametersNtpServer

In the right pane, right-click NtpServer, then Modify, in the Edit DWORD Value under Value Data type In the right pane, right-click NtpServer, then Modify, in the Edit DWORD Value under Value Data type the Domain Name System (DNS), each DNS must be unique and you must append 0x1 to the end of each DNS name otherwise changes will not take effect.

Now click Ok then locate and click the following: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpClientSpecialPollInterval

In the right pane, right-click SpecialPollInterval, then click Modify. In the Edit DWORD Value box, under Value Data, type the number of seconds you want for each poll, ie 900 will poll every 15 minutes, then click OK.

To configure the time correction settings, locate: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32Timeconfig

In the right pane, right-click MaxPosPhaseCorrection, then Modify, in the Edit DWORD Value box, under Base, click Decimal, under Value Data, type a time in seconds such as 3600 (an hour) then click OK.

Now go back and click: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32Timeconfig In the right pane, right-click MaxNegPhaseCorrection, then Modify.

In the Edit DWORD box under base, click Decimal, under value data type the time in seconds you want to poll such as 3600 (polls in one hour)Exit Registry Editor

Now, to restart windows time service, click Start, Run (or alternatively use the command prompt facility) and type:

net stop w32time && net start w32time. And that’s it your time server should be now up and running.

Atomic Clocks and NTP Servers

  |   By

This article explains the origins and workings of atomic clocks and how they are used to synchronise computer networks all over the world using NTP servers.

In conventional electronic clocks time is kept by running an electrical current through an oscillator which produces a repetitive electrical signal this is then governed by a quartz crystal to keep precision. These crystal oscillators are far more accurate than mechanical clocks but will still drift, perhaps over a second a week.

For day-to-day use crystal oscillators are a fine way to keep track of time; in the everyday running of our lives, a second makes very little difference, however, as light or radio waves can travel 300,000 miles in a second, some high technologies such as satellite navigation or global communication, require far more accuracy to be possible.

Atomic clocks are a timekeeping device that uses the known atomic resonance frequency of an atom to keep time. The first truly accurate atomic clock was built in 1955 at the National Physical Laboratory in the UK and was based on the caesium atom -133 which oscillates at exactly 9,192,631,770 every second.

This oscillation is actually a repetitive signal from the microwave radiation emitted by electrons in an atom when they change energy levels. Much of an atomic clock is designed to create the correct state to cause and augment oscillations.
Although other atoms can be used, the oscillation (9,192,631,770 a second) of the caesium -133 atom is now accepted by the International System of Units as being the definition of one second.

Atomic clocks are generally very large and constitute many highly technical apparatus such as vacuums and require whole teams of scientists to maintain and monitor the clocks. Much of which goes into compensating for  unwanted side-effects such as frequencies of other atoms in the clock and even gravitational dilation (where according to Einstein’s theory clocks at different heights run differently because of the differences in the gravitational field)  This makes atomic clocks highly expensive.

Fortunately many large scale national physical laboratories transmit radio time signals from their atomic clocks which can be used to synchronise standard crystal oscillators too.

Atomic clocks are also the basis of GPS (Global Positioning System) as each satellite contains an atomic clock as accurate time is integral for positioning (a position anywhere is made up of a direction, a velocity and time).
GPS signals can also be used to capture a time signal. This is now the most common way computer networks retain accurate time which is also essential in many communications and applications.

Most computer networks use a NTP server (Network Time Protocol) to synchonise their devices to an atomic time signal received via the GPS network.

A universal timescale, UTC (Coordinated universal Time), has been developed based on the time told by atomic clocks, TAI (International Atomic Time). UTC accounts for the slowing of the Earths rotation by adding leap seconds to TAI so as to prevent the gradual drift of night into day (although that would take 40,000 years or so) and allows the whole world to communicate using the same timescale.

Configuring a Windows Based NTP Network Time Server

  |   By

Summary: This article describes how to configure Windows to act as an authoritative time server using NTP (Network Time Protocol).

Computer time synchronisation is highly important in modern computer networks, precision and time synchronization is critical in many applications, particularly time sensitive transactions. Just imagine buying an airline seat only to be told at the airport that the ticket was sold twice because it was purchased afterwards on a computer that had a slower clock!

Modern computers do have internal clocks called Real Time Clock chips (RTC) that provide time and date information. These chips are battery backed so that even during power outages, they can maintain time but personal computers are not designed to be perfect clocks. Their design has been optimized for mass production and low-cost rather than maintaining accurate time.

For many applications, this is can be quite adequate, although, quite often machines need time to be synchronised with other PC’s on a network and when computers are out of sync with each other problems can arise such as sharing network files or in some environments even fraud!

Microsoft Windows (2000 and above) has a time synchronisation utility built into the operating system called Windows Time (w32time.exe) which can be configured to operate as a network time server. It can be configured to both synchronise a network using the internal clock or an external time source.

Note: Microsoft strongly recommends that you configure a time server with a hardware source rather than from the internet where there is no authentication.

To configure Windows Time service to use the internal hardware clock, first check that w32time is located in the system services list in the registry, to check:
Click Start, Run then type regedit then click ok.
Locate and then click the following registry entry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time

It is highly recommended that you back up the registry as serious problems may occur if you modify the registry incorrectly, modifications to the registry are done at your own risk.

Note: the following instructions are based on Windows 2000 other versions of Windows may differ.

To begin configuration for an internal clock, click on the following subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
In the right pane, right-click ReliableTimeSource, then click Modify.
In Edit DWORD Value, type 1 in the Value Data box, then click OK
Exit Registry Editor

To restart the Windows Time Service click Start, Run (or alternatively use the Command Prompt facility).
Type: net stop w32time && net start w32time
Then press enter.

To reset the local computers’ time, type the following on all computers except for the time server which must not be synchronised with itself:
w32tm –s

To configure the Windows Time service to use an external time source, click Start, Run and type regedit then click OK.

Locate the following subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
In the right pane, right-click Type then click Modify, in edit Value type NTP in the Value data box then click OK.

Now in the right pane, right click ReliableTimeSource, then click Modify.
In the Edit DWORD Value box, under Value Data, type 0, then click OK.

Right-click NtpServer in the right pane then click Modify.
In Edit Value, type the Domain Name System (DNS), each DNS must be unique.
Now click Ok.

For Windows 2000 Service Pack 4 only, set the time correction settings to do this locate:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
In the right pane, right-click MaxAllowedClockErrInSecs, then Modify in the Edit DWORD Value box, , type a time in seconds max number of seconds difference between the local clock and the time received from the NTP server in order to be considered a valid new time.
Click OK.

To set the poll intervals locate:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
In the right pane, right-click Period, then click Modify.
In the Edit DWORD Value box, under Value Data, type 24 then OK
Exit Registry Editor

Click Start, then Run then type the following and press Enter:
Net stop w32time && net start w32time

To reset the local computers’ time, type the following on all computers except for the time server which must not be synchronised with itself:

Network Time Protocol (NTP) is an Internet protocol used for the transfer of accurate time, providing time information along so that a precise time can be obtained

To enable the Network Time Protocol; NTPserver, locate and click:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\
In the right pane, right-click Enabled, then click Modify.
In the Edit DWord Value box, type 1 under Value data, then click OK.

Now go back and click on
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer
In the right pane, right-click NtpServer, then Modify, in the Edit DWORD Value under Value Data type In the right pane, right-click NtpServer, then Modify, in the Edit DWORD Value under Value Data type the Domain Name System (DNS), each DNS must be unique and you must append 0x1 to the end of each DNS name otherwise changes will not take effect.
Now click Ok.

Locate and click the following
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval
In the right pane, right-click SpecialPollInterval, then click Modify.
In the Edit DWORD Value box, under Value Data, type the number of seconds you want for each poll, ie 900 will poll every 15 minutes, then click OK.

To configure the time correction settings, locate:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\config
In the right pane, right-click MaxPosPhaseCorrection, then Modify, in the Edit DWORD Value box, under Base, click Decimal, under Value Data, type a time in seconds such as 3600 (an hour) then click OK.

Now go back and click:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\config
In the right pane, right-click MaxNegPhaseCorrection, then Modify.
In the Edit DWORD box under base, click Decimal, under value data type the time in seconds you want to poll such as 3600 (polls in one hour)

Exit Registry Editor
Now to restart windows time service, click Start, Run (or alternatively use the command prompt facility) and type:
net stop w32time && net start w32time

And on each computer, other than the time server, type:
W32tm/ -s

And that’s it your time server should be now up and running.

Confrontation in Time Keeping

  |   By

This article explores the concept of keeping time and how human measurement of time is at odds with that of a computer.

Time is certainly a concept most of us take for granted, it passes us by and we only notice it when we catch a glimpse of a grey hair in the mirror or arrive late for that important meeting. Yet keeping track of the time has occupied mankind for millennia.
From early sundials and water timers to modern digital watches and atomic clocks, humans have found more and more accurate and innovative ways of telling the time.

Computers also need to know the correct time. Accuracy is essential in keeping the Internet and computer networks communicating with each other but to a computer the passing of time is a simple equation based on the accumulation of discrete moments added to a base time, normally the number of seconds from that point in time.

Humans on the other hand have a variety of different notions   about how to measure time. We separate it in to seconds, minutes, days, weeks, months, years, decades centuries and even millennia.

And this is wehere the problem lies as historically we have forced time to correspond with the orbit and rotation of the Earth, called solar time, which as it turns out is not that precise, well not enough for a computer anyway.

Computer networks use Network Time Protocol (NTP), the time synchronization standard used by on the Internet to keep at the same time. NTP lets machines query regional time servers that get the Universal Coordinated Time UTC from highly accurate reference clocks either from the Internet or through radio or GPS receiver.

However, UTC is based on atomic time and it differs from the Earth’s rotational time (solar system) because the day is slowly lengthening. The moon’s gravity lengthens the global turn by roughly 1.4 milliseconds — that is, thousandths of a second — per day per century. Since 1820, what we think of as a 24- hour period has gotten 2 milliseconds longer.

As a result, atomic time differs from solar time by one second about every 500 days. To adjust leap seconds are added every year or so. However as computers become more reliant on accuracy this leap second can cause problems as a second can be a vasrt amount in some time sensitive applications.

Some suggest to combat this problem leap seconds should be eliminated and the world should stick with just atomic time even though that would result in sun at midnight and dark during the day (albeit in 43,000 years time).  Others argue that having a time scale based on the Earth’s rotation is primitive and not needed in the modern age, although many farmers and astronomers are keen to argue the opposite.

However, as atomic clocks and computers become increasingly more accurate and precise it seems that humans and our spinning world are not going to be able to keep up.

Configuring Windows 2003 to run as a NTP Network Time Server

  |   By

This article explains how to configure Windows 2003 to run as a Network Time Server.

Time synchronisation in modern computer networks is essential, all computers need to know the time as many applications, from sending an email to storing information are reliant on the PC knowing when the event took place.

Microsoft Windows Server from 2000 onwards has a time synchronisation utility built into the operating system called Windows Time (w32time.exe) which can be configured to operate as a network time server.

Windows 2003 Server can easily set the system clock to use UTC (Coordinated Universal Time, the World’s time standard) by accessing an Internet source (either: time.windows.com or time.nist.gov). To achieve this, a user merely has to double click the clock on their desktop and adjust the settings in the Internet Time tab.

It must be noted however, that Microsoft and other operating system manufacturers strongly advise that external timing references should be used as Internet sources can’t be authenticated.

To configure the Windows Time service to use an external time source, click Start, Run and type regedit then click OK.
Locate the following subkey:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type

In the right pane, right-click Type then click Modify, in edit Value type NTP in the Value data box then click OK.

Locate the following subkey:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags.

In the right pane, right-click AnnounceFlags and click Modify. The ‘AnnounceFlags’ registry entry indicates whether the server is a trusted time reference, 5 indicates a trusted source so in the Edit DWORD Value box, under Value Data, type 5, then click OK.

Network Time Protocol (NTP) is an Internet protocol used for the transfer of accurate time, providing time information along so that a precise time can be obtained.

To enable the Network Time Protocol; NTPserver, locate and click:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\

In the right pane, right-click Enabled, then click Modify.

In the Edit DWord Value box, type 1 under Value data, then click OK.

Now go back and click on

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer

In the right pane, right-click NtpServer, then Modify, in the Edit DWORD Value under Value Data type In the right pane, right-click NtpServer, then Modify, in the Edit DWORD Value under Value Data type the Domain Name System (DNS), each DNS must be unique and you must append 0x1 to the end of each DNS name otherwise changes will not take effect.

Now click Ok.

Locate and click the following

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval

In the right pane, right-click SpecialPollInterval, then click Modify.

In the Edit DWORD Value box, under Value Data, type the number of seconds you want for each poll, ie 900 will poll every 15 minutes, then click OK.

To configure the time correction settings, locate:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\config

In the right pane, right-click MaxPosPhaseCorrection, then Modify, in the Edit DWORD Value box, under Base, click Decimal, under Value Data, type a time in seconds such as 3600 (an hour) then click OK.

Now go back and click:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\config

In the right pane, right-click MaxNegPhaseCorrection, then Modify.

In the Edit DWORD box under base, click Decimal, under value data type the time in seconds you want to poll such as 3600 (polls in one hour)

Exit Registry Editor

Now, to restart windows time service, click Start, Run (or alternatively use the command prompt facility) and type:

net stop w32time && net start w32time

And that’s it your time server should be now up and running.

Technology and the Importance of Time

  |   By

Technology and the Importance of Time

This article explores the concept of time, how it is measured and how our technologies have required more and more accurate ways of measuring time.

It is a question that has perplexed philosophers and scientists since the dawn of man, ‘what exactly is time?’ and it has only been in our recent history that we have started to discover answers, thanks to Einstein and his work on special and general relativity.

We now know time is not the abstract concept we first thought it was, we also know it is not constant and is relative to different observers throughout the universe with the speed of light being the only constant in the universe.

In other words if the speed of light has to be the same for everybody then someone travelling at close to such a speed would find time slow down.

Fortunately as all humans live within the boundaries of the planet Earth it means the passing of time is very similar for us all (or so minutely different as to be impossible to measure). However, technologies such as satellites and GPS systems have to take into account this altering state of time otherwise they would become wholly inacurate.

As humans have progressed, telling the time with ever increasing accuracy has become more and more important. Historically, knowing the time was not so imperative. People needed to know the correct day to plant crops or when sunrise and sunset happened but accuracy was not a preoccupation.

However, since the invention of the mechanical clock followed at the turn of the twentieth century by electronic clocks, humans have started to rely on more and more accuracy for their technologies.

Seafaring, aviation and now space travel mean that humans have sought more and more accuarte ways of keeping time.

In the 1950’s atomic clocks were developed which were so accurate it was discovered that the revolution of the Earth, something we had based our timescale on for centuries, was no where near as accurate as these new clocks.

Now technologies such as the Internet, the Global Positioning System and satellite communication requires absolute precision as light can travel 300,000 km every second meaning accuracies of a split second could mean our satellite navigation systems could be out by thousands of miles and computer trading would be nigh on impossible.

Fortunately a global time scale, UTC (Coordinated Universal Time), has been developed and is based on the time told by atomic clocks. This allows systems all over the world to be synchronised to the exact same time.

Computer networks use the NTP protocol (Network Time Protocol) to receive a UTC timing reference and synchronise all machines on a network to that time.

NTP servers can receive a time reference over the Internet (although not very secure) from a national radio transmission (as long as the receiver is within range of a suitable transmission) or from the GPS network (via a rooftop GPS antenna).

Keeping Accurate Time on Linux when Running a NTP Time Server

  |   By

Linux operating systems are becoming increasingly popular partly due to the many advantages they have over commercial systems like Windows or OS X. Linux offers increased security (as there are only a handful of viruses that can infect a Linux based system), better stability and in most cases it is free.

It is no wonder more and more home and business users alike are opting to switch to a Linux based operating systems and whether it is Redhat, Mandrake, Ubuntu or the myriad of other UNIX and LINUX based systems, keeping accurate time is relatively straight forward.

Time synchronisation is vital in many time-sensitive applications and most business users find it would be impossible to conduct any online transactions without a synchronized network. Even home-users find an advantage in ensuring their system is running accurate time, emails no longer arrive before they are sent and security is increased.

Most Linux based operating systems contain a version of Network Time Protocol (NTP) an Internet protocol designed to synchronise time on a network. For those that do not contain a pre-packed version, NTP is open source and freely available at ‘ntp.org’.

While NTP is available for most versions of Windows; Linux users have the advantage in that it has traditionally been the primary development platform for NTP. It works by using a timing source either from the Internet or via a dedicated network time server.
These reference clocks run UTC time (coordinated universal time) a global timescale which is relayed to them from atomic clocks that are accurate to a few nanoseconds (a nanosecond is a billionth of a second).

Put simply, the NTP daemon (a service program that runs in the background) compares the time on the computer with the timing source at regular intervals and adjusts it depending on any drift.

The NTP daemon is configured using the ‘ntp.conf’ file. The configuration file is where the location of the NTP timing servers are stored. If attempting to use a public internet timing source it is advised to visit https://www.pool.ntp.org which has a collection of over 200 servers.

However Microsoft and Novell, strongly advise that internet based timing sources are not used as they are unauthenticated and can leave a gateway open for malicious attacks.

Alternatively and most preferably, dedicated NTP time servers are available which provide better accuracy and are far more secure. These time servers receive a timing source from either a national radio broadcast (such as WWVB in the US or MSF in the UK) or via the GPS system.

Once installed these systems continually check the time on all the network computers’ clocks and adjusts them for any drift. A typical GPS receiver can provide timing information to within a few nanoseconds of UTC while national time and frequency transmissions are accurate to 1 – 20 milliseconds (a millisecond is 1/1000 of a second).

Using WWVB as a Timing Reference for NTP Servers

  |   By

Atomic clocks are incredibly expensive and generally they are normally only to be found in large scale physics laboratories such as MIT (Massachusetts Institute of Technology), NIST (National Institute of Standards and Technology (Colorado) or the National Physical Laboratory in the UK.

Fortunately many national laboratories broadcast the UTC (Coordinated Universal Time) time from their atomic clocks via a radio transmission.

In the US the national timing broadcast is called WWVB and is broadcast by NIST (National Institute fro Standards and Time) in Fort Collins, Colorado. The WWVB broadcast is used by millions of people throughout North America to synchronize consumer electronic products like wall clocks, clock radios, and wristwatches. In addition, WWVB is used for high-level applications such as network time synchronization utilizing NTP.

The time code contains the year, day of year, hour, minute, second, and flags that indicate the status of Daylight Saving Time, leap years, and leap seconds.

WWVB broadcasts on 2.5, 5, 10, 15, and 20 MHz and for most users in the United States, the received accuracy should be less than 10 milliseconds (1/100 of a second).

While many NTP servers now use GPS to receive a timing reference, the advantage of using a radio transmission is that a signal can be received indoors (a GPS antenna needs a good view of the sky).

However, the radio signal has a finite range and can be blocked by skyscrapers, mountains and dense conurbations. A radio based NTP server usually consists of a rack-mountable time server, and an antenna, consisting of a ferrite bar inside a plastic enclosure, which receives the radio time and frequency broadcast. The antenna should always be mounted horizontally at a right angle toward the transmission for optimum signal strength.

Similar national timing transmissions are broadcast from other countries in the UK the signal is referred to as MSF and is broadcast by the National Physical Laboratory in Cumbria, other systems are broadcast in Frankfurt, Germany (DCF-77), Japan (JJY) and France (TDF)

Using MSF as a Timing Reference for NTP Servers

  |   By

Atomic clocks are incredibly expensive and generally they are normally only to be found in large scale physics laboratories such as MIT (Massachusetts Institute of Technology), NIST (National Institute of Standards and Technology (Colorado) or the National Physical Laboratory in the UK.

Fortunately many national laboratories broadcast the UTC (Coordinated Universal Time) time from their atomic clocks via a radio broadcast.

In the UK the national timing broadcast is called MSF and is broadcast by NPL (National Physical Laboratory) in Cumbria. The MSF broadcast is used by throughout the UK and parts of Europe to synchronise consumer electronic products like wall clocks, clock radios, and wristwatches. In addition, MSF is used for high-level applications such as network time synchronisation utilising NTP.

The time code contains the year, day of year, hour, minute, second, and flags that indicate the status of Daylight Saving Time, leap years, and leap seconds.

MSF operates on a frequency of 60 kHz and carries a time and date code that can be received and decoded by a wide range of readily available radio-controlled clocks and provides a received accuracy should be less than 10 milliseconds (1/100 of a second).

While many NTP servers now use GPS to receive a timing reference, the advantage of using a radio transmission is that a signal can be received indoors (a GPS antenna needs a good view of the sky).

However, the radio signal has a finite range and can be blocked by skyscrapers, mountains and dense conurbations. A radio based NTP server usually consists of a rack-mountable time server, and an antenna, consisting of a ferrite bar inside a plastic enclosure, which receives the radio time and frequency broadcast. The antenna should always be mounted horizontally at a right angle toward the transmission for optimum signal strength.

Similar national timing transmissions are broadcast from other countries in the US the signal is referred to as WWVB and is broadcast by the NIST (National Institute for Standards and Technology) in Fort Collins, Colorado, other systems are broadcast in Frankfurt, Germany (DCF-77), Japan (JJY) and France (TDF).

Linux and Unix Basic NTP Configuration

  |   By

Network Time Protocol (NTP) is an Internet protocol used for the transfer of accurate time, providing time information so that a precise time can be obtained and maintained on a network

Most UNIX and Linux operating systems provide built-in time synchronisation functionality with its NTP (Network Time Protocol) daemon. If the NTP service is not available on your version of UNIX\Linux, NTP version 4 is open source and can easily be downloaded and configured, compiled and installed from www.ntp.org.

Network Time Protocol is the standard service for time dissemination across TCP/IP networks. It provides accuracies of 1-50 milliseconds, depending on the characteristics of the synchronization source and network paths.

The configuration file fro the NTP daemon is named ntp.conf and contains a list of reference clocks that it can synchronise too. The command ‘server’ specifies the reference clock, any characters after the ‘#’ symbol are comments, example:
server time-a.nist.gov # Public NTP server: NIST
driftfile /var/lib/ntp/ntp.drift

The drift file command identifies the location where the drift is recorded (sometimes referred to as a ‘frequency error). This value can be offset by NTP to ensure of increased accuracy. When configured, NTP can be controlled using the commands ‘ntpd start’ ‘ntpd stop’ ‘ ntpq –p’ (displays status)

NTP can also authenticate timing resources Note: It is strongly recommends that you configure a time server with a hardware source rather than from the internet where there is no authentication. Authentication codes are specified in the ‘ntp.keys’ file.

Specialist NTP servers are available that can receive transmissions from either GPS or national time reference broadcasts. They are relatively cheap and the signal is authenticated providing a secure time reference.

Authentication allows passwords to be specified by the NTP server and its clients. NTP passwords or keys are stored in the ntp.keys file in the following format: number M (The M stands for MD5 encryption), password:

1 M mypassword

3 M my2ndpassword

5 M my3rdpassword

Authentication for NTP has been developed to prevent malicious tampering with system synchronisation just as firewalls have been developed to protect networks from attack but as with any system of security it only works if it is utilised.