Archive for the ‘network security’ Category

A Guide to Synchronising a Network with NTP

Wednesday, February 10th, 2010

Network Time Protocol (NTP) is a TCP/IP protocol developed when the internet was in its infancy. It was developed by David Mills of the University of Delaware who was trying to synchronise computers across a network with a degree of precision.

NTP is a UNIX based protocol but it has been ported to operate just as effectively on PCs and a version has been included with operating systems since Windows 2000 (including Windows 7, Vista and XP).

NTP, and the daemon (application) that controls it, is not just a method of passing the time around. Any system running the NTP daemon can act as a client by querying the reference time from other servers or it can make its own time available for other devices to use which in effect turns it into a time server itself. It can also act as a peer by collaborating with other peers to find the most stable and accurate time source to use.

One of the most flexible aspects of NTP is its hierarchical nature. NTP divides devices into strata, each stratum level is defined by its proximity to the reference clock (atomic clock). The atomic clock itself is a stratum 0 device, the closest device to it (often a dedicated NTP time server) is a stratum 1 device whilst other devices that connect to that become stratum 2. NTP can maintain accuracy to within 16 stratum levels.

Any network that needs to be synchronised, has to first identify and locate a time source for NTP to distribute. Internet sources of time are available but thee are often taken from stratum 2 devices that operate through the firewall. The only way NTP can peer the time is if the TCP/IP port is left open to allow the traffic through. This could lead to security issues as malicious users can take advantage of this firewall hole.

Dedicated NTP time servers find a source of time via GPS or radio signals and so don’t leave a network vulnerable to attack. By attaching a NTP time server to a router and entire network of hundreds and even thousands of devices can be synchronised thanks to NTP’s hierarchical structure.

Network Time Protocol – And Network Time Synchronization

Wednesday, February 3rd, 2010

Synchronization of computer networks is something that many administrators take for granted. Dedicated network time servers can receive a time source and distribute it amongst a network, accurately, securely and precisely.

However, accurate time synchronization is only made possible thanks the time protocol NTP – Network Time Protocol.

NTP was developed when the internet was still in its infancy and Professor David Mills and his team from Delaware University were trying to synchronise the time on a network of a few machines. They developed the very earliest rendition of NTP which has continued to be developed to this very day, nearly thirty years after its first inception.

NTP was not then, and is not now, the only time synchronisation software, there are other applications and protocol that do a similar task but NTP is the most widely used (by far with over 98% of time synchronisation applications using it). It is also packaged with most modern operating systems with a version of NTP (usually SNTP – a simplified version) installed on the latest Windows 7 operating system.

NTP has played an important part in creating the internet we know and love today. Many online applications and tasks would not be possible without accurate time synchronization and NTP.

Online trading, internet auctions, banking and debugging of networks all rely on accurate time synchronisation. Even sending an email requires time synchronisation with email server - otherwise computers would not be able to handle emails coming from unsynchronised machines as they may arrive before they were sent.

NTP is a free software protocol and is available online from NTP.org However, most computer networks that require secure and accurate time mostly use dedicated NTP servers that operate external to the network and firewall obtaining the time from atomic clock signals ensuring millisecond accuracy with the world’s global timescale UTC (Coordinated Universal Time).

Atomic Clock Synchronization made easy with a NTP Time Server

Friday, January 22nd, 2010

Atomic clocks are the ultimate in timekeeping devices. Their accuracy is incredible as an atomic clock will not drift by as much as a second within a million years, and when this is compared to the next best chronometers, such as electronic clock that can drift by a second in a week, an atomic clock is incredibly more precise.

Atomic clocks are used the world over and are the heart of many modern technologies making capable a multitude of applications that we take for granted. Internet trading, satellite navigation, air traffic control and international banking are all industries that rely heavily on

They also govern the world’s timescale, UTC (Coordinated Universal Time) which is kept true by a constellation of these clocks (although UTC has to be adjusted to accommodate the slowing of the Earth’s spin by adding leap seconds).

