Feb 29

Computer networking can seem an intimidating undertaking. However, a computer network is really just a number of machines connected together for ease of data transfer and security. They can be very small such as two computers in a home network to really large networks consisting of hundreds and thousands of machines.

When a computer or device is connected to a network then there is only one point of reference that the computers can use to establish the order of events and applications and that is time.

Time, in the form of time stamps are used by most applications and this is when problems in computer networks can occur.

Computers tell the time by using a software clock. This is based on a system clock that keeps time when the computer is off. However, computers internal clocks are wholly inaccurate. They tend to drift up to several seconds a week. On a network when there is more than one machine, this can cause severe problems if the machines are drifting at different rates.

Emails may arrive before they have been sent and the whole network can be vulnerable to security threats and even fraud!

A network time server is used to synchronize a computer network to a single time source. This time source can be anything from an internal clock on a computer to the time told by a wrist watch. However, to ensure perfect accuracy and to keep a network synchronized to the rest of the world then a UTC time source should be used.

UTC (Coordinated Universal Time) is a global timescale based on the time told by atomic clocks. A network time server can receive a UTC time source from across the Internet (although unsecured), via the GPS (global positioning system) network or via specialist radio transmission from national physics laboratories.

Most network time servers use NTP (Network Time Protocol) to distribute the timing reference throughout the network. NTP is not the only timing protocol designed to do this although it is, however, by far the most widely used.

Feb 28

We are all used to Satellite Navigation by now. More and more people are installing those little black boxes into their cars and throwing away their old paper road maps. The advantages of satellite navigation are many fold – from constant updates keeping the maps current to being able to pin point your location miles from any landmarks or road signs but GPS has more uses than merely triangulating a position for direction finding, it can be utilized to provide time and frequency information worldwide.

Since the early 1990’s the Global Positioning system (GPS) has been the worlds’ only fully functioning Global Navigational Satellite System (GNSS). Run by the American military, GPS (sometimes referred to as NAVSTAR) has allowed accurate timing and location finding all over the world.

To accurately pinpoint a location, all GNSS systems require an absolute time source, that is a time source as accurate as humanely possible such as that from an atomic clock. Without knowing exactly what the time is a GNSS satellite would not be able to accurately pin point a location (as the Earth, satellites and people are all moving about a location can only be defined by a position and time). Because of the distance of the satellites away from the Earth, even an inaccuracy of a second or two could mean a sat nav’s location could be miles out.

For this reason each satellite has a highly accurate atomic clock onboard which can also be used by NTP (Network Time Protocol) servers to synchronise computer networks. GPS is an ideal time and frequency source because it can provide highly accurate time anywhere in the world using relatively cheap components.

A GPS receiver decodes the signal sent from the GPS antenna to a computer readable protocol which can be utilised by most time servers and operating systems including, Windows, LINUX and UNIX.

The GPS receiver also outputs a precise pulse every second that GPS NTP servers and computer time servers may utilise to provide ultra-precise timing. The pulse-per-second timing on most receivers is accurate to within 0.001 of a second of UTC (Coordinated Universal Time or Temps Universel Coordonné).

GPS is ideal in providing NTP time servers or stand-alone computers with a highly accurate external reference for synchronisation. Even with relatively low cost equipment, accuracy of hundred nanoseconds (a nanosecond = a billionth of a second) can be reasonably achieved using GPS as an external reference.

In 2002, the European Space Agency and European Union agreed to build Europe’s own GNSS called Galileo. To compete with the new and more advanced GNSS technologies the GPS programme is currently being upgraded and it is expected that when Galileo begins relaying signals both systems will become interoperable allowing even more accuracy in timing and positioning.

Feb 27

Because of the advancement in satellite navigation technologies and the increased coverage of the American GPS satellite network, many more administrators are choosing GPS as a source for a timing reference to synchronize their time servers too.

Traditionally many more people opted to receive a timing source from either across the Internet or via specialist national time and frequency transmissions. However, the Global Positioning System is now by far the most popular method to receive a UTC time source from.

UTC (Coordinated Universal Time) is the global timescale based on the time told by atomic clocks which are the most accurate of time keeping devices.

