实现精确时间协议延迟请求报文的方法、装置及存储介质与流程

文档序号:25229194发布日期:2021-05-28 14:35阅读:176来源:国知局
实现精确时间协议延迟请求报文的方法、装置及存储介质与流程

本发明属于以太网领域,具体地涉及实现精确时间协议延迟请求报文的方法。



背景技术:

ieee1588定义的精确时间协议(precisiontimeprotocol,ptp)是目前被广为使用的时间同步技术方案,ieee1588的全称是“网络测量和控制系统的精密时钟同步协议标准”,用于满足测量和控制应用的分布网络时间同步的需要。ptp通过记录特定ptp协议报文到达和离开设备的时间戳,来计算恢复出本地时钟和频率。1588v2有3种时钟模式:普通时钟(oc)、边界时钟(bc)和透明时钟(tc)。

端到端透明时钟(end-to-endtransparentclock,e2etc)直接转发网络中非对等(peer-to-peer,p2p)类型的ptp协议报文,参与计算整条链路的延时。e2etc要在ptp中延迟请求报文(delayreq)中校正域字段(orrectionfield)增加本地驻留时间(residencetime)并减去出口的延迟不对称修正(delayasymmetry)的时间。

delayreq报文在经过tc时,需要更新旧的校正域(oldcorrectionfield),更新方式如下:

新的校正域(newcorrectionfield)=旧的校正域(oldcorrectionfield)+驻留时间(residencetime)-出口延迟不对称修正(delayasymmetry)时间

ptp报文在tc上的驻留时间(residencetime)的计算方法如下:

residencetime=离开时间戳–到达时间戳;

因为计算residencetime需要报文在tc上的到达时间戳,而在报文转发的同时携带这一信息到出口处非常困难,所以单纯依靠物理层无法实现tc上的ptp报文转发。

目前实现ptp的tc主要有两种方案,一种是依靠两步模式,在物理层介质相关接口(mediumdependentinterface,mdi)处记录延迟请求报文(delayreq)到达和离开的时间戳,由上层模块获取并计算驻留时间(residencetime)之后,把驻留时间(residencetime)加入到之后的延迟应答报文(delayresp)中。这种方案需要上层模块参与ptp事件报文的转发与修改,带来了实现的难度与系统复杂度。而且两步模式相比一步模式由于延迟应答报文(delayresp)转发时延增加,引起计算时机的延后,进而引入了误差,导致时间精度提升有限。

另一种方案是在物理层和介质访问控制(mediaaccesscontrol,mac)层之间的介质无关接口(mediaindependentinterface,mii)记录延迟请求报文(delayreq)到达和离开的时间戳,这样就可以把报文的修改操作实现在mac中。而根据协议理论要求,ptp时间戳的记录点应该在物理层mdi处,在mii处获取的时间戳引入了物理层(physical,phy)的路径延迟,无法在计算中避免phy上延迟变化的影响,不能完全消除phy引起的误差,导致时间精度提升有限。



技术实现要素:

本发明目的在于提供实现精确时间协议延迟请求报文的方法;解决目前实现ptp的tc主要的方案中存在实现困难大,不能完全消除phy引起的误差,导致时间精度提升有限的问题,本发明在物理层实现了ptptc对delayreq报文的一步模式转发,提升了ptp时间精度的同时,还简化了tc设备系统的设计。

第一方面,本发明提供了实现精确时间协议延迟请求报文的方法,包括以下步骤:

记录报文时间:在接收方向是报文到达phy的时间戳,在发送方向是报文离开phy的时间戳;

识别ptp报文:根据ptp报文的特征,识别ptp报文的类型信息;

根据识别的ptp报文类型信息判断是否是一步delayreq报文;

修改一步delayreq报文校正域字段:

在接收方向对于一步delayreq报文进行处理,设置起始时间戳origintimestamp为到达时间戳;

在发送方向对一步delayreq报文设置新的校正域newcorrectionfield时读取起始时间戳字段origintimestamp中记录的到达时间戳。

