Time synchronisation is a necessity in many areas of computing and networking, especially in critical systems where accuracy, reliability and security are paramount and depend on maintaining time consistency between all the objects involved.
It is because all machines of a complex system will be synchronised that the system will be able to coordinate actions, ensure the consistency of transactions and maintain data integrity, even though it is made up of distributed systems.
Nowadays, three synchronisation protocols stand out due to their use and importance: IRIG (Inter-Range Instrumentation Group), NTP (Network Time Protocol) and PTP (Precision Time Protocol). Each of these protocols has been developed with specific purposes and features different characteristics that make it more or less suitable for different applications. Let us explain you everything.
The IRIG protocol in a nutshell
IRIG is not so much a protocol as a standard which allows sending of timestamping frames via an electric current. The IRIG standard was originally a project from the US Army, which was widely used in aerospace and telemetry afterwards. The main purpose of this standard is to ensure highly accurate data synchronisation in systems where different instruments and devices need to be perfectly synchronised.
IRIG signals (timestamping frames) carry time information encoded in the form of pulses of different durations, thus enabling very high accuracy. This standard allows fast transfer and high precision. However, it operates over short distances even though there are ways to send IRIG timestamping frames using fibre optics in order to operate over larger distances.
However, this is not recommendable as it introduces an unknown delay between the transmission and the reception of a frame, thus making it potentially impossible to synchronise different devices.
As a result, the different IRIG devices are mainly synchronised using coaxial cables. IRIG servers can use their own internal clock to generate timestamping frames. However, they are connected most of the time to a reliable time source such as a GPS or an atomic clock. Sending timestamps encoded directly onto current over short distances allows to know exactly the transmission time as well as the resolution time of equipment reading the frames, thus offering greater robustness and precision.
The main principles of the NTP protocol
The Network Time Protocol (NTP) is a synchronisation protocol based on UDP which uses port 123. In the NTP protocol, roles are asymmetrical: a computer synchronises its clock with that of a reference server.
The protocol was first documented in the RFC 958 back in 1985. The latest NTP protocol documentation version is the fourth one (RFC 5905) even if the latter is less used than the third version (RFC 1305) which is more widely used. Between the release of the third and the fourth version, a simplified NTP version has been introduced: SNTP (Simple NTP). SNTP is similar to NTP, except that there are fewer constraints on the algorithms to be used as well as on the number of sources to be synchronised with 0/1 levels.
The NTP protocol defines the network architecture to be implemented, messages to be sent between clients and servers, as well as a whole set of algorithms to be used by clients in order for the synchronisation to be successful.
The NTP network has a tree-like architecture. The reference clocks (GPS, atomic clock, and so on) are at the top of the architecture, at the 0 level, called stratum 0 in the NTP architecture. They are connected to the stratum 1 server via serial port interfaces. Then, stratum i is connected to stratum i+1 to broadcast the timestamp and allow synchronisation to continue.
Servers in the same stratum (peers) can be connected to each other to address connection problems with the stratum above or simply to synchronise with each other.
Therefore, NTP servers take on the roles of client and server alternately, depending on the stratum they are in communication with. The standard has a limited architecture of 16 stratums. In most cases, final clients are situated between stratum 3 and 4.
NTP has been designed to provide an accuracy of less than a second. However, the higher the stratum number, the further you move away from a reference clock and the lower the accuracy, as each stratum can generate a slight offset. The fourth version is more precise than the previous ones since it allows maintaining an offset of less than 10 ms for a machine connected via the internet and even maintaining an offset of less than 200s between machines on the same local network.
As there are public NTP servers, it is not required to have direct access to a reference clock to synchronise a network using the NTP protocol. However, this should be avoided if, in addition to accurate synchronisation, the aim is to obtain maximum security and reliability.
The PTP protocol in a nutshell
Precision Time Protocol (PTP) is an asymmetric synchronisation protocol (master-slave) which broadcasts a timestamp across a network to ensure that equipment is synchronised.
In theory, it has a precision of nanoseconds. But in practice, it has rather of precision of microseconds, which still makes it a far more accurate protocol than the NTP.
PTP is a recent protocol since it was first documented in 2002 (IEEE 1588-2002 standard of the IETF). The second version was published in 2008 (IEEE 1588-2008) and the last one (which is currently being used) was published in 2019. Its aim is to take over the NTP in cases where the latter is not accurate enough. It should be noted that the 2002 IEEE standard is not compatible with the last ones from 2008 and 2019.
Technically, PTP is a master-slave hierarchical protocol. PTP servers situated at the middle of the hierarchy take on the two roles alternately. The master clock at the top of the hierarchy is called grandmaster. It is traditionally connected to a reference clock (atomic clock or GPS for example) and is responsible for broadcasting a timestamping message to the entire network. Nevertheless, the PTP protocol does not force connection to a reference clock and the grandmaster can simply use its internal clock to synchronise all equipment. The grandmaster of a network is selected using an algorithm called the best master clock algorithm (BMCA).
Comparing the different protocols
It is important to understand the specific features of each protocol in order to know when to use the right protocol for time synchronisation of your equipment.
The NTP protocol offers the most limited accuracy but does not require any specific or overly complex hardware to operate. Indeed, even if it is strongly discouraged for security purposes, the latter can synchronise via the Internet with publicly accessible servers.
NTP turns out to be a great option is the accuracy is not critical and if time information is sent in a secure way by a local NTP time server.
The PTP or IRIG protocols offer much higher levels of precision and robustness, but require specific hardware to operate. In fact, IRIG is based on electrical modulation: is then necessary to have the appropriate hardware for encoding and receiving the time information. IRIG is often used in sectors where time synchronisation is critical such as military applications, aerospace or power plants. The PTP protocol also require specific hardware and especially cards to generate timestamps and obtaining greater accuracy. It is to be preferred in cases where synchronisation accuracy is important and when there is a need to implement it on network hardware.
Indeed, IRIG usually synchronises local networks. The PTP protocol is therefore preferable for applications such as voice or image transmission or high-frequency trading, where time synchronisation is very important.
To conclude, choosing a time synchronisation process depends on the expected applications.
With more than 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 different needs and applications. It also offers an IRIG, PTP and NTP time synchronisation to choose from.