Using GPS to Synchronise Network Time
The global positioning system has been around since the 1980’s. It was designed and built by the United States Military who wanted an accurate positioning system for battlefield situations. However, following the accidental shooting down or a Korean airliner, the then US president (Ronald Reagan) agreed that the system should be allowed to be used by civilians as a way of preventing such a disaster from occurring again.
From then on the system has broadcast in to two frequencies L2 for the US Military and L1 for civilian use. The system works by using ultra precise atomic clocks that are on board each satellite. The GPS transmission is a timecode produced from this clock combined with information such as the position and velocity of the satellite. This information is then picked up by the satellite navigation receiver that calculates how long the message took to reach it and therefore how far from the satellite it is.
By using triangulation (use of three of these signals) the exact position on Earth of the GPS receiver can be ascertained. Because the speed of the transmissions, like all radio signals, travels at the speed of light it is highly important that the GPS clocks are ultra-precise. Just one second of inaccuracy is enough to make the navigational unit inaccurate to over 100,000 miles as light can travel such vast distances in such a short space of time.
Because GPS clocks have such a high level of accuracy it means they also have another use. The GPS signal, being available anywhere on the planet, is a highly efficient means of getting a time signal to synchronise a computer network too. A dedicated GPS time server will receive the GPS signal then convert the atomic time signal from it (known as GPS time) and convert it to UTC (Coordinated Universal Time) which is simple to do as both timescales are based on International Atomic Time (TAI) and the only difference being GPS time does not account for leap seconds meaning it is ‘exactly’ 15 seconds faster.
A GPS time server will most likely use the protocol NTP (Network Time Protocol) to distribute the time to a network. NTP is by far the most commonly used network time protocol and is installed in most dedicated time servers and a version is also included in most Windows and Linux operating systems.