大家好,欢迎来到IT知识分享网。
第一章 计算机网络时间同步的意义
1.1 网络时间协议简介
网络时间协议,即Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。NTP的目的是在无序的Internet环境中提供精确和健壮的时间服务。
NTP提供准确时间,就需要有准确的时间来源,这一时间应该是协调世界时(UTC)。 NTP获得UTC的时间来源可以是铯原子钟、天文台、卫星,也可以从Internet上获取。
1.2 网络时间协议的应用
第二章 PTP时钟同步模型
2.1 PTP系统
2.2 PTP设备类型
PTP 设备有五种基本类型:
a) Ordinary clock
b) Boundary clock
c) End-to-end transparent clock
d) Peer-to-peer transparent clock
e) Management node
PTP 中使用两种机制来测量 PTP 端口之间的传播延迟。 第一个,延迟请求-响应机制,使用消息 Sync、Delay_Req、Delay_Resp,如果需要,还使用Follow_Up。第二个是对等延迟机制,使用消息 Pdelay_Req、Pdelay_Resp,如果需要,还使用 Pdelay_Resp_Follow_Up。
普通时钟和边界时钟上的端口可以使用任何一种机制来实现。 端到端透明时钟上的端口独立于这些机制。 对等透明时钟上的端口使用对等延迟机制。 这两种机制不会在同一通信路径上互通。 此外,对等延迟机制仅限于每个对等端口与最多一个其他此类端口通信 PTP 消息的拓扑。
2.2.1 普通时钟(Ordinary clocks,OC)
2.2.2 边界时钟(Boundary clocks,BC)
2.2.3 透明时钟(Transparent clocks,TC)
2.2.4 管理节点(Management nodes)
除了上述的几种时钟设备之外,IEEE1588-v2还定义了管理节点。管理节点负责处理PTP管理报文,有一个或者多个物理接口连接网络,可以和任意的时钟类型组合在一起工作。
2.3 IEEE-1588设备应用
2.4 PTP同步过程概述
2.4.1 E2E链路同步机制
E2E同步机制又称延时请求响应机制。上图是1588标准中E2E同步机制的原理图。不难理解,两个网络设备要靠网络报文来交换时间信息完成时间同步,而这些网络报文的发送和接收都会记录对应的时间戳。可以是软件的时间戳,也可以是硬件的时间戳,如MAC时间戳或者PHY时间戳。
同步消息交换的过程如下:
a) 主机向从机发送 Sync 消息并记录它发送的时间t1。
b) 从机接收Sync消息并记录接收时间t2。
c) 主机通过以下方式向从站传送时间戳t1:
1) 在Sync消息中嵌入时间戳t1。这需要某种硬件处理以获得最高的准确度与精度(单步模式)。
2) 在 Follow_Up消息中嵌入时间戳t1(双步模式)。
d) 从机向主机发送 Delay_Req 消息,并记录它发送的时间t3。
e) 主机收到 Delay_Req 消息并记录接收时间t4。
f) 主机通过将时间戳t4嵌入到Delay_Resp消息中来将时间戳t4传达给从机。
2.4.2 P2P链路同步机制
P2P同步机制又称对等延时机制。上图为1588中P2P同步机制的原理图。在前面的E2E同步模式下,只能由主时钟端发起同步报文然后从时钟响应,而在P2P同步模式下,所有时钟端一视同仁,不分主从时钟,任何端口都可以发起P2P同步报文来主动获取链路延迟信息。
同步消息交换的过程如下:
a) 发起端发送报文Pdelay_req,并记录发送时间戳t1。响应端收到后,记录接收时间戳t2。
b) 响应端立即回复报文Pdelay_resp,把t2写在Pdelay_resp报文上,告诉发起端。同时记录发送时间戳t3。
c) 发起端收到Pdelay_resp,记录接收时间戳t4。
d) 紧随Pdelay_resp报文,响应端又发送一个叫作Pdelay_resp_follow_up的报文,将t3写在该报文上,告诉发起端。
然后,端口1使用这t1~t4共4个时间戳来计算平均链路延迟。
2.4.3 总结
第三章 PTP报文格式
PTP-v2报文由报头(Header)、主体(Body)和后缀(Suffix)构成,其中后缀的长度可能为0。
3.1 PTP报头结构
messageType字段:报文类型,不同值代表不同PTP报文,含义如下:
versionPTP字段:PTP版本,v2就填0x2。
messageLength字段:构成PTP报文的八位字节总数,从报头开始到后缀都算。
domainNumber字段:PTP域序列号,
flagField字段:标志域,含义如下:
flagField字段第一个八位字节的Bit1(twoStepFlag)为双步标志,置1表示之后有跟随报文,清0表示为单步模式。
correctionField字段:修正域,传送透明时钟的驻留时间、P2P透明时钟的链路延迟以及非对称补偿。校正字段是以纳秒为单位测量的校正值乘以 216。例如,2.5 ns 表示为 000000000002800016。该字段所有位都是1(除非它就是这个数)代表校正值太大无法表示。校正字段的值取决于下表中描述的消息类型。
sourcePortIdentity字段:源端口号,发送端口的相关属性。
sequenceId字段:序列号,为了区分多条发送端口相同的同一类型的报文。
controlField字段:控制域,controlField的值取决于messageType字段中定义的消息类型,并且应具有下表中指定的值。不推荐接收者使用该字段。
logMessageInterval字段:对数报文时间间隔,logMessageInterval 字段的值由消息的类型决定,并应下表中所定义。包括发送声明报文的对数时间间隔,发送同步报文的对数时间间隔,发送延迟请求响应报文的对数时间间隔,它们的值是以2为底取的对数。
3.2 PTP报头主体
Sync报文和Delay_Req报文:
两种报文具有相同的报文主体,originTimeStamp 时间戳都是由历元,秒数和纳秒数构成的80bits时间戳信息。
Follow_Up报文:
Delay_Resp报文:
Pdelay_Req报文:
Pdelay_Resp报文:
Pdelay_Resp_Follow_Up报文:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/113374.html