Computer networks are often required to run synchronized to UTC. This synchronisation is vital in networks that conduct time sensitive transactions or require high levels of security.

A computer network without adequate time synchronization can cause many issues including:

Loss of data

  • Difficulties in identifying and logging errors
  • Increased risk of security breaches.
  • Unable to conduct time sensitive transactions

For these reasons many computer networks have to be synchronized to a source of UTC and kept as accurate as possible. And although atomic clocks are large bulky devices kept in the confines of physics laboratories, using them as a source of time is incredibly simple.

Network Time Protocol (NTP) is a software protocol designed solely for the synchronisation of networks and computer systems and by using a dedicated NTP server the time from an atomic clock can be received by the time server and distributed around the network using NTP.

NTP servers use radio frequencies and more commonly the GPS satellite signals to receive the atomic clock timing signals which is then spread throughout the network with NTP regularly adjusting each device to ensure it is as accurate as possible.

How to Synchronise a Computer Network using the Time Protocol (NTP)

Saturday, January 16th, 2010

Synchronisation of modern computer networks is vitally important for a multitude of reasons, and thanks to the time protocol NTP (Network Time Protocol) this is relatively straightforward.

NTP is an algorithmic protocol that analyses the time on different computers and compares it to a single time reference and adjusts each clock for drift to ensure synchronisation with the time source. NTP is so capable at this task that a network synchronised using the protocol can realistically obtain millisecond accuracy.

Choosing the time source

When it comes to establishing a time reference there really is no alternative than to find a source of UTC (Coordinated Universal Time). UTC is the global timescale, used throughout the world as a single timescale by computer networks. UTC is kept accurate by a constellation of atomic clocks throughout the world.

Synchronising to UTC

The most basic method of receiving a UTC Time source is to use a stratum 2 internet time server. These are deemed stratum 2 as they distribute the time after first receiving it from a NTP server (stratum 1) that is connected to an atomic clock (stratum 0). Unfortunately this is not the most accurate method of receiving UTC because of the distance the data has to travel from host to the client .

There are also security issues involved in using an internet stratum 2 time source in that the firewall UDP port 123 has to be left open to receive the time code but this firewall opening can, and has been, exploited by malicious users.

Dedicated NTP Servers

Dedicated NTP time servers, often referred to as network time servers, are the most accurate and secure method of synchronising a computer network. They operate externally to the network so there are no firewall issues. These stratum 1 devices receive the UTC time direct from an atomic clock source by either long wave radio transmissions or the GPS network (Global Positioning System). Whilst this does require an antenna, which in the case of GPS has to be placed on a rooftop, the time server itself will automatically synchronise hundreds and indeed thousands of different devices on the network.

NTP or SNTP – That is the Question?

Wednesday, December 23rd, 2009

While there are several protocols available for time synchronisation the majority of network time is synchronised using either NTP or SNTP.

Network Time Protocol (NTP) and Simple Network Time Protocol (SNTP) have been around since the inception of the Internet (and in the case of NTP, several years beforehand) and are by far the most popular and widespread time synchronisation protocols.

However, the difference between the two is slight and deciding which protocol is best for a NTP time server or a particular time synchronisation application can be troublesome.

As its name suggests, SNTP is a simplified version of Network Time Protocol but the question is often asked: ‘what exactly is the difference?’

The main difference between the two versions of the protocol is in the algorithm that is used. NTP’s algorithm can query multiple reference clocks an calculate which is the most accurate.

SNTP use for low processing devices - it is suited to less powerful machines, do not require the high level accuracy of NTP. NTP can also monitor any offset and jitter (small variations in waveform resulting from voltage supply fluctuations, mechanical vibrations or other sources) whilst SNTP does not.

Another major difference is in the way the two protocols adjust for any drift in network devices. NTP will speed up or slow down a system clock to match the time of the reference clock coming into the NTP server (slewing) while SNTP will simply step forward or backward the system clock.

