[ntp:questions] SNTP with 1ms of precision?
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
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