Computer Network Time Synchronization

We take for granted that computers on a network have some means to set their clocks to the nominal time of day, even if those means amount to eyeball and wristwatch. How accurate can this be done in practice? Most folks who have to get to work on time set their wristwatch within a minute […]

Time Synchronization Protocols

The synchronization protocol determines the time offset of a client clock relative to one or more server clocks. The various synchronization protocols in use today provide different means to do this, but they all follow the same general model. The client sends a request to the server, and the server responds with its current time. […]

Computer Clocks

Most computers include a quartz or surface acoustic wave (SAW) resonator-stabilized oscillator and oscillator counter that interrupt the processor at intervals of a few milliseconds, called the tick. At each tick interrupt, this value is added to a system variable representing the clock time. The clock can be read by system and application programs and […]

Processing Time Values

Applications requiring reliable time synchronization, such as air traffic control and stock transactions, must have confidence that the system clock is correct within some bound relative to a given timescale such as UTC. There is a considerable body of literature that studies correctness principles with respect to various failure models such as fail-stop and Byzantine […]

Correctness and Accuracy Expectations

One of the most important goals for the NTP design is that it conforms to strict correctness principles established by the computer science theory community. The thread running through just about all the literature on time business is that the intrinsic frequency error of the computer clock must be strictly bounded by some number. As […]

Security

It may seem a little weird to bring up the topic of security, but doing secure time synchronization over a public network is as attractive as it is dangerous. Obviously, bad things can happen if a terrorist compromises the time so that trains are dispatched to collide, stocks are sold before they are bought, and […]

NTP in the Internet

It is said that engineers start out knowing nothing about everything, then learn more and more about less and less until knowing everything about nothing. This may indeed characterize the field, more like the back porch, of computer network timekeeping. Boiled to essentials, really the only thing the protocol does is occasionally read the clock […]

General Infrastructure Requirements (How NTP Works) (Computer Network Time Synchronization)

Through the Looking Glass The Network Time Protocol (NTP) is three things: the NTP software program, called a daemon in Unix and a service in Windows; a protocol that exchanges time values between servers and clients; and a suite of algorithms that process the time values to advance or retard the system clock. In this […]

How NTP Represents the Time (Computer Network Time Synchronization)

In a very real sense, this topic is all about time values. Every computer operating system has means to read the system clock and return a time value representing the current time of day in one format or another. Time values are ephemeral; in principle, every reading returns a value greater than the previous reading. […]

How NTP Reckons the Time (Computer Network Time Synchronization)

To understand how NTP works, it may be helpful to describe in general how it reckons the time. The NTP daemon implements several semiautonomous cooperating sequential processes. There is a peer process and poll process and related state variables, called an association, for each remote NTP server and local reference clock, such as a radio […]