CN117768413A - 一种ptp报文的处理方法、装置和网络设备 - Google Patents

一种ptp报文的处理方法、装置和网络设备 Download PDF

Info

Publication number
CN117768413A
CN117768413A CN202311811032.5A CN202311811032A CN117768413A CN 117768413 A CN117768413 A CN 117768413A CN 202311811032 A CN202311811032 A CN 202311811032A CN 117768413 A CN117768413 A CN 117768413A
Authority
CN
China
Prior art keywords
ptp
message
processing
ptp message
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.)
Pending
Application number
CN202311811032.5A
Other languages
English (en)
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.)
Kyland Technology Co Ltd
Original Assignee
Kyland Technology 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 Kyland Technology Co Ltd filed Critical Kyland Technology Co Ltd
Priority to CN202311811032.5A priority Critical patent/CN117768413A/zh
Publication of CN117768413A publication Critical patent/CN117768413A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种PTP报文的处理方法,包括:通过通信端口接收报文,所述报文包括PTP报文;通过PHY芯片解析出接收的报文为PTP报文时,由PHY芯片的时间戳寄存器记录所述PTP报文到达时的时间戳;CPU获取所述PTP报文,读取所述时间戳寄存器记录的该PTP报文到达时的时间戳,将所述PTP报文和所述时间戳一同发送到PTP收包队列,以由PTP处理任务处理。本申请还提供了PTP报文的处理装置和网络设备。使用本申请,能缩短对PTP报文的处理过程,以实现网络设备能更快且更准确的对收到的PTP报文进行处理,以适应某些现场对PTP响应速度和准确性有较高要求的场景。

Description

