PTP 报文格式

HeaderBodySuffix
34 字节Variable lengthOptional

所有的 PTP 帧都包含一个公共报头,它决定了协议版本和消息类型,还定义了消息的剩余内容。

所有多字节字段以大端顺序发送(高位字节首先发送/接收)。

versionPTP 的最后四位位于 PTPv1 和 PTPv2 数据头的相同位置(第二个字节)。这允许通过检查消息的前两个字节进行准确的识别。

PTP 报文头

PTPv1

  • 通用的 PTPv1 消息头
OffsetOctetsName
02versionPTP = 0x0001
22versionNetwork
416subdomain
201messageType
211sourceCommunicationTechnology
226sourceUuid
282sourcePortId
302sequenceId
321control
3310x00
342flags
364reserved

消息的类型编码在 messageTypecontrol 字段中,如表中所示:

  • PTPv1 消息类型标识
messageTypecontrolMessage NameMessage
0x010x0SYNCEvent message
0x010x1DELAY_REQEvent message
0x020x2FOLLOW_UPGeneral message
0x020x3DELAY_RESPGeneral message
0x020x4MANAGEMENTGeneral message
otherotherReserved

字段 sequenceId 用于明确地标识消息。

PTPv2

  • 通用的 PTPv2 消息头
偏移字节数字段名称含义
01transportSpecific(bit7-4)
messageId(bit3-0)
11reserved(bit7-4)
versionPTP = 0x2(bit3-0)
表示 1588 协议的版本
22messageLengthPTP 消息的长度,即 PTP 消息的全部字节数目。
计入字节始于报头的第一个字节,同时包含并收
尾于任何尾标的最后一个字节,或是无尾标成员
时收尾于消息的最后一个字节
41domainNumber域编号,表示发送该消息时钟所属的域
51reserved
62flags
88correctionField修正域,各报文都有,主要用在 Sync 报文中,
用于补偿网络中的传输时延,E2E 的频率同步
164reserved
2010sourcePortIdentity源端口标识符,发送该消息时钟的 ID 和端口号
302sequenceId序列号 ID,表示消息的序列号,以及关联消息
的对应关系
321control控制域(IEEE 1588v1),由消息类型决定:
- 0x00:Sync
- 0x01:Delay_Req
- 0x02:Follow_Up
- 0x03:Delay_Resp
- 0x04:Management
- 0x05:All others
- 0x06-0xFF:reserved
331logMeanMessageInterval录入消息周期,PTP 消息的发送时间间隔,
由消息类型决定
  • PTPv2 传输相关参数

在使用 UDP/IP 协议封装时:

transportSpecific含义
0UDP/IPv6 封装时,接收者忽略这个域
1UDP/IPv4 封装时,这个域为 1,表示接收者需要将 PTP 事件消息的 UDP 负载填充到 124 字节

在使用以太网封装时:

transportSpecific含义
0表示PTP消息由1588协议使用
1表示PTP消息由802.1as协议使用
  • PTPv2 消息类型标识

消息的类型在 messageId 字段中编码,如下表:

