[ntp:questions] Stratum 0 server rejected by clients

Dirk Langner dirkl at silexmedia.com
Tue Jan 9 16:15:33 UTC 2007


Hi Danny, 

Thanks for reply.

Some answers and comments below.

-- 
__________________________________________________
 Dirk Langner 089/4512549-14 DirkL at silexmedia.com
 

> -----Original Message-----
> From: Danny Mayer [mailto:mayer at ntp.isc.org] 
> Sent: Sunday, December 24, 2006 5:56 AM
> To: Dirk Langner
> Cc: questions at lists.ntp.isc.org
> Subject: Re: [ntp:questions] Stratum 0 server rejected by clients
> 
> Dirk Langner wrote:
> > Hello everybody, 
> > 
> > We're facing a problem, that we have ntp-servers with synchronized
> > system time by an external clock. The ntp servers are now 
> > distributing
> > the (synchronized) time to all other servers. This works well at the
> > first time, the ntp-servers are seen as peers on most of 
> > the clients,
> > sanity checks are passed. But it seems that after a while the ntp
> > clients are going to reject all their servers due to not passing the
> > sanity checks, which means, that the time is not 
> > synchronized any more
> > on those systems.
> > 
> > The paper "Using NTP to Control and Synchronize System Clocks - Part
> > III" by Sun blueprints Online says in NTP Algorithms/Sanity 
> > Checks, step
> > 6: "...that servers, which are not connected to a root time 
> > source, will
> > be ignored." So is this now the reason why the ntpclients 
> > are going to
> > reject the servers or am I missing something? And if so: is 
> > there any
> > chance to get the system time (which is synchronized - see below)
> > distributed via NTP?
> > 
> 
> The proper source are the documents on the ntp.org web sites.
>
> > Some words to the setup: 
> > Four ntp-servers ntpserver[1-4] are synchronized via serial 
> > lines to a
> > single external timesource.
> 
> Why would they be synchronized to a *single* external timesource? The
> recommended guidelines is at least 3 and preferably 4.

The timesource here is the house internal clock, which is DCF77
controlled
in this case, but this may be influenced by i.e. own timecode inserter.
We
need not the most accurate time, but we need the servers in our isolated
network being in sync.

>  On these system a deamon (which does mainly
> > other things) adjusts the system time according to these 
> > serial signals
> > at least every 10 minutes.
> 
> What daemon? If it's not NTP then it's all over.

It's not NTP, no. NTP only has the ability to check the system time.

> > I can't switch to other / external ntp
> > servers, since I need this one and only time (broadcast 
> > environment) and
> > the servers are sitting on an isolated network. The 
> > external device is a
> > LTC timecode converted by a Miranda Littlered, the serial 
> > signals are
> > processed by a deamon, which is exclusively connected to the serial
> > port.
> 
> Is this supposed to be a refclock? Does it have a refclock driver?

This is supposed to be the refclock, although there is the video-deamon,
which listens to the serial port and determines the timestamps and sets
the system clock.

> > ntpserver1 8# more /etc/ntp.conf
> > # Generic ntp.conf file
> > #
> > # See documentation for more options
> > #
> > # add as many server as required
> > server 127.127.1.0
> > fudge 127.127.1.0 stratum 0 refid LTC1
> 
> DO NOT DO THIS. Stratum 0 is reserved for refclocks and your server is
> not a refclock. The local clock like this is for systems that 
> lose their
>  connection to a higher stratum clock. Usually this is set to 10 for a
> local clock.

I'm going to change that. Nevertheless the behaviour will not change,
After a day the clients are going to reject my ntp-servers.

> > 
> > broadcast 192.168.58.255 ttl 2
> > 
> > driftfile /etc/ntp.drift
> > 
> > # don't set local clock
> > disable ntp
> > 
> > This last setting is necessary to disable the setting of the system
> > clock by ntp, the system time of the ntp-server shall 
> > exclusively set by
> > the deamon. 
> > 
> 
> That's not necessary as it cannot set the clock anyway with 
> this setup.

I thought NTP also writes the system time?

> > The ntp clients listen to only these servers.
> > ntpclient 14# more /etc/ntp.conf
> > # Generic ntp.conf file
> > #
> > # See documentation for more options
> > #
> > # add as many server as required
> > server ntpserver1 prefer
> 
> Why is this one preferred over all the others?

If it's also working without 'prefer', I'm going to try that.

> > server ntpserver2
> > server ntpserver3
> > server ntpserver4
> > 
> > driftfile /etc/ntp.drift
> > 
> > # monitor no
> > # authenticate no
> > #
> > broadcastclient yes
> 
> The only argument that broadcastclient takes is novolley.

Ah, thanks.

> > ntpclient 3# ntpq
> > ntpq> pe
> >      remote           refid      st t when poll reach   
> > delay   offset
> > jitter
> > 
> > ==============================================================
> > ==========
> > ======
> > *ntpserver1 .LTC1.           1 u   20   64  377    0.502  -32.966
> > 0.258
> > +ntpserver2 .LTC1.           1 u   25   64  377    0.441  -32.922
> > 0.155
> > +ntpserver3 .LTC1.           1 u   51   64  377    0.511  -33.044
> > 0.224
> > -ntpserver4 .LTC1.           1 u   11   64  377    0.431  -33.129
> > 0.098
> > version="ntpd 4.1.1 at 1.786 Wed Jan 19 14:18:56 PST 2005 (1)",
> 
> That's a little old. The latest release version is 4.2.2.

Unfortunately there is no newer compiled version for IRIX.

> > After some time the servers are going to be rejected, although the
> > sanity checks are passed. The associations are going to be 
> > 
> 
> What makes you think that the sanity checks are passed? What 
> evidence do
> you have? All the indications are that they did not pass.

The output of "ntpq> associations" in ntpq shows in the status-column
for
every server a 96f4, the second figure '6' tells me, that the client is
synchronizing to the ntp-server, a '4' at this position (like for the
other Servers) shows, that they are selected for candidate. So, sanity
checks passed.
> ntpq> ass
> ind assID status  conf reach auth condition  last_event cnt
> ===========================================================
>   1 49084  96f4   yes   yes  none  sys.peer   reachable 15

This changes the next day. The assertions for this servers
are then showing a '0' and the servers are rejected (output of
condition).
The sanity checks failed, only because time went by in this setup.
> ntpq> ass
> ind assID status  conf reach auth condition  last_event cnt
> ===========================================================
>   1 60236  9034   yes   yes  none    reject   reachable  3


> 
> Danny
> 



More information about the questions mailing list