高精度NTP报文接收方法和发送方法技术

技术编号:14200384 阅读:457 留言:0更新日期:2016-12-17 13:45
高精度NTP报文接收方法,涉及通信技术。本发明专利技术包括下述步骤:1)PHY接口接收报文,FPGA从PHY发到MAC接口的报文中识别出NTP报文,并提取出NTP报文的源IP地址和IP标识数据;2)FPGA记录NTP报文的接收时间戳,并将NTP报文的源IP地址和IP标识数据作为一条数据缓存到存储区;3)CPU处理MAC接收报文,对于其中的NTP报文,根据NTP报文的源IP地址和IP标识从存储区读取出NTP报文的接收时间时间戳。本发明专利技术提高了NTP报文/接收发送时间戳的准确性。

High precision NTP message receiving method and transmitting method

High precision NTP message receiving method, relating to communication technology. The invention comprises the following steps: 1) PHY interface to receive the message from PHY FPGA, to identify the NTP message MAC message interface, and extract the NTP message source IP address and IP identification data; 2) receives a time stamp record FPGA NTP message, and NTP message source IP address and the IP logo the data as a data cache to the storage area; 3) CPU MAC NTP for receiving the message, the message receiving time, according to the time of the NTP message source IP address and the IP logo from the store to read NTP message stamp. The invention improves the accuracy of the NTP message and the receiving and sending time stamp.

【技术实现步骤摘要】

本专利技术涉及通信技术。
技术介绍
随着科技的持续发展,许多行业对时间同步的要求越来越高,高精度的、可靠的系统时间同步是诸多领域安全可靠运行的保障,如通信、电力、交通、金融证券、航天科研等。在传统的时间同步技术中,主要由客户端与服务器间直接通过携带时间戳的报文进行交换,并利用一定的算法来进行时间同步。随着目前网络对安全性要求的不断提高,为了防止恶意修改或复制时间戳造成安全风险,基于认证的网络时间同步技术得到广泛地应用。NTP是一种广泛应用在网络成员之间的时间同步协议,实现NTP协议的网络成员间通过交互NTP报文使得彼此的时钟一致,从而实现自动调节各个系统时钟的功能。NTP不仅可提供精准的时间同步服务,而且支持认证机制和MD5验证。因此,NTP是一种具有抗网络安全风险的网络时间同步协议。传统的NTP主要由CPU采用软件的方式来获取NTP报文的收发时间戳,因此NTP的授时精度一般都在毫秒级别,采用专用的服务器也只能达到微秒级。因此,NTP收发时间戳的精度是影响NTP时间同步精度的最主要因素,NTP报文的收发时间戳的精度越高,NTP时间同步的精度才能提高。中国专利CN201210008137.2“高精度NTP授时系统的授时方法”公开了一种利用可编程逻辑器件对经过的NTP报文进行时间戳插入修改并修改CRC32校验来保证报文完整性,来提高NTP的授时校时精度。该方法NTP报文的生成或处理都有CPU来完成,只是在MAC和PHY之间,利用可编程逻辑器件对经过的NTP报文进行时间戳插入或修改,并重新计算替换报文的CRC32校验。这种处理方法不能适用于带有认证机制的NTP报文。因为带有认证机制的NTP报文自报文生成后,若报文的信息传输过程中被修改,会破坏NTP报文认证信息的完整性,接收端将丢弃不能通过认证的NTP报文。
技术实现思路
本专利技术所要解决的技术问题是,提供一种能够准确获取NTP报文的接收时间的NTP报文接收方法,以及一种能够准确控制NTP报文的发送时间的NTP报文发送方法。本专利技术解决所述技术问题采用的技术方案是,高精度NTP报文接收方法,其特征在于,包括下述步骤:1)PHY接口接收报文,FPGA从PHY发到MAC接口的报文中识别出NTP报文,并提取出NTP报文的源IP地址和IP标识数据;;2)FPGA记录NTP报文的接收时间戳,并将NTP报文的源IP地址和IP标识数据作为一条数据缓存到存储区(FIFO);3)CPU处理MAC接收报文,对于其中的NTP报文,根据NTP报文的源IP地址和IP标识从FIFO读取出NTP报文的接收时间时间戳。进一步的,所述步骤3)中,CPU依据NTP报文的源IP地址和IP标识数据在FIFO中进行查找配对,确定NTP报文的接收时间戳。(从FIFO中依次读取一条数据根据源IP地址和IP标识数据与接收的NTP报文的源IP地址和IP标识进行比较,当比较结果相同时,将该条数据的时间数据作为接收NTP报文的接收时间数据。)本专利技术还提供一种高精度NTP报文发送方法,其特征在于,包括下述步骤:a)CPU生成NTP报文并由MAC发到FPGA,其发送时间戳中包含了预留时延,所述预留时延为报文从生成到发送端口预计所需的发送时间;b)FPGA对来自MAC发送接口的报文进行识别和缓存,识别出其中的NTP报文,并记录NTP报文的发送时间戳数据;c)FPGA优先安排NTP报文在其发送时间戳时刻将NTP报文发送到PHY接口。进一步的,步骤c)中,FPGA依据NTP报文的发送时间戳和当前系统时间,计算下一帧可发的非NTP报文(非NTP报文可能缓存了很多帧,应该是先查看下一帧,如果下一帧满足发送条件,则发该帧;完成了,又重复该过程)的长度,如果可发的非NTP报文长度大于缓存的非NTP报文长度,则将该非NTP报文发送至PHY接口;如果可发的非NTP报文长度小于或等于缓存的非NTP报文长度,则等待至NTP报文发送时间戳的时刻,在发送时间戳的时刻将NTP报文发到PHY接口。步骤b)中,FPGA将NTP报文存储在NTP报文存储区,将非NTP报文存储在非NTP报文存储区。对于非NTP报文缓存,应该记录报文长度,便于发送调度计算;对NTP报文,应该从报文中提取出发送时间戳数据,作为该报文的发送时间控制数据。本专利技术通过硬件方式获取NTP报文的接收时间戳,提高了NTP报文接收时间戳精度;通过NTP报文的特征数据与接收时间戳来匹配,保证NTP接收时间与报文处理时的数据一致性。这样从获取时间戳的方式及数据的可靠匹配保证了NTP报文的接收时间戳的精度。本专利技术通过硬件方式控制NTP报文的发送时间与报文中所设置的时间数据一致,提高了NTP报文发送时间戳的准确性。本专利技术不改变报文的任何内容,保证了报文的完整性,适用于带有认证及MD5验证功能的NTP应用需求。附图说明图1为本专利技术的方案示意图。具体实施方式参见图1。在NTP报文接收端,从PHY发到与MAC接口的以太报文进行报文识别,根据NTP报文的特征如UDP的端口号123识别出是否是NTP报文,对于NTP报文提出NTP报文源IP地址及IP标识数据,并记录从PHY接口接收报文时刻的时间戳,再将时间戳数据、源IP地址及IP标识数据作为一条数据缓存到FIFO中;CPUFIFO的读取接口获取该NTP报文的接收时间戳数据并可以根据源IP地址及IP标识数据来准确实现接收时间戳与NTP报文的匹配,该报文经过报文识别后直接送到MAC接收接口;对于非NTP报文,直接送到MAC接收接口。以上皆由FPGA完成。CPU从MAC中解析出NTP报文并从FIFO接口获取报文的接收时间戳,即得到NTP报文到达接收端的准确的时间戳数据。对于时间戳与报文的通道不一致,采用提取报文中的特征数据与时间戳来进行匹配,从而保证来时间戳数据的可靠性和可操作性。在NTP报文发送端,当CPU生成NTP报文时,对于NTP报文中的发送时间戳数据要充分考虑报文从生产到发送端口发出的时间,因此发送时间戳数据要落后于NTP报文的实际生成时间。从MAC发送接口发出的以太报文,交FPGA,经过报文识别,根据NTP报文的特征如UDP的端口号123识别出是否是NTP报文,并提取出NTP报文中的发送时间戳数据,并将识别出的报文分类缓存,将NTP报文及其发送时间戳数据缓存于NTP报文缓存区域,将非NTP报文及其长度缓存于非NTP报文缓存区域。根据缓存区域中的NTP报文及非NTP报文缓存情况进行发送调度控制,优先保证NTP报文在其数据报文中设置的发送时间戳时刻发送,在无NTP报文发送或NTP报文的等待时间长时发送非NTP报文缓存区的以太报文数据。发送调度可以根据NTP报文的发送时间戳及当前系统时间,计算出可发非NTP报文的报文长度,如果该长度大于非NTP报文缓存区域中的报文长度,则将该报文从非NTP报文缓存区域发出到PHY接口;若计算出的长度小于非NTP报文缓存区域的报文长度,则等待NTP报文的发送,当NTP报文的发送时刻到来时,立即将NTP报文发送到PHY接口。NTP时间在FPGA内根据工作时钟的控制自动运行时间,CPU根据参考时间或NTP报文计算出系统的时间偏差,通过校时接口校准系统NTP时间。这种通过时钟在FPGA内运行时间的方式,从硬件上保证了时间运行的本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/62/201610622222.html" title="高精度NTP报文接收方法和发送方法原文来自X技术">高精度NTP报文接收方法和发送方法</a>