一种PTP报文的处理方法、装置和网络设备
技术领域
本申请涉及工业以太网交换机精密时间同步技术领域,特别涉及一种PTP报文的处理方法、装置和网络设备。
背景技术
精确时间协议(Precision Time Protocol,PTP)是一种时间同步的协议,可用于网络设备之间的高精度时间同步。当一网络设备收到PTP报文后,其对该PTP报文的处理过程如下:
S1:网络设备通过其一通信端口收到报文,网络设备通过该通信端口对应的物理层芯片(Physical Layer,PHY)解析报文为PTP报文时,通过该PHY芯片的时间戳寄存器记录PTP报文到达时的时间戳(也称为硬件时间戳),并将PTP报文发送至网络设备的CPU。
S2:网络设备的CPU获取所述PTP报文,将PTP报文发送到收发包处理函数,收发包处理函数会遍历已注册的各协议模块的收包函数,以由各协议模块的收包函数确认是否是其要处理的协议的报文。其中,这里的各协议模块中包括PTP模块。
S3:其中,当遍历到PTP模块的收包处理函数时,该收包函数再次判断报文是PTP报文后,将此PTP报文放入到PTP模块的PTP收包队列中。
S4:PTP处理任务从PTP收包队列中取出PTP报文,然后从PHY芯片的时间戳寄存器中读出该PTP报文的到达时的时间戳,然后对该PTP报文进行相应的处理。
由上可以看出,由于包括需要遍历各协议模块收包函数,由各协议模块的收包函数确认是否是其要处理的对应协议的报文过程,导致整体处理PTP报文的流程复杂,对PTP报文处理效率不高、耗时较长,这将不适用于需要网络设备快速处理PTP报文的场景。
上述问题在使用PTP测试仪对网络设备测试时也有所体现。具体的,使用PTP测试仪向网络设备每间隔1秒发送一PTP Pdelay request报文进行测试,且测试要求在1秒内收到网络设备响应PTP Pdelay request而返回的PTP Pdelay response报文,而实际的测试结果是:PTP测试仪会产生报文超时报错,也会产生报文时间戳错误报错。PTP测试仪报错的具体原因如下:
原因之一:如上所述,现有的网络设备处理PTP报文的流程复杂,如上述步骤S2和S3中,将PTP Pdelay request报文送到放入PTP收包队列的过程,需要遍历各协议模块的收包函数,各收包函数判断是否是其要处理的报文,耗费时间较长,使得网络设备响应PTPPdelay request报文而返回的PTP Pdelay response时间过长(超过1秒),从而导致测试仪在1秒内未收到响应报文而产生超时报错;
原因之二:由于上述原因之一中的处理时间较长,导致上述步骤S4中的从时间戳寄存器读取该PTP报文的时间戳过晚,若寄存器中的时间戳已经被后续到达的PTP报文的时间戳所覆盖,则读取的PTP报文的时间戳不正确(即非所述PTP Pdelay request报文的到达时的时间戳),从而网络设备生成的PTP Pdelay request报文中所填写相关信息(相关信息如基于时间戳计算的传输延时、或返回的该时间戳)不正确,使得PTP测试仪会产生报文时间戳错误报错。
基于此,有待提供一种方案,以使网络设备能缩短对PTP报文的处理过程,以实现网络设备能更快且更准确的对收到的PTP报文完成响应,以适应某些现场对PTP处理速度有较高要求的场景。
发明内容
鉴于现有技术的以上问题,本申请提供一种PTP报文的处理方法、装置和网络设备,以实现网络设备能缩短对PTP报文的处理过程以及提高报文处理的准确性。
为达到上述目的,本申请第一方面提供了一种PTP报文的处理方法,包括:通过通信端口接收报文,所述报文包括PTP报文;通过PHY芯片解析出接收的报文为PTP报文时,由PHY芯片的时间戳寄存器记录所述PTP报文到达时的时间戳;通过CPU获取所述PTP报文,读取所述时间戳寄存器记录的该PTP报文到达时的时间戳,将所述PTP报文和所述时间戳一同发送到PTP收包队列,以由PTP处理任务处理。
由上,本申请将背景技术中的PTP报文处理过程进行了简化,具体的,当判断是PTP报文后,简化掉CPU通过收发包处理函数遍历已经注册的各协议模块的收包函数的过程,而是直接放入到PTP收包队列,以由PTP处理任务处理。本申请方案缩短了对PTP报文的处理时间,可更快的对收到的PTP报文完成响应,而能适应某些现场对PTP处理速度有较高要求的场景。并且,本申请方案中,连同PHY记录的PTP时间戳一同放入到PTP收包队列,解决了背景技术中的时间戳被后续PTP报文到达时进行覆盖的问题,提高了报文处理的准确性,能适应某些现场对PTP处理准确度有较高要求的场景。
作为第一方面的一种可能的实现方式,所述通过PHY芯片记录所述PTP报文到达时的时间戳,包括:通过所述PHY芯片包括的两个时间戳寄存器,以乒乓存储的方式记录各PTP报文到达时的时间戳。
由上,通过乒乓存储的方式,可以高效利用两个时间戳寄存器。
作为第一方面的一种可能的实现方式,所述两个时间戳寄存器中的一个,被配置为用于记录预定类型的PTP报文的到达时的时间戳:其中,PTP报文对应的PTP处理任务中需要使用该PTP报文的到达时的时间戳时,该PTP报文为所述预定类型的PTP报文。
由上,如上配置方式使用时间戳寄存器,针对预定类型的PTP报文,可以减少被其它类型的PTP报文迅速到来后将时间戳覆盖的可能性。该预定类型报文例如是需高优先级处理的PTP报文,例如是PTP Pdelay request报文、PTP delay request等。
作为第一方面的一种可能的实现方式,所述PTP收包队列包括不同优先级的队列,所述将所述PTP报文和所述时间戳发送到PTP收包队列,包括:确定所述PTP报文的处理优先级,将所述PTP报文和所述时间戳发送到对应所述处理优先级的PTP收包队列。
由上,通过优先级的处理方式,可以更有针对性的对某些PTP报文实现优先处理,以适应这些需要更快速处理、更快速实现响应的PTP报文。
作为第一方面的一种可能的实现方式,所述确定所述PTP报文的处理优先级,包括:通过配置文件方式记录各PTP报文的处理优先级,根据所述配置文件确定接收的PTP报文的处理优先级。
由上,可以采用配置文件的方式实现优先级的确定。配置文件的方式的优点是配置文件便于修改,灵活性高。
作为第一方面的一种可能的实现方式,所述确定所述PTP报文的处理优先级,包括:在PTP报文的保留字段,或增设的一字段携带有PTP报文的优先级,根据所述字段确定接收的PTP报文的处理优先级。
由上,可以采用报文中的某字段的方式携带优先级,以实现优先级的确定。该方式的优点是使用报文本身,可以使得收到报文的各设备均可以获知报文的优先级,不需预先配置。
作为第一方面的一种可能的实现方式,所述PTP收包队列包括高优先级队列和低优先级队列,所述由PTP处理任务处理包括:当高优先级队列中有PTP报文时,处理高优先级队列中的PTP报文;当高优先级队列中无PTP报文时,处理低优先级队列中的PTP报文,且每处理完一个PTP报文,去判断高优先级队列中是否有PTP报文要处理。
由上,基于上述优先级的收包队列处理PTP报文的方式,可以保证高优先级PTP队列中的报文优先被处理,实现高优先级PTP报文的快速处理。
作为第一方面的一种可能的实现方式,所述由PTP处理任务处理,包括以下至少之一的处理:基于所述PTP报文产生响应报文以发送;基于所述PTP报文和所述到达时的时间戳产生响应报文以发送,所述响应报文中携带所述到达时的时间戳;基于所述PTP报文和所述到达时的时间戳计算传输延时。
由上,可以根据需要,本申请应用于对不同PTP报文的处理过程。
本申请第二方面提供了一种PTP报文的处理装置,包括:获取单元,用于通过通信端口接收报文,所述报文包括PTP报文;第一执行单元,用于通过PHY芯片解析出接收的报文为PTP报文时,由PHY芯片的时间戳寄存器记录所述PTP报文到达时的时间戳;第二执行单元,用于通过CPU用于从PHY芯片获取所述PTP报文、从所述时间戳寄存器读取所述PTP报文的到达时的时间戳,并将所述PTP报文和所述时间戳一同发送到PTP收包队列,以由PTP处理任务处理。
本申请第三方面提供了一种网络设备,包括:至少一个通信端口、每个通信端口对应一PHY芯片,每个PHY芯片包括时间戳寄存器、CPU;所述通信端口用于接收报文,所述报文包括PTP报文;所述PHY芯片用于解析所接收的报文,以及当解析出为PTP报文时通过PHY芯片的时间戳寄存器记录所述PTP报文到达时的时间戳;所述CPU用于从PHY芯片获取所述PTP报文、从所述时间戳寄存器读取所述PTP报文的到达时的时间戳,并将所述PTP报文和所述时间戳一同发送到PTP收包队列,以由PTP处理任务处理。
本申请第四方面提供了一种计算设备,包括:通信接口,以及至少一个处理器;其中,所述至少一个处理器用于执行程序指令,所述程序指令当被所述至少一个处理器执行时使得所述计算设备实现上述第一方面的任一所述的方法。
本申请第五方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机实现上述第一方面的任一所述的方法。
附图说明
图1是本申请第一实施例提供的PTP报文处理方法的流程图;
图2是本申请第二实施例提供的PTP报文处理方法的流程图;
图3是本申请第三实施例提供的PTP报文处理装置的示意图;
图4是本申请第四实施例提供了一种网络设备的示意图;
图5是本申请第五实施例提供的一种计算设备的示意图。
应理解,上述结构示意图中,各框图的尺寸和形态仅供参考,不应构成对本发明实施例的排他性的解读。结构示意图所呈现的各框图间的相对位置和包含关系,仅为示意性地表示各框图间的结构关联,而非限制本发明实施例的物理连接方式。
具体实施方式
下面结合附图并举实施例,对本申请提供的技术方案作进一步说明。应理解,本申请实施例中提供的系统结构和业务场景主要是为了说明本申请的技术方案的可能的实施方式,不应被解读为对本申请的技术方案的唯一限定。本领域普通技术人员可知,随着系统结构的演进和新业务场景的出现,本申请提供的技术方案对类似技术问题同样适用。
应理解,本申请实施例提供的PTP报文的处理方案,包括PTP报文的处理方法、装置、网络设备、计算设备及存储介质。由于这些技术方案解决问题的原理相同或相似,在如下具体实施例的介绍中,某些重复之处可能不再赘述,但应视为这些具体实施例之间已有相互引用,可以相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。为了准确地对本申请中的技术内容进行叙述,以及为了准确地理解本发明,在对具体实施方式进行说明之前先对本说明书中所使用的术语给出如下的解释说明或定义:
1)精确时间协议(Precision Time Protocol,PTP):是一种时间同步的协议,可以到达亚微秒级精度,用于网络设备之间的高精度时间同步。PTP时钟同步的基本原理包括时间发出和接收时间信息的记录,并且对每一条信息增加一个时间戳。有了记录的时间记录,可以计算出设备在网络中的时钟误差和延时,以用于校正时钟、同步等。
2)PTP报文:即PTP协议中传输信息的载体。常见的PTP报文包括PTP Sync报文、PTPPdelay request报文、PTP Pdelay response报文、PTP delay request报文、PTP delayresponse报文,其他报文又如PTP Follow up报文、PTP Announce报文等等。
下面对常见的PTP报文进行简介:
PTP Sync报文,即同步报文,用于同步设备时钟,该报文字段包括源时钟(sourceclock)和时间戳(timestamp),各设备可基于同步报文调整自己的时钟以同步。
PTP Pdelay request报文和PTP Pdelay response报文,用于对两个设备之间的传输延迟进行测量以精确调整,以提高时钟的准确性。其中PTP Pdelay request报文包含了发送者的时间戳,PTP Pdelay response报文包含了回复者的时间戳和传输延时。
PTP delay request报文和PTP delay response报文,与PTP Pdelay request报文和PTP Pdelay response报文类似,区别在于PTP Pdelay request报文和PTP Pdelayresponse报文应用于点到点(Point to Point,P2P)通信。
3)PTP协议中的时间戳:PTP协议将时间戳下移到PHY层,或MAC层和PHY层之间,或MAC层,通过硬件产生的时钟进行时间标记。例如,可以在PHY芯片(该PHY芯片可以是以太网收发芯片)内置高精度IEEE 1588同步时钟,从而可以在最靠近通信端口的位置获取时间标记(即打时间戳),由于是通过硬件执行时间标记,故,也成为硬件时间戳。
本申请提供的PTP报文的处理方案,将背景技术中的PTP报文处理过程进行了简化,具体的,当判断是PTP报文后,简化掉CPU通过收发包处理函数遍历已经注册的各协议模块的收包函数的过程,而是直接放入到PTP收包队列,以由PTP处理任务处理。并且连同PHY记录的该PTP时间戳一同放入到该PTP收包队列,以解决背景技术中的时间戳被后续PTP报文到达时进行覆盖的问题。本申请的方案,使网络设备缩短了对PTP报文的处理时间,实现了更快的对收到的PTP报文完成响应,从而能适应某些现场对PTP处理速度有较高要求的场景。
其中,本申请实施例提供的PTP报文的处理方案,可以应用于网络设备,网络设备如支持PTP协议的交换机、路由器、接入点(AP)、网络终端(如网络计算机、网络打印机、网络摄像头、智能手机等)等。这些网络设备当收到PTP报文时,使用本申请实施例提供的PTP报文处理方案来处理该PTP报文,可以更快的完成对PTP报文的处理,以适应某些现场对PTP响应速度有较高要求的场景。
其中,本申请实施例的PTP报文的处理方案,可以是网络设备处理某PTP报文的场景,也可以是处理完并快速返回相应的响应报文的场景。其中,处理的某报文例如PTPPdelay request报文、PTP delay request报文等,返回的响应报文如PTP Pdelayresponse报文、PTP delay response报文、PTP Sync报文等。可以应用的具体场景例如:测量设备间传输延迟以校正其时钟的场景、请求获得同步报文以同步的场景、响应PTP测试仪的测试场景等。
下面将结合各附图对本申请的方案进行详细介绍。
本申请第一实施例提供了一种PTP报文处理方法,应用于网络设备中,如图1示出的流程图,该方法包括以下步骤:
S10:通过通信端口接收报文,所述报文包括PTP报文。
其中,网络设备可包括多个通信端口,通过其一的通信端口收到上述报文。
S20:通过所述通信端口对应的物理层芯片(Physical Layer,PHY)解析接收的报文,确定出接收的报文为PTP报文时,通过PHY芯片的时间戳寄存器记录PTP报文到达时的时间戳。
在一些实施例中,可以通过报文的以太网帧类型域值(Ethertype)或/和UDP目的端口号来判断是否是PTP报文。例如,可根据IEEE 1588v2协议要求,以太网帧类型域值(Ethertype)为0x88F7的以太网报文定义为PTP报文。又如,采用UDP封装PTP时,其中UDP源端口或目的端口为319/320的报文定义为PTP报文,举例来说,一IPv4报文中,类型域为0x11表示数据为UDP数据报文,UDP目的端口号为319或320表示UDP中封装的是PTP报文。
在一些实施例,判断非PTP报文时,则退出本流程,去执行针对该非PTP报文的已有处理过程,如常规的TCP/UDP报文的处理过程。
在一些实施例中,每个通信端口对应的PHY芯片上可包括两个时间戳寄存器,这两个时间戳寄存器形成乒乓寄存器,用于乒乓存储各PTP报文到达时的时间戳,其中乒乓存储是指交替循环记录该通信端口的依次收到的各PTP报文的到达时的时间戳,其中,在后收到的PTP报文的到达时的时间戳会覆盖寄存器中已经记录的先前的PTP报文的到达时的时间戳。
在一些实施例中,当确定出的报文为PTP报文,且为一些预定类型的PTP报文时,可单独指定一个时间戳寄存器记录该PTP报文的到达时的时间戳,以减少被其它类型的PTP报文迅速到来后将时间戳覆盖的可能性。这些类型的PTP报文指:对应的PTP处理任务中需要使用该PTP报文的到达时的时间戳时,该PTP报文为所述预定类型的PTP报文。该类报文也可以对应后面描述的高优先级处理的PTP报文。这类报文例如:PTP Pdelay request报文、PTPdelay request等。这类报文的到达时的时间戳将被写入该指定的时间戳寄存器,其他类型的PTP报文的时间戳被写入另一个时间戳寄存器。
在一些实施例中,当确定出的报文为PTP报文,且为一些预定类型的PTP报文时,可对写入该PTP报文时间戳的时间戳寄存器进行去写使能,以防止被其它PTP报文迅速到来后将时间戳覆盖,而当该时间戳寄存器所写入的时间戳被CPU读取出后,对该时间戳寄存器进行写使能,从而可以再次写入PTP报文的时间戳。这些类型的PTP报文如前所述,不再赘述。
S30:通过CPU获取解析后的PTP报文,以及读取PHY芯片的时间戳寄存器记录的该PTP报文到达时的时间戳,将所述PTP报文和所述时间戳一同发送到PTP收包队列,以由PTP处理任务处理。
在一些实施例中,所述PTP收包队列包括不同优先级的队列,所述将所述PTP报文和所述时间戳发送到PTP收包队列,包括:CPU获取PTP报文后,进一步确定出该PTP报文的处理优先级,将所述PTP报文和所述时间戳发送到对应所述处理优先级的PTP收包队列。
在一些实施例中,可以通过配置文件方式记录各PTP报文的处理优先级,CPU根据配置文件记载的优先级确定PTP报文的处理优先级,从而将PTP报文和时间戳放入对应优先级的PTP收包队列。
在一些实施例中,可以在PTP报文的保留字段,或增设一字段来携带该PTP报文的优先级,CPU可以基于PTP报文中的该字段携带的优先级确定该PTP报文的处理优先级,从而将PTP报文和时间戳放入对应优先级的PTP收包队列。
在一些实施例中,可以预先设置各PTP报文的两种处理优先级,基于所设置的优先级放入相应优先级的PTP收包队列。例如,该PTP报文对应的PTP处理任务中需要使用该时间戳时,该PTP报文的处理优先级可配置为高优先级。其中,PTP处理任务中需要使用该时间戳的情况例如:需要使用该时间戳进行传输延迟的计算、同步等,或者需要使用该时间戳产生响应报文(响应报文中要携带该时间戳)等情况,在一些实施例中,这些处理优先级高的报文例如:PTP Pdelay request报文、PTP delay request等,其他报文的处理优先级设置为低优先级。需要说明的是,这里仅举例说明,根据具有业务的不同,对应报文的优先级可灵活设置。
在一些实施例中,所述PTP收包队列包括高优先级队列和低优先级队列时,优先处理高优先级队列中的报文,具体由PTP处理任务处理时,包括:当高优先级队列中有PTP报文时,处理高优先级队列中的PTP报文;当高优先级队列中无PTP报文时,处理低优先级队列中的PTP报文,且每处理完一个PTP报文,去判断高优先级队列中是否有PTP报文要处理。该过程具体的,可以为下述步骤:
第一步:判断高优先级队列中是否有PTP报文,若是,则处理高优先级队列中的PTP报文,然后返回本第一步,若否(即高优先级队列没有报文),则执行第二步;
第二步:判断低优先级队列中是否有PTP报文,若是,则处理低优先级队列中的一个PTP报文,然后返回第一步,若否(即低优先级队列没有报文),也返回第一步。
在一些实施例中,PTP处理任务对PTP报文的处理,可包括以下至少之一的处理:
1)基于所述PTP报文产生响应报文以发送。例如,基于该PTP报文产生响应报文,并将响应报文发送至步骤S10中的所述PTP报文对应的发送方设备。
2)基于所述PTP报文和所述到达时的时间戳产生响应报文以发送,所述响应报文中携带所述到达时的时间戳。例如,基于该PTP报文和所述到达时的时间戳,产生响应报文,所述响应报文中携带所述到达时的时间戳,并将响应报文发送至步骤S10中的所述PTP报文对应的发送方设备,以使该发送方设备可以获得所述时间戳,发送方设备可以用于计算与所述网络设备的传输延时、和/或校正时钟以同步等过程。
3)基于所述PTP报文和所述到达时的时间戳计算传输延时。例如:该PTP报文中携带有发送方设备的报文发送时的时间戳,网络设备可以基于报文发送时的时间戳、所述到达时的时间戳,计算发送方设备与所述网络设备的传输延时、和/或校正时钟以同步等。
下面结合一具体实施方式对本申请进一步进行介绍。参见本申请第二实施例提供的一种PTP报文处理方法,该实施例中,一发送方设备发送PTP Pdelay request报文,由网络设备接收、处理,并返回PTP Pdelay response报文给发送方设备,如图2示出的流程图,该方法包括以下步骤:
S110:网络设备的一通信端口接收报文,本例中,该报文为一发送方设备发送的PTP Pdelay request报文。
S120:网络设备所述通信端口对应的PHY芯片针对所收到的报文进行解析,根据该报文的Ethertype是否为0x88F7来确定是否为PTP报文,当确认是PTP报文时,通过所述PHY芯片中的两个时间戳寄存器中的一个记录该PTP报文到达时的时间戳。
其中,本步骤中,PHY芯片解析出所述PTP报文具体为PTP Pdelay request报文,通过一指定的时间戳寄存器(该时间戳寄存器被指定仅用于存储PTP Pdelay request报文的到达时的时间戳)记录该报文到达时的时间戳,并将该PTP Pdelay request报文发送至网络设备的CPU。
S130:网络设备的CPU接收所述PTP Pdelay request报文,根据一记录有各PTP报文处理优先级的配置文件,确定出PTP Pdelay request报文的处理优先级为高优先级。
S140:CPU从PHY芯片所述时间戳寄存器中读取此PTP Pdelay request报文的到达时间戳,和PTP Pdelay request报文一起,发送到PTP收包队列中的高优先级队列中。
S150:PTP处理任务优先对高优先级队列中的PTP报文进行处理,当处理到PTPPdelay request报文时,产生PTP Pdelay response报文,并通过所述通信端口发送给发送方设备。
其中,该PTP Pdelay response报文中携带步骤S120中记录的PTP Pdelayrequest报文到达时的时间戳,还可携带PTP Pdelay response报文发送时的时间戳。
S160:发送方设备接收PTP Pdelay response报文,可从报文中获取步骤S150中的两个时间戳,并基于该发送方设备收到PTP Pdelay response时的到达时间戳,以及其发送上述PTP Pdelay request的发送时的时间戳,可计算与所述网络设备的传输延时,进一步的,该发送方设备可基于计算结果校正其时钟以与网络设备同步。
本申请第三实施例提供了一种PTP报文处理装置,该装置可以用于实现第一实施例或第二实施例所述的PTP报文处理方法,如图3所示,该装置包括:
获取单元,用于通过通信端口接收报文,所述报文包括PTP报文。具体的,可用于执行上述方法中的步骤S10以及其中任一可选的示例。
第一执行单元,用于通过PHY芯片解析出接收的报文为PTP报文时,由PHY芯片的时间戳寄存器记录所述PTP报文到达时的时间戳。具体的,可用于执行上述方法中的步骤S20以及其中任一可选的示例。
第二执行单元,用于通过CPU用于从PHY芯片获取所述PTP报文、从所述时间戳寄存器读取所述PTP报文的到达时的时间戳,并将所述PTP报文和所述时间戳一同发送到PTP收包队列,以由PTP处理任务处理。具体的,可用于执行上述方法中的步骤S30以及其中任一可选的示例。
本申请第四实施例提供了一种网络设备,该设备可以用于实现第一实施例或第二实施例所述的PTP报文处理方法,如图4所示,该设备包括:至少一个通信端口、每个通信端口对应一PHY芯片,每个PHY芯片包括时间戳寄存器、CPU;每个PHY芯片包括的时间戳寄存器可为两个。其中:
所述通信端口用于接收报文,所述报文包括PTP报文。具体的,可用于实现上述方法中的步骤S10以及其中任一可选的示例。
所述PHY芯片用于解析所接收的报文,以及当解析出为PTP报文时通过PHY芯片的时间戳寄存器记录所述PTP报文到达时的时间戳。具体的,可用于实现上述方法中的步骤S20以及其中任一可选的示例。
所述CPU用于从PHY芯片获取所述PTP报文、从所述时间戳寄存器读取所述PTP报文的到达时的时间戳,并将所述PTP报文和所述时间戳一同发送到PTP收包队列,以由PTP处理任务处理。。具体的,可用于实现上述方法中的步骤S30以及其中任一可选的示例。
图5是本申请第五实施例提供的一种计算设备900的结构性示意性图。该计算设备可以作为PTP报文处理装置或网络设备,执行上述方法中的各可选实施例,该计算设备可以是终端,也可以是终端内部的芯片或芯片系统。如图5所示,该计算设备900包括:处理器910、存储器920、通信接口930。
应理解,图5所示的计算设备900中的通信接口930可以用于与其他设备之间进行通信,具体可以包括一个或多个收发电路或接口电路。
其中,该处理器910可以与存储器920连接。该存储器920可以用于存储该程序代码和数据。因此,该存储器920可以是处理器910内部的存储单元,也可以是与处理器910独立的外部存储单元,还可以是包括处理器910内部的存储单元和与处理器910独立的外部存储单元的部件。
可选的,计算设备900还可以包括总线。其中,存储器920、通信接口930可以通过总线与处理器910连接。总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中采用了一条无箭头的线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器910可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器910采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器920可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数据。处理器910的一部分还可以包括非易失性随机存取存储器。例如,处理器910还可以存储设备类型的信息。
在计算设备900运行时,所述处理器910执行所述存储器920中的计算机执行指令执行上述方法的任一操作步骤以及其中任一可选的实施例。
应理解,根据本申请实施例的计算设备900可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备900中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行上述方法,该方法包括上述各个实施例所描述的方案中的至少之一。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
另外,说明书和权利要求书中的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在上述的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置A和B的设备”不应局限为仅由部件A和B组成的设备。
本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,均属于本申请保护范畴。

