0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深入理解PTP:高精度时间同步的核心原理

星融元Asterfusion 2025-09-01 17:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

PTP是什么?——局域网内的“原子钟精度传递者”

PTP,由IEEE 1588标准定义,是一种专门设计用于在分布式系统中通过网络(主要是以太网)同步时钟的协议。其核心目标是提供比NTP更高的时间同步精度。

如果NTP是让城市里的大钟楼(服务器)为市民的手表(客户端)提供大致准确的报时,那么PTP则更像是在一个精密的实验室或工厂车间里,用一套高度校准的仪器,确保每一个关键设备上的“秒表”都与中央的“原子钟”达到几乎完全一致。

PTP的关键特征

  • 高精度 这是PTP最显著的特点。通过优化协议设计和依赖硬件时间戳等技术,PTP能够实现亚微秒级(sub-microsecond)甚至纳秒级(nanosecond)的同步精度。
  • 局域网优化: PTP主要针对局域网环境设计,充分考虑了局域网的拓扑结构和传输特性。
  • 硬件辅助: 为了达到极致精度,PTP强烈推荐(在很多高精度场景下是必须)使用硬件时间戳,即在物理层(PHY)或MAC层捕获PTP消息的发送和接收时刻。
  • 最佳主时钟算(BMCA): 自动选举网络中的最佳时间源。容错能力强(如果当前主时钟故障,BMCA会自动重新选举出新的最佳主时钟,确保同步不中断)
  • 多种消息类型: 通过精确定义的消息交换来实现时间同步和延迟测量。

PTP网络中的“交通协管员”——透明时钟 (TC) 与边界时钟 (BC)

在复杂的网络中,PTP消息可能会经过多个交换机。这些交换机如果不能正确处理PTP消息,就会引入额外的延迟,降低同步精度。为此,PTP定义了特殊的PTP感知交换机:

透明时钟 (Transparent Clock, TC):

作用: PTP消息穿过TC时,TC会精确测量消息在其内部的驻留时间 (对于E2E TC) 或其出端口到下一跳的链路延迟 (对于P2P TC)。

补偿方式: TC会将这个测量到的延迟值累加到PTP消息的correctionField字段中。

效果: 从时钟在计算时,可以将correctionField中的值从总延迟中减去,从而消除了TC引入的延迟对同步精度的影响,使TC对于PTP同步而言如同“透明”。

边界时钟 (Boundary Clock, BC):

作用: BC通常用在网络的边界或连接不同PTP域(或需要隔离的网段)。它的一端作为从时钟同步到上游的主时钟(或另一个BC),另一端则作为主时钟为下游的设备提供时间同步。

效果: BC有效地将一个大的PTP网络划分成多个更小的、独立的同步段,有助于提高整个网络的稳定性和可管理性。它会终结上游的PTP消息,并重新生成新的PTP消息向下游广播。

PTP如何工作?——精密的“四次握手”与硬件赋能

PTP实现高精度的核心在于其精密的测量机制和对网络延迟的细致处理。我们以常见的端到端 (End-to-End, E2E) 延迟请求-响应机制为例,来剖析PTP的“对表”艺术:

wKgZPGitImeAfOkBAAC4uHDBp8M902.png

1、最佳主时钟算法 - BMCA

网络中所有PTP设备(时钟)通过交换Announce Message (通告消息),运行BMCA。

比较的依据包括用户配置的优先级 (Priority1, Priority2) 和时钟自身的质量参数 (ClockClass, ClockAccuracy, OffsetScaledLogVariance),最后以唯一的时钟身份 (ClockIdentity,通常基于MAC地址) 作为决胜局。

专业数据: Priority1/2是0-255的整数,越小越优先。ClockClass指示时钟的可追溯性,如6代表同步到GPS,248代表未同步。ClockAccuracy和OffsetScaledLogVariance则更细致地描述了时钟的精度和稳定性。