根据以上技术,通过设置一步delayreq报文,该报文在修改校正域字段的过程中,将所需的到达时间戳通过起始时间戳origintimestamp进行记录,在使用到达时间戳时,从起始时间戳origintimestamp中读取到达时间戳;本发明由phy在mdi处记录报文进入和离开的时间,并在转发的同时通过修改ptp报文的校正域和起始时间戳字段,实现tc上delayreq报文的一步模式处理。相比在mii处记录时间的方法,消除了phy上的时延误差。也不需要上层模块参与经过本地tc转发的ptp一步delayreq报文的处理,简化了tc的实现难度。同时因为支持一步模式,相比两步模式提升了时间精度。在物理层中实现tc上ptpdelayreq报文的修改,在提高时间精度的同时,不需要上层模块参与ptp报文处理,降低了系统的开发难度,同时也降低了产品的开发和维护成本。

进一步的,在发送方向对一步delayreq报文设置新的校正域newcorrectionfield的方法是:

新的校正域newcorrectionfield为旧的校正域oldcorrectionfield减去出口的延迟不对称修正delayasymmetry并加上驻留时间,所述驻留时间为离开时间戳减去起始时间戳origintimestamp。

进一步的,其特征在于,在修改ptp报文的同时,修正循环冗余校验crc的值。本方法支持一步delayreq报文的不同封装方式,在修改ptp报文的同时,修正循环冗余校验crc的值用于报文校验。

进一步的,如果承载ptp的是udp报文,则同时修正udp校验和字段。

进一步的,处理一步delayreq时,在出口处修改报文时把起始时间戳origintimestamp字段置为0。在出口处修改报文时把起始时间戳origintimestamp字段置为0,可以完全符合协议要求,避免一些非标应用使用该字段可能引起的问题。

在第二方面,本发明提供了实现精确时间协议延迟请求报文的装置,包括报文时间记录单元、报文识别单元、报文判断单元和报文校正域字段修改单元,其中,

报文时间记录单元,用于记录报文时间,包括,在接收方向记录报文到达phy的时间戳,在发送方向记录报文离开phy的时间戳;

报文识别单元,用于识别ptp报文,根据ptp报文的特征,识别ptp报文的类型信息;

报文判断单元,用于根据识别的ptp报文类型信息判断是否是一步delayreq报文;

报文校正域字段修改单元用于修改一步delayreq报文校正域字段;

还包括起始时间戳读写单元;

所述起始时间戳读写单元用于在接收方向对于一步delayreq报文设置起始时间戳origintimestamp为到达时间戳;在发送方向对一步delayreq报文设置新的校正域newcorrectionfield时读取起始时间戳字段origintimestamp中记录的到达时间戳。

进一步的,报文校正域字段计算单元,用于计算新的校正域newcorrectionfield,所述新的校正域newcorrectionfield为旧的校正域oldcorrectionfield减去出口的延迟不对称修正delayasymmetry并加上驻留时间,所述驻留时间为离开时间戳减去起始时间戳origintimestamp。

进一步的,包括校验值修订单元,用于在修改ptp报文的同时,修正循环冗余校验crc的值,以及,承载ptp的是udp报文时,则同时修正udp校验和字段。

进一步的,包括起始时间戳origintimestamp置零单元,用于处理一步delayreq时,在出口处修改报文时把起始时间戳origintimestamp字段置为0。

第三方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面所述的方法。

本发明的有益效果是:

1、本发明本发明由phy在mdi处记录报文进入和离开的时间,并在转发的同时通过修改ptp报文的校正域和起始时间戳字段,实现tc上delayreq报文的一步模式处理。相比在mii处记录时间的方法,消除了phy上的时延误差。也不需要上层模块参与经过本地tc转发的ptp一步delayreq报文的处理,简化了tc的实现难度。同时因为支持一步模式,相比两步模式提升了时间精度;在物理层中实现tc上ptp一步delayreq报文的修改,在提高时间精度的同时,不需要上层模块参与ptp报文处理,降低了系统的开发难度,同时也降低了产品的开发和维护成本。

