14.2 About PTP

The software described in this documentation is either in Extended Support or Sustaining Support. See https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdf for more information. Oracle recommends that you upgrade the software described by this documentation as soon as possible.

Mục lục bài viết

14.2 About PTP

PTP allows you to synchronise system clocks on a local area network to a higher accuracy
than NTP. Provided that network drivers support either hardware or software time stamping, a
PTP clock can use the time stamps in PTP messages to compensate for propagation delays across
a network. Software time stamping allows PTP to synchronise systems to within a few tens of
microseconds. With hardware time stamping, PTP can synchronise systems to within a few tenths
of a microsecond. If you require high-precision time synchronization of systems, use hardware
time stamping. Both the UEK R3 and RHCK kernels support PTP version 2 as defined in IEEE 1588.

A typical PTP configuration on an enterprise local area network consists of:

  • One or more grandmaster clock systems.

    A grandmaster clock is typically implemented as specialized hardware that can use
    high-accuracy GPS signals or lower-accuracy code division multiple access (CDMA) signals,
    radio clock signals, or NTP as a time reference source. If several grandmaster clocks are
    available, the best master clock (BMC) algorithm selects the grandmaster clock based on
    the settings of their priority1, clockClass,
    clockAccuracy, offsetScaledLogVariance, and
    priority2 parameters and their unique identifier, in that
    order.

  • Several boundary clock systems.

    Each boundary clock is slaved to a grandmaster clock on one subnetwork and relays PTP
    messages to one or more additional subnetworks. A boundary clock is usually implemented as
    a function of a network switch.

  • Multiple slave clock systems.

    Each slave clock on a subnetwork is slaved to a boundary clock, which acts as the
    master clock for that slave clock.

A simpler configuration is to set up a single grandmaster clock and multiple slave clocks
on the same network segment, which removes any need for an intermediate layer of boundary
clocks.

Grandmaster and slave clock systems, which use only one network interface for PTP, are
termed ordinary clocks.

Boundary clocks require at least two network interfaces for PTP: one interface acts a
slave to a grandmaster clock or a higher-level boundary clock; the other interfaces act as
masters to slave clocks or lower-level boundary clocks.

Synchronization of boundary and slave clock systems is achieved by sending time stamps in
PTP messages. By default, PTP messages are sent in UDPv4 datagrams. It is also possible to
configure PTP to use UDPv6 datagrams or Ethernet frames as its transport mechanism.

To be able to use PTP with a system, the driver for at least one of the system’s network
interfaces must support either software or hardware time stamping. To find out whether the
driver for a network interface supports time stamping, use the ethtool
command as shown in the following example:

# ethtool -T em1
Time stamping parameters for em1:
Capabilities:
	hardware-transmit     (SOF_TIMESTAMPING_TX_HARDWARE)
	software-transmit     (SOF_TIMESTAMPING_TX_SOFTWARE)
	hardware-receive      (SOF_TIMESTAMPING_RX_HARDWARE)
	software-receive      (SOF_TIMESTAMPING_RX_SOFTWARE)
	software-system-clock (SOF_TIMESTAMPING_SOFTWARE)
	hardware-raw-clock    (SOF_TIMESTAMPING_RAW_HARDWARE)
...

The output from ethtool in this example shows that the
em1 interface supports both hardware and software time stamping
capabilities.

With software time stamping, ptp4l synchronises the system clock to an
external grandmaster clock.

If hardware time stamping is available, ptp4l can synchronise the PTP
hardware clock to an external grandmaster clock. In this case, you use the
phc2sys daemon to synchronise the system clock with the PTP hardware
clock.