PTP stands for “Precision Timing Protocol”, and is described in IEEE Standard 1588. It is a protocol for distributing time across a packet network. It works by sending a message from a master clock to a slave clock, telling the slave clock what time it is at the master. However, the main issue is working out the delay of that message, and much of the PTP protocol is dedicated to solving that problem.
For example, if I sent a letter containing the time and date when I posted the letter, that is not useful to the receiver unless they know how long the letter took to arrive. If they know I used a next-day delivery service, they could set their calendar correctly, but they couldn’t set their watch. The accuracy to which they know the delay is the accuracy to which they can set their time to.
PTP works by using a two-way exchange of timing messages, known as “event messages”. It is easy to calculate a “round trip delay” from this, and the protocol then estimates the one-way message delay by simply halving the round-trip delay. This assumption is the protocol’s Achilles heel – it simply does not have the information required to work out the one-way delay correctly. If, as is often the case, the forward and reverse messages take different amounts of time to cross the network, the time estimate will be wrong. This is known as the “asymmetry problem”.
There are three key techniques used by the protocol to reduce error in the delay estimate:
1. Hardware timestamping – it precisely records the time at which event messages cross the physical interface. This eliminates the software delay involved in recognising and processing the messages.
2. Boundary clocks – these recover the time at intermediate points across the network, and forward the time on in a new set of messages. Typically these clocks are found in switches and routers in the network, and they help to reduce the effect of delay variation in the network, such as might be caused by queueing delays.
3. Transparent clocks – these may also be found in switches and routers across the network, but instead of recovering the time and forwarding it on, they simply record the amount of time the message spent traversing that switch or router. When the message finally arrives at the slave clock, it contains information about the accumulated delay through the network, allowing the slave clock to more precisely align its local time to the master clock.
PTP has evolved over time, and IEEE 1588 is currently undergoing a revision process to help improve the suitability of the protocol for use in a variety of industries, including telecoms, power distribution, automotive, scientific and industrial networks. From the number of participants in that process from many different backgrounds, it is clear that it has a strong future over the next few years as the principal method of distributing accurate time across networks.