[ntp:questions] Synchronizing using servers in stratum 1 and 2

Stephen M. Dunn stephen at stevedunn.ca
Sun Feb 11 18:04:01 UTC 2007

In article <45cf33d4$0$321$e4fe514c at news.xs4all.nl> Timo Ruiter <timo.ruiter at xs4all.nl> writes:
$When you are assigned *one* stratum-1 server and *two* stratum-2 servers 
$your clock will obviously synchronize to the stratum-1 server.

   Often, but not always.  If (for instance) the delays between you and
the stratum 1 server are severe or tend to bounce around a lot, you
may find that you synchronize to one of the stratum 2 servers instead.
I've noticed over the years that ntpd seems to have a fairly strong
preference for stratum, but not so strong that it won't choose
(say) a stratum 3 or 4 server over a stratum 2 server if the former
seems better behaved than the latter.

$                                                               But that 
$being the case, what is the use of the two stratum-2 servers, assuming 
$that the stratum-1 server will not go off-line?

   That's another good use of them:  it is a poor assumption that a
given server will never go offline.  Sooner or later, *every* server
goes offline.

   You seem to be forgetting a couple of points about pool.ntp.org.
One is that it is not intended to provide you with the absolute best
time synchronization possible.  It maintains a pool of servers, checks
to make sure each one is reasonably accurate, and knows nothing about
what the network paths between you and any of those servers might be.
If you have a critical need for highly precise time synchronization,
pool.ntp.org is not for you, as pointed out on the pool's Web site;
you should choose servers manually, picking those which are highly
accurate and close (in a network sense) to you, or you should hook
your computer up to a hardware time source (perhaps something like a
GPS device).  If you just want to keep your clock's accuracy to within
a fraction of a second, the pool should be good enough.

   The other is that the goal of the project is to try to spread
the load reasonably evenly among participating servers.  That was,
in fact, the very reason for the pool's creation in the first place.
If the pool were to track stratum and bias the pool towards using
stratum 1 servers, those servers would experience heavy loads, and
their owners would probably react by taking them out of the pool.
That wouldn't benefit anyone.

   I manage three servers in the pool.  They usually hang out within
a few tens of milliseconds of The One True Time, according to both the
pool's monitoring system and the output of ntpq -p.  They're almost
always stratum 3, as the servers used by them are typically at
stratum 2.  I realize that there are cases in which a machine might
need a server with higher accuracy than that, but probably >99.99%
of the machines hooked up to the Internet don't need anything better.
Stephen M. Dunn                             <stephen at stevedunn.ca>
>>>----------------> http://www.stevedunn.ca/ <----------------<<<
     Say hi to my cat -- http://www.stevedunn.ca/photos/toby/

More information about the questions mailing list