Server Selection Criteria

So when a client wants to contact a server, how does the pool decide which server the client should contact(assuming the client has used the default pool.ntp.org as the desired server). From what I have understood about the NTP Pool, I think the pool probably recognises the approximate geographic location of the client and then uses a round robin approach to provide a server from the available servers in the particular zone. Is this correct?

Also, are servers given a preference based on the stratum that they belong to i.e. would a stratum 2 server have a higher chance of receiving a client request than a stratum 3 server or maybe vice versa ?

Thanks in advance :slight_smile:

1 Like

I do not know what the criteria is and I doubt the pool know.
As it’s a DNS query that rotates, see for yourself:

bas@workstation:~/Bureaublad$ nslookup pool.ntp.org
Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:
Name: pool.ntp.org
Address: 185.111.204.220
Name: pool.ntp.org
Address: 109.68.160.220
Name: pool.ntp.org
Address: 162.159.200.1
Name: pool.ntp.org
Address: 162.159.200.123

So if you want a pool more close to you, then select a diffent pool like europe:

bas@workstation:~/Bureaublad$ nslookup europe.pool.ntp.org
Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:
Name: europe.pool.ntp.org
Address: 80.151.151.109
Name: europe.pool.ntp.org
Address: 84.16.73.33
Name: europe.pool.ntp.org
Address: 88.99.76.254
Name: europe.pool.ntp.org
Address: 51.15.182.163

Or even more close, in my case Belgium:

bas@workstation:~/Bureaublad$ nslookup be.pool.ntp.org
Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:
Name: be.pool.ntp.org
Address: 45.87.76.3
Name: be.pool.ntp.org
Address: 162.159.200.1
Name: be.pool.ntp.org
Address: 162.159.200.123
Name: be.pool.ntp.org
Address: 185.111.204.220

Just depends on how big a pool you want to use.

It rotates and it can’t know what to give you, as such there are more local pools.

1 Like

As of right now (@Ask can correct me if I’m wrong), but the DNS server doesn’t do any geo-targeting for client requests. i.e. if you were located in the US, it wouldn’t automatically send you US-only servers if you were using ‘0.pool.ntp.org’.

Server’s are tagged into specific zones when they sign up. There is the “global” pool ‘0.pool.ntp.org’, then continents, then countries. It is up to the end-user to select the zone they wish to use.

There is no preference based on Stratum. Again, when a person signs up their server, on their management page they can choose a “Bandwidth” setting which is really just a weight-value for the DNS server. The higher the setting, the more often that IP will show up in the DNS responses.

1 Like

Actually, @reen.gagan was right. The system tries to figure out which country (there are other criteria, too, but the main configuration just uses country or continent) the user is in based on the IP of their DNS server (or EDNS-CLIENT-SUBNET information for Google DNS and OpenDNS). Based on that information it will automatically match to a “country zone”. The country zones might do more harm than good now, so at some point I might change them to just work like the “default” zone.

What you said about stratum and the “bandwidth” setting was all correct.

2 Likes