Time governs our lives and keeping abreast of it is vital if we want to get to work on time, make it home for dinner or watch our favourite shows of an evening.
It is also crucial for computer systems. Computers use time as a point of reference, indeed, time is the only point of reference it can use to distinguish between two events and it is crucial that computers operating in networks are synchronized together.
Time synchronization is when all computers that are connected together run the same time. Time synchronization, however, is not simple to implement, primarily because computers are not good time keepers.
We are all used to the time being displayed on the bottom right hand of our computer desktops but this time is normally generated by the onboard crystal oscillator (normally quartz) on the motherboard.
Unfortunately these onboard clocks are prone to drift and a computer clock may lose or gain a second or so each day. While this may not sound like much, it can soon accumulate and with some networks consisting of hundreds and even thousands of machines, if they are all running different times its not hard to imagine the consequences; emails may arrive before they are sent, data may fails to backup, files will get lost and the networks will be amass of confusion and nearly impossible to debug.
To ensure synchronization throughout a network all devices must connect to a single time source. NTP (Network Time Protocol) has been devised for this very purpose and can distribute a time source to all devices and ensure that any drift is countered.
For true accuracy the single time source should be a source of UTC (Coordinated Universal Time) which is a global timescale that is used across continents and pays no heed to timezones, this allows networks on opposite sides of the Earth to be synchronized together.
A source of UTC should also be governed by an atomic clock as any drift in the time will mean that your network will be out of sync with UTC. By far the easiest, most efficient, secure, accurate and reliable method of receiving an atomic clock source of UTC is to use a dedicated NTP time server. NTP servers receive the UTC time from either the GPS network (Global Positioning System) or from radio transmission broadcast by national physics laboratories such as NIST or NPL.