[ntp:questions] What exactly does "Maximum Distance Exceded" mean?

Joe Gwinn joegwinn at comcast.net
Mon Mar 16 13:41:39 UTC 2009


At 11:19 PM -0400 3/15/09, Danny Mayer wrote:
>Joseph Gwinn wrote:
>
>>>>  The FAQ has to be the place for such explanations.
>>>  I'm not sure if this qualifies as an FAQ as I don't recall that it has
>>>  come up before.  FAQ stands for Frequently Asked Questions.
>>
>>  RAQ then?  Rarely Asked Questions
>>
>>  Seriously, I can't believe that I'm the only person in history to be
>>  perplexed by these status codes, and those little three-word summaries
>>  are a bit telegraphic.
>>
>>  Joe Gwinn
>>
>
>You aren't the only one. These questions have been asked before by a
>number of people. In fact I had to look at this at one point when I was
>getting these codes. Of course I just looked at the source code and
>never looked for documentation.
>
>I will tell you that this is a combination of bits so it's not just a
>number. Each bit represents a test code that failed so you have quite a
>bit to look at.

I do know how the status code is structured, and wrote a Mathematica 
program to automate the decoding. (I use Mathematica to generate the 
co-plots of loopstats and peerstats data, collect statistics, et al.) 
What I didn't know was that the definitions of the code bits had 
changed between v3 and v4.  I'll have to dig into the old 
documentation and see if this code was affected.

There is little chance that I will have the time to read enough NTP 
source code to make sense of it, sufficient to be able to come to 
reliable conclusions.   I'm a system engineer, and time is one part 
of many in the system.

More generally, it's hopeless to expect the world's sysadmins to read 
NTP code (or any other kind of code).  They just don't have the time, 
and are responsible for far too many different kinds of box for it to 
be practical.  But a major part of making something reliable in 
practice is making it possible for a harried sysadmin to nonetheless 
get it right.  (I'm not a sysadmin, but work with many sysadmins. 
They spend lots of time fighting fires, and are of necessity jacks of 
all trades, masters of none.)


Silently mutating code definitions sounds like a blunder to me.  NTP 
is used on tens to hundreds of millions of computers worldwide. 
There will never be a pure v4 world.  In fact there  will still be v3 
around when v5 is being introduced.  So, if new kinds of status is 
needed, invent new codes to suit, but do not change the meanings of 
the codes that are already widely used.  In other words, do not 
undermine your existing base.

The Internet folk had the same issue with IPv6, and they concluded 
that IPv4 was too deeply embedded to ever eliminate, and that there 
was never going to be a "flag day" when a worldwide changeover would 
happen.  Thus, IPv4 and IPv6 had to coexist and interoperate forever, 
and so IPv6 was designed to support this.

Joe



More information about the questions mailing list