messageIdMessage nameMessage
0x0SYNCEvent message(进出设备端口时需要打上精确的时间戳
0x1DELAY_REQEvent message
0x2PATH_DELAY_REQEvent message
0x3PATH_DELAY_RESPEvent message
0x4– 0x7Reserved
0x8FOLLOW_UPGeneral message(进出设备不会产生时戳
0x9DELAY_RESPGeneral message
0xAPATH_DELAY_FOLLOW_UPGeneral message
0xBANNOUNCEGeneral message
0xCSIGNALINGGeneral message
0xDMANAGEMENTGeneral message
0xE– 0xFReserved
  • PTPv2 消息的 flags 字段定义

PTPv2 flags 字段包含关于消息类型的进一步详细信息,尤其在使用一步或两步实现的情况下。一布或两步的实现由 flags 字段的前八位中的 TWO_STEP 位控制,如下所示。
保留位被清除。

字节消息类型消息名描述
00Announce, Sync,
Follow_Up, Delay_Resp
ALTERNATE_MASTERSee IEEE 1588 Clause 17.4
01Sync, Pdelay_RespTWO_STEP1 Two-step clock
0 One-step clock
02ALLUNICAST1 Transport layer address uses a
unicast destination address
0 Multicast is used
03ALLReserved
04ALLReserved
05ALLProfile specific
06ALLProfile specific
07ALLReserved
10Announceleap61-
11Announceleap59-
12AnnouncecurrentUtcOffsetValid-
13AnnounceptpTimescale-
14AnnouncetimeTraceable-
15AnnouncefrequencyTraceable-

PTP 报文类型

Sync 报文

该报文由 Master 时钟发送,带有 Master 的时间信息。如果 Master 是 Two_step 模式的时钟,其发送的 Sync 报文中的时间戳将被设置为 0,实际的时间戳将由和该 Sync 报文相关联的 Follow_up 报文发送。

OffsetOctetsName
034PTP Header
3410Origin Timestamp

Delay_Req 报文

Delay_Req 报文的内容格式与 Sync 报文完全相同,Delay_Req 报文由从时钟发出,类似于 Master 有 One_Step 及 Two_Step 2 种时钟模式。Slave 存在 One_Way 和 Two_way 2 种模式(单向和双向),在 One_Way 模式下,Slave 不需要发送 Delay_Req 报文。

OffsetOctetsName
034PTP Header
3410Origin Timestamp

Pdelay_Req Message 报文

该报文仅在 P2P TC 时钟模式下才产生,由 P2P 时钟作为“延迟请求者”发出。

OffsetOctetsName
034PTP Header
3410Origin Timestamp
4410Reserved

Pdelay_Resp Message 报文

该报文仅在 P2P TC 时钟模式下才产生,由 P2P 时钟作为“延迟响应者”发出。
如果 P2P 时钟模式是 Two_Step,Pdelay_Resp Message 报文的时间戳将被设置为 0,实际的时间戳将由该报文相关联的 Pdelay_Resq_Follow_Up 报文发送。

偏移字节数名称描述
034PTP Header
3410receiveReceipt Timestamp在 One_Step 模式下的数值为 0;在 Two_Step 模式下为响应 Pdelay_Req 报文的接收时间戳,精度为 ns 以上的精确时间戳
4410requestingPortIdentity响应 Pdelay_Req 报文的发送设备端口 ID

Follow_Up 报文

只有在主时钟是 Two_Step 时钟模式时,才会发送 Follow_UP 报文,其内容格式与 Sync 和 Delay_Req 报文相同。

OffsetOctetsName
034PTP Header
3410preciseOrigin Timestamp

Delay_Resp 报文

当 Master 收到 Slave 发出的 Delay_Req 报文时,会响应 Delay_Resq 报文。

偏移字节数名称描述
034PTP Header
3410receive Timestamp响应 Delay_Req 报文的接收时间戳,精度为 ns 级
4410requestingPortIdentity响应 Delay_Req 报文的发送设备端口 ID。

Pdelay_Resp_Follow_Up 报文

只有在 P2P 时钟模式是 Two_Step 时才会产生 Pdelay_Resp_Follow_Up 报文。

偏移字节数名称描述
034PTP Header
3410responseOrigin Timestamp在 Two_Step 模式下响应 Pdelay_Resq 报文的发送时间戳,精度为 ns 级以上
4410requestingPortIdentity响应 Pdelay_Resq 报文的发送设备端口 ID。

Announce 报文

该报文用来描述时间源能力。

偏移字节数名称描述
034PTP HeaderPTP 报文头
3410Origin Timestamp数值为 0 或精度为 ±1 ns 的时间戳
442CurrentUtcOffsetUTC 与 TAI 时间标尺间的闰秒时间差
461Reserved-
471GrandmasterPriority1用户定义的 grandmaster 优先级
484GrandmasterClockQualitygrandmaster 的时间质量级别
521GrandmasterPriority2
538GrandmasterIdentitygrandmaster 的时钟设备 ID
612StepRemovedgrandmaster 与 Slave 设备间的时钟路径跳数
631TimeSource时间源头类型:
GPS - GPS 卫星传送时钟
PTP - PTP 时钟
NTF - NTP 时钟
Hand_set - 人工调整校准时钟
  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值