当前位置: 首页 > news >正文

[PTP][1588v2] Follow_Up消息

一、报文格式

+0------3--------7--------11--------15--------------------------------31
|TranSpec|MsgType|Reserved1| VerPTP |              MsgLength          |
+----------------|------------------|---------------------------------|
|  DomainNumber  |      Reserved2   |              FlagField          |
+---------------------------------------------------------------------|
|                             CorrectionField                         |
|                                                                     |
+---------------------------------------------------------------------|
|                                Reserved3                            |
+---------------------------------------------------------------------|
|                          SourcePortIdentity                         |
|                                                                     |
|                                   +---------------------------------|
|                                   |         SequenceID              |
+----------------|------------------|---------------------------------|
|  ControlField  |  LogMsgInterval  |                                 |
+---------------------------------------------------------------------|
|                         PreciseOriginTimestamp                      |
|                                                                     |
|                                   |                                 |
字段长度含义
TranSpec4 bits传送相关。
0–表示PTP消息由1588协议使用
1–表示PTP消息由802.1as协议使用
MsgType4 bits0x00: Sync
0x01: Delay_Req
Reserved14 bits保留字段。
VerPTP4 bits表示1588协议的版本。
MsgLength2 bytesPTP消息的长度,即PTP消息的全部字节数目。
计入字节始于报头的第一个字节,同时包含并收尾于任何尾标的最后一个字节,或是无尾标成员时收尾于消息的最后一个字节。
DomainNumber1 byte域编号,表示发送该消息时钟所属的域
Reserved21 byte保留字段。
FlagField2 bytes标志域。
CorrectionFieldCorrectionField修正域,各报文都有,主要用在Sync报文中,用于补偿网络中的传输时延,E2E的频率同步。
Reserved34 bytes保留字段。
SourcePortIdentity10 bytes源端口标识符,发送该消息时钟的ID和端口号。
SequenceID2 bytes序列号ID,表示消息的序列号,以及关联消息的对应关系。
ControlField1 byte控制域,由消息类型决定。
LogMsgInterval1 byte录入消息周期,PTP消息的发送时间间隔
PreciseOriginTimestamp10 bytes精确源时间标签。
PTP提供传输时间戳的机制,这个时间戳包括事件消息产生的时刻和相应的修正域,通过这个机制保证接收方接收到的是最精确的时间戳。
在实际应用中时间戳分布在:originTimestamp或者preciseOriginstamp和correctionField中,由具体的执行决定。。

二、报文示例

(1) 基于UDP的Follow_Up消息

Frame 1: 90 bytes on wire (720 bits), 90 bytes captured (720 bits)
Ethernet II, Src: 0a:2a:0a:31:0a:13 (0a:2a:0a:31:0a:13), Dst: HuaweiTe_98:f2:6e (00:25:9e:98:f2:6e)
Internet Protocol Version 4, Src: 10.1.1.1 (10.1.1.1), Dst: 224.0.1.129 (224.0.1.129)
User Datagram Protocol, Src Port: ptp-event (319), Dst Port: ptp-general (320)
Precision Time Protocol (IEEE1588)0000 .... = transportSpecific: 0x00...0 .... = V1 Compatibility: False.... 1000 = messageId: Follow_Up Message (0x08).... 0010 = versionPTP: 2messageLength: 44subdomainNumber: 0flags: 0x022c0... .... .... .... = PTP_SECURITY: False.0.. .... .... .... = PTP profile Specific 2: False..0. .... .... .... = PTP profile Specific 1: False.... .0.. .... .... = PTP_UNICAST: False.... ..1. .... .... = PTP_TWO_STEP: True.... ...0 .... .... = PTP_ALTERNATE_MASTER: False.... .... ..1. .... = FREQUENCY_TRACEABLE: True.... .... ...0 .... = TIME_TRACEABLE: False.... .... .... 1... = PTP_TIMESCALE: True.... .... .... .1.. = PTP_UTC_REASONABLE: True.... .... .... ..0. = PTP_LI_59: False.... .... .... ...0 = PTP_LI_61: Falsecorrection: 0.000000 nanosecondscorrection: Ns: 0 nanosecondsSubNs: 0.000000 nanosecondsClockIdentity: 0x00259e1000000001SourcePortID: 1280sequenceId: 5246control: Follow_Up Message (2)logMessagePeriod: -10
preciseOriginTimestamp (seconds): 947131161preciseOriginTimestamp (nanoseconds): 698886823

