[ntp:questions] NTP absolute accuracy?

John Cochran jdc at smof.fiawol.org
Mon Jul 2 19:00:00 UTC 2007

In article <f6bcv5$18p$1 at news.Stanford.EDU>,
Juyong Do <jdo at stanford.edu> wrote:
>Thanks Jason.
>I guessed so since it wouldn't be possible under the network environments as
>you pointed out.
>Then, my question is how to detect a case with absolute time inaccuracy
>beyond a certain limit? Is the Root Dispersion the best indicator? How about
>Offset and RTT? Also, I'm wondering whether there is any way to find out the
>status of network connection such as software and hardware delays---are
>there any parameters about them?
>Basically, I'm trying to find or combine parameters to detect a certain
>outage case where absolute time inaccuracy exceeds my limit. Let me know if
>anyone has experience on this.

What you're looking for is effectively impossible if your absolute time
accuracy tolerance is low. As a very simple example, my computer at home runs ntp
and for a while I was a member of the ntp pool. Here is what I experienced
   1. When I was syncronizing my computer to a set of public NTP servers, the health
      checks that the ntp pool server made against my computer showed a relatively
      wide range of time offsets (+/- 20 milliseconds), but the offsets were centered
      around 0 milliseconds. Overall, my computer serving pretty good time to the

   2. I later purchased a Garmin GPS 18 LVC receiver and hooked it up to my
      computer using the PPS interface. After I did that, the health checks made
      by the NTP pool against my computer were suddenly much more stable with a
      variance of only 1 to 2 milliseconds. However they had a persistent offset
      of 8 milliseconds from 0.

Given the above data and given the fact that I'm using an ADSL connection to the
internet, I can only assume that I have an asymetrical delay to and from the public
internet. This delay gets canceled out for systems accessing my computer from
the public internet, but that's only because my system was offset by the amount
of asymetry. For computers within my network, they were offset from the correct
"absolute" time by about 8 milliseconds.

So what you need to do is figure out what your tolerance for time is and then
setup your system accordingly. If your tolerance is low enough, then simply using
publically available NTP servers should be good enough (low millisecond tolerance
if you select your servers wisely). If you have tighter tolerances, then you just
may have to add GPS, and WWV receivers to the mix and have the various computers
with the receivers cross syncronize to each other.

More information about the questions mailing list