[ntp:questions] Compensating for asymmetric delay on a per-peer/server basis?

Martin Burnicki martin.burnicki at meinberg.de
Thu Sep 11 13:35:06 UTC 2014

William Unruh wrote:
> Not if you have gps reference at both ends, though why you would not use
> the gps as the timesource then I do not know.

The case mentioned by the original poster is just one possible reason.

If you have a GPS controlled NTP server at home, and a fast internet 
connection, and you are willing to contribute to the pool, then usually 
external clients querying your server will see a systematic offset/error 
depending on the ratio of the upload/download speed for your home 

If you had a chance to measure this from an external node using another 
GPS controlled NTP server you could try to compensate this, and thus 
provide better accuracy to the clients coming from the pool.

This is also what Rob has mentioned in another post of this thread, and 
I agree with Rob that a one approach could be to specify (and configure 
for ntpd) the systematic error due to asymmetry of your internet connection.

However, this can also be pretty tricky if you have several NTP nodes on 
your home network, if all nodes and the inet router are connected to the 
same switch.

For different nodes on you home net there is no asymmetry (thus no time 
error), but for each of them who contacts also an external server there 
is. And often a specific machine contacts the other internal devices as 
well as the external ones via the same own LAN interface.

So for your internal operation this means:

- If you specify a fudge time for a specific interface this may be OK 
for external servers but yield an error for internal servers, i.e. 
exactly the other way round as without compensation.

- You had indeed to specify a fudge time for servers of which you know 
they are outside on the internet, e.g. other pool servers

On the other hand, if your local NTP server shall be accessible both for 
external pool clients, and local clients, how should you know where a 
specific request comes from? Based on the IP address? Only if the local 
network and the internet interface are connected via different interfaces?

So even though it would be good to be able to specify some compensation 
values, there should be different ways to do it, and putting all 
together in a way that there is no error is tricky.

Martin Burnicki

Meinberg Funkuhren
Bad Pyrmont

More information about the questions mailing list