Please don’t mix Non-LeapSmearing server with Leap-Smeraing server
Hello,
@bjh21 forget to add two crucial words at end of sentence “any more”. I removed this config statement before along the way on all four servers.
@apuls good remark. I do not use any upstream google ntp server. Just servers from my first post. Hard to guess / find how external servers handle Leap-Smearing. Any idea how to check external servers / improve config?
Boris
Bit late but since no one has replied yet: You can’t detect how a given ntp server is handling leap seconds until a leap second happens.
All servers in the NTP Pool should provide non-smeared time. However, there is no mechanism in ntp to monitor if this is the configured behavior. It might even be inconsistent for a single server if an operator made the (unwise) decision to mix time sources with different leap behavior in their configuration.
The big internet corporations (like Google, Meta, Amazon) have independently developed their own smearing behavior, some even iterated over multiple smearing patterns. If you search for <corporation> leap smear
with an internet search engine of your choice, you will find blog posts and documentation where they explain their respective approach. I suggest you research this for any upstream server you intend to use. A quick summary of the ones I came up with spontaneously:
- Google, Amazon: Smeared from noon to noon around the leap with 1/86400 of a second added to each second
- Meta: Smeared from the leap until 17 hours later in a non-linear curve
- Cloudflare: Standard-compliant insertion/deletion of a leap second and propagation of the leap indicator (that’s why they are allowed in the pool)
- Microsoft: No idea what software their time servers are running, but the Windows Time Service included in Windows machines does not handle leap seconds and just resyncs after one happens
All of this is best practice information and much less relevant since the decision was made to do away with leap seconds in the foreseeable future.
@mlichvar has fingerprinted NTP server behavior to infer which software a given server is using. I’ll bet he (or someone using similar techniques) could tell us which software is behind at least one time.windows.com node.
Leap seconds: If an NTP server reports a reference ID equal to a leap second smearer, there’s a chance that the NTP server will execute a leap second smear when/if IERS decides another leap second is due. Last time I checked I found 50+ NTP servers with reference ID = one of the time.google.com servers. A number of these are in the NTP Pool, probably not an issue for several years.
time.windows.com. This seems to be implemented by at least 11 IP addresses. It looks like the main US server in Des Moines, Iowa is currently handled by load shared nodes, runs at stratum 3 and has root dispersion around 30 milliseconds. This is adequate for most PCs.
@davehart, I don’t know what implementations are the Windows servers running. The fingerprint doesn’t match any of the well-known open source implementations. There are 8 similar servers in the pool. From the short interval between TX and RX timestamps I guess it might be a HW appliance. It doesn’t look like the Meinberg HPS card. Maybe something from Symmetricom?
The Windows OS comes with a full-blown NTP deamon, but is simply configured as an SNTP client out of the box.
Maybe that’s what they’re using?
You can enable the NTP server in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
in the registry. You’ll have to enable the system service as well.
I would add that Apple also offers good collection of stratum 1 servers that doesn’t use leap second smearing. Someone compiled a (non-definitive) list of them so you can see if they are worth using for your location: Apple NTP servers · GitHub