Claims (10)

1.一种PTP报文的处理方法,其特征在于,包括:
通过通信端口接收报文,所述报文包括PTP报文;
通过PHY芯片解析出接收的报文为PTP报文时,由PHY芯片的时间戳寄存器记录所述PTP报文到达时的时间戳;
通过CPU获取所述PTP报文,读取所述时间戳寄存器记录的该PTP报文到达时的时间戳,将所述PTP报文和所述时间戳一同发送到PTP收包队列,以由PTP处理任务处理。
2.根据权利要求1所述的方法,其特征在于,所述由PHY芯片的时间戳寄存器记录所述PTP报文到达时的时间戳,包括:
通过所述PHY芯片包括的两个时间戳寄存器,以乒乓存储的方式记录各PTP报文到达时的时间戳。
3.根据权利要求2所述的方法,其特征在于,所述两个时间戳寄存器中的一个,被配置为用于记录预定类型的PTP报文的到达时的时间戳:
其中,PTP报文对应的PTP处理任务中需要使用该PTP报文的到达时的时间戳时,该PTP报文为所述预定类型的PTP报文。
4.根据权利要求1所述的方法,其特征在于,所述PTP收包队列包括不同优先级的队列,所述将所述PTP报文和所述时间戳一同发送到PTP收包队列,包括:
确定所述PTP报文的处理优先级,将所述PTP报文和所述时间戳发送到对应所述处理优先级的PTP收包队列。
5.根据权利要求4所述的方法,其特征在于,所述确定所述PTP报文的处理优先级,包括以下之一:
通过配置文件方式记录各PTP报文的处理优先级,根据所述配置文件确定接收的PTP报文的处理优先级;或
在PTP报文的保留字段,或增设的一字段携带有PTP报文的优先级,根据所述字段确定接收的PTP报文的处理优先级。
6.根据权利要求4-5任一所述的方法,其特征在于,所述PTP收包队列包括高优先级队列和低优先级队列,所述由PTP处理任务处理包括:
当高优先级队列中有PTP报文时,处理高优先级队列中的PTP报文;
当高优先级队列中无PTP报文时,处理低优先级队列中的PTP报文,且每处理完一个PTP报文,去判断高优先级队列中是否有PTP报文要处理。
7.根据权利要求1所述的方法,其特征在于,所述由PTP处理任务处理,包括以下至少之一的处理:
基于所述PTP报文产生响应报文以发送;
基于所述PTP报文和所述到达时的时间戳产生响应报文以发送,所述响应报文中携带所述到达时的时间戳;
基于所述PTP报文和所述到达时的时间戳计算传输延时。
8.一种PTP报文的处理装置,其特征在于,包括:
获取单元,用于通过通信端口接收报文,所述报文包括PTP报文;
第一执行单元,用于通过PHY芯片解析出接收的报文为PTP报文时,由PHY芯片的时间戳寄存器记录所述PTP报文到达时的时间戳;
第二执行单元,用于通过CPU用于从PHY芯片获取所述PTP报文、从所述时间戳寄存器读取所述PTP报文的到达时的时间戳,并将所述PTP报文和所述时间戳一同发送到PTP收包队列,以由PTP处理任务处理。
9.一种网络设备,其特征在于,包括:至少一个通信端口、每个通信端口对应一PHY芯片,每个PHY芯片包括时间戳寄存器、CPU;
所述通信端口用于接收报文,所述报文包括PTP报文;
所述PHY芯片用于解析所接收的报文,以及当解析出为PTP报文时通过PHY芯片的时间戳寄存器记录所述PTP报文到达时的时间戳;
所述CPU用于从PHY芯片获取所述PTP报文、从所述时间戳寄存器读取所述PTP报文的到达时的时间戳,并将所述PTP报文和所述时间戳一同发送到PTP收包队列,以由PTP处理任务处理。
10.一种计算设备,其特征在于,包括:
处理器,以及
存储器,其上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行权利要求1至7任意一项所述的PTP报文的处理方法。
CN202311811032.5A 2023-12-26 2023-12-26 一种ptp报文的处理方法、装置和网络设备 Pending CN117768413A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311811032.5A CN117768413A (zh) 2023-12-26 2023-12-26 一种ptp报文的处理方法、装置和网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311811032.5A CN117768413A (zh) 2023-12-26 2023-12-26 一种ptp报文的处理方法、装置和网络设备

