Improving NTP Pool Server Selection Accuracy for Better Regional Performance

Hello,

I am facing a challenge with how NTP Pool servers are selected for clients. :upside_down_face: It appears that clients are sometimes directed to servers that are geographically distant or have higher latency; even when there are closer /faster options available.

This issue is particularly noticeable in regions that are not densely covered by the NTP Pool. As far as I understand, the DNS-based load balancing mechanism should prioritize servers that are geographically closer to clients; but it doesn’t always seem to function as expected. This brings up a few questions regarding how the current system handles server selection; especially for regions with sparse server coverage.

Are there any plans to improve the accuracy of the client-to-server mapping to reduce latency and enhance time synchronization accuracy? Additionally; is there a way for server operators to provide feedback / be more involved in fine-tuning the selection process to better serve underrepresented regions? :thinking:

I am interested in any ongoing developments or future plans that aim to address these issues. Insights into better server configuration practices o; strategies that can help mitigate these problems would be greatly appreciated.
I have checked https://community.ntppool.org/t/about-the-pool-development-category/22- cpq guide about the development of the NTP Pool system but still need help .

Any advice from the community would be valuable.

Thank you ! :slightly_smiling_face:

Hi @rosshaden –

Just to make it a little more concrete – which regions / countries are you seeing this in? What are the closer options that the system skips?

Yes, there are plans. They depend on more code being written primarily, but I’m slowly making progress on it.

Generally speaking the system currently prioritizes balancing the load according to server operator preferences over better handling of the situation you mention.

In addition to what @ask has written:
Take a look at GitHub - abh/geodns: DNS server with per-client targeted responses and improve it if you can :slight_smile:
But I guess esp. latency is hard to estimate by the geoDNS, sometimes geographically close locations do not have direct links and thus a server farther away may have better latency. But I don’t see a way to predict that from the view point of the geoDNS server.
On the other hand, what will you do in underserved regions, you’ll want to return 4 IPs and thus have to add what is available somewhere. A DNS response with 4 close but totally overloaded servers is not helpful for the client either.

1 Like

@rosshaden

I set up my own stratum 0 source for <$50 and use time.nist.gov, which are all stratum 1. You never know what stratum you will get with us.pool.ntp.org.

All clients are redirected to local NTP server.

Anyone running an enterprise should be running their own internal NTP server.

Not only does that make you a good citizen by not bombarding public NTP servers, but ensures all clients are using the exact same time, even when WAN is down. Also prevents miscreants from profiling what services you may be running based on client public NTP polls.

Just my 2¢

2 Likes

@ask I think that along with contributing server address and specifying its “speed divisor” server operators SHOULD be given optional ability to provide ~10-15 IP ranges for their servers to be enlisted also or exceptionally just for. Not AS number, as its networks may be spread geographicly, but certain ranges that user finds by traceroute be close. Server operators usually are tech savvy ppl, some may have multihome (dual) ISP’s and I think it’ll make huge logical impact on traffic. DNS probe you provide to be included in webpage is actually already a solution, but what I offer will make it good as well.

1 Like