Time Servers: Maintaining Precise Time on Your Computers

  |   By

Computer networks rely on timekeeping for nearly all their applications, from sending an email to saving data, a timestamp is necessary for computer to keep track. All routers and switches need to run at the same rate, out of sync devices can lead to data being lost and even entire connections.

All PC’s and networking devices use clocks to maintain an internal system time. These clocks, called Real Time Clock chips (RTC) provide time and date information. The chips are battery backed so that even during power outages, they can maintain time.

However, 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. However, these internal clocks are prone to drift and although for many application this can be quite adequate, often machines need to work together on a network and if the computers drift at different rates the computers will become out of sync with each other and problems can arise particularly with time sensitive transactions.

For some transactions it is necessary for computers to be perfectly synchronised, even a few seconds difference between machines can have serious effects, such as finding an airline ticket you had booked had been sold moments later to another customer or you could draw your savings out of a cash machine and when your account is empty you could quickly going to another machine and withdraw it all again.

Time servers are like other computer servers in the sense they are usually located on a network. A time server gathers timing information, usually from an external hardware source and then synchronises the network to that time.

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

NTP utilises an external timing reference and then synchronises all devices on the network to that time.

Often time servers are synchronised to a UTC (Coordinated Universal time) source which is the global standard time scale and allows computers all over the world to synchronised to exactly the same time. This has obvious importance in industries where exact timing is crucial such as the stock exchange or airline industry.

There are various sources that a time server can use as a timing reference. The Internet is an obvious source, however, internet timing references from the Internet such as nist.gov and windows.time can not be authenticated, leaving the time server and therefore the network vulnerable to security threats.

Understanding Computer Timestamps with NTP

  |   By

The way a computer deals with time is totally different to the ways humans perceive it. We arrange time into seconds, minutes, hours, days, weeks, months and years, while computers on the other hand arrange time as a single number representing the seconds that have passed from a single point in time, known as the prime epoch.

Most computers use NTP (Network Time Protocol) to deal with time and on networks many are synchronised using a dedicated NTP time server.  NTP knows nothing about days, years or centuries, only the seconds from the prime epoch.  This prime epoch is set (for most systems) at midnight at the turn of the century twentieth century that for a human would be recorded as something like: 00:00 – 01,01,1900.

Computers, however, count time as the number of seconds past this point. If a computer was around in 1900 its timestamp on midnight January 1 would be 0 while in 1972 at the same date the timestamp would be 2,272,060,800, which represents the number of seconds since 1900.

The timestamps restart every 136 years with the next wrap around due in 2036, this has caused uneasiness amongst some who fear a Millennium Bug type scenario, although most doubt such events would occur, however, when a wrap-around of the timestamp does happen an era integer will be added (+1), to allow computers to deal with time spans that cover more than one wrap-around.  If computers and NTP need to deal with time that spans before the prime epoch a negative integer is used (for the year 1500 a -3 will be used to represent three cycles of 136 years).

Timestamps are used in virtually every transaction that modern computers are tasked to do such as sending emails, debugging and programming. Because time is linear, a computer knows that each timestamp is always greater than the previous one and therefore computers and NTP find it difficult to deal with inaccuracies in time, particularly when time suddenly appears to go backwards.

This can happen if computers are not synchronised to the same time. If an email is sent to a machine with a slower clock, it appears to the computer to have been received before it has been sent.  Lack of synchronisation can serious problems and can even leave a system vulnerable to malicious attacks and even fraud.

Because of this, most computer networks are synchronised to UTC (Coordinated Universal Time). UTC is a global timescale and the same for everybody worldwide it is based on the time told by atomic clocks which are highly accurate, neither gaining nor losing a second in millions of years.

Most computer networks use a dedicated NTP time server to receive a UTC time to synchronise their computers too.  UTC is available from across the Internet (although unsecured), via the GPS network (Global Positioning System), or by receiving national time and frequency broadcasts via long wave.

NTP synchronises a computer by checking the received UTC time and adding to or holding a computer’s timestamp until it perfectly matches UTC. By using a dedicated NTP time server UTC can be maintained on a network to a few milliseconds of UTC time.

A Beginners Guide To The NTP Server

  |   By

Computer networking is one of the most difficult aspects of information and communications technology (ICT). The logistics of connecting terminals, routers, printers and all the other devices can leave many administrators with a constant headache.

