Who queries a public NTP server? 6 million addresses in 5 days

November 2026 edition, measured from 28 October to 2 November | By Richard DEMONGEOT | Published 2 November 2026 | Reading time: 7 min

A public NTP server knows nothing about its clients except their address and how many packets they send. We recorded those two facts every hour for five days on the 18 servers of the RDEM Systems NTP fleet: the 16 Stratum 2 servers and our two Stratum 1 servers, all of them in the NTP pool. Here is what those 117 readings say about who asks for the time.

6 milliondistinct client addresses, at least
72 millionNTP requests, about 616,000 per hour
37% → 91%37% of IPv4 addresses send 91% of IPv4 requests
16% / 7%IPv6 share: of addresses, of requests
72%of addresses query only one of our servers
≈ 5%of requests dropped by rate limiting, since 30 October

Method and limits

  • One reading per hour, from 28 October 2026 at 10:00 to 2 November at 06:00 (UTC): 117 readings, none missed. Each reading takes chrony's client table (chronyc clients) and its counters (chronyc serverstats) on every server.
  • A client is active in a given hour if its packet counter has increased since the previous reading. chrony keeps an address in its table long after its last request: being listed proves nothing.
  • Addresses are never written down. Each one is replaced on reading by a fingerprint (HMAC-SHA256) whose key is held in memory, never on disk, and will be destroyed when this edition closes: the fingerprints can then no longer be matched to any address.
  • Our own traffic is removed: our servers querying each other, and our probes.
  • An address is not a device. Behind a shared IPv4 address (corporate NAT, carrier-grade NAT) there can be thousands of devices. In IPv6, a device changes temporary address over the days (RFC 8981), so we group those by /64 prefix. We talk about addresses, never devices.
  • The figures are minimums. chrony occasionally overwrites entries in its table; an overwritten client that comes back is recreated and counted, but part of the activity between two readings can be missing.
  • A configuration changed along the way. On 29 and 30 October, a new configuration (diversified sources, rate limiting) was deployed on the fleet, with a chrony restart on every server. Counters are added up across the restart; rate limiting is dealt with separately.
  • We measure our servers, not NTP in general. What a pool server receives depends on its zones (Europe and France for ours) and on the share the pool gives it.

IPv4 and IPv6: 16% of addresses, 7% of requests

Over the window we saw 6,053,669 addresses: 5,078,898 over IPv4 and 974,771 over IPv6. Grouped by /64, the latter make 935,414 clients, or 6,014,312 distinct clients in total. Each full day counts 1.7 to 1.9 million. These addresses sent 71,901,008 requests.

Share of IPv4 and IPv6 in addresses and in requestsIPv4IPv6AddressesAddresses — IPv4 : 83.9%83.9%Addresses — IPv6 : 16.1%16.1%RequestsRequests — IPv4 : 92.8%92.8%Requests — IPv6 : 7.2%7.2%
Share of each address family. Source: census of the RDEM Systems NTP fleet, 18 servers, 28/10 → 02/11/2026.

IPv6 weighs half as much in requests as in addresses: its clients do not stay. Even grouped by /64, 91% of IPv6 clients are seen during a single hour only, so the rotation of temporary addresses does not explain it all. Another feature: a server's IPv6 volume varies sevenfold from one day to the next, depending on the share the pool sends it. The IPv6 figures of any single day describe the pool's distribution more than the demand; we only quote averages over the window.

Regular clients and passing clients

Two populations share our servers. One-off clients are active during a single hour out of 117: a device asking for the time at boot, a script, a test tool. Regular clients come back hour after hour, typically a synchronisation daemon (chrony, ntpd, systemd-timesyncd) polling its sources at a fixed interval.

IPv4 addresses: share of one-off and regular clients, in addresses and in requestsone-off (a single hour)regular (several hours)AddressesAddresses — one-off (a single hour) : 62.9%62.9%Addresses — regular (several hours) : 37.1%37.1%RequestsRequests — one-off (a single hour) : 8.6%8.6%Requests — regular (several hours) : 91.4%91.4%
IPv4 addresses. A "regular" client was active in at least two hourly readings.

37% of IPv4 addresses send 91% of IPv4 requests. Regular clients stay a median 49 hours between their first and last request seen. One-off clients are the majority by number (62.9%) and almost invisible in load: three quarters send a single packet. Over IPv6 the imbalance is stronger still: 9% regular clients, who send 74.1% of IPv6 requests.

Time between the first and last request seen, per clienta single hourunder 6 h6 to 24 h24 h or moreIPv4 (address)IPv4 (address) — a single hour : 62.9%62.9%IPv4 (address) — under 6 h : 4.2%IPv4 (address) — 6 to 24 h : 6.3%6.3%IPv4 (address) — 24 h or more : 26.7%26.7%IPv6 (/64)IPv6 (/64) — a single hour : 91%91%IPv6 (/64) — under 6 h : 3.9%IPv6 (/64) — 6 to 24 h : 2.5%IPv6 (/64) — 24 h or more : 2.6%
Time between the first and last request seen, capped by the 117-hour window. Hover over a segment for its value.
Time seenIPv4 (per address)IPv6 (per /64)
a single hour62.9%91%
under 6 h4.2%3.9%
6 to 24 h6.3%2.5%
24 h or more26.7%2.6%

