Every clock on your screen is quoting a source it has never seen. The browser asks the operating system, the operating system asks a time server, and that server traces back through a hierarchy to an atomic clock in a national laboratory. The protocol doing all this is NTP, the Network Time Protocol, and it has been quietly keeping the world's computers in step since the mid-1980s.

This article explains what NTP does, what stratum levels mean, how an operating system uses it, and why a web page simply inherits whatever accuracy arrived at the bottom of that chain. If you want something to compare against while reading, the live clock shows the result on your own machine down to the millisecond.

What Is NTP?

NTP is a protocol for distributing accurate time across a network. A client sends a request, notes when it was sent and when the reply arrived, and combines those readings with the server's own timestamps to work out both the offset of its clock and the round-trip delay.

The elegance is in the delay handling. Naively asking a server for the time gives an answer that is already stale by however long the reply took to arrive. NTP measures that journey and compensates for it, assuming the path is roughly symmetrical, which is why it can achieve a few milliseconds of accuracy over the public internet and well under a millisecond on a local network. It also does not simply overwrite the clock. Where the error is small, NTP slews the clock, speeding it up or slowing it down until it converges, so that time never jumps backwards and no timestamp is ever issued twice.

What Do NTP Stratum Levels Mean?

Stratum is a measure of distance from a reference clock, counted in hops. Stratum 0 is the reference hardware itself, stratum 1 is a server directly attached to it, stratum 2 synchronises from stratum 1, and so on down the tree.

Laid out plainly:

  • Stratum 0: the reference devices, meaning atomic clocks, GPS receivers and radio time signal receivers. These are not on the network themselves.
  • Stratum 1: servers connected directly to a stratum 0 device. These are the primary time servers, usually run by laboratories, universities and large network operators.
  • Stratum 2: servers that synchronise from stratum 1 servers, and which serve the bulk of ordinary clients. Most public time server pools sit here or just below.
  • Stratum 3 and beyond: each further hop adds a small amount of error. The scheme runs to stratum 15, and stratum 16 is the value that marks a clock as unsynchronised.

Higher stratum numbers are not automatically worse in practice. A well-run stratum 2 server on a nearby network often beats a congested stratum 1 server on the far side of an ocean, because network path symmetry matters more than the count of hops.

Where The Time Originates

At the top of the chain sit atomic clocks. The second is defined by the caesium-133 atom, specifically by 9,192,631,770 transitions between two of its energy levels, and national laboratories maintain clocks that realise that definition.

Those laboratories contribute to Coordinated Universal Time, the international time scale that everyday civil time is derived from. GPS satellites carry their own atomic clocks and broadcast time continuously, which is why a GPS receiver makes such a convenient stratum 0 device for anyone running their own primary time server. Compare that with what your computer has on its motherboard: a quartz crystal oscillator worth a few pence, accurate to tens of parts per million, drifting a few seconds a day. The entire purpose of the protocol is to bridge that enormous gap in quality, continuously and invisibly.

How Your Operating System Syncs With NTP

Every mainstream operating system runs a time synchronisation service in the background. Windows uses its own time service, macOS and iOS query Apple's time servers, and Linux distributions typically run chrony or systemd-timesyncd against a public pool of volunteer time servers.

These services differ in how aggressively they work. A dedicated daemon such as chrony polls repeatedly, models the local clock's rate of drift, and corrects for it between polls, which can hold a machine within a millisecond or so indefinitely. A lighter client may simply check in occasionally and step the clock when it has wandered, which is entirely adequate for reading email and mildly inadequate for anything that needs a shared second. Phones do best of all, because mobile networks supply time as well and the operating system is aggressive about staying in step.

Checking Your Own Sync

Look for the automatic date and time setting first, since network time synchronisation is what that switch turns on. If it is enabled and the machine is online, the time is being corrected. If it has been disabled, or the machine has spent weeks offline or suspended, expect visible drift, and force a resync before trusting the clock for anything shared.

Why The Browser Inherits NTP Accuracy

A browser has no time source of its own. When a page calls Date.now(), the browser asks the operating system for the current instant and hands back whatever it says, so the accuracy of a web clock is exactly the accuracy NTP delivered to that machine.

This is worth stating plainly because it is often assumed to work the other way round. Websites do not push the correct time to your browser; there is no web clock more authoritative than your own device. If NTP is running, your browser clock is right to within a few milliseconds and no further improvement is available from the page. If NTP is not running, every clock on every site will show the same wrong time with total confidence. The consequences of that are worked through in browser clock accuracy, and the mechanics of a continuously updating display in what live time is.

When NTP Is Not Running

Clocks go wrong quietly. Nothing on a machine announces that time synchronisation has stopped, so the failure shows up later as an expired certificate warning, a rejected login, a file with a timestamp in the future, or two people disagreeing about when something happened.

The situations that most often break synchronisation are worth knowing: a firewall that blocks the time protocol's port outbound, an isolated network with no local time server, a virtual machine whose host clock is wrong, a device that has been powered off long enough to exhaust its backup battery, and any machine where automatic time was switched off to work around some other problem and never switched back. Unattended screens deserve particular attention, since nobody is standing in front of them to notice; that is one of the points made in kiosk clock displays. A precision seconds counter compared against a phone on network time is a quick way to spot a machine that has drifted.

Conclusion

NTP is the layer that makes a browser clock worth reading. It carries time from atomic clocks at stratum 0 through a hierarchy of servers to your operating system, measuring and compensating for network delay along the way, and it corrects the few seconds a day that ordinary quartz hardware loses. Your browser then simply reports what the operating system believes, which means the whole question of web clock accuracy reduces to whether NTP is running on the device in front of you. Check the result against the live clock, or explore the other displays on livetime.now.