概述
EEE 1588 - Precision Time Protocol (PTP)最初发布于 2002;
2008年 做了修订为: IEEE 1588v2 or PTPv2
下面的介绍主要依照 IEEE 1588v2,简称PTP
PTP协议主要用于在网络中的不同设备间分发时间同步信息;
PTP协议工作的大概流程:
- PTP协议运行在网路设备的端口
- 不同的网络设备之间通过BMC算法(Best Master Clock algorithm)确定精度最高的时钟,确定为全局主时钟(grandmaster clock)
- 然后其他时钟都将同步(直接或间接)于全局主时钟。
- 全局主时钟通过“sync”报文发送同步时间戳信息,分发给slave时钟。
- slave和master之间需要通过指定的方法(有两种方法可选)传输网络的时延
- 有了时延值之后,slave时钟可以确定出和master之间的time offset,因而可以进一算出自己的精确时间。
- 如果全局主时钟出现故障,可以通过BMC算法确定新的全局主时钟。
时间戳需要硬件实现:
在网络中支持IEEE 1588v2协议的设备,如交换机/路由器,需要在硬件端口具备给进入和发出的PTP报文增加时间戳的能力。为了保证时间戳的准确性,需要在MAC 和 PHY 层之间通过硬件为报文添加时间戳(当报文刚进入或马上离开端口时)。
为了在一个大的网络(或PTP域)分发同步信息,PTP定义了一个时钟分层结构:
- 普通时钟(Ordinary Clock): 只有一个端口(port)连接到网络的时钟,可以作为master或slave之一; 作为master时候,可以是 grandmaster,作为slave时候,一般作为时钟分发网络的端点设备(end,最后一级)。
- 边界时钟(Boundary Clock): 有多个端口连接到网络的时钟,一个slave端口连接到上游设备的PTP端口,其他的端口作为master连接到下游设备的slave端口。下游slave端口同构PTP协议直接同步于边界时钟,而不是直接和grandmaster通信。
- 透明时钟(Transparent Clock): 一个网络设备,比如交换机,不通过ptp协议进行时间同步,但是能够转发或修改某些经过的PTP报文,比如把PTP报文经过自己时候花费的时间 增加到PTP报文的correctonField。
通过使用以上的时钟分层结构,可以消除或补偿网络交换机带来的jitter和内部时延,最终达到亚微妙的时间同步精度。
最后
以上就是壮观花卷为你收集整理的IEEE1588v2解析(2)--PTP协议概述的全部内容,希望文章能够帮你解决IEEE1588v2解析(2)--PTP协议概述所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复