Cisco PTP
Cisco PTP
Cisco PTP
• WS-C3850-32XS
• WS-C3850-48XS
• The output of show clock on the device and PTP servo clock displayed in show platform software fed
switch active ptp domain 0 are not synced to each other. These are two different clocks used on the
switch.
• Inter-VLAN is not supported in PTP Transparent Clock Mode.
• PTP is not supported in stacked systems.
• The switch supports IEEE 802.1AS and IEEE 1588 Default profile and they are both mutually exclusive.
Only one profile can be enabled on the switch at a time.
• We do not recommend having non-PTP enabled devices in the PTP network since it decreases clock
synchronization accuracy.
• Management and Signaling messages are not supported in Cisco IOS XE Fuji 16.8.1a. These messages
are dropped in the switch without being processed.
• Moving from one PTP mode to the other is not recommended. Clear the existing mode using no PTP
mode and then configure a new mode.
• IPv6, VRF, Etherchannel interface and native L3 ports are not supported.
Why PTP?
Smart grid power automation applications such as peak-hour billing, virtual power generators, and outage
monitoring and management, require extremely precise time accuracy and stability. Timing precision improves
network monitoring accuracy and troubleshooting ability.
In addition to providing time accuracy and synchronization, the PTP message-based protocol can be
implemented on packet-based networks, such as Ethernet networks. The benefits of using PTP in an Ethernet
network include:
• Low cost and easy setup in existing Ethernet networks
• Limited bandwidth is required for PTP data packets
industrial, networked measurement and control systems, and is optimal for use in distributed systems because
it requires minimal bandwidth and little processing overhead.
Why PTP?
In an Ethernet network, switches provide a full-duplex communication path between network devices. Switches
send data packets to packet destinations using address information contained in the packets. When the switch
attempts to send multiple packets simultaneously, some of the packets are buffered by the switch so that they
are not lost before they are sent. When the buffer is full, the switch delays sending packets. This delay can
cause device clocks on the network to lose synchronization with one another.
Additional delays can occur when packets entering a switch are stored in local memory while the switch
searches the MAC address table to verify packet CRC fields. This process causes variations in packet forwarding
time latency, and these variations can result in asymmetrical packet delay times.
Adding PTP to a network can compensate for these latency and delay problems by correctly adjusting device
clocks so that they stay synchronized with one another. PTP enables network switches to function as PTP
devices, including boundary clocks (BCs) and transparent clocks (TCs).
Message-based Synchronisation
To ensure clock synchronization, PTP requires an accurate measurement of the communication path delay
between the time source (master ) and the receiver (slave ). PTP sends messages between the master and slave
device to determine the delay measurement. Types of messages are described in detail in PTPv2 Message
Types. Then, PTP measures the exact message transmit and receive times and uses these times to calculate
the communication path delay. PTP then adjusts current time information contained in network data for the
calculated delay, resulting in more accurate time information.
This delay measurement principle determines path delay between devices on the network, and the local clocks
are adjusted for this delay using a series of messages sent between masters and slaves. The one-way delay
time is calculated by averaging the path delay of the transmit and receive messages. This calculation assumes
a symmetrical communication path; however, switched networks do not necessarily have symmetrical
communication paths, due to the buffering process.
PTP provides a method, using transparent clocks, to measure and account for the delay in a time-interval field
in network timing packets, making the switches temporarily transparent to the master and slave nodes on the
network. An end-to-end transparent clock forwards all messages on the network in the same way that a switch
does.
The following figure shows a typical 1588 PTP network that includes grandmaster clocks, switches in boundary
clock mode, and Intelligent Electronic Device (IEDs) such as a digital relays or protection devices. In this
diagram, Master 1 is the grandmaster clock. If Master 1 becomes unavailable, the boundary clock slaves
switch to Master 2 for synchronization.
• General Messages — General messages are not tagged with timestamps and are used to establish a
master-slave hierarchy. General messages are listed below:
• Announce
• Follow_Up
• Delay_Resp
• Pdelay_Resp_Follow_Up
Sync, Delay_Req, Follow_Up, and Delay_Resp messages are used to synchronize ordinary and boundary
clocks.
Pdelay_Req, Pdelay_Resp, and Pdelay_Resp_Follow_Up messages are used to measure the link delay in
transparent clocks.
The Best Master Clock Algorithm elects the grandmaster clock and assign the ports as master or slave.
Following this, all the master ports start sourcing the clock to the downstream slaves using the Sync and
Follow_Up messages. The downstream slaves receive the clock and update their clock after computing the
delay of the link, time offset, frequency offset and drift error parameters.
The downstream slaves computes the link delay using one of the below mechanism.
• End-to-End Delay Mechanism, on page 5
• Peer-to-Peer Delay Mechanism, on page 6
After this sequence, the slave possesses all four timestamps. These timestamps can be used to compute the
offset of the slave clock relative to the master, and the mean propagation time of messages between the two
clocks.
The offset calculation is based on the assumption that the time for the message to propagate from master to
slave is the same as the time required from slave to master. This assumption is not always valid on an Ethernet
network due to asymmetrical packet delay times.
4. Port 2 returns timestamps t2 and t3 in the Pdelay_Resp and Pdelay_Resp_Follow_Up messages respectively.
5. Port 1 generates timestamp t4 after receiving the Pdelay_Resp message. Port 1 then uses the four timestamps
(t1, t2, t3, and t4) to calculate the mean link delay.
Figure 3: Detailed Steps—Peer-to-Peer Delay Mechanism
• Priority1 - User-assigned priority to each clock. The range is from 0 to 255. The default value is 128.
• Class - Class to which the a clock belongs to, each class has its own priority
• Accuracy - Precision between clock and UTC, in nanoseconds
• Variance - Variability of the clock
• Priority2 - Final-defined priority. The range is from 0 to 255. The default value is 128.
• Unique Identifier - 64-bit Extended Unique Identifier (EUI)
In addition to identifying the best master clock, the BMCA also ensures that clock conflicts do not occur on
the PTP network by ensuring that:
• Clocks do not have to negotiate with one another
• There is no misconfiguration, such as two master clocks or no master clocks, as a result of the master
clock identification process
PTP Clocks
A PTP network is made up of PTP-enabled devices. The PTP-enabled devices typically consist of the following
clock types.
Grandmaster Clock
Within a PTP domain, the grandmaster clock is the primary source of time for clock synchronization using
PTP. The grandmaster clock usually has a very precise time source, such as a GPS or atomic clock. When the
network does not require any external time reference and only needs to be synchronized internally, the
grandmaster clock can free run.
Note We do not recommend you to use the switch as GM clock in the network considering its reduced clock
accuracy.
Ordinary Clock
An ordinary clock is a PTP clock with a single PTP port. It functions as a node in a PTP network and can be
selected by the BMCA as a master or slave within a subdomain. Ordinary clocks are the most common clock
type on a PTP network because they are used as end nodes on a network that is connected to devices requiring
synchronization. Ordinary clocks have various interface to external devices.
Boundary Clock
A boundary clock in a PTP network operates in place of a standard network switch or router. Boundary clocks
have more than one PTP port, and each port provides access to a separate PTP communication path. Boundary
clocks provide an interface between PTP domains. They intercept and process all PTP messages, and pass all
other network traffic. The boundary clock uses the BMCA to select the best clock seen by any port. The
selected port is then set as a slave. The master port synchronizes the clocks connected downstream, while the
slave port synchronizes with the upstream master clock.
Transparent Clock
The role of transparent clocks in a PTP network is to update the time-interval field that is part of the PTP
event message. This update compensates for switch delay and has an accuracy of within one picosecond.
There are two types of transparent clocks:
End-to-end (E2E) transparent clocks measure the PTP event message transit time (also known as resident
time ) for SYNC and DELAY_REQUEST messages. This measured transit time is added to a data field
(correction field) in the corresponding messages:
• The measured transit time of a SYNC message is added to the correction field of the corresponding
SYNC or the FOLLOW_UP message.
• The measured transit time of a DELAY_REQUEST message is added to the correction field of the
corresponding DELAY_RESPONSE message.
The slave uses this information when determining the offset between the slave’s and the master’s time. E2E
transparent clocks do not provide correction for the propagation delay of the link itself.
Peer-to-peer (P2P) transparent clocks measure PTP event message transit time in the same way E2E
transparent clocks do, as described above. In addition, P2P transparent clocks measure the upstream link
delay. The upstream link delay is the estimated packet propagation delay between the upstream neighbor P2P
transparent clock and the P2P transparent clock under consideration.
These two times (message transit time and upstream link delay time) are both added to the correction field of
the PTP event message, and the correction field of the message received by the slave contains the sum of all
link delays. In theory, this is the total end-to-end delay (from master to slave) of the SYNC packet.
The following figure illustrates PTP clocks in a master-slave hierarchy within a PTP network.
Figure 4: PTP Clock Hierarchy
PTP Profiles
The IEEE 1588 definition of a PTP profile is the set of allowed PTP features applicable to a device . A PTP
profile is usually specific to a particular type of application or environment and defines the following values:
• Best master clock algorithm options
• Configuration management options
Default Profile
The default PTP profile mode on the switch is Default Profile mode. The PTP mode of transport is Layer 2
and Layer 3.
By default, PTP default profile is disabled globally on these platforms.
Procedure
Step 3 ptp mode {boundary {delay-req | pdelay-req Specifies the synchronization clock mode:
} | e2etransparent | p2ptransparent}
• boundary — mode to enable the switch
Example: to participate in selecting the best master
Device(config)# ptp mode boundary clock. If no better clocks are detected, the
delay-req switch becomes the grandmaster clock on
Device(config)# ptp mode boundary the network and the parent clock to all
pdelay-req connected devices. If the best master is
Device(config)# ptp mode e2etransparent
Device(config)# ptp mode p2ptransparent determined to be a clock connected to the
switch, the switch synchronizes to that
clock as a child to the clock, then acts as
a parent clock to devices connected to
other ports. After initial synchronization,
the switch and the connected devices
exchange timing messages to correct time
skew caused by clock offsets and network
delays. Use this mode when overload or
heavy load conditions produce significant
delay jitter
Procedure
Step 4 ptp mode {boundary {delay-req | pdelay-req Specifies the synchronization clock mode:
} | e2etransparent | p2ptransparent}
• boundary — mode to enable the switch
Example: to participate in selecting the best master
Device(config)# ptp mode boundary clock. If no better clocks are detected, the
delay-req switch becomes the grandmaster clock on
Device(config)# ptp mode boundary the network and the parent clock to all
pdelay-req connected devices. If the best master is
Device(config)# ptp mode e2etransparent
Device(config)# ptp mode p2ptransparent determined to be a clock connected to the
switch, the switch synchronizes to that
clock as a child to the clock, then acts as
a parent clock to devices connected to
other ports. After initial synchronization,
the switch and the connected devices
exchange timing messages to correct time
skew caused by clock offsets and network
delays. Use this mode when overload or
heavy load conditions produce significant
delay jitter
• e2etransparent — mode for the switch
to synchronize all switch ports with the
grand master clock connected to the
switch,. This is the default clock mode.
The switch corrects for the delay incurred
by every packet passing through it
(referred to residence time). This mode
causes less jitter and error accumulation
than boundary mode.
• p2ptransparent — mode where the
switch does not synchronize its clock with
the master clock. A switch in this mode
does not participate in master clock
selection and uses the default PTP clock
mode on all ports.
Step 8 switchport mode { access | trunk } Sets the interface type : Access or trunk.
Example: • access — Sets the interface as a
Device(config-if)# switchport mode trunk nontrunking nontagged single-VLAN
interface. An access port can carry traffic
in one VLAN only. By default, an access
port carries traffic for VLAN1; to set the
access port to carry traffic for a different
VLAN, use the switchport access vlan
command in Step 8.
• trunk — Sets the interface as an Ethernet
trunk port. A trunk port can carry traffic
in one or more VLANs on the same
physical link (VLANs are based on the
trunk-allowed VLANs list). By default,
a trunk interface can carry traffic for all
VLANs. To specify that only certain
VLANs are allowed on the specified
trunk, use the switchport trunk allowed
vlan command in Step 9.
Note If switchport mode is trunk,
you should configure PTP
VLAN using the ptp vlan
vlan-id command.
Step 9 switchport access vlan vlan-id Specifies the VLAN for which this access port
will carry traffic. If you do not enter this
Example:
Step 10 switchport trunk allowed vlan {{ add | Sets allowed VLANs for the trunk interface.
except | remove } vlan_list | all | none } The default is to allow all VLANs on the trunk
interface: 1 to 3967 and 4048 to 4094. VLANs
Example:
3968 to 4047 are the default VLANs reserved
Device(config-if)# switchport trunk for internal use by default; this group of
allowed vlan 2,10
VLANs is configurable. By default, all VLANs
are allowed on all trunk interfaces.
Step 11 ptp vlan vlan-id Sets the PTP VLAN on a trunk port. The range
is from 1 to 4094. The default is the native
Example:
VLAN of the trunk port. In boundary mode,
Device(config-if)# ptp vlan 5 only PTP packets in PTP VLAN will be
processed, PTP packets from other VLANs
will be dropped. Before configuring the PTP
VLAN on an interface, the PTP VLAN must
be created and allowed on the trunk port.
Procedure
Procedure
Step 4 ptp announce {interval seconds | timeout (Optional) Configures the interval between PTP
count} announce messages on an interface or the
number of PTP intervals before a timeout occurs
Example:
on an interface.
Device(config-if)# ptp announce interval
1 • interval seconds — Sets the logarithmic
mean interval in seconds to send announce
messages. The range is 0 to 4. The default
is 1 (2 seconds).
• timeout count — Sets the logarithmic
mean interval in seconds to announce
timeout messages. The range is 2 to 10.
The default is 3 (8 seconds).
Step 6 ptp delay-req interval seconds (Optional) Configures the logarithmic mean
interval allowed between PTP delay-request
Example:
messages when the port is in the master state.
Device(config-if)# ptp delay-req interval The range is -1 to 1. The default is 0 (1 second).
1
Step 7 ptp pdelay-req interval seconds (Optional) Configures the logarithmic mean
interval allowed between pdelay request
Example:
messages when the port is in the master state.
Device(config-if)# ptp pdelay-req The range is -1 to 1. The default is 0 (1 second).
interval 1
Procedure
Step 3 ptp priority1 value Configure the values of ptp clock priority1. The
range is 0 to 255. The default value is 128.
Example:
Step 4 ptp priority2 value Configure the values of ptp clock priority2. The
range is 0 to 255. The default value is 128.
Example:
Device(config)# ptp priority2 120
Note show ptp parent will not display any output if the device is configured in transparent clock mode.
Grandmaster Clock:
Grandmaster Clock Identity: 0x0:11:1:FF:FE:0:0:1 <<Grandmaster clock
identity to which the device is synced to>>
Grandmaster Clock Quality:
Class: 6
Accuracy: Within 25ns
Offset (log variance): 0
Priority1: 128
Priority2: 128
show platform software fed switch active ptp domain 0
To verify the local servo PTP clock synchronization to Grandmaster clock on a device configured
in boundary mode with delay-request mechanism, use show platform software fed switch active
ptp domain 0 command.
Device# show platform software fed switch active ptp domain 0
Example
show ptp port interface interface-name
To verify PTP port state, use show ptp port interface interface-name command.
To verify the PTP port states on all interfaces use show ptp brief command.
The following is a sample output for boundary mode configuration with delay request mechanism:
Device# show ptp port FortyGigabitEthernet1/0/10
PTP PORT DATASET: FortyGigabitEthernet1/0/10
Port identity: clock identity: 0x0:A3:D1:FF:FE:5A:12:0
Port identity: port number: 10
PTP version: 2
Port state: SLAVE
Delay request interval(log mean): 0
Announce receipt time out: 3
Announce interval(log mean): 1
Sync interval(log mean): 0
Note show ptp parent will not display any output if the device is configured in transparent clock mode.
Grandmaster Clock:
Grandmaster Clock Identity: 0x0:0:0:5:0:0:0:1
<< GM: External Clock Source acting Grand Master >>
Grandmaster Clock Quality:
Class: 6
Accuracy: Within 1us
Offset (log variance): 0
Priority1: 128
Priority2: 128
show platform software fed switch active ptp domain 0
To verify the local servo PTP clock synchronization to Grandmaster clock on a device configured
in boundary mode with delay-request mechanism, use show platform software fed switch active
ptp domain 0 command.
Device# show platform software fed switch active ptp domain 0
Displaying data for domain number 0
=======================================
Command Purpose
debug ptp bmc Enables debugging of the PTP Best Master Clock
Algorithm.
Releases Modification
Cisco IOS XE Fuji 16.8.1 Support for PTP on Layer 2 was enabled.
Cisco IOS XE Gibraltar 16.12.1 Support for PTP on native L3 ports was introduced.