CN108667547B - 一种网络时间协议转换方法及系统 - Google Patents

一种网络时间协议转换方法及系统 Download PDF

Info

Publication number
CN108667547B
CN108667547B CN201810905912.1A CN201810905912A CN108667547B CN 108667547 B CN108667547 B CN 108667547B CN 201810905912 A CN201810905912 A CN 201810905912A CN 108667547 B CN108667547 B CN 108667547B
Authority
CN
China
Prior art keywords
message
ntp
time
ptp
timestamp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810905912.1A
Other languages
English (en)
Other versions
CN108667547A (zh
Inventor
王广才
何定高
王茂凌
邓皓
胥骥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telecommunication Science And Technology Fifth Research Institute Co Ltd
Original Assignee
Telecommunication Science And Technology Fifth Research Institute Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telecommunication Science And Technology Fifth Research Institute Co Ltd filed Critical Telecommunication Science And Technology Fifth Research Institute Co Ltd
Priority to CN201810905912.1A priority Critical patent/CN108667547B/zh
Publication of CN108667547A publication Critical patent/CN108667547A/zh
Application granted granted Critical
Publication of CN108667547B publication Critical patent/CN108667547B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及时间同步技术领域,公开了一种网络时间协议转换方法。具体包括以下过程:NTP客户端向协议适配器发送时间同步请求报文,协议适配器将同步请求报文转化为时延请求报文,并将时延请求报文发送至PTP主时钟服务器;PTP主时钟服务器对时延报文产生响应报文并转发给协议适配器;所述协议适配器将响应报文转化为NTP时间同步响应报文后,转发给NTP客户端;NTP客户端接收NTP时间同步响应报文并解析,实现时间同步。上述技术方案提高了NTP时间同步精度;结合PTP、NTP协议特点,满足高精度网络时间同步需求;同步精度可以保证,部署简单。本发明还公开了一种网络时间协议转换系统。

Description

一种网络时间协议转换方法及系统
技术领域
本发明涉及时间同步技术领域,特别是一种网络时间协议转换方法及系统。
背景技术
PTP和NTP是目前应用最广泛的网络时间协议,用于网络中的计算机或设备之间的时间同步。
PTP是精确时间协议,是IEEE制定的网络测量和控制系统的精确时间协议标准,又称IEEE 1588,目前已发展到IEEE 1588v2版本。PTP采用主从同步方式,定义了三种时钟模型,包括普通时钟(OC)、边界时钟(BC)和透明时钟(TC),其中BC同时具备主从时钟功能;PTP提供E2E和P2P两种时延测量机制,P2P时延机制用于点对点的时延测量,强调两个相邻节点之间的时延测量,有助于消除线路时延不对称性的影响。E2E时延机制用于端到端时延测量,强调线路两端节点之间的时延测量,不考虑线路中间节点;PTP通信方式有两种:组播方式和单播方式,组播通信方式比单播通信方式在实现和配置上要简单,能节省主时钟的系统资源,但组播包容易形成组播风暴、带宽占用率高(交换机的复制和转发),单播通信方式在效率、可靠性方面比组播通信方式高,但实现起来比较复杂。PTP采用硬件时间戳值,主从时钟之间的同步精度可达十纳秒级。
NTP即网络时间协议,是用于互联网中时间同步的标准网络协议,其作用是把网络内的计算机时间同步到协调世界时(UTC)。NTP的设计充分考虑了互联网上时间同步的复杂性,采用时间滤波、时间选择、时钟调节等算法,不仅可校正当前时间,而且可持续跟踪时间的变化,能够自动进行调节,即使网络发生故障,也能维持时间的稳定。NTP采用客户端/服务器架构,支持多种工作模式,操作简单、灵活,提供的机制严格、实用、有效,可以适应各种规模、速度和连接通路情况的互联网环境。NTP目前已成为一种公认的时间同步协议,广泛应用于计算机网络时间同步服务,当前主要版本为NTPv3、NTPv4。在局域网环境下,NTP提供的时间精度为十毫秒级。
NTP时间同步本身采用软件时间戳,受同步机制、客户端算法及网络流量、中间节点数等网络环境因素影响,普通NTP服务器时间同步精度较低,通常为十毫秒级。高精度NTP服务器采用硬件时间戳,通常采用FPGA技术实现NTP数据报文识别、时间戳提取和插入、CRC校验等功能,实现机制相对复杂,协议完整性较弱。另外,NTP没有类似PTP的两步工作模式,因此无法通过软硬件配合方式获取并处理发送时间戳,若再考虑MD5算法,则实现机制更加复杂。
PTP时间同步本身采用硬件时间戳,不论是PTP主时钟还是从时钟都需要实现硬件时间戳功能,才能达到精确时间同步的目的。对于局域网中的计算机高精度时间同步应用来说,如果采用PTP硬件时间戳方式,需要增加PTP从时钟板卡来实现硬件时间戳及PTP协议栈功能,无疑会增加用户投资。如果采用 PTP软件时间戳方式,相对于NTP时间同步,PTP协议复杂度更高。
现有技术中,NTP时间同步示意图如图1所示。NTP采用无连接的UDP/IP 协议,端口号为123,通常采用客户端/服务器(C/S)工作模式。客户端向服务器发起时间同步请求,服务器回复时间同步响应数据报文(包含T1、T2、T3 时间戳)。客户端接收到服务器的时间同步响应数据报文后,记录接收时间戳 T4,从数据报文中获取T1~T3。客户端依据T1~T4时间戳值计算客户端和服务器之间的时间偏差,根据NTP算法同步系统时间。如图1所示,T1表示客户端发出NTP申请数据报文的时间戳;T2表示服务器收到NTP申请数据报文的时间戳;T3表示服务器发送NTP响应数据报文的时间戳;T4表示客户端收到NTP 响应数据报文的时间戳。其中,T1~T3都在NTP响应数据报文中携带,T4由客户端在本地产生。假设往返线路时延对称,则平均线路时延及时间偏差可用以下公式表示:
平均线路时延:D/2=((T2-T1)+(T4-T3))/2。
时间偏差:offset=((T2-T1)+(T3-T4))/2。
PTP时间同步机制与NTP类似。PTP采用主从时钟同步方式,主从时钟之间通过数据报文(Sync、Announce、Delay_req、Delay_resp、PDelay_req、 PDelay_resp、PDelay_resp_followup等)交换实现精确时间同步。PTP采用硬件时间戳,时间同步精度可以达到十纳秒级,NTP采用软件时间戳,时间同步精度一般为十毫秒级。除了同步精度有差别之外,PTP和NTP在数据报文类型、帧格式、时间基准、协议复杂度等方面均有差别。
上述现有技术中的缺点如下:
1、普通NTP服务器同步精度不高。
NTP时间同步本身采用软件时间戳机制,NTP服务器和客户端的时间戳获取在应用层通过软件方式实现,受同步机制、客户端算法及网络流量、中间节点数等网络环境因素影响,普通NTP服务器时间同步精度较低,通常为十毫秒级,主要用于对同步精度要求不高的计算机网络时间同步服务中,例如企业局域网、校园局域网等。
2、高精度NTP服务器实现机制复杂。
高精度NTP服务器采用硬件时间戳机制,借鉴PTP同步思想,在物理层获取数据报文接收和发送时间戳(硬件时间戳),通常采用FPGA技术实现NTP数据报文识别、时间戳提取和插入、CRC校验等功能,实现机制相对复杂,协议完整性较弱。另外,NTP没有类似PTP的二步工作模式,因此无法通过软硬件配合方式获取并处理发送时间戳,若再考虑MD5算法,则实现机制更加复杂。
3、PTP同步机制对从时钟要求高。
PTP时间同步采用硬件时间戳机制,不论是PTP主时钟还是从时钟都需要实现硬件时间戳功能,才能达到精确时间同步的目的。对于局域网中的计算机高精度时间同步应用来说,如果采用PTP硬件时间戳同步机制,需要增加PTP 从时钟板卡来实现硬件时间戳及PTP协议栈功能,无疑会增加用户投资。如果采用软件实现PTP从时钟功能,相对于NTP方式,PTP协议复杂度更高,NTP 相对简单且客户端算法更加完善。
发明内容
本发明所要解决的技术问题是:针对上述存在的问题,提供了一种网络时间协议转换方法及系统。
本发明采用的技术方案如下:一种网络时间协议转换方法,具体包括以下过程:
步骤1,NTP客户端向协议适配器发送时间同步请求报文,
步骤2,协议适配器将同步请求报文转化为时延请求报文,并将时延请求报文发送至PTP主时钟服务器;
步骤3,PTP主时钟服务器对时延报文产生响应报文并转发给协议适配器;
步骤4,所述协议适配器将响应报文转化为NTP时间同步响应报文后,转发给NTP客户端;
步骤5,NTP客户端接收NTP时间同步响应报文并解析,实现时间同步。
进一步地,所述步骤1中,所述NTP客户端通过NTP网络向协议适配器发送时间同步请求报文,所述时间同步请求报文携带报文发送时间戳T1,所述 NTP客户端可支持MD5摘要算法。
进一步地,所述步骤2的具体过程为:步骤21,协议适配器接收时间同步请求报文,经数据报文变换和时间戳转化后,转换为时延请求报文;步骤22,协议适配器通过PTP网络将时延请求报文发送给PTP主时钟服务器。
进一步地,所述数据报文变换是指将协议适配器接收到的NTP域的时间同步请求报文变换为PTP域的时延请求报文,记录NTP客户端的IP地址,记录时间同步请求报文发送时间戳T1,建立NTP客户端IP地址与时延请求报文 sequenceID字段对应关系,建立时间同步报文发送时间戳T1与时延请求报文 sequenceID字段对应关系。
进一步地,所述时间戳转化包括时间戳值转化和时间戳映射两部分,所述时间戳值转化是指将接收到的时间同步请求报文中的报文发送时间戳T1转化为PTP域时间戳值;所述时间戳映射是指将时间同步请求报文中的Originate Timestamp字段映射为PTP域时延请求报文中的originateTimestamp字段。
进一步地,所述步骤3的具体过程为:所述PTP主时钟服务器记录时延请求报文接收时间戳T2,产生Sync报文、Announce报文、Pdelay_Resp报文和 Pdelay_Resp_Follow_Up报文并转发给所述协议适配器;所述Sync报文包含 Sync报文精确发送时间戳T0,所述Announce报文包含所述PTP主时钟服务器的时钟状态参数信息,所述Pdelay_Resp报文包含Pdelay_Req报文精确接收时间戳T2,所述Pdelay_Resp_Follow_Up报文包含Pdelay_Resp报文精确发送时间戳T3。
进一步地,所述步骤4的具体过程为:步骤41,所述协议适配器接收所述 PTP主时钟服务器发送的Sync报文、Announce报文、Pdelay_Resp报文和Pdelay_Resp_Follow_Up报文;步骤42,(1)进行数据报文变换:将协议适配器接收到的PTP域数据报文(Sync报文、Announce报文、Pdelay_Resp报文和 Pdelay_Resp_Follow_Up报文)变换为NTP域时间同步响应报文;(2)所述时间戳转化包括时间戳值转化和时间戳映射两部分;进行时间戳值转化:将所述 Sync报文中的Sync报文发送时间戳值T0、Pdelay_Resp报文中的时延请求报文接收时间戳T2、Pdelay_Resp_Follow_Up报文中的Pdelay_Resp报文发送时间戳值T3转换为NTP域时间戳值;进行时间戳映射:将Sync报文中的 originateTimestamp字段映射为NTP时延请求响应报文Ntp_Resp中的 Reference Timestamp字段,将Ntp_Req报文发送时间戳T1映射为NTP时延请求响应报文Ntp_Resp中的Originate Timestamp字段,将Pdelay_Resp报文中的requestReceiptTimestamp字段映射为NTP时间同步请求响应报文 Ntp_Resp中的Receive Timestamp字段,将Pdelay_Resp_Follow_Up报文中的 responseOriginTimestamp字段映射为NTP时间同步请求响应报文Ntp_Resp 中的Transmit Timestamp字段;(3)进行参数匹配:协议适配器接收所述PTP 主时钟服务器发送的Announce报文,解析currentUtcOffset字段值,获取UTC 与TAI时间差值,所述差值用于NTP时间戳与PTP时间戳值转化;解析 flagField字段值,获取闰秒预告参数,将PTP域闰秒参数转换为NTP域闰秒参数;解析grandmasterClockQuality字段值,获取时钟质量等级参数,将PTP 域时钟质量等级参数转换为NTP域时钟等级参数;解析 grandmasterClockQuality字段值,获取时钟精度参数,将PTP域时钟精度参数转换为NTP域时钟精度参数;解析grandmasterClockQuality字段值,获取时钟精度参数,将PTP域时钟精度参数转换为NTP域时钟精度参数;(4)进行时延补偿:计算协议适配器与所述PTP主时钟服务器之间PTP数据报文的往返时延Roundtrip,将计算所得的Roundtrip值转化为NTP时间同步请求响应报文Ntp_Reap中的Root Delay字段值;计算协议适配器中数据报文驻留时间的变化值,将计算所得值转化为NTP时间同步请求响应报文Ntp_Reap中的Root Dispersion字段值,所述Root Delay字段表示协议适配器与上级参考时钟之间的往返时延值,Root Dispersion字段表示协议适配器时钟误差;步骤43,协议适配器获取处理后的时间同步请求响应报文;步骤44,协议适配器根据 NTP客户端IP地址与时间同步请求响应报文sequenceId字段对应关系,确定 NTP客户端IP地址,将所述Ntp_Reap报文发送到相应NTP客户端。
进一步地,所述步骤5的具体过程为:所述NTP客户端接收所述协议适配器发送的时间同步请求响应报文,记录时间同步请求响应报文接收时间T4;解析所述时间同步请求响应报文并获取时钟状态信息及时间戳值,所述NTP客户端根据时间戳T1、时间戳T2、时间戳T3、时间戳T4经数学运算可以计算出与所述PTP主时钟服务器之间的时间偏差;所述NTP客户端结合PTP主时钟状态信息、采用标准NTP算法调整本地系统时间,从而实现时间同步。
本发明还公开了一种网络时间协议转换系统,包括NTP客户端、协议适配器和PTP主时钟服务器,所述NTP客户端通过NTP网络连接协议适配器,向协议适配器发送时间同步请求报文;所述协议适配器通过PTP网络连接PTP主时钟服务器,将协议适配器根据时间同步请求报文转化的时延请求报文发送至 PTP主时钟服务器;所述PTP主时钟服务器通过PTP网络连接协议适配器,将时延报文产生响应报文并转发给协议适配器;所述协议适配器通过NTP网络连接NTP客户端,将所述协议适配器根据响应报文转化的NTP时间同步响应报文转发给NTP客户端。
进一步地,所述PTP主时钟服务器与协议适配器采用主从方式进行时间同步;所述NTP客户端与协议适配器采用客户端/服务器工作模式进行时间同步。
与现有技术相比,采用上述技术方案的有益效果为:
(1)提高了NTP时间同步精度。
不改变标准PTP、NTP网络时间协议,通过协议转换达到优化和简化系统设计目的,降低了影响同步精度的不利因素,同时提高了NTP时间同步精度。
(2)结合PTP、NTP协议特点,满足高精度网络时间同步需求。
PTP主时钟高精度授时与NTP客户端完善的同步算法相结合,采用PTP与 NTP数据报文变换、时间戳转化、参数匹配、时延补偿等措施,实现网络时间协议转换功能,满足计算机网络高精度时间同步需求。
(3)同步精度可以保证,部署简单。
采用PTP主时钟高精度硬件时间戳以及NTP客户端完善的算法,时间同步精度可以保证,同时可弥补现有高精度NTP服务器实现机制复杂、协议不完整等不足。本系统对外接口均采用标准协议,不需要对网络两侧的PTP主时钟及 NTP客户端进行任何改动,应用部署简单、方便。
附图说明
图1是现有技术中NTP时间同步的示意图。
图2是本发明网络时间协议转换方法的示意图。
图3是本发明网络时间协议转换的结构示意图。
具体实施方式
下面结合附图对本发明做进一步描述。
如图2所示,一种网络时间协议转换方法,具体包括以下过程:
步骤1,NTP客户端向协议适配器发送时间同步请求报文;
优选地,所述步骤1中,所述NTP客户端通过NTP网络向协议适配器发送时间同步请求报文,所述时间同步请求报(Ntp_Req报文)帧格式符合标准协议,所述NTP客户端采用C/S(客户端/服务器)工作模式,所述时间同步请求报文携带报文发送时间戳T1,所述NTP客户端可支持MD5摘要算法。
步骤2,协议适配器将同步请求报文转化为时延请求报文(Pdelay_Req报文),并将时延请求报文发送至PTP主时钟服务器;
优选地,所述步骤2的具体过程为:步骤21,协议适配器接收时间同步请求报文,经数据报文变换和时间戳转化后,转换为时延请求报文;步骤22,协议适配器通过PTP网络将时延请求报文发送给PTP主时钟服务器。
更优选地,所述数据报文变换是指将协议适配器接收到的NTP域的时间同步请求报文变换为PTP域的时延请求报文,记录NTP客户端的IP地址,记录时间同步请求报文发送时间戳T1,建立NTP客户端IP地址与时延请求报文 sequenceID字段对应关系,建立时间同步报文发送时间戳T1与时延请求报文 sequenceID字段对应关系。
更优选地,所述时间戳转化包括时间戳值转化和时间戳映射两部分,所述时间戳值转化是指将接收到的时间同步请求报文中的报文发送时间戳T1转化为PTP域时间戳值,具体计算公式为:
PTPallseconds=NTPallseconds–D+Offset,
PTPfrasecond=NTPfrasecond*f,
其中,
PTPallseconds表示PTP时间戳总秒数;
NTPallseconds表示NTP时间戳总秒数;
D为常数83AA7E80H(十六进制数),表示1900年元年到1970年元年的UTC 时间总秒数;
Offset为UTC与TAI时间差值,可变值,以闰秒数的形式体现;
PTPfrasecond表示PTP时间戳小数秒;
NTPfrasecond表示NTP时间戳小数秒;
f为常数,取值109/232,表示NTP小数秒与PTP小数转换系数;
所述时间戳映射是指将时间同步请求报文中的Originate Timestamp字段映射为PTP域时延请求报文中的originateTimestamp字段。
NTP时间戳分总秒数和小数秒两部分。总秒数为从1900年1月1日0时0 分0秒到目前为止的UTC(协调世界时)时间总秒数,采用32位无符号数表示;小数秒采用32位无符号数表示,最小单位为1/232秒。
由于NTP时间基准起点、类型、小数秒格式等存在差异,因此需要通过数学方法进行转化,时间戳值转化包括总秒数转化和小数秒转化。
所述协议适配器能识别并验证所述时间同步请求报文中的MD5摘要信息。进一步地,如果所述时间同步报文中包含MD5摘要信息,则所述协议适配器能提取时间同步请求报文密钥并验证时间同步请求报文MD5摘要值,若MD5摘要值验证失败,则丢弃该报文。
步骤3,PTP主时钟服务器对时延报文产生响应报文并转发给协议适配器;
优选地,所述步骤3的具体过程为:所述PTP主时钟服务器记录时延请求报文接收时间戳T2,产生Sync报文、Announce报文、Pdelay_Resp报文和 Pdelay_Resp_Follow_Up报文并转发给所述协议适配器;所述Sync报文包含 Sync报文精确发送时间戳T0(硬件时间戳),所述Announce报文包含所述PTP 主时钟服务器的时钟状态等参数信息,所述Pdelay_Resp报文包含Pdelay_Req 报文精确接收时间戳T2(硬件时间戳),所述Pdelay_Resp_Follow_Up报文包含Pdelay_Resp报文精确发送时间戳T3(硬件时间戳)。
所述PTP主时钟服务器与所述协议适配器采用P2P(Peer to Peer,即点到点)时延测量机制、二步方式、单播工作模式。
步骤4,所述协议适配器将响应报文转化为NTP时间同步响应报文后,转发给NTP客户端;
所述步骤4的具体过程为:步骤41,所述协议适配器接收所述PTP主时钟服务器发送的Sync报文、Announce报文、Pdelay_Resp报文和 Pdelay_Resp_Follow_Up报文;步骤42,(1)进行数据报文变换:将协议适配器接收到的PTP域数据报文(Sync报文、Announce报文、Pdelay_Resp报文和 Pdelay_Resp_Follow_Up报文)变换为NTP域时间同步响应报文;(2)所述时间戳转化包括时间戳值转化和时间戳映射两部分;进行时间戳值转化:将所述 Sync报文中的Sync报文发送时间戳值T0、Pdelay_Resp报文中的时延请求报文接收时间戳T2、Pdelay_Resp_Follow_Up报文中的Pdelay_Resp报文发送时间戳值T3转换为NTP域时间戳值,NTP域时间戳计算公式如下:
NTPallseconds=PTPallseconds+D-Offset,
NTPfrasecond=PTPfrasecond*1/f;
PTP时间戳分总秒数和小数秒两部分。总秒数为从1970年1月1日0时0 分0秒到目前为止的TAI(原子时)时间总秒数,采用32位无符号数表示;小数秒采用32位无符号数表示,最小单位为纳秒,计满1秒(109)后归零。
由于PTP时间基准起点、类型、小数秒格式等存在差异,因此需要通过数学方法进行转化,时间戳值转化包括总秒数转化和小数秒转化。
进行时间戳映射:将Sync报文中的originateTimestamp字段映射为NTP 时延请求响应报文Ntp_Resp中的Reference Timestamp字段,将Ntp_Req报文发送时间戳T1映射为NTP时延请求响应报文Ntp_Resp中的Originate Timestamp字段,将Pdelay_Resp报文中的requestReceiptTimestamp字段映射为NTP时间同步请求响应报文Ntp_Resp中的ReceiveTimestamp字段,将 Pdelay_Resp_Follow_Up报文中的responseOriginTimestamp字段映射为NTP 时间同步请求响应报文Ntp_Resp中的Transmit Timestamp字段;(3)进行参数匹配:协议适配器接收所述PTP主时钟服务器发送的Announce报文,解析 currentUtcOffset字段值,获取UTC与TAI时间差值,所述差值用于NTP时间戳与PTP时间戳值转化;解析flagField字段值,获取闰秒预告参数,将PTP 域闰秒参数转换为NTP域闰秒参数,具体转换规则如下表1所示;
表1
解析grandmasterClockQuality字段值,获取时钟质量等级参数,将PTP 域时钟质量等级参数转换为NTP域时钟等级参数,具体转换规则如下表2所示;
表2
解析grandmasterClockQuality字段值,获取时钟精度参数,将PTP域时钟精度参数转换为NTP域时钟精度参数,具体转换规则如下表3所示;
表3
解析grandmasterClockQuality字段值,获取时钟精度参数,将PTP域时钟精度参数转换为NTP域时钟精度参数,具体转换规则如下表4所示;
表4
此处需要说明的是,本发明方法中的NTP域与PTP域之间参数匹配规则和方法不限于本实施例所列出的表1、表2、表3、表4所述内容,上述表格内容只是一种参数匹配转换规则。
(4)进行时延补偿:计算协议适配器与所述PTP主时钟服务器之间PTP数据报文的往返时延Roundtrip,将计算所得的Roundtrip值转化为NTP时间同步请求响应报文(Ntp_Reap报文)中的Root Delay字段值;计算协议适配器中数据报文驻留时间的变化值,将计算所得值转化为NTP时间同步请求响应报文 Ntp_Reap中的Root Dispersion字段值,所述Root Delay字段表示协议适配器与上级参考时钟之间的往返时延值,Root Dispersion字段表示协议适配器时钟误差;步骤43,协议适配器获取处理后的时间同步请求响应报文;步骤 44,协议适配器根据NTP客户端IP地址与时间同步请求响应报文sequenceId 字段对应关系,确定NTP客户端IP地址,将所述Ntp_Reap报文发送到相应NTP 客户端。其中,所述协议适配器可与多个所述NTP客户端相连。
所述协议适配器能产生时间同步请求报文(Ntp_Resp报文)中的MD5摘要信息。进一步地,如果所述Ntp_Req报文中包含MD5摘要信息,则所述协议适配器能计算并产生Ntp_Resp报文的MD5摘要信息,将含有MD5摘要信息的所述Ntp_Reap报文发送到相应NTP客户端。
所述协议适配器与所述PTP主时钟服务器通过PTP协议通信,所述协议适配器如果检测到与所述PTP主时钟服务器通信告警,则NTP时间同步响应报文 Ntp_Resp的LI字段为告警状态,否则为正常状态。
步骤5,NTP客户端接收NTP时间同步响应报文并解析,实现时间同步。
优选地,所述步骤5的具体过程为:所述NTP客户端接收所述协议适配器发送的时间同步请求响应报文,记录时间同步请求响应报文接收时间T4;解析所述时间同步请求响应报文并获取时钟状态信息及时间戳值,所述NTP客户端根据时间戳T1、时间戳T2、时间戳T3、时间戳T4经数学运算可以计算出与所述PTP主时钟服务器之间的时间偏差;所述NTP客户端结合PTP主时钟状态信息、采用标准NTP算法调整本地系统时间,从而实现时间同步。
另一个实施例是上述方法对应的系统,如图3所示一种网络时间协议转换系统,包括NTP客户端、协议适配器和PTP主时钟服务器,所述NTP客户端通过NTP网络连接协议适配器,向协议适配器发送时间同步请求报文;所述协议适配器通过PTP网络连接PTP主时钟服务器,将协议适配器根据时间同步请求报文转化的时延请求报文发送至PTP主时钟服务器;所述PTP主时钟服务器通过PTP网络连接协议适配器,将时延报文产生响应报文并转发给协议适配器;所述协议适配器通过NTP网络连接NTP客户端,将所述协议适配器根据响应报文转化的NTP时间同步响应报文转发给NTP客户端。
优选地,所述PTP主时钟服务器与所述协议适配器通过IEEE 1588(PTP) 协议通信,进一步地,PTP主时钟服务器作为主时钟,协议适配器作为从时钟,所述PTP主时钟服务器与协议适配器采用主从方式进行时间同步;所述NTP客户端与所述协议适配器通过NTP协议通信,进一步地,协议适配器作为服务器, NTP客户端作为客户端,所述NTP客户端与协议适配器采用客户端/服务器工作模式进行时间同步。
所述协议适配器是所述PTP网络与NTP网络之间独立的设备或服务器,具备接收、处理PTP、NTP数据报文能力,包括数据报文变换模块、时间戳转化模块、参数匹配模块、时延补偿模块等。
所述协议适配器中的数据报文变换模块功能包括:接收所述NTP客户端发送的NTP时间同步请求报文,将NTP时间同步请求报文变换为PTP时延请求报文;接收所述PTP主时钟服务器发送的PTP时延请求响应报文,将PTP时延请求响应报文变换为NTP时间同步响应报文;其中,所述PTP时延请求报文为 Pdelay_Req报文,所述PTP时延请求响应报文为Pdelay_Resp和 Pdelay_Resp_Follow_Up报文,所述NTP时间同步请求报文为Ntp_Req报文,所述NTP时间同步响应报文为Ntp_Reap报文。
所述协议适配器中的时间戳转化模块功能包括时间戳值转化和时间戳映射,所述时间戳值转化包括:将接收到的NTP时间同步请求报文中的NTP域时间戳值转化为PTP域时间戳值;将接收到的PTP时延请求响应报文中的PTP域时间戳值转化为NTP域时间戳值。所述时间戳映射包括:将NTP时间同步请求报文Ntp_Req中的Originate Timestamp时间戳字段映射为PTP时延请求报文 Pdelay_Req中的originateTimestamp时间戳字段;将PTP时延请求响应报文 Pdelay_Resp中的requestReceiptTimestamp时间戳字段映射为NTP时间请求响应报文Ntp_Reap中的Receive Timestamp时间戳字段,将PTP时延请求响应报文Pdelay_Resp_Follow_Up中的responseOriginTimestamp时间戳字段映射为NTP时间同步请求响应报文Ntp_Reap中的Transmit Timestamp时间戳字段。
所述协议适配器中的参数匹配模块功能包括:接收所述PTP主时钟服务器发送的Announce报文,解析Announce报文并获取PTP主时钟服务器时钟状态参数,时钟状态参数包含于flagField、currentUtcOffset、 grandmasterClockQuality、timeSource等字段中,时钟状态参数具体包括闰秒信息、时钟质量等级、时钟精度、时间源、告警状态等;将PTP主时钟服务器时钟状态参数与NTP时钟状态参数进行匹配,转化为NTP时间同步请求响应报文Ntp_Reap中的相应字段值,具体包括LI、Stratum、Precision、Reference Identifier等字段。
所述协议适配器中的时延补偿模块功能包括:计算协议适配器与所述PTP 主时钟服务器之间PTP数据报文的往返时延Roundtrip,将计算所得的 Roundtrip值转化为NTP时间同步请求响应报文Ntp_Reap中的Root Delay字段值;计算协议适配器中数据报文驻留时间的变化值,将计算所得值转化为NTP 时间同步请求响应报文Ntp_Reap中的RootDispersion字段值。所述Root Delay字段表示协议适配器与上级参考时钟之间的往返时延值,Root Dispersion字段表示协议适配器时钟误差。
本发明并不局限于前述的具体实施方式。本发明所述的协议适配器不需要具备硬件时间戳功能,仅具备协议转换功能即可实现本发明所述的技术效果。本发明所述的协议适配器与所述PTP主时钟服务器不限于采用单播工作模式,采用组播工作模式也可以实现本发明所述的技术效果。如果采用组播工作模式,则所述的协议适配器可以采用BMCA(最佳主时钟算法)算法和多个PTP 主时钟服务器通信并优选一个最佳时钟与其同步。
本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。如果本领域技术人员,在不脱离本发明的精神所做的非实质性改变或改进,都应该属于本发明权利要求保护的范围。

Claims (9)

1.一种网络时间协议转换方法,其特征在于,具体包括以下过程:
步骤1,NTP客户端向协议适配器发送时间同步请求报文,
步骤2,协议适配器将同步请求报文转化为时延请求报文,并将时延请求报文发送至PTP主时钟服务器;
步骤3,PTP主时钟服务器对时延报文产生响应报文并转发给协议适配器;
步骤4,所述协议适配器将响应报文转化为NTP时间同步响应报文后,转发给NTP客户端;
步骤5,NTP客户端接收NTP时间同步响应报文并解析,实现时间同步;
所述步骤4的具体过程为:步骤41,所述协议适配器接收所述PTP主时钟服务器发送的Sync报文、Announce报文、Pdelay_Resp报文和Pdelay_Resp_Follow_Up报文;步骤42,(1)进行数据报文变换:将协议适配器接收到的PTP域数据报文:Sync报文、Announce报文、Pdelay_Resp报文和Pdelay_Resp_Follow_Up报文,变换为NTP域时间同步响应报文;(2)所述时间戳转化包括时间戳值转化和时间戳映射两部分;进行时间戳值转化:将所述Sync报文中的Sync报文发送时间戳值T0、Pdelay_Resp报文中的时延请求报文接收时间戳T2、Pdelay_Resp_Follow_Up报文中的Pdelay_Resp报文发送时间戳值T3转换为NTP域时间戳值;进行时间戳映射:将Sync报文中的originateTimestamp字段映射为NTP时延请求响应报文Ntp_Resp中的Reference Timestamp字段,将Ntp_Req报文发送时间戳T1映射为NTP时延请求响应报文Ntp_Resp中的Originate Timestamp字段,将Pdelay_Resp报文中的requestReceiptTimestamp字段映射为NTP时间同步请求响应报文Ntp_Resp中的ReceiveTimestamp字段,将Pdelay_Resp_Follow_Up报文中的responseOriginTimestamp字段映射为NTP时间同步请求响应报文Ntp_Resp中的Transmit Timestamp字段;(3)进行参数匹配:协议适配器接收所述PTP主时钟服务器发送的Announce报文,解析currentUtcOffset字段值,获取UTC与TAI时间差值,所述差值用于NTP时间戳与PTP时间戳值转化;解析flagField字段值,获取闰秒预告参数,将PTP域闰秒参数转换为NTP域闰秒参数;解析grandmasterClockQuality字段值,获取时钟质量等级参数,将PTP域时钟质量等级参数转换为NTP域时钟等级参数;解析grandmasterClockQuality字段值,获取时钟精度参数,将PTP域时钟精度参数转换为NTP域时钟精度参数;解析grandmasterClockQuality字段值,获取时钟精度参数,将PTP域时钟精度参数转换为NTP域时钟精度参数;(4)进行时延补偿:计算协议适配器与所述PTP主时钟服务器之间PTP数据报文的往返时延Roundtrip,将计算所得的Roundtrip值转化为NTP时间同步请求响应报文Ntp_Reap中的Root Delay字段值;计算协议适配器中数据报文驻留时间的变化值,将计算所得值转化为NTP时间同步请求响应报文Ntp_Reap中的Root Dispersion字段值,所述Root Delay字段表示协议适配器与上级参考时钟之间的往返时延值,Root Dispersion字段表示协议适配器时钟误差;步骤43,协议适配器获取处理后的时间同步请求响应报文;步骤44,协议适配器根据NTP客户端IP地址与时间同步请求响应报文sequenceId字段对应关系,确定NTP客户端IP地址,将所述Ntp_Reap报文发送到相应NTP客户端。
2.如权利要求1所述的网络时间协议转换方法,其特征在于,所述步骤1中,所述NTP客户端通过NTP网络向协议适配器发送时间同步请求报文,所述时间同步请求报文携带报文发送时间戳T1,所述NTP客户端可支持MD5摘要算法。
3.如权利要求2所述的网络时间协议转换方法,其特征在于,所述步骤2的具体过程为:步骤21,协议适配器接收时间同步请求报文,经数据报文变换和时间戳转化后,转换为时延请求报文;步骤22,协议适配器通过PTP网络将时延请求报文发送给PTP主时钟服务器。
4.如权利要求3所述的网络时间协议转换方法,其特征在于,所述数据报文变换是指将协议适配器接收到的NTP域的时间同步请求报文变换为PTP域的时延请求报文,记录NTP客户端的IP地址,记录时间同步请求报文发送时间戳T1,建立NTP客户端IP地址与时延请求报文sequenceID字段对应关系,建立时间同步报文发送时间戳T1与时延请求报文sequenceID字段对应关系。
5.如权利要求4所述的网络时间协议转换方法,其特征在于,所述时间戳转化包括时间戳值转化和时间戳映射两部分,所述时间戳值转化是指将接收到的时间同步请求报文中的报文发送时间戳T1转化为PTP域时间戳值;所述时间戳映射是指将时间同步请求报文中的Originate Timestamp字段映射为PTP域时延请求报文中的originateTimestamp字段。
6.如权利要求5所述的网络时间协议转换方法,其特征在于,所述步骤3的具体过程为:所述PTP主时钟服务器记录时延请求报文接收时间戳T2,产生Sync报文、Announce报文、Pdelay_Resp报文和Pdelay_Resp_Follow_Up报文并转发给所述协议适配器;所述Sync报文包含Sync报文精确发送时间戳T0,所述Announce报文包含所述PTP主时钟服务器的时钟状态参数信息,所述Pdelay_Resp报文包含Pdelay_Req报文精确接收时间戳T2,所述Pdelay_Resp_Follow_Up报文包含Pdelay_Resp报文精确发送时间戳T3。
7.如权利要求6所述的网络时间协议转换方法,其特征在于,所述步骤5的具体过程为:所述NTP客户端接收所述协议适配器发送的时间同步请求响应报文,记录时间同步请求响应报文接收时间T4;解析所述时间同步请求响应报文并获取时钟状态信息及时间戳值,所述NTP客户端根据时间戳T1、时间戳T2、时间戳T3、时间戳T4经数学运算可以计算出与所述PTP主时钟服务器之间的时间偏差;所述NTP客户端结合PTP主时钟状态信息、采用标准NTP算法调整本地系统时间,从而实现时间同步。
8.一种网络时间协议转换系统,其特征在于,包括NTP客户端、协议适配器和PTP主时钟服务器,所述NTP客户端通过NTP网络连接协议适配器,向协议适配器发送时间同步请求报文;所述协议适配器通过PTP网络连接PTP主时钟服务器,将协议适配器根据时间同步请求报文转化的时延请求报文发送至PTP主时钟服务器;所述PTP主时钟服务器通过PTP网络连接协议适配器,将时延报文产生响应报文并转发给协议适配器;所述协议适配器通过NTP网络连接NTP客户端,将所述协议适配器根据响应报文转化的NTP时间同步响应报文转发给NTP客户端;
所述协议适配器根据响应报文转化的NTP时间同步响应报文转发给NTP客户端的过程为:步骤41,所述协议适配器接收所述PTP主时钟服务器发送的Sync报文、Announce报文、Pdelay_Resp报文和Pdelay_Resp_Follow_Up报文;步骤42,(1)进行数据报文变换:将协议适配器接收到的PTP域数据报文:Sync报文、Announce报文、Pdelay_Resp报文和Pdelay_Resp_Follow_Up报文,变换为NTP域时间同步响应报文;(2)所述时间戳转化包括时间戳值转化和时间戳映射两部分;进行时间戳值转化:将所述Sync报文中的Sync报文发送时间戳值T0、Pdelay_Resp报文中的时延请求报文接收时间戳T2、Pdelay_Resp_Follow_Up报文中的Pdelay_Resp报文发送时间戳值T3转换为NTP域时间戳值;进行时间戳映射:将Sync报文中的originateTimestamp字段映射为NTP时延请求响应报文Ntp_Resp中的ReferenceTimestamp字段,将Ntp_Req报文发送时间戳T1映射为NTP时延请求响应报文Ntp_Resp中的Originate Timestamp字段,将Pdelay_Resp报文中的requestReceiptTimestamp字段映射为NTP时间同步请求响应报文Ntp_Resp中的Receive Timestamp字段,将Pdelay_Resp_Follow_Up报文中的responseOriginTimestamp字段映射为NTP时间同步请求响应报文Ntp_Resp中的Transmit Timestamp字段;(3)进行参数匹配:协议适配器接收所述PTP主时钟服务器发送的Announce报文,解析currentUtcOffset字段值,获取UTC与TAI时间差值,所述差值用于NTP时间戳与PTP时间戳值转化;解析flagField字段值,获取闰秒预告参数,将PTP域闰秒参数转换为NTP域闰秒参数;解析grandmasterClockQuality字段值,获取时钟质量等级参数,将PTP域时钟质量等级参数转换为NTP域时钟等级参数;解析grandmasterClockQuality字段值,获取时钟精度参数,将PTP域时钟精度参数转换为NTP域时钟精度参数;解析grandmasterClockQuality字段值,获取时钟精度参数,将PTP域时钟精度参数转换为NTP域时钟精度参数;(4)进行时延补偿:计算协议适配器与所述PTP主时钟服务器之间PTP数据报文的往返时延Roundtrip,将计算所得的Roundtrip值转化为NTP时间同步请求响应报文Ntp_Reap中的Root Delay字段值;计算协议适配器中数据报文驻留时间的变化值,将计算所得值转化为NTP时间同步请求响应报文Ntp_Reap中的Root Dispersion字段值,所述Root Delay字段表示协议适配器与上级参考时钟之间的往返时延值,RootDispersion字段表示协议适配器时钟误差;步骤43,协议适配器获取处理后的时间同步请求响应报文;步骤44,协议适配器根据NTP客户端IP地址与时间同步请求响应报文sequenceId字段对应关系,确定NTP客户端IP地址,将所述Ntp_Reap报文发送到相应NTP客户端。
9.如权利要求8所述的网络时间协议转换系统,其特征在于,所述PTP主时钟服务器与协议适配器采用主从方式进行时间同步;所述NTP客户端与协议适配器采用客户端/服务器工作模式进行时间同步。
CN201810905912.1A 2018-08-10 2018-08-10 一种网络时间协议转换方法及系统 Active CN108667547B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810905912.1A CN108667547B (zh) 2018-08-10 2018-08-10 一种网络时间协议转换方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810905912.1A CN108667547B (zh) 2018-08-10 2018-08-10 一种网络时间协议转换方法及系统

Publications (2)

Publication Number Publication Date
CN108667547A CN108667547A (zh) 2018-10-16
CN108667547B true CN108667547B (zh) 2019-10-11

Family

ID=63789014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810905912.1A Active CN108667547B (zh) 2018-08-10 2018-08-10 一种网络时间协议转换方法及系统

Country Status (1)

Country Link
CN (1) CN108667547B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106788836B (zh) * 2016-04-06 2019-09-06 新华三技术有限公司 一种系统时间的同步方法及装置
CN112153731B (zh) * 2019-06-27 2022-05-31 华为技术有限公司 一种时钟调整方法及通信装置
CN112311567B (zh) * 2019-07-26 2022-04-05 华为技术有限公司 一种通信方法及装置
CN112350794B (zh) * 2019-08-09 2024-01-16 诺基亚通信公司 一种端到端透明时钟和转发ptp报文的方法
CN112688752B (zh) * 2019-10-18 2022-11-25 华为技术有限公司 时间同步方法、用于时间同步的消息处理方法及装置
CN111682920B (zh) * 2020-07-23 2022-04-12 中国电子科技集团公司第五十四研究所 一种用于ntp授时的协议转换装置
CN112134750B (zh) * 2020-09-02 2022-06-03 中国信息通信研究院 网络时间协议压力测试方法和装置
CN112491490A (zh) * 2020-11-27 2021-03-12 南京简岱自动化科技有限公司 一种可适应不同设备的时间同步装置
CN113014351B (zh) * 2021-03-15 2022-07-22 四川英得赛克科技有限公司 一种无侵入式对时方法、系统及存储介质
CN114362873B (zh) * 2021-12-30 2023-12-19 苏州盛科通信股份有限公司 Ptp时钟同步的优化方法及应用
CN114285542B (zh) * 2022-01-28 2023-10-13 高新兴物联科技股份有限公司 一种网络时间校正方法、设备及计算机可读存储介质
CN115642976B (zh) * 2022-10-10 2023-07-21 广东越新微系统研究院 一种混合优化时间同步方法
CN116722947A (zh) * 2023-08-08 2023-09-08 广州市艾索技术有限公司 一种音频同步方法、系统、装置及可存储介质
CN117220817B (zh) * 2023-11-07 2024-01-05 江苏金智科技股份有限公司 一种多核处理器的时间同步监测的方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009546A (zh) * 2006-12-31 2007-08-01 中控科技集团有限公司 采用不同时间同步协议的网段间实现时间同步的方法
CN102710410A (zh) * 2012-06-06 2012-10-03 哈尔滨工业大学 一种ntp网络和ptp网络之间时钟同步的方法
CN103634091A (zh) * 2012-08-20 2014-03-12 中兴通讯股份有限公司 一种多同步域的时间同步系统、方法及跨域设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136738A (zh) * 2007-10-08 2008-03-05 中控科技集团有限公司 网络时钟同步方法、装置及系统
US8879586B2 (en) * 2012-12-20 2014-11-04 Broadcom Corporation Inband timestamping
CN104394030B (zh) * 2014-11-10 2018-03-02 广州供电局有限公司 电力设备时间同步装置的同步精度监测系统
CN108322281A (zh) * 2018-05-14 2018-07-24 上海市计量测试技术研究院 基于ntp的网络授时服务与评估系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009546A (zh) * 2006-12-31 2007-08-01 中控科技集团有限公司 采用不同时间同步协议的网段间实现时间同步的方法
CN102710410A (zh) * 2012-06-06 2012-10-03 哈尔滨工业大学 一种ntp网络和ptp网络之间时钟同步的方法
CN103634091A (zh) * 2012-08-20 2014-03-12 中兴通讯股份有限公司 一种多同步域的时间同步系统、方法及跨域设备

Also Published As

Publication number Publication date
CN108667547A (zh) 2018-10-16

Similar Documents

Publication Publication Date Title
CN108667547B (zh) 一种网络时间协议转换方法及系统
US9252902B2 (en) Precision timing in a data over cable service interface specification (DOCSIS) system
US9722739B2 (en) Managing time offset and frequency drift in asynchronous DOCSIS remote PHY network environments
Watt et al. Understanding and applying precision time protocol
CN101977104B (zh) 基于ieee1588精确时钟同步协议系统及其同步方法
Lipiński et al. White rabbit: A PTP application for robust sub-nanosecond synchronization
US8355476B2 (en) Timestamping method and apparatus for precise network synchronization
CN102710410B (zh) 一种ntp网络和ptp网络之间时钟同步的方法
CN103929293B (zh) 非对称延迟的时间同步方法及系统
CN110784275B (zh) 时间同步偏差调整方法、装置、终端以及接入层设备
JP2013106329A (ja) 通信装置
CN105846941B (zh) 基于ieee 1588标准的时钟透明传输装置及方法
CN106357362B (zh) 一种时间同步方法、装置及ptp系统
CN102006157A (zh) 一种时间同步的方法和系统
CN114785445B (zh) 一种风洞测压系统的时钟同步实现方法
CN105703892A (zh) 一种基于硬件时间戳实现ptp纳秒级精度的方法
CN104836654B (zh) 一种基于Ethernet POWERLINK的时钟同步方法
WO2013155944A1 (zh) 一种时钟传输方法、边界时钟及透传时钟
CN110113127A (zh) 一种基于1588协议传递时间的方法及其系统
KR20100048124A (ko) 근거리 통신망에서의 시간 동기화 방법
JP2001036538A (ja) 時刻同期方法及びその装置
CN112887046B (zh) 一种边界时钟和普通时钟数字化时间同步方法及系统
CN107888315A (zh) 一种时间同步方法
Weibel Technology update on IEEE 1588: The second edition of the high precision clock synchronization protocol
Butner et al. Nanosecond-scale event synchronization over local-area networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant