Cisco ASR 1000 Series Aggregation Services Routers Software Configuration Guide, Cisco IOS XE Fuji 16.9.x
Bias-Free Language
The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
IEEE 1588v2 Precision Time Protocol (PTP) is a packet-based two-way message exchange protocol for synchronizing clocks between
nodes in a network, thereby enabling an accurate time distribution over a network.This document explains how to configure
IEEE 1588v2 PTP on the Cisco ASR 1002-X Routers.
Restrictions for IEEE 1588v2 PTP
These are the restrictions for configuring IEEE 1588v2 PTP:
Supports IPv4 unicast mode, but not multicast mode.
Does not support Dot1q, Q-in-Q, and port-channel interfaces.
PTP master supports only a maximum of 32 PTP slaves.
PTP boundary clock is supported only in unicast negotiation mode.
IPv6 and Multiprotocol Label Switching (MPLS) encapsulation are not supported for PTP packet transfer over Cisco ASR 1002-X
Routers.
The time-of-day recovered from a 1588v2 session does not synchronize with the system clock.
GPS interfaces can be used only for clock recovery. You cannot transmit the system clock on the GPS interface.
Information About IEEE 1588v2 PTP
IEEE 1588v2 PTP is a packet-based two-way message exchange protocol for synchronizing a local clock with a primary reference
clock or a grand master clock in hierarchical master-slave architecture. This synchronization is achieved through packets
that are transmitted and received in a session between a master clock and a slave clock. IEEE 1588v2 PTP supports system-wide
synchronization accuracy in the sub-microsecond range with little use of network and local clock-computing resources.
The following sections describe the terminologies used for better understanding of the IEEE 1588v2 PTP.
PTP Clocks
PTP employs a hierarchy of clock types to ensure that precise timing and synchronization is maintained between the source
and the numerous PTP clients that are distributed throughout the network. A logical grouping of PTP clocks that synchronize
with each other using the PTP protocol, but are not necessarily synchronized to the PTP clocks in another domain, is called
a PTP domain.
The three PTP clock types are Ordinary clock, Boundary clock, and Transparent clock.
Ordinary clock —This clock type has a single PTP port in a domain, and maintains the timescale used in the domain. It may serve as a source
of time, that is, be a master, or may synchronize to another clock by being a slave. It provides time to an application or
to an end device.
Boundary clock —This clock type has multiple PTP ports in a domain, and maintains the timescale used in the domain. It may serve as a source
of time, that is, be a master, or may synchronize to another clock by being a slave. A boundary clock that is a slave has
a single slave port, and transfers timing from that port to the master ports.
Transparent clock —This clock type is a device that measures the time taken for a PTP event message to pass through the device, and provides
this information to the clocks receiving this PTP event message.
{start cross reference}Table 13-1{end cross reference} shows the 1588v2 PTP support matrix on a Cisco ASR1000 platform.
Table 1. 1588v2 PTP Support Matrix on a Cisco ASR1000 platform
Platform/PTP Clock mode
Ordinary Clock
Boundary Clock
Transparent Clock
Hybrid Clock
ASR1002X
Yes
Yes
No
No
Components of a
PTP-enabled Network
The three key
components of a PTP-enabled data network are grand master, PTP client, and
PTP-enabled router acting as a Boundary clock.
Grand Master —An IEEE1588v2 PTP network needs a grand
master to provide a precise time source. The most economical way of obtaining
the precise time source for the grand master is through a Global Positioning
System (GPS) because it provides +/- 100 nanosecond (ns) accuracy. First, the
PTP grand master’s built-in GPS receiver converts the GPS timing information to
PTP time information, which is typically Coordinated Universal Time (UTC), and
then delivers the UTC time to all the PTP clients.
PTP client —A PTP client has to be installed on
servers, network-monitoring and performance-analysis devices, or other devices
that want to use the precise timing information provided by PTP, and it’s
mostly an ordinary clock. The two kinds of PTP clients are pure software PTP
clients and hardware-assistant PTP clients.
PTP boundary clock —Any router that is between a PTP master and
PTP slave can act as a PTP boundary clock router. It has two interfaces, one
facing the PTP master and another facing the PTP slave. The boundary clock
router acts as a
slave on the
interface facing the
PTP master
router , and acts as a
master on the
interface facing the
PTP slave
router . The PTP boundary clock router is deployed to minimize timing delay
in cases where the distance between PTP master router and the PTP slave router
is more.
Note
Intermediary nodes
between PTP master and slave should be a PTP-enabled or transparent clock node.
The following figure
shows the functions of a PTP Enabled device.
Clock-Synchronization Process
Clock synchronization
is achieved through a series of messages exchanged between the master clock and
the slave clock as shown in the figure.
After the
master-slave clock hierarchy is established, the clock synchronization process
starts. The message exchange occurs in this sequence:
The master clock sends a Sync
message. The time at which the Sync message leaves the master is time-stamped
as t{start subscript}1{end subscript}.
The slave clock
receives the Sync message and is time-stamped as t{start subscript}2{end
subscript}.
The slave sends
the Delay_Req message, which is time-stamped as t{start subscript}3{end
subscript} when it leaves the slave, and as t{start subscript}4{end subscript}
when the master receives it.
The master
responds with a Delay_Resp message that contains the time stamp t{start
subscript}4{end subscript}.
The clock offset is
the difference between the master clock and the slave clock, and is calculated
as follows:
IEEE1588 assumes that
the path delay between the master clock and the slave clock is symmetrical, and
hence, the mean path delay is calculated as follows:
All PTP communication is performed through message exchange. The two sets of messages defined by IEEE1588v2 are General messages
and Event messages.
General messages —These messages do not require accurate time stamps, and are classified as Announce, Follow_Up, Delay_Resp, Pdelay_Resp_Follow_Up,
Management, and Signaling.
Event messages —These messages require accurate time stamping, and are classified as Sync, Delay_Req, Pdelay_Req, and Pdelay_Resp.
PTP Clocking Modes
The following are the PTP clocking modes supported on a Cisco ASR 1002-X Router:
Unicast Mode —In unicast mode, the master sends the Sync or Delay_Resp messages to the slave on the unicast IP address of the slave, and
the slave in turn sends the Delay_Req message to the master on the unicast IP address of the master.
Unicast Negotiation Mode —In unicast negotiation mode, the master does not know of any slave until the slave sends a negotiation message to the master.
The unicast negotiation mode is good for scalability purpose because one master can have multiple slaves.
PTP Accuracy
Accuracy is an
important aspect of PTP implementation on an Ethernet port. For a packet
network, Packet Delay Variation (PDV) is one of the key factors that impacts
the accuracy of a PTP clock. The Cisco ASR 1002-X Router can handle the PDV of
the network with its advanced hardware and software capabilities, such as
hardware stamping and special high-priority queue for PTP packets. It can
provide around 300 ns accuracy in a scalable deployment scenario.
The two methods used
on the same topology to cross-check and verify the results are:
One-pulse-per-second (1PPS) to verify
the PTP slave.
Maximum Time Interval Error (MTIE)
and Time Deviation (TDEV) to verify the PDV.
The verification
topology includes a grand master with a GPS receiver, a Cisco ASR 1002-X
Router, PTP hardware slave clocks with 1PPS output, and a test equipment for
the measurement.
The following figure
shows the PPS accuracy, with time of day measured using the test equipment as
per the topology shown in the following figure. The average PPS accuracy value
found is 250 ns.
{start cross
reference}Figure 13-5{end cross reference} shows a topology that includes a
grand master with a GPS receiver, a Cisco ASR 1002-X Router, PTP hardware slave
clocks, and a test equipment for the MTIE and TDEV measurement.
{start cross
reference}Figure 13-6{end cross reference} shows a graph with the MTIE and TDEV
measurements to verify the PDV.
IEEE 1588v2 PTP Support
IEEE 1588v2 PTP supports these features on a Cisco ASR1002-X Router:
Two-step Ordinary clock and Boundary clock.
Hardware-assistant PTP implementation to provide sub-300 ns accuracy.
PTP operation on all physical onboard Gigabit Ethernet interfaces.
Supports built-in Gigabit Ethernet links in two-step clock mode.
Configuring IEEE
1588v2 PTP
You can configure
IEEE 1588v2 PTP features on the Cisco ASR 1002-X Router by performing the
following procedures:
Configuring Input or
Output Network Clocking
We recommend that you
configure a stable input clock source from a GPS device before configuring PTP
master. The GPS device acts as a PTP grand master, and the BITS or 10-MHz port
of a Cisco ASR 1002-X Router can be used to input or output the network clock.
Perform these tasks to configure network clocking on a Cisco ASR 1002-X Router:
Configuring an
Ordinary Clock
You can configure a
Cisco ASR 1002-X Router in Ordinary clock mode as either master or slave.
Perform these tasks
to configure an ordinary clock as either master or slave:
Configuring an Ordinary Clock as PTP Master
This section describes how to configure an ordinary clock as PTP master.
SUMMARY STEPS
configure terminal
ptp clock ordinary domain domain_number
clock-port namemaster
transport ipv4 unicast interface {GigabitEthernet | Loopback} interface-number[negotiation]
clock destination ip-address
sync interval interval
end
DETAILED STEPS
Command or Action
Purpose
Step 1
configure terminal
Example:
Router# configure terminal
Enters global configuration mode.
Step 2
ptp clock ordinary domain domain_number
Example:
Router(config)# ptp clock ordinary domain 0
Creates a PTP clock and specifies the clock mode.
Step 3
clock-port namemaster
Example:
Router(config-ptp-clk)# clock-port MASTER master
Specifies the clocking mode of a PTP port and enters the clock port configuration mode.
Step 4
transport ipv4 unicast interface {GigabitEthernet | Loopback} interface-number[negotiation]
Example:
Router(config-ptp-port)# transport ipv4 unicast interface Loopback11negotiation
Specifies the IP version, transmission mode, and interface that a PTP clock port uses to exchange timing packets.
The negotiation keyword specifies the unicast negotiation mode where the slave and master clock exchange negotiation messages before establishing
a relationship.
Specifies the IP address of a PTP clock destination.
If the clock port is set to master mode with unicast negotiation, you need not use this command because the device uses negotiation
to determine the IP address of PTP slave devices.
Step 6
sync interval interval
Example:
Router(config-ptp-port)# sync interval -4
(Optional) Specifies the interval used to send PTP synchronization messages.
The default value is -5.
Step 7
end
Example:
Example:
Router(config-ptp-port)# end
Exits global configuration mode.
Examples
The following example shows how to configure an ordinary clock as PTP master:
This section describes how to configure Ordinary Clock as PTP slave.
SUMMARY STEPS
configure terminal
ptp clock ordinary domain domain_number
clock-port name slave
transport ipv4 unicast interface {GigabitEthernet | Loopback} interface-number[negotiation]
clock source ip-address
end
DETAILED STEPS
Command or Action
Purpose
Step 1
configure terminal
Example:
Router# configure terminal
Enters global configuration mode.
Step 2
ptp clock ordinary domain domain_number
Example:
Router(config)# ptp clock ordinary domain 0
Creates a PTP clock and specifies the clock mode.
Step 3
clock-port name slave
Example:
Router(config-ptp-clk)# clock-port SLAVE slave
Specifies the clocking mode of a PTP port and enters the clock port configuration mode.
Step 4
transport ipv4 unicast interface {GigabitEthernet | Loopback} interface-number[negotiation]
Example:
Router(config-ptp-port)# transport ipv4 unicast interface Loopback22negotiation
Specifies the IP version, transmission mode, and interface that a PTP clock port uses to exchange timing packets.
The negotiation keyword specifies the unicast negotiation mode where the slave and master clock exchanges negotiation messages before establishing
a relationship.
Note
Only Loopback interface type is supported.
Step 5
clock source ip-address
Example:
Router(config-ptp-port)# clock source 10.10.10.10
Specifies the source IP address of a PTP master clock.
Note
You can specify only 1 master clock IP address. Priority-based clock source selection is not supported.
Step 6
end
Example:
Router(config-ptp-port)# end
Exits global configuration mode.
Examples
The following example shows how to configure an ordinary clock as PTP slave:
You can configure
the PTP master and PTP slave in a boundary clock topology as shown in the
figure in the same way that you configure a master and slave in ordinary clock
mode. This section describes how to configure a Cisco ASR 1002-X Router in
boundary clock mode.
Note
Currently,
boundary clock supports only unicast negotiation mode.
SUMMARY STEPS
configure terminal
ptp clock
boundary domain domain_number
clock-port
name slave
transport ipv4 unicast interface {GigabitEthernet | Loopback} interface-number[negotiation]
clock source ip-address
exit
clock-port
name master
transport ipv4 unicast interface {GigabitEthernet | Loopback} interface-number[negotiation]
end
DETAILED STEPS
Command or Action
Purpose
Step 1
configure terminal
Example:
Router# configure terminal
Enters the
global configuration mode.
Step 2
ptp clock
boundary domain domain_number
Example:
Router(config)# ptp clock boundary domain 0
Creates a PTP
clock and specifies the clock mode.
Step 3
clock-port
name slave
Example:
Router(config-ptp-clk)# clock-port SLAVE slave
Specifies the
clocking mode of a PTP port and enters the clock port configuration mode.
Step 4
transport ipv4 unicast interface {GigabitEthernet | Loopback} interface-number[negotiation]
Example:
Router(config-ptp-port)# transport ipv4 unicast interface Loopback11negotiation
Specifies the
IP version, transmission mode, and interface that a PTP clock port uses to
exchange timing packets.
The
negotiation keyword specifies the unicast negotiation mode where the
slave and master clock exchange negotiation messages before establishing a
relationship.
Note
Only
Loopback interface type is supported.
Step 5
clock source ip-address
Example:
Router(config-ptp-port)# clock source 10.10.10.10
Specifies the
source IP address of a PTP master clock.
Note
You can
specify only one master clock IP address. Priority-based clock source selection
is not supported.
Step 6
exit
Example:
Router(config-ptp-port)# exit
Exits clock
port configuration mode.
Step 7
clock-port
name master
Example:
Router(config-ptp-clk)# clock-port MASTER master
Specifies the
clocking mode of a PTP port and enters clock port configuration mode.
Step 8
transport ipv4 unicast interface {GigabitEthernet | Loopback} interface-number[negotiation]
Example:
Router(config-ptp-port)# transport ipv4 unicast interface Loopback10negotiation
Specifies the
IP version, transmission mode, and interface that a PTP clock port uses to
exchange timing packets.
The
negotiation keyword specifies the unicast negotiation mode where the
slave and master clock exchange negotiation messages before establishing a
relationship.
Note
Only
Loopback interface type is supported.
Step 9
end
Example:
Example:
Router(config-ptp-port)# end
Exits global
configuration mode.
Examples
The following example shows how to configure a boundary clock:
A Cisco ASR 1002-X
Router can exchange time of day and 1PPS input with an external device, such as
a GPS receiver, using the time of day and 1PPS input and output interfaces on
the router.
Perform these tasks
to configure Time of Day (ToD) messages on the Cisco ASR 1002-X Router:
Configuring Input Time-of-Day Messages
This section describes how to configure input time-of-day messages.
Note
You can configure time-of-day input only in a PTP master clock port.
SUMMARY STEPS
configure terminal
ptp clock ordinary domain domain_number
tod {R0 | R1} {cisco | ntp}
input [1pps] { R0 | R1 }
clock-port name master
transport ipv4 unicast interface {GigabitEthernet | Loopback} interface-number[negotiation]
clock destination ip-address
end
DETAILED STEPS
Command or Action
Purpose
Step 1
configure terminal
Example:
Router# configure terminal
Enters global configuration mode.
Step 2
ptp clock ordinary domain domain_number
Example:
Router(config)# ptp clock ordinary domain 0
Creates a PTP clock and specifies the clock mode.
Step 3
tod {R0 | R1} {cisco | ntp}
Example:
Example:
Router(config-ptp-clk)# tod R0 ntp
Configures the time-of-day message format used by the 1PPS or BITS interface.
Note
Currently, only R0 1PPS port is supported; R1 is not valid. Also, only ntp mode is supported, not cisco mode.
Step 4
input [1pps] { R0 | R1 }
Example:
Router(config-ptp-clk)# input 1pps R0
Enables PTP input clocking using a 1.544-Mhz, 2.048-Mhz, or 10-Mhz timing interface, or phase using the 1PPS or RS-422 interface.
Note
Currently, only R0 1PPS port is supported; R1 is not valid.
Step 5
clock-port name master
Example:
Router(config-ptp-clk)# clock-port MASTER master
Specifies the clocking mode of a PTP port and enters the clock port configuration mode.
Step 6
transport ipv4 unicast interface {GigabitEthernet | Loopback} interface-number[negotiation]
Example:
Router(config-ptp-port)# transport ipv4 unicast interface Loopback11negotiation
Specifies the IP version, transmission mode, and interface that a PTP clock port uses to exchange timing packets.
The negotiation keyword specifies the unicast negotiation mode where the slave and master clock exchange negotiation messages before establishing
a relationship.
Specifies the IP address of a PTP clock destination.
If the clock port is set to master mode with unicast negotiation, you need not use this command because the device uses negotiation
to determine the IP address of PTP slave devices.
Step 8
end
Example:
Router(config-ptp-port)# end
Exits global configuration mode.
What to do next
Examples
The following example shows how to configure input time-of-day messages:
This section describes how to configure output time-of-day messages.
Note
You can configure ToD output only on PTP slave clock ports.
SUMMARY STEPS
configure terminal
ptp clock ordinary domain domain_number
tod {R0 | R1} {cisco | ntp}
output [1pps] { R0 | R1 }
clock-port name slave
transport ipv4 unicast interface {GigabitEthernet | Loopback} interface-number[negotiation]
clock source ip-address
end
DETAILED STEPS
Command or Action
Purpose
Step 1
configure terminal
Example:
Router# configure terminal
Enters global configuration mode.
Step 2
ptp clock ordinary domain domain_number
Example:
Router(config)# ptp clock ordinary domain 0
Creates a PTP clock and specifies the clock mode.
Step 3
tod {R0 | R1} {cisco | ntp}
Example:
Example:
Router(config-ptp-clk)# tod R0 ntp
Configures the time-of-day message format used by the 1PPS or BITS interface.
Note
Currently, only R0 1PPS port is supported; R1 is not valid. Also, only ntp mode is supported, not cisco mode.
Step 4
output [1pps] { R0 | R1 }
Example:
Router(config-ptp-clk)# output R0 ntp
Enables output of time-of-day messages using a 1PPS interface.
Note
Currently, only R0 1PPS port is supported; R1 is not valid.
Step 5
clock-port name slave
Example:
Router(config-ptp-clk)# clock-port SLAVE slave
Specifies the clocking mode of a PTP port and enters the clock port configuration mode.
Step 6
transport ipv4 unicast interface {GigabitEthernet | Loopback} interface-number[negotiation]
Example:
Router(config-ptp-port)# transport ipv4 unicast interface Loopback11negotiation
Specifies the IP version, transmission mode, and interface that a PTP clock port uses to exchange timing packets.
The negotiation keyword specifies the unicast negotiation mode where the slave and master clock exchange negotiation messages before establishing
a relationship.
Note
Only Loopback interface type is supported.
Step 7
clock source ip-address
Example:
Router(config-ptp-port)# clock source 10.10.10.10
Specifies the source IP address of a PTP master clock.
Note
You can specify only 1 master clock IP address. Priority-based clock source selection is not supported.
Step 8
end
Example:
Example:
Router(config-ptp-port)# end
Exits global configuration mode.
What to do next
Examples
The following example shows how to configure output time-of-day messages:
Use the following commands to verify the IEEE 1588v2 PTP configuration:
Use the show ptp clock running domain 0 command to display the output:
Router# show ptp clock running domain 0
On the MASTER:
PTP Ordinary Clock [Domain 0]
State Ports Pkts sent Pkts rcvd Redundancy Mode
FREQ_LOCKED 1 31522149 10401171 Hot standby
PORT SUMMARY
PTP Master
Name Tx Mode Role Transport State Sessions Port Addr
MASTER unicast master Lo1 Master 1 -
SESSION INFORMATION
MASTER [Lo1] [Sessions 1]
Peer addr Pkts in Pkts out In Errs Out Errs
11.11.11.11 10401171 31522149 0 0
On the SLAVE:
PTP Ordinary Clock [Domain 0]
State Ports Pkts sent Pkts rcvd Redundancy Mode
PHASE_ALIGNED 1 4532802 13357682 Track one
PORT SUMMARY
PTP Master
Name Tx Mode Role Transport State Sessions Port Addr
SLAVE unicast slave Lo20 Slave 1 10.10.10.10
SESSION INFORMATION
SLAVE [Lo20] [Sessions 1]
Peer addr Pkts in Pkts out In Errs Out Errs
10.10.10.10 13357682 4532802 0 0
Use the show platform software ptp tod command to check the time-of-day information:
PTPd ToD information:
Time: 06/24/14 02:06:29
Use the show platform ptp tod all command to check the time-of- day state:
Router# show platform ptp tod allOn the MASTER
--------------------------------
ToD/1PPS Info for : R0
--------------------------------
RJ45 JACK TYPE : RS422
ToD CONFIGURED : YES
ToD FORMAT : NTPv4
ToD DELAY : 0
1PPS MODE : INPUT
1PPS STATE : UP
ToD STATE : UP
--------------------------------
On the SLAVE:
--------------------------------
ToD/1PPS Info for : R0
--------------------------------
RJ45 JACK TYPE : RS422
ToD CONFIGURED : YES
ToD FORMAT : NTPv4
ToD DELAY : 0
1PPS MODE : OUTPUT
OFFSET : 0
PULSE WIDTH : 0
--------------------------------
Additional References
Related Documents
Related Topic
Document Title
Cisco IOS commands
Cisco IOS Master Commands List, All Releases
MIBs
MIB
MIBs Link
None
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at this
URL:
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use
these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products
and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.
{start cross reference}Table 13-2{end cross reference} lists the features in this module and provides links to specific configuration
information.
Use Cisco Feature Navigator to find information about platform support and software image support. Cisco Feature Navigator
enables you to determine which software images support a specific software release, feature set, or platform. To access Cisco
Feature Navigator, go to {start hypertext}http://www.cisco.com/go/cfn{end hypertext}. An account on Cisco.com is not required.
Note
{start cross reference}Table 13-2{end cross reference} lists only the software release that introduced support for a given
feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also
support that feature.
Table 2. Feature Information for Network Synchronization Support
Feature Name
Releases
Feature Information
IEEE 1588v2 PTP Support
Cisco IOS XE 3.13S
In Cisco IOS XE Release 3.13S, this feature was introduced on the Cisco ASR 1002-X Routers.