[ntp:questions] SNTP with 1ms of precision?

David Woolley david at ex.djwhome.demon.invalid
Thu Jun 17 21:49:07 UTC 2010

Marcelo Pimenta wrote:

> I thought that SNTP was used in a kind of "Intranet" with no routers and no
> internet, so the low latency there is no need of so much calculations to
> adjust the clock.

As W32Time is not fully NTP compliant, out of the box, it is probably 
currently true that most SNTP use is over the LAN, although the domain 
controller is still likely to use it over the internet.

At one time, it is possible that home use shifted it towards being 
mainly internet.  Even nowadays, ADSL routers are likely to use it over 
the internet; I'm not sure how the number of those relates to the number 
of business machines in Windows domains.
> Yeh!! You are right!! RFC is the same. But, the server can respond SNTP e
> NTP request? Or the request is the same? If not the same, who decide it? The
> client? If client ask SNTP to the server, it will respond SNTP?

On the wire, SNTP is NTP with certain fields ignored, and certain 
constraints (that are often violated).  I'm fairly sure that a valid 
SNTP server can double as a stratum 1 NTP server.  An NTP server can 
always double as an SNTP server, and does not have to do anything to 
distinguish that its client is SNTP.

> So, Windows XP use SNTP when I put an IP server to sincronize through
> Internet?

Windows tends to use a broken SNTP.  Recent versions can be configured 
to act as (almost?) compliant NTP clients and servers.

> I can't use ntpd, I have an equipment for specific use with RFC2030
> implemented because of a standard that say it is mandatory SNTP - RFC2030.

Bad specification.  In any case, you can still run the NTP PLL, even if 
you can never configure more than one server.  There may be some 
subtlety I have missed, but I think an NTP client will be compliant with 
SNTP if used at stratum 2.

> My equipment ask for time every minute and frequence tolerance of the
> crystal is less then 1ms/min. They are in a intranet with 2 switches
> isolated so... my question was about the SNTP because some people said to me
> that SNTP cannot garantee 1ms accuracy. Is it possible, in that described
> cenario to no have 1ms of accuracy?

SNTP as used on Windows to access the Microsoft timeserver certainly 
can't.  Anything that runs on Windows that sets the clock on ever poll 
almost certainly can't for any reasonable application load.  On Linux 
you have to beware of interrupt latency, NIC interrupt aggregations.

Ordinary Windows applications won't be able to read the time to 1ms 
accuracy, unless the machine is very lightly loaded and you turn up 
multi-media timers to their fastest setting (and use a recent version).

There is no architectural reason why an implementation of SNTP should 
not achieve a 1ms 100 percentile error bound, but I doubt there are many 
real life cases.

More information about the questions mailing list