This stepping of the system time can cause potential problems with time sensitive applications especially of the step is quite large.

NTP is used when accuracy is important and when time critical applications are reliant on the network. However, its complex algorithm is not suited to simple machines or those with less powerful processors. SNTP on the other hand is best suited fro these simpler devices as it takes up less computer resources, however it is not suited for any device where accuracy is critical or where time critical applications are reliant on the network.

Network Time Protocol – When Time Matters

Monday, December 14th, 2009

There is a certain irony that the computer that sits on your desktop and may have cost as much as month’s salary will have a clock onboard that is less accurate than a cheap wristwatch bought at a petrol or gas station.

The problem is not that computers are in particularly made with cheap timing components but that any serious timekeeping on a PC can be achieved without expensive or advanced oscillators.

The onboard timing oscillators on most PCs are in fact just a back up to keep the computer clock synchronised when the PC is off or when network timing information is unavailable.

Despite these inadequate onboard clocks, timing on a network of PC’s can be achieved to within millisecond accuracy and a network that is synchronised to the global timescale UTC (Coordinated Universal Time) shouldn’t drift at all.

The reason this high level of accuracy and synchronicity can be achieved without expensive oscillators is that computers can use Network Timing Protocol (NTP) to find and maintain the exact time.

NTP is an algorithm that distributes a single source of time; this can be generated by the onboard clock of a PC - although this would see every machine on the network drift as the clock itself drifts - A far better solution is to use NTP to distribute a stable, accurate source of time, and most preferably for networks that conduct business across the internet, a source of UTC.

The simplest method of receiving UTC - which is kept true by a constellation of atomic clocks around the globe - is to use a dedicated NTP time server. NTP servers use either GPS satellite signals (Global Positioning System) or long wave radio broadcasts (usually transmitted by national physics laboratories like NPL or NIST).

