NTP Stratum Levels Explained: From Stratum 0 to 16

By Richard DEMONGEOT | April 15, 2026 | Reading time: 10 min
NTP stratum hierarchy diagram: Stratum 0 (atomic clock, GPS satellite, DCF77/WWVB), Stratum 1 (directly connected), Stratum 2 (public NTP pool), Stratum 3 to 15 (client devices), Stratum 16 (unsynchronized)

The full NTP hierarchy: from Stratum 0 (physical sources) to Stratum 16 (unsynchronized).

The Network Time Protocol (NTP) organizes time servers into a 16-level hierarchy called stratums (or strata in Latin plural). Each level indicates how far a server sits from the absolute reference source — an atomic clock or a GPS receiver. The lower the number, the closer the server is to the source and the higher its accuracy.

This page covers every stratum level, their typical accuracy, their role in the NTP architecture, and answers the most common questions: do I need Stratum 1 or Stratum 2? what does Stratum 16 mean? how do I check a server's stratum?

Contents

Overview: the full NTP hierarchy

NTP propagates time using a hierarchical master-slave model: each server gets its time from one or more servers at the immediately upper level, then redistributes it to its own clients. The deeper you go in the hierarchy, the larger the client base but the lower the accuracy.

NTP stratum hierarchy

Stratum 0
Atomic clocks, GPS, radio signals
Physical reference sources — not NTP servers
Stratum 1
Servers directly connected to Stratum 0
Typical accuracy: 1 to 10 microseconds — PPS, serial, GPS card
Stratum 2
Servers synchronized with one or more Stratum 1
Typical accuracy: 100 µs to 1 ms — most public servers
Stratum 3−15
Cascading chain of servers and clients
Accuracy: a few ms to several tens of ms depending on the level
Stratum 16
Unsynchronized — invalid source
Special value: the server must not be used as a reference
Why this hierarchy?
Stratum 0 sources (atomic clocks, GPS receivers) are expensive and cannot serve millions of simultaneous requests. The hierarchy spreads the load while keeping acceptable accuracy at every level. A single Stratum 1 server can feed tens of thousands of Stratum 2 or Stratum 3 clients.

Accuracy by stratum (summary table)

Stratum Source Typical accuracy Use case
Stratum 0 Atomic clock, GPS, DCF77, WWVB 1 ns — 1 µs Physical reference (not NTP)
Stratum 1 Direct connection to Stratum 0 (PPS, serial) 1 — 10 µs HF trading, broadcast, metrology
Stratum 2 NTP over one or more Stratum 1 servers 100 µs — 1 ms Public servers (pool.ntp.org), datacenters
Stratum 3 NTP over a Stratum 2 1 — 10 ms Enterprise servers, Active Directory
Stratum 4 NTP over a Stratum 3 5 — 20 ms Workstations, IoT, home routers
Stratum 5−15 Deep cascade (rare in practice) > 20 ms Internal propagation on very large networks
Stratum 16 Unsynchronized (special value) Invalid server, ignored by clients
Our RDEM Systems infrastructure is built around a Stratum 1 server with a Raspberry Pi and GPS PPS. See how it works on the Our Stratum 1 server page.

Stratum 0: physical reference sources

Stratum 0 sources are not NTP servers in the strict sense: they are physical devices that provide an absolute time signal. No NTP client can connect to them over the network — they feed a Stratum 1 server through a local link (USB, GPIO, RS-232, PPS).

Why is GPS so accurate?
GPS relies on precise propagation-time measurements between satellites and receivers. A 1 µs error translates into a 300-meter position error — so temporal accuracy is a hard requirement of the system. The PPS signal from GPS receivers inherits this accuracy directly.

Stratum 1: directly connected servers

A Stratum 1 server is an NTP server directly coupled to a Stratum 0 source through a local interface. It does not get its time from the network: it reads it straight from the hardware. This proximity guarantees accuracy in the microsecond range, with no dependency on the network or other servers.

Common setups include:

Stratum 1 does not automatically mean "as precise as possible"
A Stratum 1 server's accuracy depends on the quality of the PPS signal, the latency of the hardware path, kernel jitter and local oscillator stability. A poorly configured Stratum 1 can be less accurate than a Stratum 2 that is properly synchronized with a high-quality peer over a short LAN.
Real-world example — our Stratum 1 in production
Our own Stratum 1 server — a Raspberry Pi with a GPS receiver and PPS signal — has been running continuously since 2015 near Paris and feeds our 11 public Stratum 2 servers. Score and uptime available on ntppool.org.

Stratum 2: the most common level

A Stratum 2 server synchronizes with one or more Stratum 1 servers using NTP over UDP (port 123). This is the most widespread setup because it requires no specialized hardware: an ntpd or chronyd daemon is enough.

Nearly all public servers on the pool.ntp.org network are Stratum 2 or Stratum 3. They are synchronized with Stratum 1 servers operated by metrology institutes, universities, telecom operators or hosting providers like RDEM Systems.

For most companies, a Stratum 2 is more than enough. Active Directory, logging, transaction timestamps, VoIP sync, TLS/PKI: all these use cases easily tolerate millisecond-level accuracy.

Stratum 3 to 15: the cascading chain

Levels Stratum 3 to 15 correspond to servers synchronizing with a server at the immediately upper level. Each hop adds latency and jitter, progressively degrading accuracy. In practice, beyond Stratum 4, accuracy is already significantly impacted by the accumulated imprecisions.

