Nowadays, it is rare to find an application involving a single machine. Most of the tasks carried out involve communication between several equipment. When machines need to communicate with each other, it is important that their clocks are synchronised so that they can agree on the order and duration of events.
Time synchronisation of a computer network enables to make sure that all machines that need to communicate with each other have the same time. Accurate, synchronised clocks enable simplified communications that do not fail, increase network security by providing more accurate logs and prevent breakdowns related to the replay of network messages.
There are several essential steps to follow to synchronise a time network: retrieving a time source as reference clock, broadcasting the reference time on the network and then, correcting the offset of clocks present on the network.
Reference clock and network time distribution
The first step to be carried out for synchronising the time of a network is to choose a reference clock. A reference clock must be highly accurate and stable, since it will update all the clocks of the network with its time. Reference clocks are often atomic or GPS clocks. These two types of clocks provide extremely accurate timestamps and are very stable over time. However, this involves choosing to use a public server or defining one’s own reference clock. Of course, it is less expensive to use a public reference clock. However, it can pose a security risk. Whichever choice is made, it is always recommended to use multiple reference clocks since no hardware is infallible, and a breakdown or an offset can always occur, even on accurate equipment. Using multiple reference clocks means better protection against potential breakdowns as well as maintaining the accuracy of time synchronisation on a network.
Once there is a certain number of time sources available, it is important to broadcast the reference time throughout the network for equipment to be synchronised. To do so, there are different time synchronisation protocols such as NTP, SNTP, PTP or IRIG. Choosing the right time synchronisation protocol depends on the accuracy required by applications on the network, as well as on the difficulty and the cost of deploying the protocol.
NTP
The NTP protocol (Network Time Protocol) is one of the first protocols to be developed. It is widely used nowadays, and has undergone many changes in order to improve its performance and security (the actual version is the fourth one). The NTP protocol is a hierarchical protocol with a reference clock at the top of the pyramid in stratum 0, and each server connected at least to a stratum i server is a stratum i+1 server. It is not recommended to have NTP networks that are too deep, since it has a significant impact on the accuracy of time synchronisation. There are many public stratum 1 or stratum 2 servers available to synchronise a network. The NTP protocol is easy to set up, but it only provides an accuracy of milliseconds. Although this level of accuracy is sufficient for many applications, many others require a greater level of accuracy.
SNTP
SNTP (Simple Network Time Protocol), is a simplified version of the NTP protocol that do not achieve the same accuracy performance but that is way simpler in terms of algorithms used to update network equipment clocks.
PTP
The PTP protocol (Precision Time Protocol) is a time synchronisation protocol which enables to reach a theoretical accuracy of nanoseconds on local networks. PTP is therefore the most widely used protocol by applications that require a high level of accuracy such as telecommunication or finance sectors. PTP operates in master-slave mode in order to identify the main clock, that is to say, the one that will synchronise other clocks on the network. The first step of this protocol consists in identifying master clocks (those with the best settings from a predefined set), so that they can distribute their time to the entire network assigned to them.
IRIG
IRIG (Inter-Range Instrumentation Group) is a family of protocols offering variable accuracy levels while being highly robust. However, IRIG protocols require specific hardware to operate and are not to be used over long distances. These protocols are rather to be used in environments requiring robustness and security such as military applications or the airspace sector. IRIG time servers broadcast timestamps continuously at a frequency that depends on the specific protocol chosen.
Do you need more information on the difference between the NTP, PTP and IRIG protocols?
comparing synchronisation protocols
Updating network clocks
This step consists in knowing how to update the clock based on the time received. This step is essential and depends on the protocol that has been previously chosen. Indeed, each protocol defines different algorithms to be used in order to know how to update a clock. As the main objective is to offer the greatest level of accuracy, the different algorithms filter the different time sources to select the best one to use for updating network clocks. In order to improve the quality of network synchronisation, other algorithms remove the noise in the messages received when timestamps are circulating on the network.
Corrections to the clocks in a network can be made progressively to avoid sudden leaps if a significant offset has been introduced between the local clock and the reference clock. In fact, correcting an significant offset directly could lead to malfunctioning of applications based on the time of the corrected clock.
All these mechanisms are transparent to the user since they depend on the chosen time synchronisation protocol.
It is also important to focus on time synchronisation security issues. Indeed, many applications lie on accurate time synchronisation: it is then an attack vector that can lead to malfunctions in applications. Most synchronisation protocols are used for securing all communications and making sure that external agents do not interfere with time synchronisation.
With over 150 years of expertise in time management and present in more than 140 countries, Bodet Time is a major French leader in time synchronisation and time frequency. The modular design of our Netsilon time servers adapts and evolves according to the needs and applications, and offers IRIG, PTP and NTP time synchronisation.
Do you have a project? Do you need assistance?