The PTP (Precision Time Protocol), uses Sync message then Follow-up message, as described in the article "Understanding the IEEE 1588 Precision Time Protocol".
I don't understand why do we need Follow-up message in part A in Figure 1. I think that using only Sync message is enough.
I hope that someone can explains this to me.
Generic hardware and software stacks that implement PTP don't have the ability to add a precise timestamp to a message they are in the process of generating. So you send a Sync message with a time estimate and measure the exact time the message is sent as it is actually sent out onto the network. For all it knows there are 15 queued packets in front of the one it is generating.
So, since you've sent out a sync message without an accurate time, you send a follow-up message with the actual time the original sync message went out.
On the Slave side, you need 4 times to calculate the offset correctly. T1 is the actual time the SYNC message was sent by the Master (from the FOLLOWUP message). T2 is the time the original SYNC message arrived at the Slave. T3 is the time the DELAY REQUEST message is sent by the Slave. T4 is the time the DELAY REQUEST message arrived at the Master. (sent back in the DELAY RESPONSE).
From those four times you can calculate the network delay and then the offset you are running at on the Slave that has to be corrected.
PTP could sent only Sync without Followup with one-step clock configuration. Quoted from
IEEE 1588 FAQ from Intel
Followup message is sent by the master to convey the captured timestamp of transmitted sync message. It will give the accurate timestamp of the previously sent out sync message.