January 14, 2015

What is NTP? Network Time Protocol

Time to Read This

Network Time Protocol (NTP) is a timing protocol that allows time synchronization across devices on a network to the Coordinated Universal Time UTC time. NTP operates on UDP port 123.

One Time to Rule Them All

NTP has no awareness of time zone TZ or day light savings time DST.

Time Sensitivity

Services such as authentication, synchronization, and directory services are all time sensitive and require time synchronization to operate properly.

The Hierarchy

NTP uses a hierarchical system of time sources called Stratum. The are 16 valid levels of Stratum starting at 0 and ending with 15. Stratum 16 is invalid and means device not synchronized.

  • Stratum 0 is the actual atomic, GPS, or radio clock - The Clock
  • Stratum 1 is a computer directly attached to a Stratum 0 device. - Directly attached to clock
  • Stratum 2 is a networked computer synchronizing with at Stratum 1 computer. - Syncs via network
  • Stratum 3 is serviced via network by Stratum 2 and so on. - Syncs via network

A NTP client will regularly poll multiple servers to determine is time.

A Little Light Reading

The current of NTP is Version 4. For technical specifications review the RFC's below.

NTPv4 is backward compatible to version 3:

RFC 1305: Network Time Protocol Version 3: Specification, Implementation and Analysis

RFC's Relating to NTPv4:

RFC 5905: Network Time Protocol Version 4: Protocol and Algorithms Specification

RFC 5906: Network Time Protocol Version 4: Autokey Specification

RFC 5907: Definitions of Managed Objects for Network Time Protocol Version 4 (NTPv4)

RFC 5908: Network Time Protocol (NTP) Server Option for DHCPv6