最终,网络中所有设备会一致地选举出一个最佳主时钟 (Grandmaster Clock, GM)。

2、主时钟“发令” (Sync & Follow_Up)

GM开始周期性地向网络中的从时钟(Slave Clocks)发送Sync Message (同步消息)。

关键点: Sync消息中(或紧随其后的Follow_Up Message中)携带了GM发送该Sync消息的精确发送时间戳 t1。

硬件时间戳的应用: 为了获得精确的t1,这个时间戳必须在数据包即将离开GM网卡的物理层时由硬件捕获。(软件捕获会引入操作系统调度等不确定延迟。)

单步 vs. 两步:

  • 单步时钟 (One-Step Clock): 硬件能力强,t1 直接在Sync消息中。
  • 两步时钟 (Two-Step Clock): 先发Sync(可能含近似时间),再发Follow_Up携带精确t1。

从时钟“接收并记录”:从时钟接收到Sync消息,同样在硬件层面记录下精确的接收时间戳 t2。

3、从时钟“请求测量距离” (Delay_Req)

从时钟向GM发送一个Delay_Req Message (延迟请求消息),并硬件记录其精确的发送时间戳 t3。

4、主时钟“回应距离测量” (Delay_Resp)

GM接收到Delay_Req消息,硬件记录其精确的接收时间戳 t4。

GM将t4封装在Delay_Resp Message (延迟响应消息)中回复给从时钟。

5、从时钟“计算并校准”

从时钟集齐了t1, t2, t3, t4四个关键时间戳。

核心假设:路径延迟对称 (Master到Slave的延迟 ≈ Slave到Master的延迟)。

6、计算平均单向路径延迟 (Mean Path Delay)

MeanPathDelay = [(t2 - t1) + (t4 - t3) - correctionField_sum] / 2

(这里的 correctionField_sum 是Sync/Follow_Up和Delay_Resp消息中correctionField字段的累加值,用于补偿路径上透明时钟引入的延迟)

7、计算时间偏差 (Offset From Master, OFM)

OFM = (t2 - t1) - MeanPathDelay - correctionField_Sync

集成PTP模块的高性能开放网络硬件

精度范围:从亚微秒到纳秒级

软件部署(普通服务器+普通交换机):微秒级(μs) 到 数百微秒

(这是最基础的部署方式,精度受操作系统调度、协议栈处理、网络拥堵等不确定因素影响很大。)

硬件时间戳(支持PTP的网卡+普通交换机):百纳秒级(100+ ns) 到 微秒级(μs)

(通过在网络接口硬件上打时间戳,消除了操作系统的大部分抖动,精度显著提升。)

全PTP网络(硬件时间戳+边界时钟/透明时钟交换机):几十纳秒(ns) 到 百纳秒级

(这是实现高精度的标准方式。网络中的交换机作为边界时钟(BC) 或透明时钟(TC),可以终止或补偿网络抖动,将误差累积降到最低。)

没有硬件时间戳,PTP的精度会大幅下降到NTP的水平。

在无拥塞、无干扰的专用网络中,使用最先进的硬件,可以达到的极限精度。

SONiC(AsterNOS) PTP

下图是 企业级 SONiC 发行版AsterNOS内的 PTP 子系统示意图,包含一个运行 Linux PTP / ptp4l 并与 RedistDB 和底层硬件驱动程序交互的 PTP 容器。此外这套系统还支持多种网络管理协议,例如 RESTful API、RESTconf 和 Netconf,给到更优的系统集成和互操作性。

wKgZPGitIw6AUOAoAAEIzAgLF8o463.png

通过硬件加速和软件算法优化的星融元 PTP 交换机的时间同步精度分布在 20ns 以内,并且不同延迟测量模式获得的偏差结果几乎相同。

wKgZO2itIxmALxQKAAElroqsaMw949.png

星融元 CX-M 交换机产品已经系列化地支持了 PTP ,兼容 E2E 和 P2P 模式和多种配置文件。

