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 |
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 |