基于IEEE1588协议的PTP网络授时监测技术实现
2020-05-18贾杰峰郝青茹尹继凯刘连照
贾杰峰,郝青茹,尹继凯,刘连照
(1.中华通信系统有限责任公司 河北分公司,河北 石家庄 050081;2.中国电子科技集团公司第五十四研究所,河北 石家庄 050081;3.中国洛阳电子装备试验中心,河南 洛阳 471003)
0 引言
时间同步技术广泛应用于工业自动化、工业控制、仪器测量以及通信领域[1],其中的网络授时服务已经在国民经济中起到了越来越重要的作用,其时间同步精度成为影响国民经济稳定运行和国防安全的重要因素。广泛应用的网络授时技术主要有精确时间协议(Precision Time Protocol,PTP)网络授时和网络时间协议(Network Time Protocol,NTP)授时等[1]。NTP是由美国Delaware大学的Mills教授设计实现的[2],NTP网络授时是一种基于软件时戳的网络授时技术,其精度一般在毫秒级[3]。文献[4-8]论述了PTP网络授时是基于硬件时戳实现的网络授时技术,具备高精度特点,授时精度一般在纳秒级,应用领域更广。
随着PTP授时服务应用的推广,如何获取PTP网络授时精度成为急需解决的问题。本文针对该问题提出一种基于IEEE1588协议的PTP网络授时监测技术的工程实现方法,为授时网络质量评估、授时服务管理、授时性能监测提供支撑。
1 PTP网络授时原理
1.1 IEEE1588协议
IEEE1588协议的全称是“IEEE1588 Precision Clock Synchronization Protocol”,即网络测量和控制系统的精密时钟同步协议标准,简称“PTP”[9]。IEEE在2002年发布的IEEE1588V1,该协议标准可以达到亚微秒级的授时精度,满足了各类工业控制和测量对时间精度要求[10]。2008年IEEE对1588V1版本进行了修订,发布了1588V2,协议中不仅增加了同步时钟模型,而且定义了P2P和E2E两种延时测量机制[11]。通过改进,简化了网络的复杂性,提高了网络组网的灵活性和扩展性。
1.2 PTP网络授时监测原理
PTP授时监测的目的是获取被监测PTP主钟与监测设备的时间差。通过精确记录报文发送和接收的时间,并将所获取的时间通过报文发送给监测设备,由监测设备计算出被测设备的授时误差。PTP授时监测原理如图1所示。
图1 PTP网络授时监测原理Fig.1 Principle diagram of PTP network timing monitoring
图1中,同步指令(Sync),由主时钟周期性向网内广播,传递主钟时间;跟随报文(Follow_Up),主时钟在发出同步指令后发出跟随报文,将记录下的同步指令(Sync),时间戳T1由跟随指令广播发出;延迟申请指令(Delay_Req),由从钟设备发出用以测量路径延迟;延迟回执(Delay_Resp),由主钟发出,返回其接收到延迟申请指令(Delay_Req)的时间戳T4。
PTP信号监测过程如下:
① 监测设备接收外部参考时间信息,并同步本地时钟至外部参考时间。
② 接收PTP主钟的同步指令(Sync),并记录接收到该报文的本地时间戳T2。
③ 接收PTP主钟发送的Follow_Up指令,从中解出主钟发出同步指令(Sync)的时间戳T1。
④ 监测设备向PTP主钟发送延迟申请指令(Delay_Req),并记录下该报文发出时的系统时间戳T3。
⑤ 随后接收主钟返回的延迟回执(Delay_Resp)并从中解出主钟接收到Delay_Req报文的主钟时间戳T4。
⑥ 监测设备根据系统获取的4个时间戳T1,T2,T3,T4通过计算即可获取网络内主钟与本地时钟钟差信息与路径延迟,完成一次时差监测。
一个对时循环结束后,从时钟便获取了T1,T2,T3,T4四个时戳信息。
主从钟差:
offset=T2-T1-TMS,
(1)
offset=T4-T3+TSM,
(2)
式中,TMS为主端口到从端口信道时延;TSM为从端口到主端口信道延迟。假设通信信道为对等信道,即TMS与TSM相等[7],即:
delay=-TMS=+TSM。
(3)
将式(1)与式(2)相加,并将式(3)带入,可得主从钟差offset:
(4)
将式(1)与式(2)相减,并将式(3)带入,可得单向路径延迟delay:
(5)
按指定频度重复此过程,即可实现连续监测的目的。
2 PTP网络授时监测实现
PTP网络授时监测技术实现主要包括硬件和软件。本文从PTP硬件实现方法和软件实现方法分别进行阐述。
2.1 PTP网络授时监测设备硬件实现
PTP网络授时监测设备硬件主要包括SFP网络变压器、光收发模块、物理层芯片、微处理器和电平转换芯片。
SFP网络变压器的主要作用是将物理层芯片的差分信号进行耦合、放大,使芯片端与外部隔离,提高抗干扰能力。物理层芯片主要完成数据传送与接收所需要的电与光信号、线路状态、时钟基准及数据编码等功能,为数据链路层设备提供标准接口,选用支持PTP协议标准的物理层芯片,在物理层获取高精度PTP时戳信息,避免了软件处理过程对戳精度与稳定度的影响[7]。微处理器是网络授时监测的核心,为网络通信提供介质访问控制 层硬件支持与TCP/IP协议栈及PTP协议栈的运行,同步信息处理、钟差计算及报文分析等功能。
PTP网络授时监测设备通过网络数据接口向被监测时钟申请时钟同步,并依据本地授时时钟记录网络信息包时间戳。通过协议分析与时戳比对[12],PTP网络授时监测设备可计算出主、从时钟钟差信息、路径延迟,并进行PTP协议相关协议分析,获取钟差信息。
PTP网络授时监测设备接收基准的1 pps,10 MHz信号以及ToD信息,维持本地时钟,并运行PTP协议向PTP主钟服务器申请时钟同步,依据同步协议计算本地时钟与PTP服务器时钟钟差,并完成钟差数据上报。
PTP网络授时监测设备硬件工作原理如图2所示。
图2 PTP网络授时监测硬件工作原理Fig.2 Principle diagram of PTP network timing monitoring hardware operation
2.2 PTP网络授时监测设备软件实现
由PTP网络授时监测原理可知,为达到监测PTP网络授时精度的目的,PTP网络授时监测设备必须工作在从钟模式下,因此PTP网络授时监测设备的时钟等级被永久设定为SLAVE ONLY,以保证在授时网络中监测时钟的等级为最低。
测试开始后,首先进行PTP网络授时监测相关参数设置,参数设置内容包括:本地IP、本地子网掩码、本地网关、被监测设备IP、报文封装格式、一步两步模式、组播域、时延测量机制、单播多播模式及以太网速率等。参数设置完成后由软件下发给监测设备,若监测设备执行参数后出现错误,则给出提示信息,若参数设置执行正常程序则进入开始测试;开始测试后,先进行IEEE1588协议分析,获取监测数据等原始测量数据;获取原始测量数据后,进行数据统计处理和数据存储。PTP网络授时监测设备软件执行流程如图3所示。
图3 PTP网络授时监测软件工作流程Fig.3 Work flow chart of PTP network timing monitoring software
3 测试验证
为了验证PTP网络授时监测设备的监测功能,搭建的测试环境如图4所示。
图4 PTP网络授时监测测试验证连接Fig.4 Connection diagram of PTP network timing monitoring test verification
使用PTP网络授时监测设备和Sync-edge综合时间分析仪分别对PTP授时设备进行测试。PTP网络授时监测设备、Sync-edge综合时间分析仪及PTP授时设备分别接收北斗系统信号,向北斗系统时间溯源。PTP网络授时监测设备和Sync-edge综合时间分析仪分别通过网线与被监测PTP授时设备相连接。PTP网络授时监测设备通过串口将获取的钟差数据上传到监控计算机。
测试过程如下:首先将PTP网络授时监测设备、Sync-edge综合时间分析仪和PTP授时设备加电预热1 h,使各设备达到工作稳定状态;然后保持PTP授时设备状态不变,同时开启PTP网络授时监测设备和Sync-edge综合时间分析仪PTP监测任务;持续测试一段时间后,断开PTP授时设备的北斗天线,继续进行监测,直到测试结束。
使用PTP网络授时监测设备对IP地址为192.168.1.228的PTP授时设备进行连续数据监测,监测结果如图5所示。
图5 PTP网络授时监测设备测试数据Fig.5 Test data diagram of PTP network time service monitoring equipment
使用Sync-edge综合时间分析仪对IP地址为192.168.1.228的PTP授时设备进行连续数据监测,监测结果如图6和图7所示。
图6 Sync-edge测试数据Fig.6 Sync-edge test data diagram
图7 Sync-edge测试数据统计Fig.7 Sync-edge test data statistics
通过测试结果可以看出,PTP网络授时监测设备与Sync-edge综合时间分析仪监测的数据基本一致。2组监测数据的当前偏差和平均偏差出现差异是由于2个设备的零值不同导致的。2组监测数据在后半部分均出现了跳变,这是由于PTP授时设备断开北斗天线后,授时精度出现恶化后的结果。可见,PTP网络授时监测设备与Sync-edge综合时间分析仪均实际反映了PTP授时设备的授时性能。
由此可知,PTP网络授时监测设备实现了对PTP主钟的实时连续性能监测,并对测试数据进行了平均偏差和标准方差等统计分析,有利于用户掌握PTP网络授时精度的相关情况。
4 结束语
本文提出了一种基于IEEE1588协议的PTP网络授时监测技术,并完成了工程实现。通过实验表明,PTP网络授时监测设备可以有效地对PTP网络授时精度进行监测。提出的PTP网络授时监测技术实现了对单节点PTP网络授时的监测,如果改变硬件平台及相关软件算法,可以实现对多个PTP网络授时节点的同时监测,能够进一步提供PTP网络授时监测能力。