A GPS time server is a relatively simple piece of hardware. Normally it consists of a dedicated NTP server with software, a GPS receiver and a GPS antenna. The antenna is the only drawback in using a dedicated GPS time server as it has to be positioned on the roof to have a clear view of the sky, although some dedicated GPS time servers can still keep time synchronized if they only receive a signal for a few hours a day, although this is not the most accurate way of time synchronization.

Once connected, the GPS time server will receive the time signal from the GPS satellites and then distribute it to all devices that require synchronization.

Most time servers, whether they receive a GPS signal or not, will use Network Time Protocol (NTP) to distribute the time signal to all devices.

NTP is one of the Internet’s oldest protocols and is by far the most widespread time synchronization protocols used. NTP is under constant development and can accurately synchronise a network to within a few milliseconds of UTC time via a dedicated GPS time server.

Feb 26

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 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. Microsoft and others strongly recommend that you configure a time server with a hardware source rather than from the internet where there is no authentication.

If you want to configure Windows Time service to use the internal hardware clock, then 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.

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 0×1 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.

Feb 25

We are all aware of the passing of time; it governs us throughout our lives constantly ebbing away, dictating when we should eat, sleep, wake or work.

Yet, the concept of time has baffled philosophers and scientists for millennia and we are still unsure of exactly what time is; although the work of Einstein and others has led us some way in its understanding.

However, exactly what time is does not really matter in the running of our day-to-day lives, but measuring its passing has preoccupied people for thousands of years. Calendars have been around for millennia, agricultural, religious and social reasons have made them essential in forecasting when to harvest crops or when to celebrate a religious event.

The majority of all calendar systems have been based on the movement of the Earth or Moon. A complete rotation is a day; the Moon’s orbit of the Earth is a month; and an orbit of the Sun is a year.

Calendars based on the movement of Moon are known as lunar calendars whilst those based around Earth’s orbit of the Sun are called solar calendars. Because the number of days in a year is not a whole number (the Earth takes 365 days and six hours to orbit the Sun) solar calendars have to fudge the figures, usually by adding an extra day every few years (a leap day) making a leap year a day longer than the rest of the years.

Problems arise with lunar calendars too. While the Moon takes 28 days to circle the Earth, which can be divided into seven (four weeks) a year can’t be divided into equal lunar cycles, so months have to have a different number of days (the moon actually goes around the Sun 13 times in 364 days).

The baseline for calendars (the date they start counting) depends on cultural or religious reasons. The Gregorian calendar, adopted in Europe throughout the middle ages, used the birth of Christ; whilst a year in Japan is based on the current emperor’s reign (2008 is year 18 of the Emperor Akihito).

The main use of calendars has always been to identify events and in modern times they are often combined and used along with time to create a complete timescale. A calendar based on the movement of the Earth or Moon are less relevant today since the advent of accurate timepieces and modern technologies such atomic clocks, NTP servers (Network Time protocol) and GPS (Global Positioning System). These have allowed the development of a global standardised time scale (known as UTC – Coordinated Universal Time).

However, thanks to these technologies, we now know that the movement of the Earth is not as accurate as our modern clocks (an atomic clock is 1,000,000 times more stable than the Earth’s rotation). The Earth actually slows down (and sometimes accelerates) in its orbit. If nothing was done to compensate for this, eventually noon would become midnight and vice versa (albeit in many millennia) so leap seconds are added to the standard time scale just as days are added in a leap year.

In modern times calendars are still used. The Gregorian calendar is widespread throughout the West and other calendars have been developed such as fiscal calendar, developed by business as a way of comparing productivity or profit from month to month and year to year. For this reason fiscal calendars have a fixed number of weeks in a month, January may have five weeks while March may have four. Other calendars exist too such as those used by schools or sports.

Feb 22

Network Time Protocol (NTP) is one of the Internet’s oldest protocols still utilised today. Developed by Dr David Mills from the University of Delaware, it has been in constant use and continually updated since 1985. NTP is a protocol designed to synchronize the clocks on computers and networks across the Internet or Local Area Networks (LANs).

NTP uses an algorithm (Marzullo’s algorithm) to synchronise time on a network using time scales like UTC (Coordinated Universal Time or Temps Universel Coordonné) and can support such features as leap seconds – added to compensate for the slowing of the Earth’s rotation.

