practice
Doi: 10.1145/2347736.2347750
Article development led by
queue.acm.org
An introduction to PTP and its significance
to NTP practitioners.
By RiCK RAtZEL AnD RoDnEy GREEnStREEt
toward
higher
Precision
it is difficUlt to overstate the importance of
synchronized time to modern computer systems.
Our lives today depend on the financial transactions,
telecommunications, power generation and delivery,
high-speed manufacturing, and discoveries in “big
physics,” among many other things, that are driven by
fast, powerful computing devices coordinated in time
with each other.
Since the first complete specification of Network
Time Protocol (NTP) version 1 and its accompanying
algorithms appeared in RFC 1059 in 1988, NTP has
played a large role in time synchronization by keeping
the clocks of networked computer systems synchronized
to within milliseconds of each other. NTP has been
deployed to a vast number of systems over the years, yet it
hardly bears the burden of clock synchronization alone.
When users want to coordinate events in time between
multiple systems, they typically have many options for
accomplishing this, all with different trade-offs.
One of the emerging alternatives
to NTP is PTP (Precision Time Protocol). PTP is defined by IEEE standard
1588, published in November 2002 and
based on early prototypes built at Agilent Technologies between 1990 and
1998. A revision of PTP with additional
features and improved performance
was published in 2008; it is known as
PTP version 2 or IEEE 1588-2008 (all
references to PTP in this article refer to
this later version).
PTP and NTP are similar in that
both are packet-based and send timestamps over a network from a time reference device to one or more other devices. Additionally, both synchronize
device clocks based on time offsets
and network delays, and both support
heterogeneous devices with varying
clock time precision, resolution, and
stability over varying amounts of physical separation. Each protocol has its
unique strengths, and choosing one
over the other often warrants an evaluation of a system’s environment, capabilities, and goals.
PTP is often chosen when the synchronization performance requirements of systems exceed the millisecond threshold of a typical NTP-based
solution. When used with PTP-capable
network hardware that has the ability to timestamp PTP packets precisely
(something that is quickly becoming
commonplace in industrial network
interfaces), devices using PTP on a
LAN (local-area network) can synchronize their clocks to within tens of
nanoseconds of each other. Without
hardware timestamping, referred to
as a software-only configuration, PTP
implementations can still achieve sub-millisecond precision.
NTP remains a popular synchronization technology, even as more PTP
implementations have been made
available to system designers on more
platforms—both commercially and
as freely available open source implementations. If PTP is available to a
system designer and displays superior synchronization performance,
why would NTP even be considered?