One of the most important aspects that often gets overlooked and can have disastrous consequences is that of time synchronization.

It is imperative that all devices on a network are telling the same time as timestamps, the format a computer relays time to each other, are the only form of reference a computer can use to establish a sequence of events. If different machines on a network are telling different times then unforeseen consequences such as emails arriving before they have technically been sent and other anomalies will make the administrator’s headache even worse.

What’s more a computer network that is not synchronized is open to security threats and even fraud. Fortunately the NTP time server has been around for many years and can ease the headache of time synchronization .

NTP (Network Time Protocol) is one of the oldest protocols used by computer networks. Developed nearly three decades ago NTP is a protocol that checks the time on all devices on network and adds or subtracts enough time to ensure they are all synchronized.

NTP requires a time reference to synchronise the network’s clocks to. Whilst NTP can synchronize a network to any time an authoritative time source is obviously the best solution. UTC (Coordinated Universal Time) is a globally used timescale based on the time told by atomic clocks. As atomic clocks lose less than a second of time in over a thousand years, UTC is by far the best timing source to synchronize a network to. Not only will your network be perfectly synchronized together but also your network will be synchronized to the same time as millions of computer networks all from around the world.

A NTP server can receive a UTC time reference from several sources. The Internet is the most obvious source, however Internet timing sources are notoriously inaccurate and those that are not can be relatively useless if the distance is too far away. Also having placed your NTP server securely behind your firewall it does seem pointless to have to keep a hole open in it to allow the NTP server to poll the timing reference from across the web and leave the entire network vulnerable, particularly as NTP authentication (NTP’s own security measure) is not possible over the Internet.

There are two far more secure and accurate methods of receiving a UTC timing reference. The first is to utilise the national time and frequency transmissions that several countries broadcast from their national physics laboratories. These are usually broadcast via long wave which has an advantage of being able to be picked up inside a server room although many countries do not have such a signal.

However, many NTP servers can utilize the timing signal broadcast by the onboard atomic clocks of the GPS (Global Positioning System) satellites.  This signal is available everywhere but a GPS antenna is required that can get a clear view of the sky.

By utilizing a UTC timing source either through the GPS network of radio transmission a computer network can be synchronized to within a few milliseconds of UTC time.

Introduction to Network Time Protocol

  |   By

Network Time Protocol (NTP) is one of the Internet’s oldest protocols still in use. 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 or Wider Area Networks (LANs/WANS).

In a modern global economy time synchronisation is essential for carrying out time sensitive transactions such as booking an airline ticket to bidding on an Internet auction site. If clocks were not synchronised to the same time you may find your airline seat sold after you had bought it and Ebay’s administrators would not be able to discover whose bid was the latest.

NTP is a multi-tiered system, each tier being called a stratum. Servers at each tier communicate with each other (peer) and provide time to lower strata. Servers at the top stratum, stratum 1 connect to an atomic clock either over the Internet or by a radio or GPS receiver while a stratum 2 server will connect to a stratum 1.

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).

The NTP program (known as a daemon on UNIX and a service on Windows) runs in the background and refuses to believe the time it is told until several exchanges have taken place, each passing a set of tests. If the replies from a server satisfy these ‘protocol specifications’, the server is accepted. It usually takes about five good samples (five minutes) until a NTP server is accepted as a source for synchronisation.

Synchronisation with NTP is relatively simple, it synchronises time with reference to a reliable clock source such as an atomic clock, although these are extremely expensive and are generally only to be found in large-scale physics laboratories, however NTP can use either the Global Positioning system (GPS) network or specialist radio transmission to receive UTC time from these clocks.

A simplified version of NTP called Simple Network Time Protocol (SNTP) exists that does not require the storing of information about previous communications as required by NTP. It is used in some devices and applications where high accuracy timing is not as important and is installed on older versions of Microsoft Windows. Windows since 2000 has included the Windows Time Service (w32time.exe) which uses SNTP to synchronise the computer clock. NTP is also available on UNIX and LINUX (download via NTP.org).

NTP GPS Server for Time Critical Applications

  |   By

The GPS (Global Positioning System) is a Global Navigational Satellite System (GNSS) controlled and run by the United States of America.