【技术保护点】
高精度NTP报文接收方法,其特征在于,包括下述步骤:1)PHY接口接收报文,FPGA从PHY发到MAC接口的报文中识别出NTP报文,并提取出NTP报文的源IP地址和IP标识数据;;2)FPGA记录NTP报文的接收时间戳,并将NTP报文的源IP地址和IP标识数据作为一条数据缓存到FIFO;3)CPU处理MAC接收报文,对于其中的NTP报文,根据NTP报文的源IP地址和IP标识从FIFO读取出NTP报文的接收时间时间戳。

【技术特征摘要】
2016.06.30 CN 20161051436021.高精度NTP报文接收方法,其特征在于,包括下述步骤:1)PHY接口接收报文,FPGA从PHY发到MAC接口的报文中识别出NTP报文,并提取出NTP报文的源IP地址和IP标识数据;;2)FPGA记录NTP报文的接收时间戳,并将NTP报文的源IP地址和IP标识数据作为一条数据缓存到FIFO;3)CPU处理MAC接收报文,对于其中的NTP报文,根据NTP报文的源IP地址和IP标识从FIFO读取出NTP报文的接收时间时间戳。2.高精度NTP报文接收方法,其特征在于,所述步骤3)中,CPU依据NTP报文的源IP地址和IP标识数据在FIFO中进行查找配对,确定NTP报文的接收时间戳。(从FIFO中依次读取一条数据根据源IP地址和IP标识数据与接收的NTP报文的源IP地址和IP标识进行比较,当比较结果相同时,将该条数据的时间数据作为接收NTP报文的接收时间数据) 。3.高精度NTP报文发送方法...

【专利技术属性】
技术研发人员:何定高王茂凌谢平楚鹰军
申请(专利权)人:电信科学技术第五研究所
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1