主要介绍 sync 同步报文、delay_req 延迟请求报文、follow_up 跟随报文 和 delay_resp 延迟响应报文 四种报文的报文主体 body 部分。
1)sync 同步报文 & delay_req 延迟请求报文
两种报文具有相同的报文主体,originTimeStamp 时间戳都是由历元,秒数和纳秒数构成的 80bits 时间戳信息
2) follow_up 跟随报文
3)delay_resp 延迟响应报文
PTP报文封装方式
PTP报文封装方式分为:PTP over UDP over IPv4、PTP over UDP over IPV6、PTP over UDP over IPV6、PTP over IEEE 802.3 / Ethernet 等承载方式。
1. PTP over UDP over IPv4 (IEEE1588 Standard Annex D)
以太网帧类型域值(Ethertype)为 0x0800,检查 IPv4 报文类型域,若为 0x11 说明上层数据为 UDP 数据报文,再检查 UDP 目的端口号,若为 319/320 则为 PTP 报文;
四层实现(也称为三层实现或者应用层实现),能够跨 IP 网段,可以支持 E2E 和 P2P;
“The first octet of the PTP message shall occupy the first octet of the client data field”;
使用 UDP 协议和以太网协议 version 4( IPv4 )完成 PTP 报文的封装,封装流程如下:
1). 在应用层中 PTP 报文被应用程序填充后发送;
2). 在传输层将 PTP 报文加 UDP 报头封装成 UDP 报文;
3). 在网络层加入 IPv4 的 IP 报头,封装成 IP 报文;
4). 在数据链路层中封装成以太帧传输;
2. PTP over UDP over IPv6
此方法与前一种方法没有什么大的差异,只不过加装 IP 报头时以 IPv6 为准。
3. PTP over IEEE 802.3/Ethernet
此方法的以太网帧类型域值(Ethertype)为 0x88F7;
两层实现,两层以太数据包,只能在一个局域网( MAC 地址广播范围之内)起作用,只支持 P2P;