PTP 介绍和在 Linux 上测试 Precision Time Protocol(PTP)是一种高精度时间同步协议,可以达到亚微秒级精度,需要网络的节点(交换机)支持 PTP 协议,才能实现纳秒量级的同步。PTP 主要有两种方式在 Linux 上测试:一种是 ptpdV2,一种是 git 上的 ptp4l。 PTP 的原理基于硬件级实现的主从同步系统,使用硬件时间戳,并配合一些对 NTP 更高精度的延时测量算法。PTP 协议可以在 MAC 层进行分析,不经过 UDP 协议栈,减少 PTP 在协议栈中驻留时间,提高同步的精确度。 PTPv2 采用相对时间同步机制,一个参与者被选作主时间钟,其将发送同步信息到从站。主站将发送同步报文到网络。所有的从站计算时间延迟。从钟根据 t1、t2、t3、t4 计算时间偏移(offset)以及传输延时(delay),即: t2 - t1 = offset + delay t4 - t3 = delay - offset 计算出: delay = (t4 - t3 + t2 - t1) / 2 offset = (t2 - t1 - t4 + t3) / 2 从钟根据 offset 从钟可以调整自己的时钟。 PTP 域中的节点称为时钟节点,PTP 协议定义了以下三种类型的基本时钟节点:OC(Ordinary Clock,普通时钟)、BC(Boundary Clock,边界时钟)和 TC(Transparent clock,透明时钟)。TC 又可以分为 E2ETC(End-to-End Transparent Clock,端到端透明时钟)和 P2PTC(Peer-to-Peer Transparent Clock,点到点透明时钟)。 PTP 报文包括同步报文(Sync)、跟随报文(Follow_up)、延迟请求报文(Delay_Req)和延迟应答报文(Delay_Resp),以及管理报文。报文有一般报文和事件报文两种类别。 在 Linux 上测试 PTP,可以使用 ptpdV2 或 ptp4l 工具。ptpdV2 是一个免费的 PTP 服务器,可以在 Linux 上实现 PTP 协议。ptp4l 是一个 PTP 客户端,可以在 Linux 上实现 PTP 协议。 PTP 是一种高精度时间同步协议,能够提供亚微秒级精度的时间同步。PTP 的原理基于硬件级实现的主从同步系统,使用硬件时间戳,并配合一些对 NTP 更高精度的延时测量算法。PTP 报文包括同步报文、跟随报文、延迟请求报文和延迟应答报文等。
剩余10页未读,继续阅读
- 逍遥扬帆2020-12-04很详细了。
- NewQObject2021-07-26与博客内容一样
- dobyself2021-03-22资源不错,介绍了实际操作步骤
- 粉丝: 2
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助