[ntp:questions] The libntp resumee...

Kay Hayen kayhayen at gmx.de
Sun Sep 7 06:47:47 UTC 2008

Hello David,

Am Freitag, 5. September 2008 23:50:39 schrieb David Woolley:
> Kay Hayen wrote:
> > External NTPs <-> 2 entry hosts <-> 8 other hosts.
> >
> > And iburst and minpoll=maxpoll=5 to improve the results.
> If these External NTPs really are external, i.e. not owned by you, do
> not do this without explicit permission from their owners.  There is a
> real risk of countermeasures if you don't.  These may result in poor
> time or no time.  Generally polling with anything less than the default
> MINPOLL and MAXPOLL can be considered abusive and polling with a MAXPOLL
> less than the default MINPOLL will trigger countermeasures in any system
> configure to apply them.

They are owned by the same people who then own installations of our system, so 
that wouldn't be an issue.

When I say "restrict" it is our own system that decides that ">x ms" offset is 
too bad and prevents ntpd from talking to it any further with a "restrict" 
command. If all 2 servers of an "other host" are "restricted", it will crash 
the software.

All of that is own our making and control.

Regarding the poll values. I am not sure why we do it the external NTPs as 
well. Could be that the dispersion can be brought down quicker this way 
on "entry hosts" and allow the "other hosts" to synchronize faster with them, 
or could be that we never considered it worthwhile to optimize it away.

> > I will try to formulate questions:
> >
> > When the other hosts synchronize to the entry hosts of our system, don't
> > the other hosts ntpd know when and how much these entry hosts changed
> > their time due to input?
> You seem to be under the misapprehension that ntpd makes step changes on
> each measurement.  It actually makes slow adjustments to effective
> frequency and rate of change of frequency based on s signficant number
> of preceding measurements (Unruh: I'm over-simplifying both the 8 step
> filter and the low pass loop filter here).

Well yes, but between 2 queries from the same client the ntpd will have made a 
certain adjustment. If the client gets to know this value, it will have to 
blame its own clock for that extra difference and assign it dispersion that 
it doesn't deserve.

So, what I don't get is probably more like: How much will a stratum 3 server 
be able to use the stratum 2 server only as an indirection of the stratum 1 

In my mind the stratum 2 server was only trying to be accurate about how old 
the stratum 1 datation is, and that the stratum 3 would be enabled to try and 
converge towards the stratum 1 clock.

In other words I could say: I was expecting the ntpd answer to contain 
upstream ntpd answers as well. And I was expecting the processing ntpd trying 
to guess the stratum 1 time. Instead it seems, it is "only" trying to guess 
the next upstream time and based on dispersions (its own and upstream) it's 
following the direction of the guessed time more or less closely.

That's a different model and I think Mr. Unruh already clarified to me that 
it's not the model that NTP uses. I think "my" model has little experience or 
qualification behind it. Current NTP on the other hand is proven.

But I guess, it explains, why I have had a hard time to ever understand why 
the "entry hosts" are so bad at forwarding the time after reboot. Obviously 
NTP is not and need not be optimized towards simultaneous initialization.

Best regards,
Kay Hayen

More information about the questions mailing list