# 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.