Archive for July, 2008

Another Great NTP Server Resource

We have recently started to develop a new NTP Server resource. Please take a moment to visit this resource and see for yourself.

NTP Server and the Atomic Clock

Many network administrators boast that there networks are perfectly synchronised because they have an atomic clock as an NTP server. In actual fact as atomic clocks cost several millions of pounds and are quite vast in size it is doubtful the average server room contains such a timepiece.

What in fact they are referring to is that they have an NTP server that receives a timing source from an atomic clock. However, just because atomic clocks are the most accurate chronometers in the world, accurate to a few nanoseconds (billionth of a second) it doesn’t necessarily mean that a network using one as a timing source is receiving the same sort of accuracy

Atomic clocks work on the principle that certain atoms (in most atomic clocks the caesium -133 atom) oscillates at an exact frequency at certain energy levels. In the case of the caesium atom it resonates at exactly 9,192,631,770 every second.  Because of this exact resonance, atomic clocks lose less than a second in millions of years. In fact, the resonance of the caesium atom is so precise that the International System of Units has defined the second as exactly that number of oscillations of the caesium atom.

NTP servers can receive the time from an atomic clock through several sources. Obviously the Internet contains thousands of timing servers, some of which are hooked up to an atomic clock, others however, can be over ten seconds out of sync.

Furthermore, using an Internet timing source can leave a system open to abuse as the timing references cannot be authenticated. Also, the distance from a host, client and server can make dramatic differences in the accuracy.

The most accurate and effective way of receiving a timing source from an atomic clock is to use the national time and frequency broadcast that several country’s national physics laboratories transmit. Alternatively the American GPS (Global Positioning System) transmits the time from its own satellite’s atomic clocks. both methods can provide perfect synchronisation and accuracy to within a few milliseconds.

Hierarchy of a NTP Server

All computers are prone to drift and as accurate timing is essential for many time critical applications, Network Time Protocol has been developed to keep computers synchronized

NTP is installed on most versions of Windows (although a stripped down version called SNTP is in older versions) and Linux but regardless is open source an free to download from ntp.org.

To synchronise a network it is preferable to use a dedicated NTP server that receives a timing source from an atomic clock either from specialist national radio transmissions or the US GPS system, although Internet time references are available but some are more reliable than others (and none can be authenticated leaving a system open to attack).

NTP is hierarchical, it is arranged into stratum. Stratum 0 is a timing source (such as an atomic clock) while stratum 1 is a server connected to a stratum 0 server and a stratum 2 is a computer (or device) attached to a stratum 1 server.

There is an understanding that if using a public Internet based time server, stratum 0 servers are not used by most applications as too many requests would disable them. Instead NTP should be configured to receive a timing reference from several stratum 1 and stratum 2 servers (it is good housekeeping to use more than one as it is possible one server could go down).

The most accurate and secure way of synchronising a network is to use a dedicated NTP server. These can receive a timing reference from either the GPS network (as each GPS satellite contains an atomic clock and broadcasts the signal) or a specialist national radio transmission. Both of these signals come from a stratum 0 source and both provide accuracy to within a few milliseconds.

Network Time Protocol and the NTP Server

Network Time Protocol (NTP) has been around for nearly 25 years. It is one of the Internet’s oldest protocols and is still widely used and under constant development.

NTP was developed and designed in 1985 by Professor David Mills from the University of Delaware in the United States. Its success owes much to the fact that it was one of the first ever protocols on the Internet and was first used when the World Wide Web was in its infancy.

The importance of NTP on modern computer networks cannot be stressed highly enough, without NTP and NTP servers many of the applications and processes that we conduct over the Internet and now take for granted

Internet auction sites, email and global trading all require accurate time synchronisation. Just imagine booking an airline ticket only to discover your seat was resold after you had purchased it because the buyer had a slower clock on their computer?

Confusion and problems such as these would be commonplace without NTP and NTP servers, just think of the hysteria around the millennium bug!

NTP servers allow not only computers on a particular network to be perfectly synchronised but as most NTP servers are set to receive time from a UTC time source, computers around the entire globe can be synchronised together. UTC or Coordinated Universal Time is a global time scale based on the time told by atomic clocks.

NTP servers can receive a timing reference from the Internet, although this is fairly inaccurate, or from dedicated time and frequency radio signals or the GPS network.

Currently an NTP server receiving an authoritative timing source can provide accuracy over the Internet to within a few hundred nanoseconds (a nanosecond is 1 second every billion years.)

How a NTP Server Works.

An NTP server (network time protocol) is a device to ensure all machines on a computer network are running the exact same time. Without an NTP server time would be inconsistent between devices which could problems for the network, seconds could be lost here or gained there which could cause major confusion as well as leaving your network vulnerable.

Time, in the form of timestamps, provides the only frame of reference between all devices on a network and the way an NTP server works is pretty straightforward. The timestamp relayed to the server is in the form of an ever increasing number that started from a set point in time, this is known as the prime epoch and for most systems this started on 1 January, 1900.

The NTP server checks the time stamp from an authoritative source, normally a UTC source (Coordinated Universal Time, a global timescale based on the time told by atomic clocks), from either the Internet, a radio transmission or via the GPS network.

The NTP server uses the timestamp to calculate if the network clocks are drifting and adds or subtracts a second to match the reference clock. The NTP server will do this at set intervals, normally every fifteen minutes to ensure perfect accuracy.

NTP is accurate to within 1/100th of a second (10 milliseconds) over the public Internet and can perform even better over LANs and WANS with accuracies of 1/5000th of a second (200 microseconds) not unheard of.

To ensure further accuracy the NTP service (or daemon on Linux) which runs in the background and does not believe the time it is told until after several exchanges and each one has passed a protocol specification (a test), the server is then considered. It usually takes about five good samples) until a NTP server is accepted as a timing source.

NTP Server – Finding a Timing Source

Time is essential for modern computer networks, as the majority of applications and processes conducted by a PC are  reliant on a timestamp, from sending an email, debugging a server to preventing fraud, therefore, accurate time and synchronisation is vital.

NTP (Network Time Protocol) is an Internet protocol designed for the synchronisation of computer networks. NTP servers are used by millions of system administrators to ensure their networks are keeping accurate time.

However, just as a computer is only as a good as the software it is running, a NTP server is only as good as the timing source it receives.

Despite the hundreds and probably thousands of possible timing references on the Internet, administrators should be aware of some of the possible pitfalls in selecting a timing reference.

A survey conducted by the Massachusetts Institute of Technology (MIT) discovered that not only were half of Internet timing sources inaccurate by over a ten seconds (a lifetime if we are attempting millisecond accuracy) but many were too far away to be provide any useful accuracy.

If an Internet timing source is to be used then not only should the accuracy of the server be checked but also the closest host should be selected to ensure the best accuracy.

Another consideration in using an Internet timing source is to be aware that they cannot be authenticated which means that your system could be vulnerable to malicious attacks and it is recommended by Microsoft and Novell that an external hardware source should be used.

The most secure and accurate method of receiving a timing source is to use a dedicated NTP server that can receive either a national time and frequency transmission (such as WWVB in the US or MSF in the UK). Alternatively a timing source can be received from the GPS network (Global Positioning System), both methods are authenticated and can provide millisecond accuracy.