1588v2(PTP)协议实体类型详解

PTP共有5种实体类型:

  • 普通时钟(Ordinaryclock),
  • 边界时钟(Boundaryclock),
  • E2E透传时钟(End-to-end transparent clock),
  • P2P透传时钟(Peer-to-peer transparent clock),
  • 管理节点。

普通时钟

普通时钟只有一个PTP物理通信端口和网络相连,一个物理端口包括2个逻辑接口,事件接口(event interface)和通用接口(general interface)。事件接口接收和发送需要打时间标签的事件消息。通用接口接收和发送其他消息。一个普通时钟只有一个PTP协议处理器。在网络中,普通时钟可以作为祖父时钟(grandmaster clock)或从时钟(slave clock)。当作为祖父时钟是,其PTP端口处于主状态(master),作为从时钟时其PTP端口处于从状态(slave),普通时钟的框图如下:


框图中的协议引擎主要完成:

  • 发送和接收协议消息。
  • 维护时钟和端口数据
  • 执行PTP状态机的处理功能。
  • 如果普通时钟是作为从时钟,则根据PTP协议计算父时钟的时间。

    一个普通时钟维护两套数据:时钟相关的数据和端口相关的数据,时钟相关的数据有:

  • Default数据:用于描述普通时钟的属性。
  • Current数据:用于描述同步相关的属性。
  • 父时钟和祖父时钟数据:用于描述父时钟和祖父时钟的属性。
  • 时间特性:用于描述时标的属性。

    端口相关的数据包括端口的属性以及PTP状态的数据。

当普通时钟的端口是从状态时,时钟控制环路用来控制本地时钟和父时钟同步。当普通时钟作为祖父时钟时,本地时钟要么自由振荡要么同步于外部的时钟源(如GPS等)。

边界时钟

边界时钟有多个PTP物理通信端口和网络相连,每个物理端口包括2个逻辑接口,事件接口和通用接口。边界时钟的每个PTP端口和普通时钟的PTP端口一样,除了以下几点:

  • 边界时钟的所有端口共同使用一套时钟数据。
  • 边界时钟的所有端口共同使用一个本地时钟。
  • 每个端口的协议引擎增加一个功能:从所有端口中选择一个端口作为本地时钟的同步输入。
    协议引擎将总结和同步相关(包括建立时钟同步层次)的消息和信令。但可以转发管理消息。边界时钟的框图如下:


E2E透传时钟

E2E透传时钟像路由器或交换机一样转发所有的PTP消息,但对于事件消息,有一个停留时间桥计算该消息报文在本点停留的时间(消息报文穿过本点所花的时间),停留时间将累加到消息报文中的”修正”(correction field)字段中。修正过程如下图:


E2E透传时钟的框图如下:


用于计算停留时间的时间戳是由本地时钟产生的,所以本地时钟和时间源的时钟之间的频率差会造成误差。最好是本地时钟去锁定时钟源时钟。如果本地时钟锁定的不是时间源时钟则要求其精度能到达一定标准,以本地时钟是三级钟为例,1ms的停留时间大约造成5ns的误差。

E2E透传时钟可以和普通时钟合在一起作为一个网络单元,其框图如下:


在上图中,如果普通时钟是从时钟,停留时间桥将接收到的时间消息,宣称消息,由输入的时钟同步消息产生的时间戳以及内部的停留时间传送给协议引擎,协议信息根据这些信息计算出正确的时间并以此控制本地时钟。如果普通时钟是主时钟,协议引擎将产生Sync和Followup消息,消息中发送时间戳由本地时钟基于内部停留时间和输出时间戳产生(it would originate Sync and Follow_Up messages with the sendingtimestamps referenced to the local clock of the ordinary clock and based oninternal timing corrections and the egress timestamp.)在实现中,透传时钟和普通时钟使用同一个本地时钟。

P2P透传时钟

P2P透传时钟和E2E透传时钟只是对PTP时间消息的修正和处理方法不同,在其他方面是完全一样的。P2P透传时钟可以和E2E透传时钟一样与普通时钟合在一起作为一个网络单元。

P2P透传时钟的框图如下:


P2P透传时钟对每个端口有一个模块用来测量该端口和对端端口的link延时,对端端口也必须支持P2P模式。link的延时通过交换Pdelay_Req, Pdelay_Resp以及可能的Pdelay_Resp_Follow_Up消息测量出。P2P透传时钟仅仅修正和转发Sync和Followup消息。本地的停留时间和收到消息的端口的link延时均记入修正。修正过程如下图:


因为P2P的修正包括了link延时和停留时间,其修正域反映了整个路径的延时,从时钟可以根据Sync消息计算出正确的时间,而不需要再发Delay测量消息。再发生时钟路径倒换的时候,P2P方式基本不受影响,而E2E方式则需要在进行过新的延时测量之后,才能计算出正确的时间。

管理节点

管理节点向人或程序提供PTP管理消息的接口,管理节点可以和任意时钟合在一起。


1588v2(PTP)协议实体类型详解
https://dnsnat.gitee.io/EMBEDDED/1588v2(PTP)协议实体类型详解.html
作者
dnsnat
发布于
2022年3月22日
许可协议