IEEE 1588原理及实现

时间:2024-04-08 08:44:07

1 IEEE 1588是什么

1588全称是网络测量和控制系统的精密时钟同步协议标准,基本功能是是分布式网络中所有时钟都与最精确的时钟保持同步,它定义了一种精确的时间协议PTP(precision Time Protocol),用于对标准以太网或其他支持多播技术的终端设备中的时钟进行亚微妙级别的同步,IEEE 1588用于需要时钟精度比NTP高的局域分布系统

2 IEEE 1588如何实现

PTP协议通过最佳主时钟算法建立主从时钟结构后,使用UDP通信协议,每个从时钟通过与主时钟交换同步报文而与主时钟达到同步。通过Delay Request-Response Mechanism(延时响应机制)实现
IEEE 1588原理及实现
图中描述的PTP报文为以下几种

  • sync 同步报文

  • Follow_up 跟随报文

  • Delay_req 延迟请求报文

  • Delay_resp 延迟请求响应报文

2.1 延迟响应同步机制的报文收发流程:

  1. 主时钟周期性的发出 sync 报文,并记录下 sync 报文离开主时钟的精确发送时间 t1;

  2. 主时钟将精确发送时间 t1 封装到 Follow_up 报文中,发送给从时钟;

  3. 从时钟记录 sync 报文到达从时钟的精确时到达时间 t2;

  4. 从时钟发出 delay_req 报文并且记录下精确发送时间 t3;

  5. 主时钟记录下 delay_req 报文到达主时钟的精确到达时间 t4;

  6. 主时钟发出携带精确时间戳信息 t4 的 delay_resp 报文给从时钟;

这样 从时钟处 就得到了 t1,t2,t3,t4 四个精确报文收发时间。

2.2 时钟偏差和网络延时

offset : 时钟间偏差(主从时钟之间存在时间偏差,偏离值就是 offset,图1 中主从时钟之间虚线连接时刻,就是两时钟时间一致点)

delay : 网络延时(报文在网络中传输带来的延时)

从时钟可以通过 t1,t2,t3,t4 四个精确时间戳信息,得到主从时钟偏差 offset 和传输延时 delay:
IEEE 1588原理及实现
从时钟得到 offset 和 delay 之后就可以通过修正本地时钟进行时间同步。

3 PTP时间标记

从PTP协议的同步原理可以知道,要实现高精度的同步,必须有高精度的时间测量,即准确地获取同步报文发送和接收时间。在一个IEEE 1588应用系统中,报文发出一般经过应用程序、操作系统、网络协议栈以太网控制器,最后通过网络发送到接收端。报文到达接收端后,依次通过以太网控制器、网络协议栈和操作系统,最后通过操作系统到达应用程序

IEEE 1588原理及实现
为了消除操作系统和网络协议栈带来的波动,达到高的准确度和精确度,对传输报文的时间打标越靠近物理层越好,一种是没有带硬件辅助;另一种是硬件辅助。

没有带硬件辅助的方法是在软件层对发送和接收报文的时间做标记。带硬件辅助的方法是在MAC层和物理层的介质独立接口MII接口处安装一个特殊的时钟同步包检测器和时间标记单元,对发出或接收到的每个特殊报文(sync和delay_req)打上时标

4 引用

https://www.cnblogs.com/AdaminXie/p/6754644.html
https://blog.csdn.net/a746742897/article/details/53286040