IEEE_1588协议基础ppt版

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

IEEE1588协议基础篇Contents一、时钟同步模型二、消息字段三、数据集四、数据类型一、时钟同步模型IEEE1588又叫网络化测量及控制系统的精确时钟同步协议,PTP(精确时钟协议),使用硬件和软件配合,不需要额外的时钟线,仍然使用原来以太网的数据线传送时钟信号,使组网连接简化和降低成本。1.1PTP消息类型分为两类:事件消息、普通消息。事件消息是在发送和接收端都要打精确的时间戳,普通消息不需要打时间戳。(1)事件消息:SYNC、Delay_Req、Pdelay_Req、PdlR1.2消息时间戳的产生当发送和接收任何事件消息时,都会产生时间戳。当消息的时间戳点经过节点与网络的边界时,时间戳事件发生,时间戳产生模型如下图所示:上图中ABC为打时间戳的点这个点越靠近1.3两种同步机制延时请求响应机制(DelayRequest-ResponseMechanism)对等延时机制(PeerDelayMechanism)(1)延时请求响应机制使用Sync、Delay_Req、Follow_Up,Delay_Resp消息进行消息同步,测量一对PTP端口的meanPathDelay,模型为t2t1=Delay+Offsett4t3=DelayOffsetDelay=(t2t1)+(t4t3)2Offset=(t2t1)(t4t3)2在算法校正过程中,对从时钟的校正是通过校正offset实现的,Delay通常影响Offset的值,因此要通过测量这个延迟值来修正Offset。(2)对等延时机制对等延时机制用来测量端到端传输时间,如支持对等延时机制的通信端口的链路延时。用Pdelay_Req,Pdelay_Resp,Pdelay_Resp_Follow_Up消息进行同步。对于普通和边界时钟,对等延时机制与端口是master还是slave没有关系。meanPathDelay=(t2t1)+(t4t3)21.4设备类型有5中基本的设备类型(1)普通时钟(Oridinaryclock)(2)边界时钟(Boundaryclock)(3)端到端透明时钟(End-to-endtransparentclock)(4)对等透明时钟(Peer-to-Peertransparentclock)(5)管理节点(Managementnode)普通和边界时钟的端口,两种机制都可以使用,端到端透明时钟与这两个机制无关,对等透明时钟使用对等延时机制。(1)普通时钟通过以一个物理端口为媒介的两个逻辑接口和网络通信,事件接口用来发送和接收事件消息,包括两类数据集,分别是时钟数据集和端口数据集。端口数据集包含端口属性,包括PTP状态。Protocolengine:(1)发送和接收PTP消息(2)维护数据集(3)执行与端口相关的状态机(4)如果端口在slave状态,基于接收到的PTP定时消息和产生的时间戳,计算Master的时间。Localclock:当普通时钟端口在slave状态时,本地时钟的控制环路调节时钟,使它的时钟与它的主一致。如果端口在master状态,本地时钟在freerun状态(2)边界时钟边界时钟模型如图所示,有多个物理端口,每个端口和一个普通时钟的端口类似,但有一些例外:1)时钟数据集对边界时钟的所有端口共用;2)localclock也对边界时钟的所有端口共用;3)每一个协议引擎需要附加功能,它需要处理所有端口的状态,决定利用哪个端口提供的时间信号来同步本地时钟。与同步、建立主从层次和信令相关的信息终止在一个边界时钟的协议引擎,不再向前转发,管理消息由边界时钟的其它端口转发,服从限制一个系统的消息传输时间的约束(3)End-to-End透明时钟设备模型如图所示,像一个网桥、路由器和转发器一样,端到端透明时钟发送所有的消息。对于PTP事件消息,驻留时间桥测量PTP事件消息的驻留时间。驻留时间在一个特殊的域-correctionField累积。这些校正是当事件消息进入和离开透明时钟产生的时间戳的不同。校正值计算如下图所示注意用来计算驻留时间的时间戳是基于本地时间产a)RC(RateControl)利用延时请求响应机制校正本地时钟频率等于master的时钟频率。这个方法的关键是它的操作是一个闭环,这意味着在一个节点的本地振荡器调节会影响下面的节点。b)RE(RateEstimation)不控制本地振荡器,让其自由运行,用本地时间计算的驻留时间加到Sync或者Follow_Up消息中,比较接收到的sync和Follow_Up的驻留时间,计算本地自由运行时钟与上一级时钟之比。当驻留时间相对于时钟比值的足够大,一连串透明时钟的最差相位误差累(4)Peer_to_Peer透明时钟设备模型如图所示,与End_to_End透明时钟不同在于:它校正和处理PTP定时消息的方式上。对等透明时钟有一个block,这个block用来计算每个端口与其它端口的链路延时。通过交换Pdelay_Req,Pdelay_Resp和Pdelay_Resp_Follow_Up消息来计算。对等透明时钟和链路延时的校正模型如下图所示。(5)管理节点管理节点的设备特征是:a)可以有一个或者多个物理连接连接到网络中;b)PTP管理消息的手动或可编程接口。c)能结合所有的时钟类型。1.5同步在协议的执行过程中又来那个阶段:(1)建立主从层次;(2)同步时钟1.5.1建立主从层次PTP的状态有:Master、Slave和Passive。利用最佳主时钟算法来找最好的时钟,包含两个独立算法:(1)数据集比较算法(2)状态决策算法数据集比较算法以下列这些优先属性比较算法:(1)priority1:用户可配置的指定,指这个时钟是否是固定的可选时钟;(2)clockClass:详细说明时钟的TAI可跟踪性属性;(3)clockAccuracy:定义一个时钟精度的属性;(4)offsetScaledLogVariance:定义时钟稳定性属性;(5)Priority2:是否是备选的主时钟;(6)clockIdentity:基于独特标志符的附加表示规则。最佳主时钟算法清楚地选择两个时钟中的一个更优。简单的主从层次如下图所示:只有普通和边界时钟维持这种状态形式,同时也只有边界时钟能在主从层次中建立分支点。二、消息字段PTP协议根据发送和接收到的消息来计算时间偏差和延迟,每个消息都由一个消息头(header),消息体(body)和消息后缀(suffix)组成。2.1消息头2.1.1transportSpecific(Nibble)根据传输的媒介有不同的说明。2.1.2MessageType(Enumeration4)2.1.3versionPTP(UInteger4)是发送消息节点的数据集portDS.versionNumber的值。2.1.5domainNumber(UInteger8)此消息的发出节点不同,domainNumber的值不同。2.1.6flagField(Ocet[2])一些标志位,表示的意义如下表2.1.7correctionField(Integer64)它的值是ns数诚意216,如2.5ns表示成0x0000000000028000,它的值依赖于消息类型2.1.8sourcePortIdentity(PortIdentity)sourcePortIdentiy的值是发送消息端口数据集的portDS.portIdentity的值。2.1.9sequenceId(UInteger16)除了Follow_Up、Delay_Resp、Pdelay_Resp、Pdelay_Resp_Follow_Up、management消息外,所有的消息都有sequenceId序列池,对于从同一个时钟的同一个端口发出同一个消息,后一个消息的sequenceId是前一个的值+1,采用循环计数的方式。2.1.10controlField(UInteger8)主要是为兼容V1版本而设置的一组值,接收方不使用这组消息。2.1.11logMessageInterval(Integer8)的值决定于消息类型如2.2Announce消息域如表:2.2.1originTimestamp(Timestamp)当Announce消息发送时,这个的值置为0或者是与发送节点的本地时间相差在1s之内。2.2.2currentUtcOffset2.2.3grandmasterPriority1(UInteger8)发送节点数据集成员的parentDS.grandmasterPriority1的值。2.3.4grandmasterClockQuality(ClockQuality)发送节点数据集成员的parentDS.grandmasterClockQuality的值。2.3.5grandmasterPriority2(UInteger8)发送节点数据集成员的parentDS.grandmasterPriority2的值。2.3.6grandmasterIdentity(ClockIdentity)数据集成员的parentDS.grandmasterIdentity的值。2.3.7stepsRemoved(UInteger16)发送消息的时钟数据集的currentDS.stepsRemoved的值。2.3Sync和Delay_Req消息2.3.1originTimestamp(Timestamp)对于Sync消息,当为One-step时钟时,OriginTimestamp的值应该是Sync的SyncEventEgressTimestamp,不包括小数ns,Sync消息correctionField的值和originTimestamp的值应该是真实的SyncEventEgressTimestamp。当为Two-step时钟时,originTimestamp的值还是SyncEventEgressTimestamp,不包括小数ns,但是correctionField的值是0,由对应的Follow_Up消息来表示2.4Follow_Up消息2.4.1preciseOriginTimestamp(Timestamp)Follow_Up消息的preciseOriginTimestamp是与对应的Sync消息的syncEventEgressTimestamp,Follow_Up消息和Sync消息的correctionField的和与preciseOriginTimestamp相加,就是同步消息发送的精确时间。2.5Delay_Resp消息2.6Pdelay_Req消息注意:这里的reserved域是为了使得Pdelay_Req消息的长度等于Pdelay_Resp消息的长度,因为在一些网络或者网桥中,长度不同的消息有不同的传输时间,这样会引来不对称误差。2.7Pdelay_Resp消息2.9管理消息2.9.1domainNumberoftheheaderdomainNumber应该是目标domain2.9.2sequenceIdoftheheader如果是一个响应management消息,sequenceId是接收到的管理消息的sequenceId,否者也有一个序列池。012345~FGETSETRESPONSECOMMONDACKNOWLEDGEReserved2.9.4startingBoundaryHops(UInteger8)对于非响应的管理消息,startingBoundaryHops是依情况变化的。对于响应的管理消息,它的值是startingBoundaryHops-boundaryHops。2.9.5boundaryHops(UInteger8)指管理消息在边界时钟的剩下需连续转发数量。2.9.6actionFiled(Enumeration4(hex)Value)Action三、数据集普通和边界时钟应该维护的数据集有:(1)defaultDS(2)currentDS(3)parentDS(4)timeP

1 / 45
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功