Typical architectures include:

Stratum 16: unsynchronized

Stratum 16 is not a "real" level in the hierarchy: it is a special value meaning an NTP server is not synchronized and must not be used as a time source. A server may advertise Stratum 16 because:

NTP clients automatically ignore servers advertising Stratum 16: they are never selected as sources, even if they respond faster than others.

Accuracy degradation per level

Precision degradation chart from Stratum 0 to Stratum 15 on a logarithmic scale, from 1 nanosecond to more than 500 milliseconds, with atomic precision, financial trading and general applications zones

Typical accuracy per stratum level on a logarithmic scale from 1 ns to 1 s.

Three factors degrade accuracy at each NTP hop:

  1. Round-trip delay — NTP estimates latency and divides it by two to compute the offset, but asymmetric latency biases that estimate.
  2. Jitter — the variation of that latency between requests, which makes the estimate less reliable.
  3. Local oscillator drift — between syncs, the server clock drifts slightly and must be compensated.

The typical rule of thumb is a 10× factor per hop over the Internet, and 2 to 3× on a high-quality LAN. A Stratum 1 at 1 µs can therefore feed a Stratum 2 at 10 µs on a LAN, then a Stratum 3 at 1 ms over the Internet.

Stratum 1 vs Stratum 2: which one?

This is the most common question when designing enterprise time infrastructure. The answer depends on the accuracy you need, how much dependence on third-party servers you can accept, and your hardware budget.

Visual comparison Stratum 1 vs Stratum 2: on the left a server directly connected to a GPS satellite via PPS (accuracy < 10 µs), on the right a server connected with NTP over UDP to a Stratum 1 (accuracy ~100 µs)

Stratum 1 vs Stratum 2 — which option fits your use case.

Stratum 1 — direct GPS connection

  • Accuracy: 1 to 10 µs
  • Source: local GPS PPS
  • Total network independence
  • Dedicated hardware (GPS, antenna, PC)
  • Cost: $100 to several $k

Recommended for:

High-frequency trading, broadcast, metrology, isolated industrial networks, legally timestamped security systems.

Stratum 2 — software NTP

  • Accuracy: 100 µs to 1 ms
  • Source: several Stratum 1 peers
  • No specialized hardware
  • Set up in a few minutes
  • Cost: $0 (free software)

Recommended for:

Active Directory, application servers, logging, PKI timestamping, VoIP, almost every enterprise use case.

Rule of thumb — unless you have a regulatory or application constraint requiring sub-millisecond accuracy, a Stratum 2 synchronized with 4 to 6 high-quality Stratum 1 peers (pool.ntp.org, metrology institutes, operators) is the best option.

How to check a server's stratum

Three tools let you display the stratum of a server or its peers:

With ntpq (ntpd)

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp1.rdem-syste .PPS.            1 u   32   64  377    2.145   -0.021   0.087
+ntp2.rdem-syste 192.168.10.1     2 u   29   64  377    2.210    0.045   0.102
 ntp3.example.ne .POOL.          16 u    -   64    0    0.000    0.000   0.000

The st column shows the stratum. The character in front of the server name indicates its state: * (selected), + (valid candidate), - (rejected), space (unused, often stratum 16).

With chronyc (chrony)

$ chronyc sources -v
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp1.rdem-systems.com         1   6   377    42   -12us[ -15us] +/-  1.2ms
^+ ntp2.rdem-systems.com         2   6   377    39   +45us[ +42us] +/-  2.1ms

Query a server without changing the clock

$ ntpdate -q ntp1.rdem-systems.com
server 185.45.160.11, stratum 2, offset -0.000421, delay 0.02810
15 Apr 10:23:14 ntpdate[4532]: adjust time server 185.45.160.11 offset -0.000421 sec

Frequently asked questions

Do "stratum" and "strata" mean the same thing?

Yes. Stratum is the singular form (from Latin), strata is the correct Latin plural. NTP documentation also commonly uses the anglicized plural stratums. All three terms refer to the same hierarchical levels.

Why 16 levels and not more?

The stratum field in the NTP header is 8 bits but the protocol intentionally limits usable values: 0 for physical sources, 1 through 15 for servers, 16 to signal an unsynchronized server. This limit prevents chains that are too deep and would propagate too much error.

Can a Stratum 2 server become a Stratum 1?

No, not automatically. Stratum is determined by the type of source: Stratum 1 requires a direct connection to a Stratum 0 source (GPS, atomic clock). A server with only NTP peers as sources can never drop below Stratum 2.

My server shows Stratum 16, what should I do?

Check that the daemon is running (systemctl status ntpd), that the peers are reachable (ntpq -p), that UDP port 123 is not blocked by a firewall, and wait a few minutes: NTP needs several exchanges with each peer before it validates a source.

Does NTS change anything about the stratum hierarchy?

No. NTS (Network Time Security) adds a cryptographic authentication layer to NTP exchanges but does not change the stratum logic. An NTS server can be Stratum 1, 2, 3, etc. just like any plain NTP server.

Test your synchronization

Check the stratum and accuracy of your NTP infrastructure in real time.

Test now

Our Stratum 1 server | Our infrastructure | What is NTP?

Measure your server's accuracy | Validate your server with our pro tool