2.在出口处修改报文时把起始时间戳origintimestamp字段置为0,可以完全符合协议要求,避免一些非标应用使用该字段可能引起的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的实现精确时间协议延迟请求报文方法一步delayreq报文接收方向处理的示意图。

图2是本发明提供的实现精确时间协议延迟请求报文方法一步delayreq报文发送方向处理的示意图。

图3是本发明提供的实现精确时间协议延迟请求报文装置单元模块图示意图。

具体实施方式

下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。

应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,单独存在b,同时存在a和b三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,a/和b,可以表示:单独存在a,单独存在a和b两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。

应当理解,在本文中若将单元称作与另一个单元“连接”、“相连”或“耦合”时,它可以与另一个单元直相连接或耦合,或中间单元可以存在。相対地,在本文中若将单元称作与另一个单元“直接相连”或“直接耦合”时,表示不存在中间单元。另外,应当以类似方式来解释用于描述单元之间的关系的其他单词(例如,“在……之间”对“直接在……之间”,“相邻”对“直接相邻”等等)。

应当理解,本文使用的术语仅用于描述特定实施例,并不意在限制本发明的示例实施例。若本文所使用的,单数形式“一”、“一个”以及“该”意在包括复数形式,除非上下文明确指示相反意思。还应当理解,若术语“包括”、“包括了”、“包含”和/或“包含了”在本文中被使用时,指定所声明的特征、整数、步骤、操作、单元和/或组件的存在性,并且不排除一个或多个其他特征、数量、步骤、操作、单元、组件和/或他们的组合存在性或增加。

应当理解,还应当注意到在一些备选可能设计中,所出现的功能/动作可能与附图出现的顺序不同。例如,取决于所涉及的功能/动作,实际上可以实质上并发地执行,或者有时可以以相反的顺序来执行连续示出的两个图。

应当理解,在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而,本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出系统,以避免用不必要的细节来使得示例不清楚。在其他实例中,可以不以非必要的细节来示出众所周知的过程、结构和技术,以避免使得示例实施例不清楚。

本发明的主要解决的问题是如何在tc上的物理层实现精确时间协议ptp中延迟请求报文delayreq的一步模式,在转发delayreq报文的同时,把本地驻留时间residencetime和出口delayasymmetry修正到报文correctionfield字段中。

oc或者bc在收到一步delayreq报文后,会把correctionfield字段复制到新生成的delayresp报文中,不会使用delayreq的origintimestamp进行任何计算。

如图1、图2所示,本发明第一方面提供的实现精确时间协议延迟请求报文的方法,设备检测到报文后,进行以下步骤处理:

记录报文时间:在接收方向是报文到达phy的时间戳,在发送方向是报文离开phy的时间戳;

识别ptp报文:根据ptp报文的特征,识别ptp报文的类型信息;

根据识别的ptp报文类型信息判断是否是一步delayreq报文;

修改一步delayreq报文校正域字段:

在接收方向对于一步delayreq报文进行处理,修改起始时间戳origintimestamp为到达时间戳;

在发送方向对一步delayreq报文设置新的校正域newcorrectionfield时读取起始时间戳字段origintimestamp中记录的到达时间戳。

实施时,在发送方向对一步delayreq报文设置新的校正域newcorrectionfield的方法是:

新的校正域newcorrectionfield为旧的校正域oldcorrectionfield减去出口的延迟不对称修正delayasymmetry并加上驻留时间,所述驻留时间为离开时间戳减去起始时间戳origintimestamp。

实施时,在修改ptp报文的同时,修正循环冗余校验crc的值。如果承载ptp的是udp报文,则同时修正udp校验和字段。具体实施时,报文有修改,校验值也应该相应地修改,根据不同的ptp报文格式,做相应的校验修改。

在一种可能的设计中,处理一步delayreq时,在出口处修改报文时把起始时间戳origintimestamp字段置为0。ptp协议对于普通时钟oc或者边界时钟bc发出的delayreq中起始时间戳origintimestamp字段的要求是设置为0或者离开时间戳。tc在处理一步delayreq时,在出口处修改报文时把起始时间戳origintimestamp字段置为0,可以完全符合协议要求,避免一些非标应用使用该字段可能引起的问题。

