F5 GLOSSARY

Network Time Protocol (NTP)

What is NTP (Network Time Protocol)?

NTP, or "Network Time Protocol," is a protocol used to synchronize the clocks of devices connected to a network with the correct time. It operates at the application layer (Layer 7) in the OSI reference model and is defined in "RFC 1305" by the Internet Engineering Task Force (IETF).

When synchronizing time using NTP, an NTP client sends a request to an NTP server. The underlying transport protocol used is UDP, and the server's port is UDP 123. The NTP server responds with the Coordinated Universal Time (UTC), a time standard based on the international atomic time maintained by cesium atomic clocks. Other world time references, like GMT (Greenwich Mean Time) derived from Earth's rotational speed, exist, but UTC is the most widely used. Since there can be discrepancies between UTC and UT1, leap seconds are occasionally inserted into UTC to align the time more accurately with Earth's rotation.

NTP servers are organized hierarchically on the internet. The top-tier NTP servers are referred to as Stratum 1, and each lower level increases the numeric Stratum value. NTP servers synchronize their clocks with multiple higher-tier servers. Stratum 1 servers source their accurate time from "Stratum 0," which includes precise time sources like GPS and atomic clocks. Stratum 0 time sources maintain accuracy within less than one microsecond (1/1,000,000th of a second) and are directly connected to Stratum 1 servers.

Because NTP communicates time data over networks, it must account for communication delays by measuring and adjusting for these delays. NTP calculates round-trip communication time and uses this to correct for network delays. However, this assumes symmetric delays in both directions. If there is a difference between the forward and return path delays, half of the difference contributes to the error margin.