Once received the NTP server distributes the timing source across the network and constantly checks each machine for drift (In essence the networked machine contacts the server as a client and the information is exchanged via TCP/IP.

This makes the onboard clocks of the computers themselves obsolete, although when the machines are initially booted up, or if there has been a delay in contacting the NTP server (if it is down or there is a temporary fault), the onboard clock is used to maintain time until full synchronisation is again achievable.

Time Servers and the Internet

Saturday, December 12th, 2009

Timing is becoming increasingly crucial for computer systems. It is now almost unheard of for a computer network to function without synchronisation to UTC (Coordinated Universal Time). And even single machines used in the home are now equipped with automatic synchronisation. The latest incarnation of Windows for instance, Windows 7, connects to a timing source automatically (although this application can be turned off manually by accessing the time and date preferences.)

The inclusion of these automatic synchronisation tools on the latest operating systems is an indication of how important timing information has become and when you consider the types of applications and transactions that are now conducted on the internet it is of no surprise.

Internet banking, online reservations, internet auctions and even email can be reliant on accurate time. Computers use timestamps as the only point of reference they have to identify when and if a transaction has occurred. Mistakes in timing information can cause untold errors and problems, particularly with debugging.

The internet is full of time servers with over a thousand time sources available for online synchronisation however; the accuracy and usefulness of these online sources of UTC time do vary and leaving a TCP/IP open in the firewall to allow the timing information through can leave a system vulnerable.

For network systems where timing is not only crucial but where security is also a paramount issue then the internet is not a preferred source for receiving UTC information and an external source is required.

Connecting a NTP network to an external source of UTC time is relatively straightforward if a network time server is used. These devices that are often referred to as NTP servers, use the atomic clocks onboard GPS (Global Positioning System) satellites or long wave transmissions broadcast by places such as NIST or NPL.

NTP Servers and the Different Time Sources

Thursday, December 10th, 2009

NTP servers are essential devices for computer network time synchronisation. Ensuring a network coincides with UTC (Coordinated Universal Time) is vital in modern communications such as the Internet and is the primary function of the network time server (NTP server).

As their name suggests, these time servers use the protocol NTP (Network Time Protocol) to handle the synchronisation requests. NTP is already installed in many operating systems and synchronisation is possible without an NTP server by utilising an Internet time source, this can be unsecure and inaccurate for many network needs.

Network time servers receive a far more accurate and secure time signal. There are two methods of receiving the time using a time server: utilising the GPS network or receiving long wave radio transmissions.

Both these methods of receiving a time source are secure as they are external to any network firewall. They are also accurate as both sources of time are generated directly by atomic clocks rather than an Internet time service that are normally NTP devices connected to a third party atomic clock.

The GPS network provides an ideal source of time for NTP servers as the signals are available anywhere. The only downside of using the GPS network is that a view of the sky is required to lock-on to a satellite.

Radio referenced time sources are more flexible in that the long wave signal can be received indoors. They are limited in strength and not every country has a time signal although some signals such as the German DCF and the USA WVBB are available in neighbouring states.

IEEE 1588 Time Protocol Promises More Accurate Time Synchronisation

Sunday, December 6th, 2009

Despite being around for over twenty years, the current favoured time protocol by most networks, NTP (Network Time Protocol) has some competition.

Currently NTP is used to synchonise computer networks using network time servers (NTP servers). Currently NTP can synchronise a computer network to a few milliseconds.

The Precision Time Protocol (PTP) or IEEE 1588 has been developed for local systems requiring very high accuracy (to nano-second level). Currently this type of accuracy is beyond the capabilities of NTP.

PTP requires a master and slave relation ship in the network. A two-step process is required to synchronise devices using the IEEE 1588 (PTP). First, determination of which device is the master is required then the offsets and natural network delays are measured. PTP uses the Best Master Clock algorithm (BMC) to establish which clock on the network is the most accurate and it becomes the master whilst all other clocks become slaves and synchronise to this master.

IEEE (Institute of Electrical and Electronic Engineers) describes IEEE 1588 or (PTP) as designed to “fill a niche not well served by either of the two dominant protocols, NTP and GPS.  IEEE 1588 is designed for local systems requiring very high accuracies beyond those attainable using NTP. It is also designed for applications that cannot bear the cost of a GPS receiver at each node, or for which GPS signals are inaccessible.” (quoted in Wikipedia)

PTP can provide accuracy to a few nano-seconds but this type of accuracy is not required by most network users however, the target use of PTP appears to be mobile broadband and other mobile technologies as PTP supports time-of-day information, used by billing and service level agreement reporting functions in mobile networks.

Secrets of Time Synchronization Software

Friday, December 4th, 2009

Time synchronization is a crucial aspect of computer networking. Ensuring all machines on a network are synchronised to the global timescale, UTC (Coordinated Universal Time), otherwise time sensitive transactions with other networks would be impossible.

Time synchronization is made easy thanks to the Network Time Protocol (NTP) which was devised in the early days of the Internet for that very purpose. It works be utilising a single time source (usually UTC) which is then distributed amongst all devices on the NTP network.

The UTC time source is often taken from the Internet on networks where security is not a great issue but as this involves leaving an open port in a network firewall for many networks the vulnerability this can leave isn’t worth the risk.

Dedicated network time servers (often referred to as NTP servers) are used by many networks as a secure and even more accurate method of receiving UTC. These devices receive the UTC time direct from an atomic clock source.

Furthermore, these dedicated time servers operate external to the firewall and network and use sources such as GPS or radio frequencies to pick up the time codes.

For ease of synchronisation there are various time synchronisation software packages that run hand-in-hand with NTP and allow, through browser interfaces, easy configuration of the time synchronization throughout the network.

Whilst these time synchronisation software packages aren’t essential in using most NTP servers, the standard software installed in operating systems is often lacking or quite complicated.

Most specialist producers of dedicated network time servers will produce a times service client to allow configuration and these are probably best suited for the device from that suppler. However, there are many freeware and open source time synchronisation software packages that are mostly compatible with many NTP servers.