NTP (version 4 being the latest) can maintain time over the public Internet to within 10 milliseconds (1/100th of a second) and can perform even better over LANs with accuracies of 200 microseconds (1/5000th of a second) under ideal conditions.

NTP time servers work within the TCP/IP suite and rely on UDP (User Datagram Protocol). A less complex form of NTP called Simple Network Time Protocol (SNTP) that does not require the storing of information about previous communications, needed by NTP, is used in some devices and applications where high accuracy timing is not as important and is also included as standard in Windows software (although more recent versions of Microsoft Windows have the full NTP installed and the source code is free and readily available on the Internet).

Time synchronisation with NTP is relatively simple, it synchronises time with reference to a reliable clock source. This source could be relative (a computer’s internal clock or the time on a wrist-watch) or absolute (A UTC clock source, like an atomic clock, that is accurate as is humanely possible).

Atomic clocks are the most absolute time-keeping devices. They work on the principle that the atom, caesium-133, has an exact number of cycles of radiation every second (9,192,631,770). This has proved so accurate the International System of Units (SI) has now defined the second as the duration of 9,192,631,770 cycles of radiation of the caesium-133 atom.

However, atomic clocks are extremely expensive and are generally only to be found in large-scale physics laboratories. However, NTP can synchronise networks to an atomic clock by using either the Global Positioning system (GPS) network or specialist radio transmission.

The most widely used is the GPS system which consists of a number of satellites providing accurate positioning and location information. Each GPS satellite can only do this by utilising an atomic clock which in turn can be can be used as a timing reference.

A typical GPS receiver can provide timing information to within a few nanoseconds of UTC as long as there is an antenna situated with a good view of the sky.

There are also a number of national time and frequency radio transmissions that can be used to synchronise a NTP server. In Britain the signal (called MSF) is broadcast by the National Physics Laboratory in Cumbria which serves as the United Kingdom’s national time reference, there are also similar systems in Colorado, US (WWVB) and in Frankfurt, Germany (DCF-77). These signals provides UTC time to an accuracy of 100 microseconds, however, the radio signal has a finite range and is vulnerable to interference.

The distance from the reference clock is known as the stratum levels and they exist to prevent cycles in the NTP and confirm accuracy. Stratum 0 are devices such as atomic clocks connected directly to a computer. Stratum 1 are computers attached to stratum 0 devices (like via a GPS receiver), while Stratum 2 are computers that send NTP requests to Stratum 1 servers. NTP can support up to 256 strata.

All Microsoft Windows versions since 2000 include the Windows Time Service (w32time.exe) which has the ability to synchronise the computer clock to an NTP server. It should be noted that Microsoft recommend that external time references are used rather than Internet based ones as these can’t be authenticated. Specialist NTP servers are available that can synchronise time on networks using either the MSF (or equivalent) or GPS signal.

Feb 21

Time synchronisation in modern computer networks is essential. It not only provides the only frame of reference between all devices, it is critical in everything from securing, planning and debugging a network to providing a time stamp for applications such as data acquisition or email.

Microsoft Windows XP 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.

For many applications, an internal clock can be quite adequate, although, on a network, problems can arise with applications such as sharing network files or in some environments even fraud, so it is vital for security reasons to use an accurate timing source for your network.

NTP (Network Time Protocol) is a protocol already installed on Windows XP and is used by Windows Time to keep machines synchronised to the single time source. There are several timing sources available on the Internet but Microsoft and others strongly recommend that you configure a time server with a hardware source rather than from the Internet where there is no authentication.

Specialist NTP servers are available that can receive a reliable time source via the GPS signal or specialist radio transmissions that get their time from atomic clocks.