wKgZO2itI3-AXNA7AAFYYUq5cAw556.png

可在GNS3设备模拟器体验 PTP 功能特性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 交换机
    +关注

    关注

    23

    文章

    2872

    浏览量

    103943
  • 时间同步
    +关注

    关注

    1

    文章

    213

    浏览量

    10556
  • PTP
    PTP
    +关注

    关注

    0

    文章

    89

    浏览量

    9614
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入理解Android

    深入理解Android
    发表于 08-20 15:30

    深入理解和实现RTOS_连载

    和trcohili的帖子。深入理解和实现RTOS_连载1_RTOS的前生今世今天发布的是第一篇,"RTOS的前生今世"。通过软件系统结构的比对简要的介绍rtos为何而生。如果读者对RTOS
    发表于 05-29 11:20

    深入理解和实现RTOS_连载

    和trcohili的帖子。trochili rtos完全是作者兴趣所在,且行且坚持,比没有duo。深入理解和实现RTOS_连载1_RTOS的前生今世今天发布的是第一篇,"RTOS的前生今世"
    发表于 05-30 01:02

    深入理解lte-a

    深入理解LTE-A
    发表于 02-26 10:21

    深入理解STM32

    时钟系统是处理器的核心,所以在学习STM32所有外设之前,认真学习时钟系统是必要的,有助于深入理解STM32。下面是从网上找的一个STM32时钟框图,比《STM32中文参考手册》里面的是中途看起来清晰一些:重要的时钟:PLLCLK,SYSCLK,HCKL,PCLK1,..
    发表于 08-12 07:46

    对栈的深入理解

    为什么要深入理解栈?做C语言开发如果栈设置不合理或者使用不对,栈就会溢出,溢出就会遇到无法预测乱飞现象。所以对栈的深入理解是非常重要的。注:动画如果看不清楚可以电脑看更清晰啥是栈先来看一段动画:没有
    发表于 02-15 07:01

    为什么要深入理解

    [导读] 从这篇文章开始,将会不定期更新关于嵌入式C语言编程相关的个人认为比较重要的知识点,或者踩过的坑。为什么要深入理解栈?做C语言开发如果栈设置不合理或者使用不对,栈就会溢出,溢出就会遇到无法
    发表于 02-15 06:09

    深入理解Android》文前

    深入理解Android》文前
    发表于 03-19 11:23 0次下载

    深入理解Android:卷I》

    深入理解Android:卷I》
    发表于 03-19 11:23 0次下载

    深入理解Android网络编程

    深入理解Android网络编程
    发表于 03-19 11:26 1次下载

    专家研讨会:理解高精度Sigma-Delta模拟数字转换器

    专家面对面大连站_深入理解高精度sigma-delta型ADC
    的头像 发表于 08-12 03:04 2952次阅读

    兆越打造 | GPS/北斗高精度时间同步网络方案

    随着物联网、云计算、大数据等科技技术的发展,对时间同步的需求也越来越高。为了满足现代社会对高精度时间同步的迫切需求,上海兆越通讯推出基于GP
    的头像 发表于 06-28 13:42 1532次阅读
    兆越打造 | GPS/北斗<b class='flag-5'>高精度</b><b class='flag-5'>时间</b><b class='flag-5'>同步</b>网络方案

    ptp时间同步技术的优势

    Protocol)作为一种高精度时间同步技术,已经在许多领域得到了广泛的应用。 1. 高精度同步 P
    的头像 发表于 12-29 09:33 1004次阅读

    ptp与NTP的区别和选择

    )是两种广泛使用的时间同步协议。 PTP(Precision Time Protocol) PTP是一种精确的时间
    的头像 发表于 12-29 09:41 2172次阅读

    ptp和GPS时间同步的对比

    与原理 PTP是一种网络时间同步协议,它基于IEEE 1588标准。PTP旨在通过以太网提供高精度时间
    的头像 发表于 12-29 09:46 1601次阅读