[ntp:questions] Query about NTP accuracy
Brian Utterback
brian.utterback at sun.com
Sun May 31 21:20:31 UTC 2009
Hal Murray wrote:
> In article <1243711613.525216 at news1nwk>,
> Brian Utterback <brian.utterback 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.
More information about the questions
mailing list