1588v2消息必须包含消息头、消息体和消息扩展字节,扩展字节长度可能为0。

一、PTP通用消息格式

IEEE 1588v2协议附录D定义了1588v2 over IPv4的报文封装,附录E定义了1588v2 over IPv6的报文封装,附录F定义了1588v2 over IEEE 802.3 /Ethernet的报文封装。其他如1588v2 over MPLS封装,业界还没有成熟的标准。除此之外,在实际应用中还可能携带VLAN。

  • PTP over Ethernet
  • PTP over UDP over IPv4
  • PTP over UDP over IPv6
  • PTP over MPLS

以太封装的PTP (Precision Timing Protocol)报文,其帧头中以太类型值=0x88F7。
以太封装PTP报文
IPv4封装PTP报文,EVENT消息头的UDP目的端口号是319,General消息的UDP目的端口号是320。

IPv4封装PTP报文
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

二、PTP消息头格式

+0-------3-------7--------11--------15--------------------------------31
|TranSpec|MsgType|Reserved1| VerPTP |      MsgLength(PTP报文长度)     |
+----------------|------------------|---------------------------------|
|  DomainNumber  |      Reserved2   |      FlagField(标志域)          |
+---------------------------------------------------------------------|
|                             CorrectionField(修正域)                 |
|                                                                     |
+---------------------------------------------------------------------|
|                                Reserved3                            |
+---------------------------------------------------------------------|
|                          SourcePortIdentity(源时钟ID)               |
|                                                                     |
|---------------------------------- +---------------------------------|
|   SourcePortIdentity(源端口ID)    |         SequenceID(序列号ID     |
+----------------|------------------|---------------------------------|
|  ControlField  |  LogMsgInterval  |                                 |
+---------------------------------------------------------------------|
|                      PTP Specified Message Field                    |

在这里插入图片描述

在这里插入图片描述

三、报文内容解释

字段 长度 含义
TranSpec 4bit 传送相关: 0–表示PTP消息由1588协议使用
1–表示PTP消息由802.1as协议使用
MsgType 4bit 表示消息类型。
1588v2消息分为两类:事件消息(EVENT Message)和通用消息(General Message)。
事件报文是时间概念报文,进出设备端口时需要打上精确的时间戳,
而通用报文则是非时间概念报文,进出设备不会产生时戳。
类型值0 ~ 3的为事件消息,8 ~ D为通用消息。
0x00: Sync
0x01: Delay_Req
0x02: Pdelay_Req
0x03:Pdelay_Resp
0x04-7: Reserved
0x08: Follow_Up
0x09: Delay_Resp
0x0A: Pdelay_Resp_Follow_Up
0x0B: Announce
0x0C: Signaling
0x0D: Management
0x0E-0x0F: Reserved
Reserved1 4bit 保留字段
VerPTP 4bit 表示1588协议的版本
MsgLength 2byte PTP消息的长度,即PTP消息的全部字节数目。
计入字节始于报头的第一个字节,同时包含并收尾于任何尾标的最后一个字节,或是无尾标成员时收尾于消息的最后一个字节。
DomainNumber 1byte 域编号,表示发送该消息时钟所属的域。
Reserved2 1byte 保留字段
FlagField 2byte 标志域(详情在后表)
CorrectionField 8byte 修正域,各报文都有,主要用在Sync报文中,用于补偿网络中的传输时延,E2E的频率同步。
Reserved3 4byte 保留字段
SourcePortIdentity 8byte 源时钟ID
SourcePortIdentity 2byte 源端口ID
SequenceID 2byte 序列号ID,表示消息的序列号,以及关联消息的对应关系。
ControlField 1byte 控制域,由消息类型决定:
0x00:Sync
0x01:Delay_Req
0x02:Follow_Up
0x03:Delay_Resp
0x04:Management
0x05:All others
0x06-0xFF:reserved
LogMsgInterval 1byte 录入消息周期,PTP消息的发送时间间隔,由消息类型决定。
PTP Specified Message Field n byte PTP消息体和消息扩展字节。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