If you wish to configure Windows XP to operate as a time server then first thing is to locate the Windows Time subkey. To do this:
Run Regedit (Click start/run/then type REGEDIT/and click enter.

Note: editing your system registry can cause problems with your system. It is advisable to back up your system before editing the registry.

Now locate the following subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\parameters\
Right click the right-hand side and click Modify. In the Edit Value box, under Value Data, type NTP and then click OK.
Now go to the Config folder and right-click AnnounceFlags, Modify and in the Edit DWORD Value box, under Value Data, type 5, and then click OK.

Locate this subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\

Right-click in the right-side window and Modify. Edit the DWORD value box and type the number of seconds you want for each poll under Value data, i.e.: 900 will equal 15 minutes. The poll field represents the polling interval between NTP poll packets.

To enable the NTP server locate the subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\
Right click enabled (in the right-hand window) then Modify. Edit the DWORD Value and type 1. Right-click NtpServer, then Modify and in the Edit DWORD Value under Value Data type Peers, then click OK.

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. This adjusts the connection settings.

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 (an hour).

Exit Registry then restart windows time service by clicking Start/Run then typing:
net stop w32time && net start w32time.
on each computer, other than the domain controller, type: W32tm/resync/rediscover.
The time server should be now up and running.

Feb 20

All computers need to know the time. Many applications, from sending an email to storing information are reliant on the PC knowing when the event took place. In some environments timing is even more crucial where a single second can make all the difference between profit and loss – just think of the stock exchange.

Most computers have internal clocks which are battery backed, so the computer can still keep time when the machine is off. However, are these clocks really that reliable? The answer of course is no.

Computers are mass marketed and designed for multi functions, timing not being that high on the manufacturer’s agenda. The internal clocks (called RTC real time chips) are normally adequate for home computing or when workstations run alone. However, when computers run in a network, then a lack of synchronisation can cause problems.

It may be a minor thing such as an email arriving somewhere before it was sent (according to a PC clock) but with some time sensitive transactions and applications, a lack of synchronisation can cause imaginable problems: Imagine turning up at an airport only to find the airline seat you had bought weeks before was in fact sold to somebody else afterwards as their booking agent had a slower clock on their computer!

To get around these problems most computers on a network are synchronised to a single time source using NTP (network time protocol) this time source can be either relative (a computer’s clock or wrist watch) or an absolute time source like UTC.

UTC (Coordinated Universal Time) was developed after the emergence of atomic clocks and is a standard time scale used globally, allowing machines all over the world to use a single time source.

Windows XP can easily set the system clock to use UTC by accessing an Internet source for UTC (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.

However, Microsoft and other operating system manufacturers strongly advise that external timing references should be used as Internet sources can’t be authenticated, making systems vulnerable to a malicious attack.

If you wish to run a network time server Windows XP, then specialist NTP servers are available that can receive a time reference via the GPS satellite system or specialist national transmissions

To allow Windows XP to operate as a network time server, the NTP service needs to be switched on. To activate NTP simply find the following subkey in the registry editor (regedit):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\
Right click enabled (in the right-hand window) then Modify. Edit the DWORD Value and type 1. Right-click NtpServer, then Modify and in the Edit DWORD Value under Value Data type Peers, then click OK.

Exit the registry and start windows time service by clicking Start/Run and typing:
net stop w32time && net start w32time.; Then on each computer on the network (other than the domain controller which can’t be synchronised with itself) type: W32tm/resync/rediscover.

Feb 19

NTP (Network Time Protocol) synchronises networks to a single time source using timestamps to represent the current time of the day, this is essential for time sensitive transactions and many system applications such as email.

NTP is therefore vulnerable to security threats, whether from a malicious hacker who wants to alter the timestamp to commit fraud or a DDoS attack (Distributed Denial of Service – normally caused by malicious malware that floods a server with traffic) that blocks server access.

However, being one of the Internet’s oldest protocols and having been developed for over 25 years, NTP is equipped with its own security measures in the form of authentication.

Authentication verifies that each timestamp has come from the intended time reference by analysing a set of agreed encryption keys that are sent along with the time information. NTP, using Message Digest encryption (MD5) to un-encrypt the key, analyses it and confirms whether it has come from the trusted time source by verifying it against a set of trusted keys.

Trusted authentication keys are listed in the NTP server configuration file (NTP.conf) and are normally stored in the NTP.keys file. The key file is normally very large but trusted keys tell the NTP server which set of subset of keys is currently active and which are not. Different subsets can be activated without editing the NTP.keys file using the trusted-keys config command.

Authentication is therefore highly important in protecting a NTP server from malicious attack; however there are many time references were authentication can’t be trusted.

Microsoft, who has installed a version of NTP in their operating systems since Windows 2000, strongly recommends that a hardware source is used as a timing reference as Internet sources can’t be authenticated.

NTP is vital in keeping networks synchronised but equally important is keeping systems secure. Whilst network administrators spend thousands in anti-viral/malware software many fail to spot the vulnerability in their time servers.

Many network administrators still entrust Internet sources for their time reference. Whilst many do provide a good source for UTC time (Coordinated Universal Time – the international standard of time), such as nist.gov, the lack of authentication means the network is open to abuse.

Other sources of UTC time are more secure and can be utilized with relatively low cost equipment. The easiest method is to use a specialist NTP GPS time server that can connect to a GPS antenna and receive an authenticated timestamp by satellite.

GPS time servers can provide accuracy to UTC time to within a few nanoseconds as long as the antenna has a good view of the sky. They are relatively cheap and the signal is authenticated providing a secure time reference.

Alternatively there are several national broadcasts that transmit a time reference. In the UK this is broadcast by the National Physics Laboratory (NPL) in Cumbria. Similar systems operate in Germany, France and the US. Whilst this signal is authenticated, these radio transmissions are vulnerable to interference and have a finite range.

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.

Feb 18

Network Time Protocol (NTP) is one of the Internet’s oldest protocols still utilised. Invented by Dr David Mills from the University of Delaware it has been in use since 1985. NTP is a protocol designed to synchronize the clocks on computers and networks across the Internet or Local Area Networks (LANs).

NTP (version 4) can maintain time over the public Internet to within 10 milliseconds (1/100th of a second) and can perform even better over LANs with accuracies of 200 microseconds (1/5000th of a second) under ideal conditions.

NTP works within the TCP/IP suite and relies on UDP, a less complex form of NTP exists called Simple Network Time Protocol (SNTP) that does not require the storing of information about previous communications, needed by NTP. It is used in some devices and applications where high accuracy timing is not as important.

Time synchronisation with NTP is relatively simple, it synchronises time with reference to a reliable clock source. This source could be relative (a computer’s internal clock or the time on a wrist-watch) or absolute (A UTC – Universal Coordinated Time – clock source that is accurate as is humanely possible).

Atomic clocks are the most absolute time-keeping devices. They work on the principle that the atom, caesium-133, has an exact number of cycles of radiation every second (9,192,631,770). This has proved so accurate the International System of Units (SI) has now defined the second as the duration of 9,192,631,770 cycles of radiation of the caesium-133 atom.

However, atomic clocks are extremely expensive and are generally only to be found in large-scale physics laboratories. However, NTP can synchronise networks to an atomic clock by using either the Global Positioning System (GPS) or a specialist radio transmission.

The most widely used is the GPS system which consists of a number of satellites providing accurate positioning and location information. Each GPS satellite can only do this by utilising an atomic clock which in turn can be can be used as a timing reference.

A typical GPS receiver can provide timing information to within a few nanoseconds of UTC as long as there is an antenna situated with a good view of the sky.

There are also a number of national time and frequency radio transmissions that can be used to synchronise a NTP server. In Britain the signal (called MSF) is broadcast by the National Physics Laboratory in Cumbria which serves as the United Kingdom’s national time reference, there are also similar systems in Colorado, US (WWVB) and in Frankfurt, Germany (DCF-77). These signals provides UTC time to an accuracy of 100 microseconds, however, the radio signal has a finite range and is vulnerable to interference.

The distance from the reference clock is known as the stratum levels and they exist to prevent cycles in the NTP. Stratum 0, are devices such as atomic clocks connected directly to a computer. Stratum 1, are computers attached to stratum 0 devices, while Stratum 2 are computers that send NTP requests to Stratum 1 servers. NTP can support up to 256 strata.

All Microsoft Windows versions since 2000 include the Windows Time Service (w32time.exe) which has the ability to synchronise the computer clock to an NTP server (or an SNTP server – a simplified version of NTP) Many LINUX and UNIX based operating systems also have a version of NTP but the source code is free to download (current version 4.2.4) at the NTP website (NTP.org).

It is strongly recommended by Microsoft and others, that external based timing should be used rather than Internet based, as these can’t be authenticated. Specialist NTP time servers are available that can synchronise time on networks using either the MSF (or equivalent) or GPS signal.