GNSS systems work by using satellites several thousand miles above the Earth’s surface that beam timing information down to a GNSS receiver (like the satellite navigation unit in our cars). It is this information that is used by the GPS receiver to triangulate an exact position. They can only do this by having onboard their own highly accurate atomic clock as the distance the satellites are away from the Earth, even an inaccuracy of a second or two could mean a sat navigation’s location could be miles out.

As a consequence of having this accurate time sources, GPS and the new breed of GNSS systems can all be used to receive an absolute or UTC (Universal Coordinated Time) time source. This time source can be used by computer networks running a NTP server (Network Time Protocol) to synchronise all machines and devices to the same time.

NTP is a protocol designed to synchronise computers and network devices to an external timing reference.

GPS is an ideal time and frequency reference because it can provide highly accurate time anywhere in the world using relatively cheap components.  Each GPS satellite transmits in two frequencies L2 for the military use and L1 for use by civilians transmitted at 1575 MHz, Low-cost GPS antennas and receivers are now widely available and dedicated NTP GPS servers are now relatively low cost.

The radio signal transmitted by the satellite can pass through windows but can be blocked by buildings so the ideal location for a GPS antenna is on a rooftop with a good view of the sky. The more satellites it can receive from the better the signal. However, roof-mounted antennas can be prone to lighting strikes or other voltage surges so a suppressor is highly recommend being installed inline on the GPS cable.

A NTP GPS Server 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.

Understanding Computer Timestamps with NTP

  |   By

The way a computer deals with time is totally different to the ways humans perceive it. We arrange time into seconds, minutes, hours, days, weeks, months and years, while computers on the other hand arrange time as a single number representing the seconds that have passed from a single point in time, known as the prime epoch.

Most computers use NTP (Network Time Protocol) to deal with time and on networks many are synchronised using a dedicated NTP time server.  NTP knows nothing about days, years or centuries, only the seconds from the prime epoch.  This prime epoch is set (for most systems) at midnight at the turn of the century twentieth century that for a human would be recorded as something like: 00:00 – 01,01,1900.

Computers, however, count time as the number of seconds past this point. If a computer was around in 1900 its timestamp on midnight January 1 would be 0 while in 1972 at the same date the timestamp would be 2,272,060,800, which represents the number of seconds since 1900.

The timestamps restart every 136 years with the next wrap around due in 2036, this has caused uneasiness amongst some who fear a Millennium Bug type scenario, although most doubt such events would occur, however, when a wrap-around of the timestamp does happen an era integer will be added (+1), to allow computers to deal with time spans that cover more than one wrap-around.  If computers and NTP need to deal with time that spans before the prime epoch a negative integer is used (for the year 1500 a -3 will be used to represent three cycles of 136 years).

Timestamps are used in virtually every transaction that modern computers are tasked to do such as sending emails, debugging and programming. Because time is linear, a computer knows that each timestamp is always greater than the previous one and therefore computers and NTP find it difficult to deal with inaccuracies in time, particularly when time suddenly appears to go backwards.

This can happen if computers are not synchronised to the same time. If an email is sent to a machine with a slower clock, it appears to the computer to have been received before it has been sent.  Lack of synchronisation can serious problems and can even leave a system vulnerable to malicious attacks and even fraud.

Because of this, most computer networks are synchronised to UTC (Coordinated Universal Time). UTC is a global timescale and the same for everybody worldwide it is based on the time told by atomic clocks which are highly accurate, neither gaining nor losing a second in millions of years.

Most computer networks use a dedicated NTP time server to receive a UTC time to synchronise their computers too.  UTC is available from across the Internet (although unsecured), via the GPS network (Global Positioning System), or by receiving national time and frequency broadcasts via long wave.

NTP synchronises a computer by checking the received UTC time and adding to or holding a computer’s timestamp until it perfectly matches UTC. By using a dedicated NTP time server UTC can be maintained on a network to a few milliseconds of UTC time.

Network Time Server Keeping Control of Time

  |   By

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.

GPS Time Server and NTP (Network Time Protocol)?

  |   By

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.

Choosing a dedicated GPS Time Server

  |   By

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.

Configuring a NTP Time Server using Windows XP

  |   By

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.

NTP (Network Time Protocol) is a protocol already installed on Windows XP and Windows Time uses it 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 time 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.