Publications (1)

Publication Number Publication Date
CN117768413A true CN117768413A (zh) 2024-03-26

Family

ID=90325470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311811032.5A Pending CN117768413A (zh) 2023-12-26 2023-12-26 一种ptp报文的处理方法、装置和网络设备

Country Status (1)

Country Link
CN (1) CN117768413A (zh)

Similar Documents

Publication Publication Date Title
US11277455B2 (en) Streaming system
US8068429B2 (en) Transmit scheduling
US10742555B1 (en) Network congestion detection and resolution
JP2015506626A (ja) 時間認識デバイス間で時間情報を通信する方法および装置
WO2014173267A1 (zh) 时间戳生成方法、装置及系统
US11979481B2 (en) Time synchronisation
US11349587B2 (en) Generating a timestamp
US9031055B2 (en) Method and system for recording, synchronizing and analysing data by means of analysis devices which are spatially distributed in a communication network
US10505651B1 (en) Precision time synchronization over standardized networking protocols
CN112887045B (zh) 报文传输方法、装置、fpga及电子设备
WO2021057756A1 (zh) 延时测量方法、系统和存储介质
CN113992297A (zh) 网络时延的确定方法、装置、电子设备及存储介质
CN111385163A (zh) 流量的分析、检测方法及装置
US8289963B2 (en) Process and system for calculating distances between wireless nodes
CN116055023A (zh) 一种数据传输方法及装置
CN110248379B (zh) 无线局域网中基站的性能测试方法及装置
JP2022518631A (ja) パケット交換ネットワークにおいて通信エンティティのコンピューター手段によって実施される方法、並びにそのコンピュータープログラム及びコンピューター可読非一時的記録媒体、並びにパケット交換ネットワークの通信エンティティ
CN117295148B (zh) 一种时间同步方法、中控主机及无线设备
CN117768413A (zh) 一种ptp报文的处理方法、装置和网络设备
CN108111365B (zh) 一种时延测量处理方法及系统
CN112311619B (zh) 网络报文延迟检测方法、装置和电子设备
CN115277519A (zh) 流量整形测试方法、系统、设备及介质
WO2023213080A1 (zh) 基于fpga实现网络节点时间同步的方法
CN114630273B (zh) 一种基于无线信号到达时间的定位方法
Bertocco et al. Estimation of the delay of network devices in hybrid wired/wireless real-time industrial communication systems

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