[ntp:questions] Query about NTP accuracy

Mike K Smith mks-usenet at dsl.pipex.com
Mon Jun 1 09:00:30 UTC 2009


On 31 May, 22:20, Brian Utterback <brian.utterb... at sun.com> wrote:
> Hal Murray wrote:
> > In article <1243711613.525216 at news1nwk>,
> >  Brian Utterback <brian.utterb... at sun.com> writes:
> >> David Woolley wrote:
>
> >>> It only requires 2.  The argument about having four initially is about
> >>> having a clear majority even after rejecting one.
> >> I am not sure what you are saying. Are you saying that 4 servers allow
> >> you to have a failed server and then outvote a falseticker. I don't
> >> think that is true. And it definitely takes three servers to outvote
> >> one falseticker in some cases. NTP deals in intervals, and it takes
> >> two servers to define one interval, and then one more to make that
> >> interval outvote all the others possible intervals. So, three servers
> >> will always outvote a single falseticker, but two will not always
> >> outvote a single falseticker.
>
> > What cases does it take 3 servers to outvote a falseticker?
>
> > I thought the idea behind using 4 severs was that 3 was the magic
> > number (2 could outvote a falseticker) and you still had 3 after
> > 1 (of the 4) died.
>
> Nope. NTP works with intervals. Each server has two intervals that it
> is contributing, the offset to the offset minus the dispersion, and
> the offset to the offset plus the dispersion. It then finds the
> interval that has the most overlap. In the case of three servers, any
> particular interval can have one, two or three "votes". When it finds
> the interval with the most votes, it takes the servers that
> contributed (i.e. voted) for that interval as acceptable and goes on
> to the next step, choosing which to use. You can easily see that
> server 1 and 2 might be close together in offset, but there
> dispersions might only overlap a little, giving that overlap two
> votes. Then if server 3 is far away from the other two but has a large
> dispersion, overlapping the dispersion of server two but not all the
> way to its offset, the overlap also has two votes. There is no
> location with 3 votes, so either one might be chosen. Server 3 can
> have a offset and dispersion that does not overlap the real time
> anywhere, which is the definition of a falseticker, and still get chosen.
>
> If you add a fourth server, there will be a combination of that
> overlaps with three, and this will outvote the interval with the
> falseticker that has two. So, you see? It takes 4 servers to outvote a
> falseticker.- Hide quoted text -
>
> - Show quoted text -

You mean like this?

1
          |--------+--------|
2
              |----------+----------|
3                              |------------+------------|

Would server 3 be regarded as a falseticker in this case?

I thought a falseticker's dispersion had to have no overlap with the
other clocks - like this:

1
          |--------+--------|
2
              |----------+----------|
3                                          |------------+------------|

Surely in this case either 1 or 2 would be selected and 3 flagged as
falseticker.

Hope the formatting doesn't get munged so as to make this
incomprehensible.

All comments appreciated.

Mike





More information about the questions mailing list