Shopping Cart

No products in the cart.

IEEE 1588-2019

$168.46

IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems

Published By Publication Date Number of Pages
IEEE 2019
Guaranteed Safe Checkout
Category:

If you have any questions, feel free to reach out to our online customer service team by clicking on the bottom right corner. Weā€™re here to assist you 24/7.
Email:[email protected]

Revision Standard – Active. In this standard, a protocol is defined that provides precise synchronization of clocks in packet-based networked systems. Synchronization of clocks can be achieved in heterogeneous systems that include clocks of different inherent precision, resolution, and stability. The protocol supports synchronization accuracy and precision in the sub-microsecond range with minimal network and local computing resources. Customization is supported by means of profiles. The protocol includes default profiles that permit simple systems to be installed and operated without the need for user management. Sub-nanosecond time transfer accuracy can be achieved in a properly designed network.

PDF Catalog

PDF Pages PDF Title
1 IEEE Std 1588ā„¢-2019 Front cover
2 Title page
4 Important Notices and Disclaimers Concerning IEEE Standards Documents
7 Participants
9 Introduction
10 Contents
15 1. Scope
16 2. Normative references
17 3. Definitions, acronyms, and abbreviations
3.1 Definitions
25 3.2 Acronyms and abbreviations
27 4. Conventions
4.1 Descriptive lexical form syntax
4.1.1 Lexical form syntax
28 4.2 Word usage
4.2.1 Shall
4.2.2 Must
4.2.3 Should
4.2.4 May
4.2.5 Can
4.2.6 Optional
4.2.7 Reserved
29 4.2.8 Deprecated
4.2.9 Experimental
4.3 Behavioral specification notation
31 5. Data types and on-the-wire formats
5.1 General
5.2 Primitive data type specifications
32 5.3 Derived data type specifications
5.3.1 General
33 5.3.2 TimeInterval
5.3.3 Timestamp
5.3.4 ClockIdentity
5.3.5 PortIdentity
34 5.3.6 PortAddress
5.3.7 ClockQuality
5.3.8 TLV
5.3.9 PTPText
35 5.3.10 FaultRecord
5.3.11 RelativeDifference
5.3.12 CommunicationCapabilities
36 5.4 On-the-wire formats
5.4.1 General
5.4.2 Primitive data types
5.4.3 Arrays of primitive types
5.4.4 Derived data types
37 5.4.5 Mapping of PTP protocol data units into their on-the-wire formats
6. Clock synchronization model
6.1 General requirements on implementations
6.1.1 General
38 6.1.2 Applicability and contents of the standard
6.1.3 Names for major entities defined by the standard
40 6.2 Principal assumptions about the network and implementation recommendations
6.3 PTP Networks
41 6.4 PTP message classes
42 6.5 PTP device types
6.5.1 General
43 6.5.2 Ordinary Clocks and Boundary Clocks
6.5.2.1 Layered model of Ordinary Clocks and Boundary Clocks
6.5.2.1.1 General
45 6.5.2.1.2 External environment and the Source Dependent and Sink Dependent blocks
6.5.2.1.2.1 Introducing time into a PTP Instance
6.5.2.1.2.2 Providing time to an external application
6.5.2.1.3 Common core, data sets, internal clocks, and management
6.5.2.1.3.1 PTP Common Core block
46 6.5.2.1.3.2 Clocks associated with a PTP Instance
6.5.2.1.3.3 Management
6.5.2.1.4 PTP Ports and the PTP Network
48 6.5.2.2 Properties of an Ordinary Clock
49 6.5.2.3 Properties of a Boundary Clock
6.5.3 End-to-end Transparent Clocks
51 6.5.4 Peer-to-peer Transparent Clocks
53 6.5.5 Combined Transparent Clocks and Ordinary Clocks
54 6.5.6 PTP Management Nodes
6.6 Synchronization overview
6.6.1 General
6.6.2 Establishing the master(slave hierarchy
6.6.2.1 General
6.6.2.2 PTP state machine
55 6.6.2.3 Best master clock algorithm
56 6.6.2.4 Simple master(slave hierarchy
6.6.2.5 Pruning mesh topologies
58 6.6.2.6 Segmentation of a domain by the BMCA
6.6.3 Synchronizing Ordinary Clocks and Boundary Clocks
60 6.6.4 Measuring PTP Link propagation delay using peer-to-peer delay mechanism
61 6.6.5 Generation of PTP message timestamps
62 6.6.6 Potential errors in measuring path delays and residence time
6.6.6.1 Potential errors in measuring path delays and residence time due to differing rates of the Timestamping Clocks in PTP Instances in a domain
63 6.6.6.2 Correcting for differing Timestamping Clock ratesā€”,
6.6.6.2.1 General
6.6.6.2.2 Example using unsyntonized Local Clocks as the Timestamping Clock
65 6.6.6.2.3 Example using syntonized Local Clocks as the Timestamping Clocks
66 6.7 PTP communications overview
6.7.1 PTP communication topology
6.7.1.1 General
6.7.1.2 Hierarchical topology
67 6.7.1.3 Linear topology
6.7.1.4 Rapid reconfiguration in multiply connected topologies
69 6.7.1.5 Bridging between different network protocols
6.7.2 PTP Network startup
70 7. Characterization of PTP entities
7.1 Domains
7.1.1 General
7.1.2 Domain identification semantics when not using the isolation option of 16.5
7.1.2.1 In Boundary and Ordinary Clocks
71 7.1.2.2 In Transparent Clocks
7.1.3 Domain identification semantics when the isolation option of 16.5 is being used
7.1.3.1 In Boundary and Ordinary Clocks
72 7.1.3.2 In Transparent Clocks
7.1.4 Assigning values for the domainNumber and sdoId for a domain
73 7.2 Timescales used in PTP
7.2.1 General
74 7.2.2 Oscillator frequency
7.2.3 Epoch
7.2.4 UTC Offset
75 7.2.5 Measurement of time within a domain
7.3 PTP communications
7.3.1 Messaging model
76 7.3.2 PTP Message attributes
7.3.3 Message class
7.3.3.1 PTP event messages
77 7.3.3.2 General PTP messages
7.3.4 Generation of PTP event message timestamps
7.3.4.1 message timestamp point
7.3.4.2 Timestamp generation
80 7.3.4.3 Timestamping Clock
7.3.5 PTP message sourcePortIdentity
7.3.6 PTP message types
7.3.7 PTP message sequenceId
81 7.3.8 Flag-based Indicators
7.3.8.1 unicastFlag
7.3.8.2 alternateMasterFlag
7.3.8.3 twoStepFlag
82 7.4 PTP communication media
7.4.1 Network transport protocol
7.4.2 PTP Communication Path delay, PTP Link delay, and
84 7.4.3 Medium relative delay coefficient
85 7.5 PTP Ports
7.5.1 General
86 7.5.2 portIdentity
7.5.2.1 General
87 7.5.2.2 clockIdentity
7.5.2.2.1 General
7.5.2.2.2 Construction of clockIdentity values
7.5.2.2.2.1 General
88 7.5.2.2.2.2 Construction based on an NUI-48
7.5.2.2.2.3 Construction based on an NUI-64
7.5.2.2.3 Reserved clockIdentity value
7.5.2.3 portNumber
7.5.2.4 Ordering of clockIdentity and portIdentity values
89 7.5.2.5 Determination of PTP Port one or two-step semantics
7.5.3 Path delay measurement mechanism
90 7.5.4 PTP versions
7.6 PTP Instance characterization
7.6.1 PTP Instance type
91 7.6.2 PTP Instance attributes
7.6.2.1 General requirements
7.6.2.2 clockIdentity
7.6.2.3 priority1
92 7.6.2.4 priority2
7.6.2.5 clockClass
94 7.6.2.6 clockAccuracy
95 7.6.2.7 offsetScaledLogVariance
7.6.2.8 timeSource
96 7.6.2.9 numberPorts
97 7.6.3 PTP variance
7.6.3.1 General
7.6.3.2 Variance algorithm
98 7.6.3.3 Variance representation
99 7.6.3.4 Ordering of variances
100 7.6.3.5 Computation of defaultDS.offsetScaledLogVariance
7.6.4 Parent PTP Instance statistics
7.6.4.1 General
7.6.4.2 parentDS.parentStats
7.6.4.3 parentDS.observedParentOffsetScaledLogVariance
101 7.6.4.4 parentDS.observedParentClockPhaseChangeRate
7.6.5 defaultDS.numberPorts
7.6.6 Obtaining timing from external sources and updating the data sets of a PTP Instance
7.6.6.1 General specification
102 7.6.6.2 Source Adapter blocks
7.6.6.3 External Source block
103 7.6.7 Providing timing to external users
7.6.7.1 General specification
7.6.7.2 Sink Adapter blocks
7.6.7.3 External Sink block
104 7.7 PTP timing characterization
7.7.1 General
7.7.2 PTP message transmission intervals
7.7.2.1 General interval specification
7.7.2.2 Announce message transmission interval
7.7.2.3 Sync (multicast) message transmission interval
105 7.7.2.4 Delay_Req message transmission interval
7.7.2.5 Pdelay_Req message transmission interval
7.7.3 PTP timeouts
7.7.3.1 portDS.announceReceiptTimeout
106 8. PTP data sets
8.1 General specifications for data set members
8.1.1 Introduction to data sets
8.1.1.1 Introduction to data set specifications
8.1.1.2 Ordinary Clocks and Boundary Clocks
8.1.1.3 Transparent Clocks
107 8.1.2 Initialization classification
8.1.2.1 General
8.1.2.1.1 Static members
8.1.2.1.2 Dynamic members
8.1.2.1.3 Configurable members
108 8.1.3 PTP Instance data set initialization properties
8.1.3.1 General initialization specifications
8.1.3.2 Initialization of static data set members
8.1.3.3 Initialization of dynamic data set members
8.1.3.4 Initialization of configurable data set members
109 8.1.3.5 Operation of nonvolatile read(write storage of data set members
8.1.4 Use of data sets for management
8.1.4.1 General
110 8.1.4.2 Organization within a PTP Node
111 8.1.4.3 Management conformance
112 8.1.4.4 Read/write permissions
8.1.5 Data type
113 8.1.6 Operational conformance
8.1.7 Correspondence between abstract quantities and data set members
114 8.2 Data sets for PTP Instances
8.2.1 defaultDS data set member specifications
8.2.1.1 General
8.2.1.2 Static members of the defaultDS data set
8.2.1.2.1 defaultDS.twoStepFlag (deprecated)
115 8.2.1.2.2 defaultDS.clockIdentity
8.2.1.2.3 defaultDS.numberPorts
8.2.1.3 Dynamic members of the defaultDS data set
8.2.1.3.1 defaultDS.clockQuality
8.2.1.3.1.1 General
8.2.1.3.1.2 defaultDS.clockQuality.clockClass
116 8.2.1.3.1.3 defaultDS.clockQuality.clockAccuracy
8.2.1.3.1.4 defaultDS.clockQuality.offsetScaledLogVariance
8.2.1.4 Configurable members of the defaultDS data set
8.2.1.4.1 defaultDS.priority1
8.2.1.4.2 defaultDS.priority2
8.2.1.4.3 defaultDS.domainNumber
8.2.1.4.4 defaultDS.slaveOnly
117 8.2.1.4.5 defaultDS.sdoId
8.2.1.5 Optional members of the defaultDS data set
8.2.1.5.1 defaultDS.currentTime
8.2.1.5.2 defaultDS.instanceEnable
118 8.2.1.5.3 defaultDS.externalPortConfigurationEnabled
8.2.1.5.4 defaultDS.maxStepsRemoved
8.2.1.5.5 defaultDS.instanceType
119 8.2.2 currentDS data set member specifications
8.2.2.1 General
8.2.2.2 currentDS.stepsRemoved
8.2.2.3 currentDS.offsetFromMaster
8.2.2.4 currentDS.meanDelay
120 8.2.2.5 currentDS.synchronizationUncertain
121 8.2.3 parentDS data set member specifications
8.2.3.1 General
8.2.3.2 parentDS.parentPortIdentity
8.2.3.3 parentDS.parentStats
122 8.2.3.4 parentDS.observedParentOffsetScaledLogVariance
8.2.3.5 parentDS.observedParentClockPhaseChangeRate
8.2.3.6 parentDS.grandmasterIdentity
8.2.3.7 parentDS.grandmasterClockQuality
8.2.3.8 parentDS.grandmasterPriority1
123 8.2.3.9 parentDS.grandmasterPriority2
8.2.3.10 parentDS.protocolAddress
8.2.3.11 parentDS.synchronizationUncertain
8.2.4 timePropertiesDS data set member specifications
8.2.4.1 General
124 8.2.4.2 timePropertiesDS.currentUtcOffset
125 8.2.4.3 timePropertiesDS.currentUtcOffsetValid
8.2.4.4 timePropertiesDS.leap59
8.2.4.5 timePropertiesDS.leap61
8.2.4.6 timePropertiesDS.timeTraceable
126 8.2.4.7 timePropertiesDS.frequencyTraceable
8.2.4.8 timePropertiesDS.ptpTimescale
8.2.4.9 timePropertiesDS.timeSource
8.2.5 descriptionDS
8.2.5.1 General
127 8.2.5.2 descriptionDS.manufacturerIdentity
8.2.5.3 descriptionDS.productDescription
128 8.2.5.4 descriptionDS.productRevision
8.2.5.5 descriptionDS.userDescription
8.2.6 faultLogDS
8.2.6.1 General
8.2.6.2 faultLogDS.numberOfFaultRecords
129 8.2.6.3 faultLogDS.faultRecordList
8.2.6.4 faultLogDS.reset
130 8.2.7 nonvolatileStorageDS
8.2.7.1 General
8.2.7.2 nonVolatileStorageDS.reset
8.2.7.3 nonVolatileStorageDS.save
131 8.2.8 pathTraceDS
8.2.9 alternateTimescaleOffsetsDS
8.2.10 holdoverUpgradeDS
8.2.10.1 General
8.2.11 grandmasterClusterDS
8.2.12 acceptableMasterTableDS
8.2.13 performanceMonitoringDS
8.2.14 enhancedSynchronizationAccuracyMetricsDS
8.2.14.1 General
132 8.2.14.2 enhancedSynchronizationAccuracyMetricsDS.enable
8.2.15 portDS data set member specifications
8.2.15.1 General
133 8.2.15.2 Static members of the portDS data set
8.2.15.2.1 portDS.portIdentity
8.2.15.3 Dynamic members of the portDS data set
8.2.15.3.1 portDS.portState
8.2.15.3.2 portDS.logMinDelayReqInterval
8.2.15.3.3 portDS.meanLinkDelay
134 8.2.15.4 Configurable members of the portDS data set
8.2.15.4.1 portDS.logAnnounceInterval
8.2.15.4.2 portDS.announceReceiptTimeout
8.2.15.4.3 portDS.logSyncInterval
8.2.15.4.4 portDS.delayMechanism
135 8.2.15.4.5 portDS.logMinPdelayReqInterval
8.2.15.4.6 portDS.versionNumber
8.2.15.4.7 portDS.minorVersionNumber
8.2.15.4.8 portDS.delayAsymmetry
8.2.15.5 Optional members of the portDS data set
8.2.15.5.1 portDS.portEnable
136 8.2.15.5.2 portDS.masterOnly
8.2.16 timestampCorrectionPortDS
8.2.16.1 General
8.2.16.2 timestampCorrectionPortDS.egressLatency
8.2.16.3 timestampCorrectionPortDS.ingressLatency
137 8.2.17 asymmetryCorrectionPortDS
8.2.17.1 General
8.2.17.2 asymmetryCorrectionPortDS.constantAsymmetry
138 8.2.17.3 asymmetryCorrectionPortDS.scaledDelayCoefficient
8.2.17.4 asymmetryCorrectionPortDS.enable
8.2.18 descriptionPortDS
8.2.18.1 General
8.2.18.2 descriptionPortDS.profileIdentifier
139 8.2.18.3 descriptionPortDS.protocolAddress
8.2.19 unicastNegotiationPortDS
8.2.19.1 General
8.2.19.2 unicastNegotiationPortDS.enable
140 8.2.20 alternateMasterPortDS
8.2.21 unicastDiscoveryPortDS
8.2.22 acceptableMasterPortDS
8.2.23 L1SyncBasicPortDS
141 8.2.24 L1SyncOptParamsPortDS
8.2.25 communicationCapabilitiesPortDS
8.2.25.1 communicationCapabilitiesPortDS.syncCapabilities
8.2.25.2 communicationCapabilitiesPortDS.delayRespCapabilities
142 8.2.26 performanceMonitoringPortDS
8.2.27 commonServicesPortDS
8.2.28 externalPortConfigurationPortDS
8.2.29 slaveMonitoringPortDs
8.3 Data sets for Transparent Clocks
8.3.1 General
8.3.1.1 Node-level data sets for Transparent Clocks
8.3.1.2 Instance-level data sets for Transparent Clocks
143 8.3.2 transparentClockDefaultDS data set member specifications (deprecated)
8.3.2.1 General
8.3.2.2 Static members of the transparentClockDefaultDS data set
8.3.2.2.1 transparentClockDefaultDS.clockIdentity
8.3.2.2.2 transparentClockDefaultDS.numberPorts
8.3.2.3 Configurable members of the transparentClockDefaultDS data set
8.3.2.3.1 transparentClockDefaultDS.delayMechanism
144 8.3.2.3.2 transparentClockDefaultDS.primaryDomain
8.3.3 transparentClockPortDS data set member specifications (deprecated)
8.3.3.1 General
8.3.3.2 Static members of the portDS data set
8.3.3.2.1 transparentClockPortDS.portIdentity
8.3.3.3 Dynamic members of the portDS data set
8.3.3.3.1 transparentClockPortDS.logMinPdelayReqInterval
8.3.3.3.2 transparentClockPortDS.faultyFlag
145 8.3.3.3.3 transparentClockPortDS.peerMeanPathDelay
8.4 commonMeanLinkDelayService data sets
9. PTP for Ordinary Clocks and Boundary Clocks
9.1 General protocol requirements for PTP Ordinary Clocks and Boundary Clocks
146 9.2 State protocol
9.2.1 General state requirements
9.2.2 PTP Instances with special state behavior
9.2.2.1 Slave-Only Ordinary Clocks
9.2.2.2 MasterOnly PTP Ports
147 9.2.2.3 PTP Ports not on a Slave-Only Ordinary Clock or in a masterOnly mode
9.2.3 Non-slaveOnly PTP Instances
9.2.4 State definitions
9.2.5 State machines
151 9.2.6 Events initiating PTP state transitions
9.2.6.1 General
9.2.6.2 POWERUP
9.2.6.3 INITIALIZE
9.2.6.4 DESIGNATED_ENABLED
9.2.6.5 DESIGNATED_DISABLED
9.2.6.6 FAULT_CLEARED
9.2.6.7 FAULT_DETECTED
9.2.6.8 INITIALIZATION_COMPLETE
152 9.2.6.9 STATE_DECISION_EVENT
153 9.2.6.10 Recommended state
9.2.6.11 QUALIFICATION_TIMEOUT_EXPIRES
9.2.6.12 ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
154 9.2.6.13 SYNCHRONIZATION_FAULT
9.2.6.14 MASTER_CLOCK_SELECTED
9.2.7 Applying PTP events to the PTP Ports of a Boundary Clock
155 9.3 Best master clock algorithms
9.3.1 Selection of the best master clock algorithm
156 9.3.2 Best master clock algorithm
9.3.2.1 Overview and definition of terms
9.3.2.2 General best master clock algorithm specifications
9.3.2.3 Computation of Erbest
157 9.3.2.4 specifications
9.3.2.4.1 General
9.3.2.4.2 [].foreignMasterPortIdentity
9.3.2.4.3 [].foreignMasterAnnounceMessages
9.3.2.4.4 [].mostRecentAnnounceMessage
158 9.3.2.4.5 FOREIGN_MASTER_TIME_WINDOW and FOREIGN_MASTER_THRESHOLD
9.3.2.4.6 Size of
9.3.2.5 Qualification of Announce messages
159 9.3.3 State decision algorithm
160 9.3.4 Data set comparison algorithm
164 9.3.5 Update of data sets
165 9.4 Grandmaster PTP Instance timePropertiesDS updates
167 9.5 PTP message processing semantics
9.5.1 Messaging behavior of Ordinary Clock and Boundary Clocks
9.5.2 Receipt by a PTP Instance of any message from itself
9.5.2.1 General
168 9.5.2.2 Ordinary Clocks and any single PTP Port of a Boundary Clock
9.5.2.3 Additional constraints for Boundary Clocks
9.5.3 Receipt of an Announce message from another PTP Instance
171 9.5.4 Receipt of a Sync message from another PTP Instance
172 9.5.5 Receipt of a Follow_Up message from another PTP Instance
173 9.5.6 Receipt of a Delay_Req message from another PTP Instance
175 9.5.7 Receipt of a Delay_Resp message from another PTP Instance
177 9.5.8 Transmission of an Announce message
9.5.9 Transmission of a Sync message
9.5.9.1 General specification
178 9.5.9.2 General requirements
9.5.9.3 Additional requirements when the Message Length Extension option is active
9.5.9.4 One-step PTP Ports
179 9.5.9.5 Two-step PTP Ports
9.5.10 Transmission of a Follow_Up message
9.5.11 Transmission of a Delay_Req message
9.5.11.1 General requirements
180 9.5.11.2 Timing requirements
181 9.5.12 Transmission of a Delay_Resp message
182 9.5.13 Transmission of a Pdelay_Req message
9.5.13.1 General requirements
9.5.13.2 Timing requirements
9.5.14 Transmission of Pdelay_Resp message
9.5.15 Transmission of Pdelay_Resp_Follow_Up message
183 9.6 Changes in the PTP Instance
10. PTP for Transparent Clocks
10.1 Requirements for both end-to-end and peer-to-peer Transparent Clocks
10.1.1 Residence time computations
10.1.2 Retransmission of PTP messages that contain TLVs
10.2 End-to-end Transparent Clock requirements
10.2.1 General requirements
184 10.2.2 Default PTP message processing in end-to-end Transparent Clocks
185 10.2.2.1 Processing of Sync messages
10.2.2.1.1 Egress one-step PTP Ports
10.2.2.1.2 Egress two-step PTP Ports
10.2.2.1.2.1 Ingress Sync message twoStep flag is FALSE
10.2.2.1.2.2 Ingress Sync message twoStep flag is TRUE
186 10.2.2.2 Processing of Delay_Req messages
10.2.2.2.1 General specification
10.2.2.2.2 Egress one-step PTP Ports
10.2.2.2.3 Egress two-step PTP Ports
187 10.2.2.3 Processing of Pdelay_Req and Pdelay_Resp messages
10.2.2.3.1 General
10.2.2.3.2 Egress one-step PTP Ports on end-to-end Transparent Clocks
10.2.2.3.3 Egress two-step PTP Ports on end-to-end Transparent Clocks
188 10.2.3 Alternate processing of Sync, Delay_Req, Delay_Resp, Pdelay_Req, and Pdelay_Resp messages on end-to-end Transparent Clocks
10.2.3.1 General requirements
189 10.2.3.2 Constraints on processing of Sync and Follow_Up messages
190 10.2.3.2.1 All cases
10.2.3.2.2 Ingress and egress twoStepFlags both FALSE
10.2.3.2.3 Ingress twoStepFlag FALSE and egress twoStepFlag TRUE
10.2.3.2.4 Ingress twoStepFlag TRUE and egress twoStepFlag FALSE
10.2.3.2.5 Ingress twoStepFlag TRUE and egress twoStepFlag TRUE:
10.2.3.3 Constraints on processing of Delay_Req and Delay_Resp messages
191 10.2.3.4 Constraints on processing of Pdelay_Req and Pdelay_Resp messages
10.2.3.4.1 All cases
10.2.3.4.2 Ingress twoStep flag is FALSE
10.2.3.4.3 Ingress twoStep flag is TRUE
192 10.3 Peer-to-peer Transparent Clock requirements
10.3.1 General requirements
10.3.2 Default Sync and Follow_Up message processing in peer-to-peer Transparent Clocks
10.3.2.1 Egress one-step PTP Ports
193 10.3.2.2 Egress two-step PTP Ports
10.3.2.2.1 Ingress Sync message twoStep flag is FALSE
10.3.2.2.2 Ingress Sync message twoStep flag is TRUE
194 10.3.3 Alternate processing of Sync and Follow_Up messages on peer-to-peer Transparent Clocks
10.3.3.1 General requirements
195 10.3.3.2 Constraints on processing of Sync and Follow_Up messages
10.3.3.2.1 All cases
10.3.3.2.2 Ingress and egress twoStepFlags both FALSE
10.3.3.2.3 Ingress twoStepFlag FALSE and egress twoStepFlag TRUE
196 10.3.3.2.4 Ingress twoStepFlag TRUE and egress twoStepFlag FALSE
10.3.3.2.5 Ingress twoStepFlag TRUE and egress twoStepFlag TRUE
11. Clock offset, path delay, residence time, and asymmetry corrections
11.1 General specifications
197 11.2 Computation of in Ordinary Clocks and Boundary Clocks
198 11.3 Delay request-response mechanism for Ordinary Clocks and Boundary Clocks
11.3.1 Delay request-response mechanism general requirements
199 11.3.2 Delay request-response mechanism operational specifications
200 11.4 Peer-to-peer delay mechanism
11.4.1 Peer-to-peer delay mechanism general requirements
201 11.4.2 Peer-to-peer delay mechanism operational specifications
203 11.4.3 Restriction on the use of the peer-to-peer delay mechanism
205 11.5 MDMI interface and Special Ports
11.5.1 General requirements
206 11.5.2 Operation of the components in a Special Port
11.5.2.1 Nontiming PTP message handling by a Special Port
11.5.2.1.1 Announce messages
11.5.2.1.2 Signaling messages
11.5.2.1.3 PTP management messages
207 11.5.2.2 Time transfer by a Special Port
11.5.2.2.1 PTP Port block
11.5.2.2.2 MDMI interface general properties
11.5.2.2.3 Special PTP MD Adapter block
208 11.5.2.2.4 Network Interface Stack
11.5.3 Timing information transfer across the MDMI Interface
209 11.5.3.1 Timing information transfer across the MDMI Interface on reception
210 11.5.3.1.1 domainNumber
11.5.3.1.2 sdoId
11.5.3.1.3 sourcePortIdentity
11.5.3.1.4 originOrPreciseOriginTimestamp
11.5.3.1.5 correctionField
211 11.5.3.1.6 logMessageInterval
11.5.3.1.7 upstreamTxTime
11.5.3.1.8 cumulativeRateRatio
11.5.3.2 Timing information transfer across the MDMI Interface on transmission
212 11.5.3.2.1 domainNumber
11.5.3.2.2 sdoId
11.5.3.2.3 sourcePortIdentity
11.5.3.2.4 originOrPreciseOriginTimestamp
213 11.5.3.2.5 correctionField
11.5.3.2.6 logMessageInterval
214 11.5.3.2.7 upstreamTxTime
11.5.3.2.8 cumulativeRateRatio
11.5.3.3 Computation of at the PTP Instance whose PTP Port in the SLAVE state is a Special Port
215 12. Synchronization and syntonization of clocks
12.1 Clock adjustments
12.2 Syntonization
12.2.1 General specification
12.2.2 Syntonization based on Sync messages
216 12.2.3 Syntonization based on other mechanisms
12.3 Synchronization
217 13. PTP message formats
13.1 General
13.2 General PTP message format requirements
13.3 Header
13.3.1 General header specifications
218 13.3.2 Header specifications
13.3.2.1 majorSdoId (Nibble)
13.3.2.2 minorSdoId (UInteger8)
13.3.2.3 messageType (Enumeration4)
219 13.3.2.4 versionPTP (UInteger4)
13.3.2.5 minorVersionPTP (UInteger4)
13.3.2.6 messageLength (UInteger16)
13.3.2.7 domainNumber (UInteger8)
13.3.2.8 flagField (Octet[2])
220 13.3.2.9 correctionField (Integer64)
221 13.3.2.10 messageTypeSpecific (Octet[4])
13.3.2.11 sourcePortIdentity (PortIdentity)
222 13.3.2.12 sequenceId (UInteger16)
13.3.2.13 controlField (UInteger8)
13.3.2.14 logMessageInterval (Integer8)
223 13.4 Suffix
13.5 Announce message
13.5.1 General Announce message specifications
224 13.5.2 Announce message field specifications
13.5.2.1 originTimestamp (Timestamp)
13.5.2.2 currentUtcOffset (Integer16)
13.5.2.3 grandmasterPriority1 (UInteger8)
13.5.2.4 grandmasterClockQuality (ClockQuality)
13.5.2.5 grandmasterPriority2 (UInteger8)
13.5.2.6 grandmasterIdentity (ClockIdentity)
13.5.2.7 stepsRemoved (UInteger16)
225 13.5.2.8 timeSource (Enumeration8)
13.6 Sync and Delay_Req messages
13.6.1 General Sync and Delay_Req message specifications
13.6.2 Sync and Delay_Req message field specifications
13.6.2.1 originTimestamp (Timestamp)
13.7 Follow_Up message
13.7.1 General Follow_Up message specifications
13.7.2 Follow_Up message field specifications
13.7.2.1 preciseOriginTimestamp (Timestamp)
226 13.8 Delay_Resp message
13.8.1 General Delay_Resp message specifications
13.8.2 Delay_Resp message field specifications
13.8.2.1 receiveTimestamp (Timestamp)
13.8.2.2 requestingPortIdentity (PortIdentity)
13.9 Pdelay_Req message
13.9.1 General Pdelay_Req message specifications
227 13.9.2 Pdelay_Req message field specifications
13.9.2.1 originTimestamp (Timestamp)
13.10 Pdelay_Resp message
13.10.1 General Pdelay_Resp message specifications
13.10.2 Pdelay_Resp message field specifications
13.10.2.1 requestReceiptTimestamp (Timestamp)
13.10.2.2 requestingPortIdentity (PortIdentity)
13.11 Pdelay_Resp_Follow_Up message
13.11.1 General Pdelay_Resp_Follow_Up message specifications
228 13.11.2 Pdelay_Resp_Follow_Up message field specifications
13.11.2.1 responseOriginTimestamp (Timestamp)
13.11.2.2 requestingPortIdentity (PortIdentity)
13.12 Signaling message
13.12.1 Receipt of a Signaling message from another PTP Instance
13.12.2 Transmission of a Signaling message
229 13.12.2.1 targetPortIdentity (PortIdentity)
13.13 PTP management message
14. TLV entity specifications
14.1 General requirements
14.1.1 tlvType (Enumeration16)
230 14.1.2 lengthField (UInteger16)
231 14.1.3 valueField (tlvType specific)
14.2 Propagation of TLVs through Boundary Clocks
14.2.1 TLVs Attached to non-Announce PTP Messages
14.2.2 Unsupported TLVs Attached to Announce PTP Message
14.2.2.1 Unsupported TLVs marked ā€œDo Not Propagateā€
14.2.2.2 Unsupported TLVs marked ā€œPropagateā€
232 14.2.2.3 Supported TLVs received on an Announce message
14.3 Vendor and standard organization extension TLVs
14.3.1 General
14.3.2 TLV member specifications
233 14.3.2.1 tlvType (Enumeration16)
14.3.2.2 lengthField (UInteger16)
14.3.2.3 organizationId (Octet[3])
14.3.2.4 organizationSubType (Enumeration24)
234 14.3.2.5 data (organizationSubType and organizationId specific)
14.4 PAD TLV (optional)
14.4.1 General
14.4.2 PAD TLV specification
14.4.2.1 tlvType
14.4.2.2 lengthField
14.4.2.3 pad
235 15. PTP management messages (optional)
15.1 General
15.1.1 Selection of management mechanisms
15.2 PTP management mechanism
15.3 Processing of PTP management messages
15.3.1 Receipt of a PTP management message
236 15.3.2 Transmission of a PTP management message
15.3.3 Boundary Clock retransmission of PTP management messages
15.4 PTP management message format
15.4.1 Common fields
237 15.4.1.1 domainNumber, majorSdoId, and minorSdoId of the header
15.4.1.2 sequenceId of the header
15.4.1.3 targetPortIdentity (PortIdentity)
15.4.1.4 startingBoundaryHops (UInteger8)
15.4.1.5 boundaryHops (UInteger8)
238 15.4.1.7 managementTLV
239 15.5 Management TLVs
15.5.1 Management TLV introduction
15.5.1.1 General
15.5.1.1.1 Management of data sets
15.5.1.1.2 Management of events
15.5.2 MANAGEMENT TLV field format
15.5.2.1 tlvType (Enumeration16)
15.5.2.2 lengthField (UInteger16)
240 15.5.2.3 managementId (Enumeration16)
242 15.5.3 Management TLV data field specifications for each managementId
15.5.3.1 TLV data fields for MANAGEMENT_TLVs applicable to all PTP Instances
15.5.3.1.1 NULL_PTP_MANAGEMENT
15.5.3.1.2 CLOCK_DESCRIPTION
243 15.5.3.1.2.1 clockType (Boolean[16])
244 15.5.3.1.2.2 physicalLayerProtocol (PTPText)
15.5.3.1.2.3 physicalAddressLength (UInteger16)
15.5.3.1.2.4 physicalAddress (Octet[physicalAddressLength])
15.5.3.1.2.5 protocolAddress (PortAddress)
15.5.3.1.2.6 manufacturerIdentity (Octet[3])
15.5.3.1.2.7 productDescription (PTPText )
15.5.3.1.2.8 revisionData (PTPText )
245 15.5.3.1.2.9 userDescription (PTPText )
15.5.3.1.2.10 profileIdentifier (Octet[6])
15.5.3.1.2.11 pad (Octet[M])
15.5.3.1.3 USER_DESCRIPTION
15.5.3.1.3.1 userDescription (PTPText )
15.5.3.1.3.2 pad (Octet[M])
15.5.3.1.4 SAVE_IN_NON_VOLATILE_STORAGE
246 15.5.3.1.5 RESET_NON_VOLATILE_STORAGE
15.5.3.1.6 INITIALIZE
15.5.3.1.6.1 initializationKey (Enumeration16)
15.5.3.1.7 FAULT_LOG
15.5.3.1.7.1 numberOfFaultRecords (UInteger16)
247 15.5.3.1.7.2 faultRecordList (FaultRecord[numberOfFaultRecords])
15.5.3.1.7.3 pad (Octet[M])
15.5.3.1.8 FAULT_LOG_RESET
15.5.3.2 TLV data fields applicable to Ordinary Clocks and Boundary Clocks
15.5.3.2.1 TIME
15.5.3.2.1.1 currentTime (Timestamp)
15.5.3.2.2 CLOCK_ACCURACY
248 15.5.3.2.2.1 clockAccuracy (Enumeration8)
15.5.3.2.3 ENABLE_PORT
15.5.3.2.4 DISABLE_PORT
15.5.3.2.5 SLAVE_EVENT_MONITORING management TLV data field
249 15.5.3.2.5.1 TLV0 (Boolean)
15.5.3.2.5.2 TLV1 (Boolean)
15.5.3.2.5.3 TLV2 (Boolean)
15.5.3.2.5.4 EPRSTT (UInteger8)
15.5.3.2.5.5 EPRSCT (UInteger8)
15.5.3.2.5.6 EPTETT (UInteger8)
250 15.5.3.2.5.7 TET (UInteger8)
15.5.3.3 TLV data fields applicable to the defaultDS data set of Ordinary Clocks and Boundary Clocks
15.5.3.3.1 DEFAULT_DATA_SET
15.5.3.3.1.1 TSC (Boolean)
15.5.3.3.1.2 SO (Boolean)
15.5.3.3.1.3 numberPorts (UInteger16)
15.5.3.3.1.4 priority1 (UInteger8)
15.5.3.3.1.5 clockQuality (ClockQuality)
251 15.5.3.3.1.6 priority2 (UInteger8)
15.5.3.3.1.7 clockIdentity (ClockIdentity)
15.5.3.3.1.8 domainNumber (UInteger8)
15.5.3.3.2 PRIORITY1
15.5.3.3.2.1 priority1 (UInteger8)
15.5.3.3.3 PRIORITY2
15.5.3.3.3.1 priority2 (UInteger8)
15.5.3.3.4 DOMAIN
252 15.5.3.3.4.1 domainNumber (UInteger8)
15.5.3.3.5 SLAVE_ONLY
15.5.3.3.5.1 SO (Boolean)
15.5.3.3.6 PATH_TRACE_LIST PTP management message
15.5.3.3.6.1 pathSequence (ClockIdentity[N])
15.5.3.3.7 PATH_TRACE_ENABLE PTP management message
253 15.5.3.3.7.1 EN (Boolean)
15.5.3.3.8 ALTERNATE_TIME_OFFSET_ENABLE PTP management message
15.5.3.3.8.1 keyField (UInteger8)
15.5.3.3.8.2 EN (Boolean)
15.5.3.3.9 ALTERNATE_TIME_OFFSET_NAME TLV
254 15.5.3.3.9.1 keyField (UInteger8)
15.5.3.3.9.2 displayName (PTPText)
15.5.3.3.9.3 pad (Octet[M])
15.5.3.3.10 ALTERNATE_TIME_OFFSET_MAX_KEY management TLV
15.5.3.3.10.1 maxKey (UInteger8)
15.5.3.3.11 ALTERNATE_TIME_OFFSET_PROPERTIES management TLV (optional)
255 15.5.3.3.11.1 keyField (UInteger8)
15.5.3.3.11.2 currentOffset (Integer32)
15.5.3.3.11.3 jumpSeconds (Integer32)
15.5.3.3.11.4 timeOfNextJump (UInteger48)
15.5.3.3.12 Configuration of holdoverUpgradeDS
256 15.5.3.3.12.1 EN (Boolean)
15.5.3.3.13 GRANDMASTER_CLUSTER_TABLE management TLV data field
15.5.3.3.13.1 logQueryInterval (Integer8)
15.5.3.3.13.2 actualTableSize (UInteger8)
257 15.5.3.3.13.3 portAddress (PortAddress[actualTableSize])
15.5.3.3.13.4 pad (Octet[M])
15.5.3.3.14 ACCEPTABLE_MASTER_TABLE management TLV data field
15.5.3.3.14.1 actualTableSize (Integer16)
15.5.3.3.14.2 list(acceptableMaster[actualTableSize])
258 15.5.3.3.14.3 pad (Octet[M])
15.5.3.3.15 ACCEPTABLE_MASTER_MAX_TABLE_SIZE management TLV data field
15.5.3.3.15.1 maxTableSize (UInteger16)
15.5.3.4 TLV data fields applicable to the currentDS data set of Ordinary Clocks and Boundary Clocks
15.5.3.4.1 CURRENT_DATA_SET
259 15.5.3.4.1.1 stepsRemoved (UInteger16)
15.5.3.4.1.2 offsetFromMaster (TimeInterval)
15.5.3.4.1.3 meanPathDelay (TimeInterval)
15.5.3.5 TLV data fields applicable to the parentDS data set of Ordinary Clocks and Boundary Clocks
15.5.3.5.1 PARENT_DATA_SET
15.5.3.5.1.1 parentPortIdentity (PortIdentity)
15.5.3.5.1.2 PS (Boolean)
260 15.5.3.5.1.3 observedParentOffsetScaledLogVariance (UInteger16)
15.5.3.5.1.4 observedParentClockPhaseChangeRate (Integer32)
15.5.3.5.1.5 grandmasterPriority1 (UInteger8)
15.5.3.5.1.6 grandmasterClockQuality (ClockQuality)
15.5.3.5.1.7 grandmasterPriority2 (UInteger8)
15.5.3.5.1.8 grandmasterIdentity (ClockIdentity)
15.5.3.6 TLV data fields applicable to the timePropertiesDS data set of Ordinary Clocks and Boundary Clocks
15.5.3.6.1 TIME_PROPERTIES_DATA_SET
15.5.3.6.1.1 currentUtcOffset (Integer16)
261 15.5.3.6.1.2 LI-61 (Boolean)
15.5.3.6.1.3 LI-59 (Boolean)
15.5.3.6.1.4 UTCV (Boolean)
15.5.3.6.1.5 PTP (Boolean)
15.5.3.6.1.6 TTRA (Boolean)
15.5.3.6.1.7 FTRA (Boolean)
15.5.3.6.1.8 timeSource (Enumeration8)
15.5.3.6.2 UTC_PROPERTIES
15.5.3.6.2.1 currentUtcOffset (Integer16)
262 15.5.3.6.2.2 LI-61 (Boolean)
15.5.3.6.2.3 LI-59 (Boolean)
15.5.3.6.2.4 UTCV (Boolean)
15.5.3.6.3 TRACEABILITY_PROPERTIES
15.5.3.6.3.1 TTRA (Boolean)
15.5.3.6.3.2 FTRA (Boolean)
15.5.3.6.4 TIMESCALE_PROPERTIES
15.5.3.6.4.1 PTP (Boolean)
263 15.5.3.6.4.2 timeSource (Enumeration8)
15.5.3.7 TLV data fields applicable to the portDS data set of Ordinary Clocks and Boundary Clocks
15.5.3.7.1 PORT_DATA_SET
15.5.3.7.1.1 portIdentity (PortIdentity)
15.5.3.7.1.2 portState (Enumeration8)
15.5.3.7.1.3 logMinDelayReqInterval (Integer8)
15.5.3.7.1.4 meanLinkDelay (TimeInterval)
15.5.3.7.1.5 logAnnounceInterval (Integer8)
264 15.5.3.7.1.6 announceReceiptTimeout (UInteger8)
15.5.3.7.1.7 logSyncInterval (Integer8)
15.5.3.7.1.8 delayMechanism (Enumeration8)
15.5.3.7.1.9 logMinPdelayReqInterval (Integer8)
15.5.3.7.1.10 versionNumber (UInteger4)
15.5.3.7.2 LOG_ANNOUNCE_INTERVAL
15.5.3.7.2.1 logAnnounceInterval (Integer8)
15.5.3.7.3 ANNOUNCE_RECEIPT_TIMEOUT
265 15.5.3.7.3.1 announceReceiptTimeout (UInteger8)
15.5.3.7.4 LOG_SYNC_INTERVAL
15.5.3.7.4.1 logSyncInterval (Integer8)
15.5.3.7.5 DELAY_MECHANISM
15.5.3.7.5.1 delayMechanism (Enumeration8)
15.5.3.7.6 LOG_MIN_PDELAY_REQ_INTERVAL
266 15.5.3.7.6.1 logMinPdelayReqInterval (Integer8)
15.5.3.7.7 VERSION_NUMBER
15.5.3.7.7.1 versionNumber (UInteger4)
15.5.3.7.8 EXTERNAL_PORT_CONFIGURATION_ENABLED
15.5.3.7.8.1 EPC
15.5.3.7.9 MASTER_ONLY
267 15.5.3.7.9.1 MO (Boolean)
15.5.3.7.10 UNICAST_NEGOTIATION_ENABLE
15.5.3.7.10.1 EN (Boolean)
15.5.3.7.11 ALTERNATE_MASTER management TLV data field
15.5.3.7.11.1 S (Boolean)
268 15.5.3.7.11.2 logAlternateMulticastSyncInterval (Integer8)
15.5.3.7.11.3 numberOfAlternateMasters (UInteger8)
15.5.3.7.12 UNICAST_MASTER_TABLE management TLV data field
15.5.3.7.12.1 logQueryInterval (Integer8)
15.5.3.7.12.2 actualTableSize (UInteger16)
15.5.3.7.12.3 portAddress(PortAddress[actualTableSize])
15.5.3.7.12.4 pad (Octet[M])
269 15.5.3.7.13 UNICAST_MASTER_MAX_TABLE_SIZE management TLV data field
15.5.3.7.13.1 maxTableSize (UInteger16)
15.5.3.7.14 ACCEPTABLE_MASTER_TABLE_ENABLED management TLV data field
15.5.3.7.14.1 EN (Boolean)
15.5.3.7.15 EXT_PORT_CONFIG_PORT_DATA_SET management TLV data field
270 15.5.3.7.15.1 desiredState (Enumeration8)
15.5.3.8 TLV data fields applicable to the defaultDS data set of Transparent Clocks (deprecated)
15.5.3.8.1 TRANSPARENT_CLOCK_DEFAULT_DATA_SET (deprecated)
15.5.3.8.1.1 clockIdentity (ClockIdentity)
15.5.3.8.1.2 numberPorts (UInteger16)
15.5.3.8.1.3 delayMechanism (Enumeration8)
15.5.3.8.1.4 primaryDomain (UInteger8)
15.5.3.8.2 DELAY_MECHANISM (deprecated)
15.5.3.8.3 PRIMARY_DOMAIN (deprecated)
271 15.5.3.8.3.1 primaryDomain (UInteger8)
15.5.3.9 TLV data fields applicable to the transparentClockPortDS data set of Transparent Clocks
15.5.3.9.1 TRANSPARENT_CLOCK_PORT_DATA_SET
15.5.3.9.1.1 portIdentity (PortIdentity)
15.5.3.9.1.2 FLT (Boolean)
15.5.3.9.1.3 logMinPdelayReqInterval (Integer8)
15.5.3.9.1.4 peerMeanLinkDelay (TimeInterval)
272 15.5.3.9.2 LOG_MIN_PDELAY_REQ_INTERVAL
15.5.4 MANAGEMENT_ERROR_STATUS TLV
15.5.4.1 General
15.5.4.2 tlvType
15.5.4.3 lengthField
15.5.4.4 managementErrorId (Enumeration16)
273 15.5.4.5 managementId (Enumeration16)
15.5.4.6 displayData (PTPText)
15.5.4.7 pad (Octet[M])
16. General optional features
16.1 Unicast message negotiation (optional)
16.1.1 General unicast negotiation PTP operation specifications
275 16.1.2 Unicast negotiation enable
16.1.3 Granting PTP Port operations
16.1.3.1 Cancel Requests for Inactive Service (Handling Abnormal Contract Cancel Request)
16.1.3.2 Acknowledge Responses for Inactive Service (Handling Abnormal Contract Cancel Acknowledgment)
276 16.1.3.3 Acknowledge Responses Opposite of the Cancel Request (Handling Abnormal Contract Cancel Acknowledgment)
16.1.3.4 Single-Direction or Bidirectional Cancel Requests
16.1.3.5 Multiple TLVs attached to same PTP message
277 16.1.4 Unicast TLVs
16.1.4.1 REQUEST_UNICAST_TRANSMISSION TLV specification
16.1.4.1.1 tlvType
16.1.4.1.2 lengthField
16.1.4.1.3 messageType (Enumeration4)
278 16.1.4.1.4 logInterMessagePeriod (Integer8)
16.1.4.1.5 durationField (UInteger32)
16.1.4.2 GRANT_UNICAST_TRANSMISSION TLV specification
16.1.4.2.1 tlvType
16.1.4.2.2 lengthField
16.1.4.2.3 messageType (Enumeration4)
279 16.1.4.2.4 logInterMessagePeriod (Integer8)
16.1.4.2.5 durationField (UInteger32)
16.1.4.2.6 R (Renewal Invited) (Boolean)
16.1.4.3 CANCEL_UNICAST_TRANSMISSION TLV specification
16.1.4.3.1 tlvType
16.1.4.3.2 lengthField
16.1.4.3.3 messageType (Enumeration4)
16.1.4.3.4 R (maintainRequest) (Boolean)
280 16.1.4.3.5 G (maintainGrant) (Boolean)
16.1.4.4 ACKNOWLEDGE_CANCEL_UNICAST_TRANSMISSION TLV specification
16.1.4.4.1 tlvType
16.1.4.4.2 lengthField
16.1.4.4.3 messageType (Enumeration4)
281 16.1.4.4.4 R (maintainRequest) (Boolean)
16.1.4.4.5 G (maintainGrant) (Boolean)
16.2 Path trace (optional)
16.2.1 General
282 16.2.2 pathTraceDS data set specifications
16.2.2.1 General
16.2.2.2 Dynamic members of the pathTraceDS data set
16.2.2.2.1 pathTraceDS.list
16.2.2.3 Configurable members of the pathTraceDS data set
16.2.2.3.1 pathTraceDS.enable
16.2.3 Receipt of an Announce message
283 16.2.4 Transmission of an Announce message
16.2.5 PATH_TRACE TLV specification
16.2.5.1 tlvType
16.2.5.2 lengthField
16.2.5.3 pathSequence (ClockIdentity[N])
16.3 Alternate timescale offsets (optional)
16.3.1 General
284 16.3.1.1 Using the ALTERNATE_TIME_OFFSET_INDICATOR TLV when the timescale is PTP
285 16.3.1.2 Using the ALTERNATE_TIME_OFFSET_INDICATOR TLV when the timescale is ARB
16.3.1.3 Discontinuities in alternate timescales
286 16.3.2 Propagation by Boundary Clocks
16.3.3 ALTERNATE_TIME_OFFSET_INDICATOR TLV specification
16.3.3.1 General
16.3.3.2 tlvType
16.3.3.3 lengthField
16.3.3.4 keyField (UInteger8)
287 16.3.3.5 currentOffset (Integer32)
16.3.3.6 jumpSeconds (Integer32)
16.3.3.7 timeOfNextJump (UInteger48)
16.3.3.8 displayName (PTPText)
16.3.3.9 pad (Octet[M])
288 16.3.4 alternateTimescaleOffsetsDS data set specifications
16.3.4.1 General
16.3.4.2 AlternateTimescale derived data type
16.3.4.3 Static members of the alternateTimescaleOffsetDS data set
16.3.4.3.1 alternateTimescaleOffsetDS.maxKey
16.3.4.4 Configurable members of the alternateTimescaleOffsetDS data set
16.3.4.4.1 alternateTimescaleOffsetDS.list
289 16.3.4.4.1.1 AlternateTimescale.keyField
16.3.4.4.1.2 AlternateTimescale.enable
16.3.4.4.1.3 AlternateTimescale.currentOffset
16.3.4.4.1.4 AlternateTimescale.jumpSeconds
16.3.4.4.1.5 AlternateTimescale.timeOfNextJump
16.3.4.4.1.6 AlternateTimescale.displayName
290 16.4 Holdover upgrade (optional)
16.4.1 General description of the holdover upgrade option
16.4.1.1 holdoverUpgradeDS.enable
16.4.2 Behavior of a holdover-upgradable PTP Instance when in the disabled state.
16.4.3 Behavior of a holdover-upgradable PTP Instance when in the enabled state.
291 16.5 Isolation of PTP Instances running under profiles specified by different standards organizations (optional)
16.5.1 General
292 16.5.2 PTP Profile specifications for this option
16.6 Common Mean Link Delay Service (optional)
16.6.1 General
293 16.6.2 Using the Common Mean Link Delay Service.
16.6.3 Common Mean Link Delay Service
16.6.3.1 General CMLDS specifications
294 16.6.3.2 CMLDS link measurement operation
295 16.6.4 commonMeanLinkDelayServiceDS data set specifications
296 16.6.4.1 cmldsDefaultDS
16.6.4.1.1 General
16.6.4.1.2 Static members of the cmldsDefaultDS
16.6.4.1.2.1 cmldsDefaultDS.clockIdentity
16.6.4.1.2.2 cmldsDefaultDS.numberLinkPorts
16.6.4.2 cmldsLinkPortDS
16.6.4.2.1 General
297 16.6.4.2.2 Static members of the cmldsLinkPortDS
16.6.4.2.2.1 cmldsLinkPortDS.portIdentity
16.6.4.2.2.2 cmldsLinkPortDS.domainNumber
16.6.4.2.3 Dynamic members of the cmldsLinkPortDS
16.6.4.2.3.1 cmldsLinkPortDS.commonMeanLinkDelayInformation
16.6.4.2.4 Configurable members of the cmldsLinkPortDS
16.6.4.2.4.1 cmldsLinkPortDS.logMinPdelayReqInterval
16.6.4.2.4.2 cmldsLinkPortDS.versionNumber
298 16.6.4.2.4.3 cmldsLinkPortDS.minorVersionNumber
16.6.4.2.4.4 cmldsLinkPortDS.delayAsymmetry
16.6.4.3 cmldsTimestampCorrectionLinkPortDS
16.6.4.3.1 cmldsTimestampCorrectionLinkPortDS.egressLatency
16.6.4.3.2 cmldsTimestampCorrectionLinkPortDS.ingressLatency
16.6.4.4 cmldsAsymmetryCorrectionLinkPortDS
16.6.4.4.1 cmldsAsymmetryCorrectionLinkPortDS.constantAsymmetry
16.6.4.4.2 cmldsAsymmetryCorrectionLinkPortDS.delayCoefficient
299 16.6.4.4.3 cmldsAsymmetryCorrectionLinkPortDS.enable
16.6.4.5 cmldsPerformanceMonitoringLinkPortDS
16.6.5 commonServicesPortDS
16.6.5.1 General
16.6.5.1.1 Static members of the commonServicesPortDS
16.6.5.1.1.1 commonServicesPortDS.cmldsLinkPortPortNumber
16.7 Configurable correction of timestamps (optional)
16.7.1 General
300 16.8 Calculation of the for certain media (optional)
16.8.1 General
16.8.2 Enabling the option
16.8.3 Calculation of the
302 16.9 Mixed multicast/unicast operation (optional)
16.9.1 General
303 16.9.2 Port property TLVs (Optional)
16.9.2.1 PORT_COMMUNICATION_AVAILABILITY TLV (Optional)
16.9.2.1.1 tlvType
16.9.2.1.2 lengthField
16.9.2.1.3 syncMessageAvailability (Boolean[4])
304 16.9.2.1.4 delayRespMessageAvailability (Boolean[4])
16.9.2.2 PROTOCOL_ADDRESS TLV
16.9.2.2.1 tlvType
16.9.2.2.2 lengthField
305 16.9.2.2.3 portProtocolAddress (PortAddress)
16.9.2.2.4 pad (Octet[M])
16.10 Cumulative frequency transfer method for synchronizing clocks (optional)
16.10.1 General
16.10.2 Operation of the peer-to-peer delay mechanism using this option
307 16.10.3 Generating the
16.10.3.1 tlvType
16.10.3.2 lengthField
308 16.10.3.3 scaledCumulativeRateRatio (Integer32)
16.10.4 Calculations based on the measured , , and cumulativeRateRatio field of the TLV
16.10.4.1 General
16.10.4.2 meanLinkDelay
16.10.4.3 Ordinary Clocks that are not the Grandmaster Clock of the domain
16.10.4.4 Transparent Clocks and all Boundary Clocks that are not the Grandmaster PTP Instance of the domain
309 16.11 Slave Event Monitoring (optional)
16.11.1 General
310 16.11.2 Slave Event Monitoring Enable
16.11.3 Transmission of PTP messages with Slave Event Monitoring TLVs
311 16.11.4 Ingress Event Monitor TLVs
16.11.4.1 SLAVE_RX_SYNC_TIMING_DATA TLV specification
16.11.4.1.1 tlvType
16.11.4.1.2 lengthField
16.11.4.1.3 syncSourcePortIdentity (PortIdentity)
312 16.11.4.1.4 sequenceId[i] (UInteger16)
16.11.4.1.5 syncOriginTimestamp[i] (Timestamp)
16.11.4.1.6 totalCorrectionField[i] (TimeInterval)
16.11.4.1.7 scaledCumulativeRateOffset[i] (Integer32)
16.11.4.1.8 syncEventIngressTimestamp[i] (Timestamp)
16.11.4.2 SLAVE_RX_SYNC_COMPUTED_DATA TLV specification
313 16.11.4.2.1 tlvType
16.11.4.2.2 lengthField
16.11.4.2.3 sourcePortIdentity (PortIdentity)
16.11.4.2.4 computedFlags (Boolean[8])
314 16.11.4.2.4.1 offsetFromMasterValid flag
16.11.4.2.4.2 meanPathDelayValid flag
16.11.4.2.4.3 scaledNeighborRateRatioValid flag
16.11.4.2.5 sequenceId[i] (UInteger16)
16.11.4.2.6 offsetFromMaster[i] (TimeInterval)
16.11.4.2.7 meanPathDelay[i] (TimeInterval)
16.11.4.2.8 scaledNeighborRateRatio[i] (Integer32)
315 16.11.5 Egress Event Monitor TLVs
16.11.5.1 SLAVE_TX_EVENT_TIMESTAMPS TLV specification
16.11.5.1.1 tlvType
16.11.5.1.2 lengthField
16.11.5.1.3 sourcePortIdentity (PortIdentity)
16.11.5.1.4 eventMessageType (Enumeration4)
316 16.11.5.1.5 sequenceId[i] (UInteger16)
16.11.5.1.6 eventEgressTimestamp[i] (Timestamp)
16.11.6 slaveMonitoringPortDS data set member specifications
16.11.6.1 General
16.11.6.2 slaveMonitoringPortDS.slaveEventMonitoringEnable
317 16.11.6.3 slaveMonitoringPortDS.slaveEventMonitoringEventsPerRxSyncTimingTLV
16.11.6.4 slaveMonitoringPortDS.slaveEventMonitoringEventsPerRxSyncComputedTLV
16.11.6.5 slaveMonitoringPortDS.slaveEventMonitoringEventsPerTxEventTimestampsTLV
16.11.6.6 slaveMonitoringPortDS.slaveEventMonitoringTxEventType
16.11.6.7 slaveMonitoringPortDS.slaveEventMonitoringRxSyncTimingEventMessageM
16.11.6.8 slaveMonitoringPortDS.slaveEventMonitoringRxSyncComputedEventMessageM
318 16.11.6.9 slaveMonitoringPortDS.slaveEventMonitoringTxEventTimestampsEventMessageM
16.12 Enhanced synchronization accuracy metrics (optional)
16.12.1 General
322 16.12.2 ENHANCED_ACCURACY_METRICS TLV specification
16.12.2.1 tlvType
16.12.2.2 lengthField
323 16.12.2.3 bcHopCount (UInteger8)
16.12.2.4 tcHopCount (UInteger8)
16.12.2.5 maxGmInaccuracy (TimeInterval)
16.12.2.6 varGmInaccuracy (Float64)
16.12.2.7 maxTransientInaccuracy (TimeInterval)
16.12.2.8 varTransientInaccuracy (Float64)
16.12.2.9 maxDynamicInaccuracy (TimeInterval)
16.12.2.10 varDynamicInaccuracy (Float64)
16.12.2.11 maxStaticInstanceInaccuracy (TimeInterval)
324 16.12.2.12 varStaticInstanceInaccuracy (Float64)
16.12.2.13 maxStaticMediumInaccuracy (TimeInterval)
16.12.2.14 varStaticMediumInaccuracy (Float64)
16.13 Message Length Extension (optional)
325 16.14 PTP integrated security mechanism (optional)
16.14.1 General
326 16.14.1.1 PTP message Enhancement
327 16.14.2 Requirements of the associated key management
328 16.14.3 Definition of the AUTHENTICATION TLV
329 16.14.3.1 tlvType
16.14.3.2 lengthField
16.14.3.3 SPP (UInteger8)
330 16.14.3.4 secParamIndicator (Boolean[8])
16.14.3.5 keyID (Octet [4])
16.14.3.6 disclosedKey (Octet[D])
331 16.14.3.7 sequenceNo (UInteger S)
16.14.3.8 RES (UInteger R)
16.14.3.9 ICV (UInteger K)
332 16.14.4 PTP message processing
16.14.4.1 General requirements
16.14.4.2 General Interactions with SAD and SPD
333 16.14.4.2.1 Inbound PTP messages
16.14.4.2.2 Outbound PTP messages
16.14.4.3 Outbound PTP message processing
16.14.4.3.1 Outgoing PTP message retransmission by Transparent Clocks
334 16.14.4.3.2 Integrity check value calculation
16.14.4.3.3 PTP message retransmission
335 16.14.4.3.4 Event PTP message transmit case
16.14.4.4 Inbound PTP message processing
336 16.14.4.4.1 Integrity check value calculation
16.14.4.4.2 PTP message processing:
16.14.4.4.2.1 Immediate security processing case
337 16.14.4.4.2.2 Delayed security processing case
339 17. State configuration options
17.1 General
17.2 Grandmaster clusters (optional)
17.2.1 General specification
340 17.2.2 Operation of the grandmaster cluster
17.2.3 grandmasterClusterDS data set specifications
17.2.3.1 General
341 17.2.3.2 Static members of the grandmasterClusterDS data set
17.2.3.2.1 grandmasterClusterDS.maxTableSize
17.2.3.3 Configurable members of the grandmasterClusterDS data set
17.2.3.3.1 grandmasterClusterDS.logQueryInterval
17.2.3.3.2 grandmasterClusterDS.actualTableSize
17.2.3.3.3 grandmasterClusterDS.portAddress
17.3 Alternate master (optional)
17.3.1 General
342 17.3.2 Transmission of messages by alternate masters
17.3.3 alternateMasterPortDS data set specifications
17.3.3.1 General
17.3.3.2 Configurable members of the alternateMasterPortDS data set
17.3.3.2.1 alternateMasterPortDS.numberOfAlternateMasters
343 17.3.3.2.2 alternateMasterPortDS.transmitAlternateMulticastSync
17.3.3.2.3 alternateMasterPortDS.logAlternateMulticastSyncInterval
17.3.4 Transmission of Delay_Req
17.3.5 Transmission of Delay_Resp
17.3.6 Summary of Messages for Alternate Master Option
344 17.4 Unicast discovery (optional)
17.4.1 General
17.4.2 Operation of unicast discovery
345 17.4.3 unicastDiscoveryPortDS data set specifications
17.4.3.1 General
17.4.3.2 Static members of the unicastDiscoveryPortDS data set
17.4.3.2.1 unicastDiscoveryPortDS.maxTableSize
17.4.3.3 Configurable members of the unicastDiscoveryPortDS data set
17.4.3.3.1 unicastDiscoveryPortDS.logQueryInterval
17.4.3.3.2 unicastDiscoveryPortDS.actualTableSize
17.4.3.3.3 unicastDiscoveryPortDS.portAddress
346 17.5 Acceptable master table (optional)
17.5.1 General
17.5.2 Operation of the acceptable master table
17.5.3 acceptableMasterTableDS data set specifications
17.5.3.1 General
17.5.3.2 AcceptableMaster derived data type
347 17.5.3.3 Static members of the acceptableMasterTableDS data set
17.5.3.3.1 acceptableMasterTableDS.maxTableSize
17.5.3.4 Configurable members of the acceptableMasterTableDS data set
17.5.3.4.1 acceptableMasterTableDS.actualTableSize
17.5.3.4.2 acceptableMasterTableDS.list
17.5.4 acceptableMasterPortDS data set specifications
17.5.4.1 General
348 17.5.4.2 Configurable members of the acceptableMasterPortDS data set
17.5.4.2.1 acceptableMasterPortDS.enable
17.6 Mechanism for external configuration of a PTP Instanceā€™s PTP Port state (optional)
17.6.1 General specifications
349 17.6.2 defaultDS.externalPortConfigurationEnabled
17.6.3 externalPortConfigurationPortDS
17.6.3.1 General
350 17.6.3.2 externalPortConfigurationPortDS.desiredState
17.6.4 Specifications for the disabled state of this option
17.6.5 Specifications for the enabled state of this option
17.6.5.1 General
17.6.5.2 Value of the portDS.portState when this option is enabled
351 17.6.5.3 Departures from normal operation of the protocol when this option is enabled
17.6.5.4 Updating data sets when this option is enabled
353 17.6.5.5 Receipt of an Announce message from another PTP Instance
354 17.7 Reduced state sets and use of the feature (optional)
17.7.1 General specifications
355 17.7.2 Optional use of selected PTP Port states
17.7.3 Optional use of the feature
18. Interactions between PTP Instances in different PTP domains
18.1 General specifications
356 18.2 Interfaces enabling interdomain interactions
19. Compatibility of this edition with earlier and future editions
19.1 General
357 19.2 Compatibility between version 2 and future versions
19.3 Compatibility with IEEE Std 1588-2002
19.4 Compatibility between the PTP Instance conformant to this edition and the implementations conformant to IEEE Std 1588-2008
19.4.1 General
359 19.4.2 Revision of clause 6- ā€œClock synchronization modelā€
19.4.3 Clarification of terms
19.4.4 Updates to options present in 2008 edition
360 19.4.5 Revision of the specifications of a Transparent Clock
19.4.6 Special Ports
19.4.7 Revised specifications for domains
19.4.8 New options permitting management configuration of the states of PTP Ports
19.4.9 New rules on values for clockIdentity
361 19.4.10 Revision of Clause 8
19.4.11 New options and default profile for enhanced synchronization performance
19.4.12 Option for using cumulative rate ratios
19.4.13 Optional Common Mean Link Delay Service providing , and path delays in multi-domain PTP networks using the peer-to-peer delay mechanism
19.4.14 Options for greater security
362 20. Conformance
20.1 Conformance objective
20.2 PTP conformance requirements
20.2.1 General conformance specification
20.2.2 Transport conformance specification
20.2.3 PTP Profile conformance specification
363 20.3 PTP Profiles
20.3.1.1 General
20.3.1.2 PTP Profile recommendations
364 20.3.2 Specific PTP Profiles
20.3.3 PTP Profile specifications
366 Annex A (informative) Using the Precision Time Protocol (PTP)
376 Annex B (informative) Timescales and epochs in PTP
383 Annex C (normative)Transport of PTP over User Datagram Protocol over Internet Protocol Version 4
386 Annex D (normative) Transport of PTP over User Datagram Protocol over Internet Protocol VersionĀ 6
388 Annex E (normative) Transport of PTP over IEEE 802.3 transports
390 Annex F (normative) Transport of PTP over DeviceNET
392 Annex G (normative) Transport of PTP over ControlNET
393 Annex H (normative) Transport of PTP over IEC 61158 Type 10
399 Annex I (normative) Default PTP Profiles
408 Annex J (normative) Performance monitoring options (optional)
420 Annex K (informative) Suppression of rogue Announce messages
426 Annex L (normative)Layer-1 based synchronization performance enhancement (optional)
446 Annex M (informative) Sub-nanosecond synchronization using the High Accuracy Default PTP Profile
453 Annex N (informative) Calibration procedures
467 Annex O (informative) Example inter-domain interactions
475 Annex P (informative)Security
496 Annex Q (informative) Bibliography
499 Back cover
IEEE 1588-2019
$168.46