浅聊一下PTP

浅聊一下ptp


最近做了点时间同步相关工作,浅浅聊一下学习和了解的东西吧。

大概了解了一下PTP,NTP,PTPD,LinuxPTP

1.时钟同步

网络时钟同步包括频率同步和相位同步两个概念。

频率同步(Frequency synchronization,也称为时钟同步)

信号的频率保持一致,相位不一致,但是保持一定的相位差。即信号的平均速率一致,能够保持网络中的所有设备以相同的速率运行。

在这里插入图片描述

相位同步(Phase synchronization,也称为时间同步)

信号之间的频率和相位都保持一致,即信号之间相位差恒定为零。

在这里插入图片描述

2.时间同步意义在哪

打个比方,自动驾驶汽车,检测前面有障碍物大概在某一时间要刹车,把时间信息给刹车系统,刹车系统比检测系统时间慢一点点,可能会造成刹车晚的事故。

3.什么是PTP

PTP(Precision Time Protocol)是一种精确时钟同步协议,对标准以太网终端设备进行时间和频率同步的协议,其本身可以用于设备之间的高精度时间同步,也可用于设备之间的频率同步。精度为亚微妙,而NTP精度是毫秒。

遵循IEEE1588协议,采用硬件时间戳。

1588协议是由IEEE定义的精确时间同步标准,分为1588v1和1588v2两个版本,1588v1只能达到亚毫秒级的时间同步精度,而1588v2可以达到亚微秒级同步精度。现在1588v1基本已被1588v2取代。

4.PTP的基本原理

在系统的同步过程中,主时钟周期性发布PTP时间同步协议及时间信息,从时钟端口接收主时钟端口发来的时间戳信息,系统据此计算出主从线路时间延迟及主从时间差,并利用该时间差调整本地时间,使从设备时间保持与主设备时间一致的频率与相位。IEEE1588可以同时实现频率同步和时间同步。

我只使用了delay方式。

PTP时间同步有两种不同的同步方式:Delay方式和Pdelay方式,如此划分主要是由于PTP计算路径延时有两种机制。

  • 延时请求-请求响应机制E2E(End to End):根据主从时钟之间的整体路径延时时间计算时间差。对应Delay时间同步方式。

在这里插入图片描述

  1. 主设备在时刻t1发送Sync报文。如果主设备为one-step模式,t1时间戳随Sync报文传送到从设备;如果主设备为two-step模式,则t1在随后的Follow_Up报文中传送到从设备;
  2. 从设备在时刻t2接收到Sync报文,并从Sync报文(one-step)或者Follow_Up报文(two-step)中获取t1。
  3. 从设备在时刻t3发送延时请求报文Delay_Req给主设备。
  4. 主设备在时刻t4接收到Delay_Req报文。
  5. 主设备随后通过延时回答报文Delay_Resp将t4发送给从设备。

Delay=[(t4 – t1) – (t3 – t2)]/2

t2 -t1 = offset + delay

t4 - t3 = delay - offset

delay = ( t4 - t3 + t2 - t1) / 2

offset = ( t2 - t1 - t4 + t3) / 2

通过PTP协议计算出本地时钟和主时钟源的时间偏移,再修正本地时钟。

  • 对端延时机制P2P(Peer to Peer):根据主从时钟之间的每一条链路延时时间计算时间差。对应PDelay时间同步方式。

P2P机制是利用延时请求Pdelay_Req报文、延时回答Pdelay_Resp报文和可能的Pdelay_Resp_Follow_Up报文,计算两个支持P2P机制的通信端口之间测量端口到端口的传播时间(路径延时)。与延时请求-响应机制相比,路径延时测量原理基本一致,只是路径延时测量在每段链路之间进行,主从节点间每段链路的链路延时累计在Pdelay_Resp或Pdelay_Resp_Follow_Up报文中,向下游传递,同时传递的信息还包括同步报文在透明时钟TC上的驻留时间。从节点根据每段链路的链路延时和在透明时钟TC上的驻留时间,计算主从节点的平均路径延时。在对端延时机制中,延时测量和端口的主从属性无关,在支持Pdelay机制的两个相连端口之间进行。

在这里插入图片描述

单段链路延时=[(t2-t1) + (t4-t3)]/2

5.PTP时钟类型

1.普通时钟OC(Ordinary Clock):同一个PTP域内,只存在单个物理端口参与PTP时间同步,也就是只有一个PTP通信端口的时钟。设备通过该端口从上游节点同步时间,或者向下游节点发布时间。

2.边界时钟BC(Boundary Clock):同一个PTP域内,可以存在两个或两个以上物理端口参与PTP时间同步,也就是有一个以上PTP通信端口的时钟。其中一个端口从上游设备同步时间,其余多个端口向下游设备发布时间。

3.透明时钟TC(Transparent Clock):TC与BC、OC最大的不同是BC和OC都要保持本设备与其他设备的时间同步,但TC则不需要与其他设备保持时间同步。TC有多个PTP端口,它只是在这些PTP端口之间转发PTP报文,对其进行转发时延校正,并不从任何一个端口同步时间。

4.Delay机制透明时钟E2ETC(End to End Transparent Clock):一种延迟测量机制已经确定为Delay方式的透明时钟。

5.Pdelay机制透明时钟P2PTC(Peer to Peer Transparent Clock):一种延迟测量机制已经确定为Pdelay方式的透明时钟。

6.Delay机制透明时钟和普通时钟E2ETCOC:一种特殊的TC节点,其在时间同步方面和TC节点相同,但额外增加了根据PTP报文同步频率,实现与上游节点频率同步的功能。其中用作TC功能的端口使用Delay方式的延迟测量机制。

7.Pdelay机制透明时钟和普通时钟P2PTCOC:同上,其中用作TC功能的端口使用Pdelay方式的延迟测量机制。

8.透明边界时钟TCandBC:设备的部分PTP端口用作BC的功能,同步其他时钟,或向其他设备同步时钟,另有部分PTP端口用作TC的功能,仅传输PTP报文,不进行延迟计算。

6.PTP端口

1.主端口(Master Port):发布同步时间的端口,可存在于T-BC、BC或OC上。

2.从端口(Slave Port):接收同步时间的端口,可存在于T-BC、BC或OC上。

3.被动端口(Passive Port):不接收同步时间,也不对外发布同步时间,闲置备用的端口,只存在于T-BC或BC上。

7.主从关系

1.发布同步时间的节点称为主节点,而接收同步时间的节点则称为从节点。

2.主节点上的时钟称为主时钟,而从节点上的时钟则称为从时钟。

3.发布同步时间的端口称为主端口,而接收同步时间的端口则称为从端口。

8.选举最优时钟

1.自己配置

2.BMC算法(还没有仔细研究过)

9.PTP报文

事件报文:Sync、Delay_Req、Pdelay_Req和Pdelay_Resp。时间概念报文,携带的时间戳计算链路延迟。

通用报文:Announce、Follow_Up、Delay_Resp、Pdelay_Resp_Follow_Up、Management和Signaling,目前设备不支持Management、Signaling报文。非时间概念报文,不产生时间戳,用于主从关系的建立、时间信息的请求和通告。

具体参考: PTP 报文格式_ptp报文_让代码更有趣的博客-CSDN博客

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值