1 / 4
文档名称:

PTP高精度时间同步协议.pdf

格式:pdf   大小:381KB   页数:4页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

PTP高精度时间同步协议.pdf

上传人:青山代下 2024/5/21 文件大小:381 KB

下载得到文件列表

PTP高精度时间同步协议.pdf

相关文档

文档介绍

文档介绍:该【PTP高精度时间同步协议 】是由【青山代下】上传分享,文档一共【4】页,该文档可以免费在线阅读,需要了解更多关于【PTP高精度时间同步协议 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。PrecisionTimeProtocol(PTP)一、什么是PTPPTP是一种高精度时间同步协议,可以到达亚微秒级精度,有资料说可达到30纳秒左右的偏差精度,但需要网络的节点(交换机)支持PTP协议,才能实现纳秒量级的同步。一般在实际使用中,现有的NTP可以达到5ms以内的精度,对一般的应用都是满足的;非超高精度设备,不建议使用PTP设备。与NTP主要区别:PTP是在硬件级实现的,,一般采用硬件时间戳,并配合一些对NTP更高精度的延时测量算法。PTP最常用的是直接在MAC层进行PTP协议包分析,这样可以不经过UDP协议栈,减少PTP在协议栈中驻留时间,提高同步的精确度。PTP也可以承载在UDP上时,软件可以采用SOCKET进行收发UDP包,事件消息的UDP端口号319,普消息的通组播端口号为320,但其精度就大大降低。在物理硬件要求主从端都是PTP设备,且网络不能太大,其中间经过的交换机设备也必须支持PTP协议,并且主从时间网络链路唯一,不存在交替的PTP通道。PTPv2采用相对时间同步机制。一个参与者被选作主时间钟,其将发送同步信息到从站。主站将发送同步报文到网络。所有的从站计算时间延迟。:MastersendsSyncmessage-:adj=-[(T2-T1)-(T4-T3)]/2从钟根据t1、t2、t3、t4计算时间偏移(offset)以及传输延时(delay),即t2-t1=offset+delayt4-t3=delay-offset计算出delay=(t4-t3+t2-t1)/2offset=(t2-t1-t4+t3)/2从钟根据offset从钟可以调整自己的时钟。二、PTP的一些名词PTP域中的节点称为时钟节点,PTP协议定义了以下三种类型的基本时钟节点:OC(OrdinaryClock,普通时钟):只有一个PTP通信端口的时钟是普通时钟。BC(BoundaryClock,边界时钟):有一个以上PTP通信端口的时钟。TC(Transparentclock,透明时钟):与BC/OC相比,BC/OC需要与其它时钟节点保持时间同步,而TC则不与其它时钟节点保持时间同步。TC有多个PTP端口,但它只在这些端口间转发PTP协议报文并对其进行转发延时校正,而不会通过任何一个端口同步时间。TC包括以下两种类型:E2ETC(End-to-EndTransparentClock,端到端透明时钟):直接转发网络中非P2P(Peer-to-Peer,点到点)类型的协议报文,并参与计算整条链路的延时。P2PTC(Peer-to-PeerTransparentClock,点到点透明时钟):只直接转发Sync报文、Follow_Up报文和Announce报文,而终结其它PTP协议报文,并参与计算整条链路上每一段链路的延时。一般链式的P2P网络选择E2E-TC,而从钟节点较多的网络考虑P2P-TC。因在P2P延时测量机制中,延时报文交互是在每条链路的两个端口间进行的,主钟只与直接相连的网络交换设备有延时报文交互,因此在P2PTC的延时测量机制中,没有对从钟数量的限制。主时钟:一个PTP通信子网中只能有一个主时钟。PTP端口有九种状态主站,从站,待机,未校正,监听,禁止,初始化,故障三、PTP报文PTP协议定义了4种多点传送的报文类型和管理报文,包括同步报文(Sync),跟随报文(Follow_up),延迟请求报文(Delay_Req),延迟应答报文(Delay_Resp)和管理报文。报文有一般报文和事件报文两种类型。跟随报文和延迟应答报文属于一般报文,一般报文本身不进行时戳处理,它可以携带事件报文的准确发送或接收时刻值信息。同步报文和延迟请求报文属于事件报文,事件报文是时间敏感消息,需要加盖精确的时间戳。同步报文是从主时钟周期性发出的(一般为每两秒一次),它包含了主时钟算法所需的时钟属性,它包含了一个时间戳,精确地描述了数据包发出的预计时间。(1)Sync:同步消息,由主设备发送给从设备,消息中可以包含Sync发送时间标签,也可以在后续的FollowUP消息中包含;(2)DelayReq:请求对端返回接收到DelayReq消息时的时间标签,时间标签嵌入在响应消息DelayResp;(3)Pdelayreq:用于发起链路延时测量请求,带发送时间标签。普通消息没有时间标签,主要用于传递其他消息的发送时间标签、系统状态以及管理信息,包括:(4)Announce:广播发送节点和高级主钟的状态和特征信息;(5)FollowUp:用于传送Sync消息的发送时间;(6)DelayResp:对Pdelayreq的响应,可以带发送时间标签,如果没有带由随后的PdelayRespFollowUp传送;(7)PdelayRespFollowUp:用于传送DelayResp的发送时间;(8)Management:传输用于管理时钟设备的的信息以及命令;Signaling:在不同时钟之间传送信息、请求以及命令。(9)Signaling:在不同时钟之间传送信息、请求以及命令。由于Sync包发送前,无法直接获取到硬件发送Sync包的时间;Sync发送后,可以获取到硬件发送Sync时间ptpd码[.c中的实现:netSendPcapEther->sendto或pcap_inject发包getTxTimestamp获取精确发送时间四、$sudoptpd-M-ieno1-C指定“仅主控”模式向外组播数据client$sudoptpd-g-ieno1-C等一会就会看到输出2018-08-3010:05:[27616].eno1(notice)(lstn_reset)Nowinstate:PTP_LISTENING2018-08-3010:05:[27616].eno1(info)(lstn_reset)Newbestmasterselected:180373fffed2018-08-3010:05:[27616].eno1(notice)(slv)Nowinstate:PTP_SLAVE,Bestmaster:1803732018-08-3010:05:[27616].eno1(notice)(slv)ReceivedfirstSyncfromMaster2018-08-3010:05:[27616].eno1(notice)(slv)ReceivedfirstDelayResponsefromMaster修改server的系统时间,,系统时间会不停的在网络同步的时间和主服务器的时间之间进行切换wireshark抓包看了一下,,使用的是319和320端口单播模式服务器端-u指定单点广播模式向指定IP发送数据$sudoptpd--M-ieno1-V客户端接受指定IP的数据$sudoptpd--ieno1-V

最近更新