NTP GPS servers are now one of the most common ways to receive and distribute a UTC time source. This time is passed from the reference clock (stratum 0 device – the GPS satellite) to the NTP GPS server (stratum 1 device). Servers synchronised to the stratum 1 server will be stratum 2 devices.
The synchronisation of a client to a network server involves several packet exchanges where each exchange is a pair of request and reply. When sending out a request, the client stores its own original timestamp into the packet being sent. When a server receives the packet, it will in turn store its own timestamp into the packet, and the packet will be returned after putting a transmission timestamp into the packet. When receiving the reply, the receiver will once more log its own receipt time to estimate the travelling time of the packet. The travelling time (delay) is estimated to be half of “the total delay minus remote processing time”, assuming symmetrical delays.
The time is not trusted by the NTP GPS server until several packet exchanges have taken place, each passing a set of tests. Only if the replies from a server satisfy the predefined conditions in the protocol specification, the server is considered valid.
Usually it takes about five minutes (five good samples) until a NTP server is accepted as synchronisation source. Interestingly, this is also true for local reference clocks that have no delay at all by definition.
After initial synchronisation, the quality estimate of the client usually improves over time. As a client becomes more accurate, one or more potential servers may be considered invalid after some time.
Information courtesy of the NTP pool.