(2) 基于以太的Follow_Up消息

Frame 1: 64 bytes on wire (512 bits), 64 bytes captured (512 bits)
Ethernet II, Src: HuaweiTe_83:7b:0d (00:25:9e:83:7b:0d), Dst: HuaweiTe_46:8f:7e (00:25:9e:83:7b:0d)Destination: HuaweiTe_46:8f:7e (00:25:9e:83:7b:0d)Source: HuaweiTe_83:7b:0d (00:25:9e:83:7b:0d)Type: PTPv2 OVER eTHERNET (IEEE1588) (0x88f7)
Precision Time Protocol (IEEE1588)0000 .... = transportSpecific: 0x00...0 .... = 802.1as conform: False.... 1000 = messageId: Follow_Up Message (0x08).... 0010 = versionPTP: 2messageLength: 44subdomainNumber: 0flags: 0x022c0... .... .... .... = PTP_SECURITY: False.0.. .... .... .... = PTP profile Specific 2: False..0. .... .... .... = PTP profile Specific 1: False.... .0.. .... .... = PTP_UNICAST: True.... ..1. .... .... = PTP_TWO_STEP: True.... ...0 .... .... = PTP_ALTERNATE_MASTER: False.... .... ..1. .... = FREQUENCY_TRACEABLE: True.... .... ...0 .... = TIME_TRACEABLE: False.... .... .... 1... = PTP_TIMESCALE: True.... .... .... .1.. = PTP_UTC_REASONABLE: False.... .... .... ..0. = PTP_LI_59: False.... .... .... ...0 = PTP_LI_61: Falsecorrection: 0.000000 nanosecondscorrection: Ns: 0 nanosecondsSubNs: 0.000000 nanosecondsClockIdentity: 0x00aa12fffe431112SourcePortID: 1024sequenceId: 12243control: Follow_Up Message (2)
preciseOriginTimestamp (seconds): 946878901preciseOriginTimestamp (nanoseconds): 214732091

三、参考标准

标准描述
IEEE 1588 V2面向网络测控系统的精密时钟同步协议
IEEE P1588™ D2.2网络测控系统精密时钟同步协议标准草案

相关文章:

  • 网络爬虫与指纹浏览器:解析指纹浏览器对网络爬虫的作用
  • 陈年雷司令葡萄酒中的石油笔记
  • DS八大排序之直接选择排序和堆排序
  • rabbitmq消息队列实验
  • LuatOS-SOC接口文档(air780E)--repl - “读取-求值-输出” 循环
  • uni微信小程序,富文本以及普通文本,长按选中,可用于复制,粘贴等场景
  • plt绘制表格
  • 码云配置遇到秘钥不正确
  • 全栈软件开发工程师需要具备哪些技能
  • 【Windows】解决Windows11错误0x80190001
  • Spring三级缓存处理循环依赖的过程
  • 车牌限行_分支结构的C语言实现xdoj7
  • 在Linux上安装KVM虚拟机
  • Navicat连接Oracle数据库记录
  • 2023.11.23 云服务器实现 Spring Boot 项目文件上传并访问
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • Cookie 在前端中的实践
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • github从入门到放弃(1)
  • JavaScript创建对象的四种方式
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • scala基础语法(二)
  • text-decoration与color属性
  • 给Prometheus造假数据的方法
  • 基于 Babel 的 npm 包最小化设置
  • 利用jquery编写加法运算验证码
  • 爬虫模拟登陆 SegmentFault
  • 如何编写一个可升级的智能合约
  • 如何选择开源的机器学习框架?
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 智能网联汽车信息安全
  • scrapy中间件源码分析及常用中间件大全
  • ​​​​​​​​​​​​​​Γ函数
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ###C语言程序设计-----C语言学习(6)#
  • #QT(TCP网络编程-服务端)
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (二)换源+apt-get基础配置+搜狗拼音
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (论文阅读11/100)Fast R-CNN
  • (十一)c52学习之旅-动态数码管
  • (四)Android布局类型(线性布局LinearLayout)
  • (算法)N皇后问题
  • (一)基于IDEA的JAVA基础12
  • (转)mysql使用Navicat 导出和导入数据库
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .net 设置默认首页
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .net中的Queue和Stack