综上,本发明在物理层实现了精确时间协议ptp中间设备tc对delayreq报文的一步模式转发,提升了ptp时间精度的同时,还简化了tc设备系统的设计。

如图2所示,在第二方面,本实施例提供实现精确时间协议延迟请求报文的装置,包括报文时间记录单元、报文识别单元、报文判断单元和报文校正域字段修改单元,其中,

报文时间记录单元,用于记录报文时间,包括,在接收方向记录报文到达phy的时间戳,在发送方向记录报文离开phy的时间戳;

报文识别单元,用于识别ptp报文,根据ptp报文的特征,识别ptp报文的类型信息;

报文判断单元,用于根据识别的ptp报文类型信息判断是否是一步delayreq报文;

报文校正域字段修改单元用于修改一步delayreq报文校正域字段;

还包括起始时间戳读写单元,所述起始时间戳读写单元用于在接收方向对于一步delayreq报文设置起始时间戳origintimestamp为到达时间戳;在发送方向对一步delayreq报文设置新的校正域newcorrectionfield时读取起始时间戳字段origintimestamp中记录的到达时间戳。

相应的,该装置还包括报文校正域字段计算单元,用于计算新的校正域newcorrectionfield,所述新的校正域newcorrectionfield为旧的校正域oldcorrectionfield减去出口的延迟不对称修正delayasymmetry并加上驻留时间,所述驻留时间为离开时间戳减去起始时间戳origintimestamp。

实施时,该装置包括校验值修订单元,用于在修改ptp报文的同时,修正循环冗余校验crc的值,以及,承载ptp的是udp报文时,则同时修正udp校验和字段。

实施时,该装置还包括起始时间戳origintimestamp置零单元,用于处理一步delayreq时,在出口处修改报文时把起始时间戳origintimestamp字段置为0。

本实施例第三方面提供了一种存储包含在第一方面或第一方面中任意一种可能设计所述实现精确时间协议延迟请求报文方法的指令的计算机可读存储介质,即所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如在第一方面或第一方面中任意一种可能设计所述的实现精确时间协议延迟请求报文的方法。其中,所述计算机可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(memorystick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。

本实施例第三方面提供的前述计算机可读存储介质的工作过程、工作细节和技术效果,可以参见如上第一方面或第一方面中任意一种可能设计所述的交互方法,于此不再赘述。

本实施例第四方面提供了另外一种执行在第一方面或第一方面中任意一种可能设计所述实现精确时间协议延迟请求报文的装置,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如在第一方面或第一方面中任意一种可能设计中所执行步骤。具体举例的,所述存储器可以但不限于包括随机存取存储器(random-accessmemory,ram)、只读存储器(read-onlymemory,rom)、闪存(flashmemory)、先进先出存储器(firstinputfirstoutput,fifo)和/或先进后出存储器(firstinputlastoutput,filo)等等;所述收发器可以但不限于为无线保真(wirelessfidelity,wifi)无线收发器、蓝牙无线收发器、通用分组无线服务技术(generalpacketradioservice,gprs)无线收发器和/或紫蜂协议(基于ieee802.15.4标准的低功耗局域网协议,zigbee)无线收发器等。此外,所述实现精确时间协议延迟请求报文的装置还可以但不限于包括有电源模块和其它必要的部件。

本实施例第四方面提供的前述精确时间协议延迟请求报文装置的工作过程、工作细节和技术效果,可以参见如上第一方面或第一方面中任意一种可能设计所述的交互方法,于此不再赘述。

本实施例第五方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如在第一方面或第一方面中任意一种可能设计所述的实现精确时间协议延迟请求报文的方法。其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。

以上所描述的实施例仅仅是示意性的,若涉及到作为分离部件说明的单元,其可以是或者也可以不是物理上分开的;若涉及到作为单元显示的部件,其可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

最后应说明的是,本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1