前言Ⅻ
引言ⅩⅢ
1 范围1
2 规范性引用文件1
3 术语和定义?缩略语1
3.1 术语和定义1
3.2 缩略语6
4 约定7
4.1 描述性词汇形式的语法7
4.2 词用法7
4.3 行为规范表示法8
5 PTP系统的数据类型和传输格式9
5.1 概述9
5.2 基本数据类型规范9
5.3 派生数据类型规范10
5.4 传输格式12
6 时钟同步模型13
6.1 概述13
6.2 关于网络的基本假设和实现推荐13
6.3 PTP系统14
6.4 PTP报文类14
6.5 PTP设备类型15
6.6 同步综述24
6.7 PTP通信综述31
7 PTP实体的特性34
7.1 域34
7.2 PTP时标35
7.3 PTP通信35
7.4 PTP通信媒体38
7.5 PTP端口39
7.6 PTP设备特性44
7.7 PTP时间特性50
8 PTP数据集51
8.1 数据集成员通用规范51
8.2 普通时钟和边界时钟的数据集53
8.3 透明时钟的数据集60
9 PTP普通时钟和边界时钟61
9.1 PTP普通时钟和边界时钟的通用协议要求61
9.2 状态协议61
9.3 最佳主时钟算法67
9.4 最高级时钟74
9.5 报文处理语义75
9.6 本地时钟的改变84
10 透明时钟的PTP 84
10.1 端到端和点到点透明时钟的通用要求84
10.2 端到端透明时钟要求85
10.3 点到点透明时钟要求85
11 时钟偏移,路径延时,驻留时间和不对称校正85
11.1 通用规范85
11.2 普通时钟和边界时钟的时钟偏移的计算85
11.3 延时请求?响应机制86
11.4 对等延时机制87
11.5 对于PTP版本2事件的透明时钟驻留时间校正91
11.6 对于PTP版本2事件报文的不对称校正93
12 时钟的同步与谐振95
12.1 谐振95
12.2 同步96
13 PTP报文格式96
13.1 概述96
13.2 通用报文格式要求96
13.3 报文头96
13.4 报文尾100
13.5 Announce报文100
13.6 Sync和Delay_Req报文101
13.7 Follow_Up报文101
13.8 Delay_Resp报文101
13.9 Pdelay_Req报文101
13.10 Pdelay_Resp报文102
13.11 Pdelay_Resp_Follow_Up报文102
13.12 信号报文103
13.13 管理报文103
14 TLV 实体规范103
14.1 通用要求103
14.2 实验性TLV 104
14.3 制造商和标准组织扩展TLV 105
15 管理105
15.1 概述105
15.2 PTP管理机制106
15.3 管理报文的处理106
15.4 管理报文格式106
15.5 管理TLV 108
16 通用可选特征126
16.1 单播报文协商(可选) 126
16.2 路径追踪(可选) 129
16.3 备选时标(可选) 131
17 状态配置选项134
17.1 概述134
17.2 选项的数据类型135
17.3 最高级时钟簇(可选) 135
17.4 备选主时钟(可选) 137
17.5 单播发现(可选) 138
17.6 可接受主时钟表(可选) 139
18 兼容性要求141
18.1 版本2与未来版本的兼容性141
18.2 版本1与版本2之间的兼容性141
18.3 报文格式和数据类型141
18.4 命名变化146
18.5 对混合版本1和版本2系统的限制146
19 一致性147
19.1 一致性目标147
19.2 PTP一致性要求147
19.3 PTP行规148
附录A (资料性附录) 使用PTP 150
A.1 概述150
A.2 物理设计150
A.3 逻辑设计151
A.4 组件问题151
A.5 本地实现问题152
A.5.1 概述152
A.5.2 时序问题152
A.5.3 精度问题152
A.5.4 时间戳精度153
A.5.5 稳定性问题153
A.6 系统实现问题153
A.7 性能154
A.8 有助于一致性测试的推荐154
A.9 在单播网络或具有非PTP网桥和路由器网络中的实现推荐155
A.9.1 概述155
A.9.2 单播模型中的边界时钟和透明时钟155
A.9.3 单播选项155
A.9.4 单播一致性155
附录B (资料性附录) PTP中的时间戳和历元157
B.1 总则157
B.2 UTC?TAI和PTP历元157
B.3 标准时间源158
附录C (资料性附录) 驻留时间和不对称校正实例159
C.1 概述159
C.2 用延时请求?响应机制计算159
C.2.1 给出驻留时间校正的主时钟?端到端透明时钟和所有单步从时钟159
C.2.2 给出驻留时间和不对称计算的主时钟?点到点透明时钟和所有单步从时钟160
C.2.3 给出驻留时间和不对称计算的双步主时钟?端到端透明时钟和单步从时钟162
C.2.4 给出驻留时间和不对称计算的主时钟?端到端透明双步时钟和单步从时钟163
C.2.5 给出驻留时间和不对称计算的单步主时钟?端到端透明双步时钟和单步从时钟165
C.3 使用对等延时机制的计算166
C.3.1 给出驻留时间和不对称计算的单步对等请求方时钟?端到端透明时钟和对等响应方时钟166
C.3.2 给出驻留时间和不对称计算的单步对等请求方时钟?双步端到端透明时钟和单步对等响应方时钟167
C.3.3 给出驻留时间和不对称计算的单步对等请求方时钟?双步端到端透明时钟?双步对等响应方时钟---选项1 169
C.3.4 给出驻留时间和不对称计算的单步对等请求方时钟?双步端到端透明时钟和双步对等响应方时钟---选项2 170
C.3.5 显示驻留时间和不对称计算的单步对等请求方时钟?单步端到端透明时钟和双步对等响应方时钟---选项2 171
C.3.6 给出从主时钟到从时钟传输时间的单步对等主时钟?双步点到点透明时钟和单步对等从时钟172
附录D (规范性附录) PTP在IPV4用户数据包协议上的传输174
D.1 概述174
D.2 UDP端口号174
D.3 IPv4多播地址174
D.4 transportSpecific字段值174
D.5 可选值175
D.6 IPv4选项175
D.7 协议地址175
附录E (规范性附录) PTP在IPv6用户数据协议(UDP)上的传输176
E.1 概述176
E.2 UDP端口号176
E.3 IPv6多播地址176
E.4 transportSpecific字段值177
E.5 可选值177
E.6 协议地址177
附录F (规范性附录) PTP在IEEE802.3/Ethernet上的传输178
F.1 概述178
F.2 Ethertype 178
F.3 多播MAC 地址178
F.4 transportSpecific字段值178
F.5 可选值179
F.6 协议地址179
附录G (规范性附录) PTP在DeviceNET 上的传输180
G.1 协议180
G.2 事件报文时间戳点180
G.3 clockIdentity 180
G.4 PTP报文格式181
G.5 PTP的DeviceNet寻址181
G.6 transportSpecific字段值181
附录H (规范性附录) PTP在ControlNET 上的传输182
H.1 协议182
H.2 clockIdentity 182
H.3 PTP报文格式182
H.4 PTP的ControlNet寻址182
H.5 transportSpecific字段值182
附录I(规范性附录) PTP在IEC61158类型10上的传输183
I.1 背景183
I.2 报文规范184
I.3 IEC61158类型10的DLPDU 184
I.3.1 DLPDU 的抽象句法184
I.3.2 DLPDU 字段目标地址的编码184
I.3.3 字段LT 的编码185
I.3.4 字段FrameID 的编码185
I.3.5 编码规范186
附录J(规范性附录) 缺省PTP行规189
J.1 概述189
J.2 通用要求189
J.3 延时请求?响应缺省PTP行规189
J.3.1 标识189
J.3.2 PTP属性值189
J.3.3 PTP选项189
J.3.4 时钟物理要求189
J.4 点到点缺省PTP行规190
J.4.1 标识190
J.4.2 PTP属性值190
J.4.3 PTP选项190
J.4.4 时钟物理要求190
附录K (资料性附录) 安全协议(实验性) 191
K.1 概述191
K.2 协议综述191
K.3 通用要求192
K.4 挑战?响应交换192
K.5 安全联盟更新交换193
K.6 完整性校验值(ICV)测试193
K.7 安全联盟查找194
K.8 keyId检验194
K.9 重放保护机制194
K.10 挑战?响应检验194
K.11 共享密钥分发195
K.12 密钥产生195
K.13 安全数据集195
K.13.1 概述195
K.13.2 密钥列表195
K.13.3 安全联盟196
K.13.4 defaultDS数据集安全变量198
K.14 协议操作198
K.14.1 概述198
K.14.2 接收报文处理198
K.14.3 挑战处理200
K.14.4 安全传输处理201
K.14.5 安全事件处理202
K.14.6 安全透明时钟处理规则204
K.15 AUTHENTICATION TLV 205
K.15.1 概述205
K.15.2 tlvType 206
K.15.3 lengthField 206
K.15.4 lifetimeId(UInteger16) 206
K.15.5 replayCounter(UInteger32) 206
K.15.6 keyId(UInteger16) 206
K.15.7 algorithmId(UInteger8) 206
K.15.8 填充(Octet[M]) 206
K.15.9 ICV(Octet[N]) 206
K.16 AUTHENTICATION_CHALLENGETLV 207
K.16.1 概述207
K.16.2 tlvType 207
K.16.3 lenghtField 207
K.16.4 challengeType(UInteger8) 207
K.16.5 requestNonce(UInteger32) 207
K.16.6 responseNonce(UInteger32) 207
K.17 SECURITY_ASSOCIATION_UPDATETLV 207
K.17.1 概述207
K.17.2 tlvType 208
K.17.3 lengthField 208
K.17.4 addressType(UInteger8) 208
K.17.5 nextKeyId(UInteger16) 208
K.17.6 nextLifetimeId(UInteger16) 208
附录L (资料性附录) 累积频标因子偏移的传输(实验性) 209
L.1 概述209
L.2 使用累积频标因子的频率补偿方案的描述209
L.3 累积频标因子偏移的通用规范210
L.4 CUM_FREQ_SCALE_FACTOR_OFFSET TLV 规范211
L.4.1 tlvType 211
L.4.2 cumulativeFrequencyScaleFactorOffset 211
参考文献212
图1 Mealy型状态转换图8
图2 普通时钟模型16
图3 边界时钟模型17
图4 端到端透明时钟模型18
图5 端到端驻留时间校正模型19
图6 组合的普通时钟和端到端透明时钟21
图7 点到点透明时钟模型22
图8 点到点驻留时间和链路延时校正模型23
图9 组合的普通时钟和点到点透明时钟25
图10 简单主从时钟层次结构26
图11 裁剪的网状拓扑27
图12 基本同步报文交换28
图13 链路延时测量29
图14 时间戳产生模型30
图15层次拓扑31
图16 线型拓扑32
图17 多连接拓扑33
图18 完全不同技术的桥接34
图19 内部延时常数定义37
图20 传输不对称39
图21 端口模型40
图22 方差对数标定值滞后49
图23 完整实现的状态机63
图24 slave?only实现的状态机64
图25 STATE_DECISION_EVENT 逻辑65
图26 状态判定算法70
图27 数据集比较算法,第1部分71
图28 数据集比较算法,第2部分72
图29 Announce报文接收逻辑77
图30 Sync报文接收逻辑78
图31 Follow_Up报文接收逻辑79
图32 Delay_Req报文接收逻辑80
图33 Delay_Resp报文接收逻辑81
图34 延时请求?响应路径长度的测量86
图35 对等延时链路测量88
图36 允许的混合系统配置147
图37 行规印刷形式149
图C.1 不带不对称校正的主时钟?端到端时钟和单步从时钟160
图C.2 带不对称校正的主时钟?端到端时钟和单步从时钟161
图C.3 带不对称校正的双步主站?端到端透明时钟和单步从时钟162
图C.4 带不对称校正的主时钟?端到端透明双步时钟和单步从时钟164
图C.5 带不对称校正的单步主时钟?双步端到端透明时钟和单步从时钟165
图C.6 带不对称校正的单步对等响应方时钟?端到端透明时钟和对等请求方时钟167
图C.7 带不对称校正的单步对等响应方时钟?双步端到端透明时钟和单步对等请求方时钟168
图C.8 带不对称校正的双步对等响应方时钟?双步端到端透明时钟和单步对等请求方时钟:选项1 169
图C.9 带不对称校正的双步对等响应方时钟?双步端到端透明时钟和单步对等请求方时钟:选项2 170
图C.10 带不对称校正的双步对等响应方时钟?单步端到端透明时钟和单步对等请求方时钟:选项2 171
图C.11 带时间计算的单步对等主时钟?双步点到点透明时钟和单步对等从时钟173
图G.1 事件报文时间戳点180
图I.1 PROFINET 区域与其他域结合183
图K.1 PTP安全报文处理199
图K.2 挑战处理201
图K.3 安全传输处理202
图K.4 安全事件处理204
表1 基本PTP数据类型9
表2 domainNumber取值35
表3 networkProtocol枚举38
表4 Non?EUI?64addressTechnology枚举42
表5 clockClass规范45
表6 clockAccuracy枚举46
表7 timeSource枚举47
表8 PTP状态枚举58
表9 延时机制枚举59
表10 PTPportState定义62
表11 边界时钟事件的可用性67
表12 数据集比较算法的信息源70
表13 状态判定代码M1和M2的更新72
表14 状态判定代码M3的更新73
表15 状态判定代码P1和P2的更新73
表16 状态判定代码S1的更新73
表17 源标识符比较76
表18 公共报文头96
表19 messageType字段的值97
表20 flagField的值98
表21 correctionField语义98
表22 sequenceId值的例外情况的参考99
表23 controlField枚举99
表24 字段logMessageInterval的值99
表25 Announce报文字段100
表26 Sync和Delay_Req报文的字段101
表27 Follow_Up报文字段101
表28 Delay_Resp报文字段101
表29 Pdelay_Req报文字段102
表30 Pdelay_Resp报文字段102
表31 Pdelay_Resp_Follow_Up报文字段102
表32 信号报文的接受103
表33 信号报文字段103
表34 tlvType值104
表35 组织特定TLV 字段105
表36 管理报文的接受106
表37 管理报文字段107
表38 actionField的值107
表39 管理TLV 字段109
表40 managementId值109
表41 CLOCK_DESCRIPTION 管理TLV 数据字段111
表42 ClockType规范112
表43 USER_DESCRIPTION 管理TLV 数据字段113
表44 INITIALIZE 管理TLV 数据字段114
表45 initializationKey枚举114
表46 故障日志severityCode枚举115
表47 FAULT_LOG 管理TLV 数据字段115
表48 TIME 管理TLV 数据字段116
表49 CLOCK_ACCURACY 管理TLV 数据字段116
表50 DEFAULT_DATA_SET 管理TLV 数据字段117
表51 Priority1管理TLV 数据字段117
表52 Priority2管理TLV 数据字段118
表53 DOMAIN 管理TLV 数据字段118
表54 SLAVE_ONLY 管理TLV 数据字段118
表55 CURRENT_DATA_SET 管理TLV 数据字段118
表56 PARENT_DATA_SET 管理TLV 数据字段119
表57 TIME_PROPERTIES_DATA_SET 管理TLV 数据字段120
表58 UTC_PROPERTIES管理TLV 数据字段120
表59 TRACEABILITY_PROPERTIES管理TLV 数据字段121
表60 TIMESCALE_PROPERTIES管理TLV 数据字段121
表61 PORT_DATA_SET 管理TLV 数据字段121
表62 LOG_ANNOUNCE_INTERVAL 管理TLV 数据字段122
表63 ANNOUNCE_RECEIPT_TIMEOUT 管理TLV 数据字段122
表64 LOG_SYNC_INTERVAL 管理TLV 数据字段122
表65 DELAY_MECHANISM 管理TLV 数据字段123
表66 LOG_MIN_PDELAY_REQ_INTERVAL 管理TLV 数据字段123
表67 VERSION_NUMBER 管理TLV 数据字段123
表68 TRANSPARENT_CLOCK_DEFAULT_DATA_SET 管理TLV 数据字段123
表69 PRIMARY_DOMAIN 管理TLV 数据字段124
表70 TRANSPARENT_CLOCK_PORT_DATA_SET 管理TLV 数据字段124
表71 MANAGEMENT_ERROR_STATUS的TLV 格式125
表72 managementErrorId枚举125
表73 REQUEST_UNICAST_TRANSMISSION TLV 格式127
表74 GRANT_UNICAST_TRANSMISSION TLV 格式127
表75 CANCEL_UNICAST_TRANSMISSION TLV 格式128
表76 ACKNOWLEDGE_CANCEL____________UNICAST_TRANSMISSION TLV 格式129
表77 UNICAST_NEGOTIATION_ENABLE 管理TLV 数据字段129
表78 PATH_TRACETLV 格式130
表79 PATH_TRACE_LIST 管理TLV 数据字段131
表80 PATH_TRACE_ENABLE 管理TLV 数据字段131
表81 ALTERNATE_TIME_OFFSET_INDICATOR TLV 格式132
表82 ALTERNATE_TIME_OFFSET_ENABLE 管理TLV 数据字段133
表83 ALTERNATE_TIME_OFFSET_NAME 管理TLV 数据字段133
表84 ALTERNATE_TIME_OFFSET_MAX_KEY 管理TLV 数据字段133
表85 ALTERNATE_TIME_OFFSET_PROPERTIES管理TLV 数据字段134
表86 GRANDMASTER_CLUSTER_TABLE 管理TLV 数据字段136
表87 备选主时钟属性137
表88 ALTERNATE_MASTER 管理TLV 数据字段138
表89 UNICAST_MASTER_TABLE 管理TLV 数据字段139
表90 UNICAST_MASTER_MAX_TABLE_SIZE 管理TLV 数据字段139
表91 可接受主时钟表选项的操作140
表92 ACCEPTABLE_MASTER_TABLE 管理TLV 数据字段140
表93 ACCEPTABLE_MASTER_MAX_TABLE_SIZE 管理TLV 数据字段141
表94 ACCEPTABLE_MASTER_TABLE_ENABLED 管理TLV 数据字段141
表95 版本1的Stratum 到版本2的clockClass 142
表96 版本2的clockClass到版本1的Stratum 142
表97 版本1的grandmasterIsPreferred字段到版本2的Priority1字段的转换142
表98 版本2的Priority1字段到版本1的转换142
表99 版本1的clockIdentifier到版本2的clockAccuracy的映射143
表100 版本2的clockAccuracy到版本1的clockIdentifier的映射143
表101 版本1的grandmasterIsBoundaryClock字段到版本2的Priority2字段的转换143
表102 版本2的Priority2字段到版本1的grandmasterIsBoundaryClock字段的转换143
表103 版本1的control和版本2的messageType字段的映射143
表104 flagField从版本1到版本2的转换144
表105 flagField从版本2到版本1的转换145
表106 与版本1无对应部分的版本2的字段146
表107 与版本2无对应部分的版本1的字段146
表108 名称对应146
表109 混合系统限制147
表B.1 时标间的关系158
表C.1 图C.1关键值的解释160
表C.2 图C.2关键值的解释161
表C.3 图C.3关键值的解释163
表C.4 图C.4关键值的解释164
表C.5 图C.5关键值的解释166
表C.6 图C.6关键值的解释167
表C.7 图C.7关键值的解释168
表C.8 图C.8关键值的解释169
表C.9 图C.9关键值的解释170
表C.10 图C.10关键值的解释172
表C.11 图C.11关键值的解释173
表D.1 IPv4多播地址174
表D.2 transportSpecific字段值175
表E.1 IPv6多播地址176
表F.1 多播MAC 地址178
表F.2 以太网传输特定字段179
表G.1 DeviceNet的clockIdentity八位位组0~7 180
表G.2 用于所有PTP报文数据包的DeviceNet报文头181
表H.1 ControlNet的clockIdentity八位位组2~7 182
表I.1 报文映射184
表I.2 IEEE802.3DLPDU 语法184
表I.3 多播MAC 地址185
表I.4 LT(长度/类型) 185
表I.5 FrameID 186
表I.6 参数和属性名称的映射186
表I.7 从PTP版本2到PROFINET 的flagField转换188
表K.1 flagField.SECURE 标志192
表K.2 AUTHENTICATION TLV 205
表K.3 algorithmId值206
表K.4 ICV 和填充长度206
表K.5 AUTHENTICATION_CHALLENGETLV 207
表K.6 challengeType值207
表K.7 SECURITY_ASSOCIATION_UPDATETLV 208
表K.8 addressType值208
表L.1 CUM_FREQ_SCALE_FACTOR_OFFSET TLV 格式211