The daily rhythm

Active addresses per hour, average over the window, Paris time00 : 0001 : 0102 : 0203 : 104k104k0304 : 0405 : 0506 : 0607 : 0708 : 0809 : 0910 : 1011 : 1112 : 1213 : 1314 : 1415 : 1516 : 1617 : 168k168k1718 : 1819 : 1920 : 2021 : 2122 : 2223 : 23
Active addresses per hour (average over the days of the window, Paris time, UTC+1). Three hours are excluded: an off-schedule reading on 29 October, and the hour of the restart on the 30th.

The number of active addresses follows the European day: about 104,000 per hour in the dead of night (between 02:00 and 04:00), 168,000 at the 17:00 peak, a factor of 1.6. Requests vary by a factor of only 1.26 (from 542,000 to 683,000 per hour): regular clients, which make most of the volume, run day and night; it is the passing clients that follow office hours.

The window covered the All Saints' Day weekend, with no marked dip: on average 147,000 active addresses per hour on Thursday, 141,000 on Friday, 140,000 on Saturday and 137,000 on Sunday.

One client, how many servers?

The pool spreads clients by giving each DNS query a few servers picked at random within a zone. Seen from our fleet, the spreading works: 72.4% of addresses query only one of our 18 servers over five days.

Number of fleet servers queried per address1 : 72.4%72.4%12 : 14.5%14.5%23 to 5 : 9.9%9.9%3 to 56 to 16 : 3.0%3.0%6 to 1617 : 0.3%0.3%1718 : 198 addresses198 addresses18
Number of our servers queried by the same address over the window (share of addresses; for 18, the number of addresses).

At the other end, 198 addresses query all 18 of our servers, all over IPv6, active a median 116 hours out of 117, with thousands of packets each. These are addresses that would appear to be, for the most part, the monitors of the NTP pool, the public and collaborative pool, which continuously measure each server to compute its score: over a hundred monitors follow each of the two servers we checked.

The small peak at 17 servers has a simple explanation: over IPv4, only 17 of our servers can be reached, because ntp-0-gps has no public IPv4 address (the site's single IPv4 serves ntp-0-gnss). Of these 16,320 addresses, about 1,000 are active nearly every hour, like the previous ones. The others are active only every other hour in the median, with few packets: most likely addresses shared by many devices, which the pool's rotation ends up sending to each of our servers.

NTS: around one percent

All our servers serve NTS, authenticated time. Excluding our own traffic, the share of client requests authenticated with NTS is around one percent. The public pool pool.ntp.org does not publish NTS: its zones return a different machine on each lookup, run by a different operator, whereas NTS requires a certificate bound to the name queried (see NTS end to end). An NTS client has therefore been configured on purpose, with the name of a specific server or of an NTS pool: our private pool, ntp-pool.rdem-systems.com, is configured with NTS, and an experimental public NTS pool exists, sectime.org (see NTS on chrony).

Rate limiting

A public server also gets overly chatty clients: firmware polling in a loop, badly written scripts. chrony can limit the rate per address and stop answering those above the threshold. On our fleet, this limit was deployed during the measurement, on 29 and 30 October, so we keep the two regimes apart.

Requests droppedBeforeAfter
All families0.03%4.8%
IPv40.03%5.2%
Depending on the server0 to 0.1%2.8% to 7.1%

About one request in twenty is now dropped, almost only over IPv4: over IPv6, just 174 requests were in five days. We name no address and no operator. The behaviours involved and the operator-side countermeasures are described in running a pool server.

What we take from it

  • Load comes from daemons, numbers come from passers-by. Sizing a server on the number of addresses overestimates it; the share of regular clients is what makes the rate.
  • IPv6 is here, but passing through. 16% of addresses, 7% of requests: lasting IPv6 clients remain rare.
  • NTS is still a matter of hand-configured clients, around one percent of requests.
  • Rate limiting costs little and filters one request in twenty, without touching IPv6.

We will run this measurement again. Each edition will have its own dated section on this page, and earlier ones will stay online for comparison.

Sources

Frequently asked questions

How many clients query an NTP pool server?

On the 18 servers of the RDEM Systems NTP fleet, from 28 October to 2 November 2026, we counted over 6 million distinct client addresses, 1.7 to 1.9 million each day, for nearly 72 million requests. An address is not a device: behind a shared IPv4 address there can be thousands.

What share of NTP traffic is IPv6?

On our servers, IPv6 accounts for 16% of client addresses but only 7% of requests. Even grouped by /64, 91% of IPv6 clients are seen during a single hour only, against 63% of IPv4 addresses.

What share of NTP requests is dropped by rate limiting?

Since rate limiting was deployed on our fleet on 29 and 30 October 2026, about 4.8% of requests are dropped (5.2% over IPv4), from 2.8 to 7.1% depending on the server. Before, almost none were. Over IPv6, only 174 requests were dropped in 5 days.