How NTP works
Figure 5 shows the basic workflow of NTP. Device A and Device B are connected over a network. They have their own independent system clocks, which need to be automatically synchronized through NTP. Assume that:
Prior to system clock synchronization between Device A and Device B, the clock of Device A is set to 10:00:00 am while that of Device B is set to 11:00:00 am.
Device B is used as the NTP time server, so Device A synchronizes to Device B.
It takes 1 second for an NTP message to travel from one device to the other.
Figure 5: Basic work flow of NTP
The synchronization process is as follows:
Device A sends Device B an NTP message, which is timestamped when it leaves Device A. The timestamp is 10:00:00 am (T1).
When this NTP message arrives at Device B, it is timestamped by Device B. The timestamp is 11:00:01 am (T2).
When the NTP message leaves Device B, Device B timestamps it. The timestamp is 11:00:02 am (T3).
When Device A receives the NTP message, the local time of Device A is 10:00:03 am (T4).
Up to now, Device A can calculate the following parameters based on the timestamps:
The roundtrip delay of NTP message: Delay = (T4–T1) – (T3-T2) = 2 seconds.
Time difference between Device A and Device B: Offset = ((T2-T1) + (T3-T4))/2 = 1 hour.
Based on these parameters, Device A can synchronize its own clock to the clock of Device B.
This is a rough description of how NTP works. For more information, see RFC 1305.