CN108599887A - 一种时差计算方法和转发设备 - Google Patents
一种时差计算方法和转发设备 Download PDFInfo
- Publication number
- CN108599887A CN108599887A CN201810373737.6A CN201810373737A CN108599887A CN 108599887 A CN108599887 A CN 108599887A CN 201810373737 A CN201810373737 A CN 201810373737A CN 108599887 A CN108599887 A CN 108599887A
- Authority
- CN
- China
- Prior art keywords
- message
- response message
- request message
- latency request
- delay response
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0602—Systems characterised by the synchronising information used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0682—Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种时差计算方法和转发设备,包括:所述转发设备的网络芯片在接收到延时请求报文时,将接收到所述延时请求报文的第一时间戳添加至延时请求报文并发送给本设备的处理器;转发设备的处理器接收延时请求报文,依据所述延时请求报文构造延时响应报文并发送给本设备的网络芯片,延时响应报文携带所述第一时间戳;转发设备的网络芯片接收所述延时响应报文,依据当前时间戳、以及所述延时响应报文携带的第一时间戳计算时差,将时差和所述延时响应报文发送给从时钟设备。使用本申请提供的方法,可以计算从接收到延时请求报文至发送该延时请求报文的延时响应报文的时差,从而使得从时钟设备利用该时差计算单向时延。
Description
技术领域
本申请涉及计算机通信领域,尤其涉及一种时差计算方法和转发设备。
背景技术
PTP(Precision Time Protocol)是一种高精度的时间同步协议,时间精度可以达到亚微妙。主、从时钟设备之间通过PTP协议报文的交互,从时钟设备可以计算出与主时钟设备之间的时间偏差(Offset),从而纠正从时钟设备的本地时间,完成主、从时钟设备之间的时间同步。
PTP同步原理可以简述为:主、从时钟设备之间交互同步报文并记录报文的收发时间,通过计算报文往返的时间差来计算主、从时钟设备之间的往返总延时,如果网络是对称的(即两个方向的传输延时相同),则往返总延时的一半就是单向延时,这个单向延时便是主、从时钟设备之间的时钟偏差,从时钟设备按照该偏差来调整本地时间,就可以实现其与主时钟设备的同步。
然而,主时钟设备如何记录来自于从时钟设备的同步报文的接收时刻,以及将该接收时刻和发送该同步报文的响应报文的发送时刻通知给从时钟设备一直是业界持续探讨的问题。
发明内容
有鉴于此,本申请提供一种时差计算方法和转发设备,用以计算作为主时钟设备的转发设备从接收到延时请求报文至发送该延时请求报文的延时响应报文的时差,从而使得从时钟设备利用该时差计算单向时延。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种时差计算方法,所述方法应用于转发设备,所述转发设备在作为主时钟设备时执行以下步骤:
所述转发设备的网络芯片在接收到延时请求报文时,将接收到所述延时请求报文的第一时间戳添加至所述延时请求报文并发送给本设备的处理器;
所述转发设备的处理器接收所述延时请求报文,依据所述延时请求报文构造延时响应报文并发送给本设备的网络芯片,所述延时响应报文携带所述第一时间戳;
所述转发设备的网络芯片接收所述延时响应报文,依据当前时间戳、以及所述延时响应报文携带的第一时间戳计算时差,将所述时差和所述延时响应报文发送给从时钟设备。
可选的,在所述转发设备的处理器接收所述延时请求报文之后,所述方法还包括:
所述转发设备的处理器将所述延时请求报文的报文特征、所述第一时间戳的对应关系添加至时间戳映射表;
所述依据所述延时请求报文构造延时响应报文,包括:
所述转发设备的处理器删除接收到的所述延时请求报文中的第一时间戳;
所述转发设备的处理器构造删除了所述第一时间戳的延时请求报文的延时响应报文;
所述转发设备的处理器在所述时间戳映射表中,查找与该延时响应报文的报文特征对应的第一时间戳,并将所述第一时间戳添加至所述延时响应报文;其中,所述延时请求报文和该延时请求报文的延时响应报文的报文特征相同。
可选的,所述将所述时差和所述延时响应报文发送给从时钟设备,包括:
所述转发设备的网络芯片删除接收到的延时响应报文中的第一时间戳;
所述转发设备的网络芯片将所述时差写入至删除了所述第一时间戳的延时响应报文的指定字段并发送给从时钟设备。
可选的,在所述将所述第一时间戳添加至所述延时响应报文之后,所述方法还包括:
所述处理器删除所述时间戳映射表中的所述延时响应报文的报文特征、所述第一时间戳的对应关系。
可选的,所述报文特征至少包括序列号。
根据本申请的第二方面,提供一种转发设备,所述转发设备包括处理器和网络芯片;
所述网络芯片,用于在接收到延时请求报文时,将接收到所述延时请求报文的第一时间戳添加至所述延时请求报文并发送给本设备的处理器;
所述处理器,用于接收所述延时请求报文,依据所述延时请求报文构造延时响应报文并发送给本设备的网络芯片,所述延时响应报文携带所述第一时间戳;
所述网络芯片,用于接收所述延时响应报文,依据当前时间戳、以及所述延时响应报文携带的第一时间戳计算时差,将所述时差和所述延时响应报文发送给从时钟设备。
可选的,所述处理器,在接收所述延时请求报文之后,还具体用于将所述延时请求报文的报文特征、所述第一时间戳的对应关系添加至时间戳映射表;
所述处理器,在依据所述延时请求报文构造延时响应报文时,具体用于删除接收到的所述延时请求报文中的第一时间戳;构造删除了所述第一时间戳的延时请求报文的延时响应报文;在所述时间戳映射表中,查找与该延时响应报文的报文特征对应的第一时间戳,并将所述第一时间戳添加至所述延时响应报文;其中,所述延时请求报文和该延时请求报文的延时响应报文的报文特征相同。
可选的,所述网络芯片,在将所述时差和所述延时响应报文发送给从时钟设备,具体用于删除接收到的延时响应报文中的第一时间戳;将所述时差写入至删除了所述第一时间戳的延时响应报文的指定字段并发送给从时钟设备。
可选的,所述处理器,在在所述将所述第一时间戳添加至所述延时响应报文之后,还具体用于删除所述时间戳映射表中的所述延时响应报文的报文特征、所述第一时间戳的对应关系。
可选的,所述报文特征至少包括序列号。
由上述描述可知,由于作为主时钟设备的网络芯片将收到延时请求报文的接收时刻作为第一时间戳添加在延时请求报文中,并且处理器会依据添加了第一时间戳的延时请求报文构造携带第一时间戳的延时响应报文发送给网络芯片,这使得即使网络芯片在接收到延时请求报文时无法直接记录该延时请求报文的接收时刻,以及该网络芯片无法将该接收时刻写入延时请求报文时,网络芯片也可以从延时响应报文携带的第一时间戳里获取到该接收时刻,可以计算出时差,进而可以将该时差发送给从时钟设备,由从时钟设备计算出单向时延。
附图说明
图1是本申请一示例性实施例示出的一种端延时机制的示意图;
图2是本申请一示例性实施例示出的一种时差计算方法的流程图;
图3是本申请一示例性实施例示出的一种时差计算方法的示意图;
图4是本申请一示例性实施例示出的一种转发设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
PTP同步的基本原理如下:主、从时钟之间交互同步报文并记录报文的收发时间,通过计算报文往返的时间差来计算主、从时钟之间的往返总延时,如果网络是对称的(即两个方向的传输延时相同),则往返总延时的一半就是单向延时,这个单向延时便是主、从时钟之间的时钟偏差,从时钟按照该偏差来调整本地时间,就可以实现其与主时钟的同步。
PTP协议定义了两种传播延时测量机制:请求应答(Requset_Response)机制和端延时(Peer Delay)机制,且这两种机制都以网络对称为前提。
下面详细介绍下端延时机制。
端延时机制包括单步模式和双步模式,下面详细介绍下单步模式下的端延时机制。
参见图1,图1是本申请一示例性实施例示出的一种端延时机制的示意图。
步骤101:主时钟设备11向从时钟设备11发送Sync(Synchronous,同步)报文,该Sync报文中携带了主时钟设备11发送该Sync报文的发送时刻T11。
步骤102:从时钟设备11接收到该Sync报文后,记录接收该Sync报文的接收时刻T12,以及该Sync报文中携带的发送时刻T11。
需要说明的是,在双步模式下,主时钟设备11发送的Sync报文中未携带T11。而是,主时钟设备11在发送Sync报文后,紧接着发送一个携带有T11的Follow_UP(跟随)报文。从时钟设备11在接收到该Follow_UP报文后,可获取T11。
步骤103:从时钟设备11向主时钟设备11发送Pdelay_Req(延时请求)报文,并记录发送该Pdelay_Req报文的发送时刻T13。
步骤104:主时钟设备11在接收到该Pdelay_Req报文后,可记录接收该Pdelay_Req报文的接收时刻T14。
步骤105:主时钟设备11向从时钟设备11返回该Pdelay_Req报文的Pdelay_Resp(延时响应)报文,该Pdelay_Resp报文里携带了T14以及发送该Pdelay_Resp报文的发送时刻T15的时差,即T15-T14。
需要说明的是,在双步模式下,主时钟设备11发送的Pdelay_Resp报文中未携带T15。而是,主时钟设备11在发送Pdelay_Resp报文后,紧接着发送一个携带有T15的Pdelay_Resp_Follow_UP(延时响应跟随)报文。从时钟设备11在接收到该Pdelay_Resp_Follow_UP报文后,可获取T15。
步骤106:从时钟设备11接收该Pdelay_Resp报文,并获取报文中的T15-T14。
步骤107:从时钟设备11根据T11至T16计算单向时延和时钟偏差。
在实现时,从时钟设备11便拥有了T11至T16这六个时间戳,可计算出主、从时钟设备11间的往返总延时为:
[(T14–T13)+(T16–T15)];
由于网络是对称的,所以主、从时钟设备11间的单向延时为:
[(T14–T13)+(T16–T15)]/2。
因此,从时钟相对于主时钟的时钟偏差为:
Offset=(T13–T11)-[(T14–T13)+(T16–T15)]/2。
通常主时钟设备11、和从时钟设备11为转发设备。转发设备可包括处理器和网络芯片。以主时钟设备11来说。
在步骤104中,当主时钟设备11的网络芯片接收到Pdelay_Req报文后,由于网络芯片无法直接记录接收该Pdelay_Req报文的接收时刻T14,所以网络芯片会将T14写入Pdelay_Req报文的指定字段中,比如Pdelay_Req报文的校正域中。
然后,主时钟设备11的网络芯片将写入T14的Pdelay_Req报文上送给处理器,处理器依据该Pdelay_Req报文,构造Pdelay_Resp报文,该构造出的Pdelay_Resp报文中携带了T14。然后主时钟设备11的处理器可将携带了T14的Pdelay_Resp发送给该主时钟设备11的网络芯片,该主时钟设备11的网络芯片可计算发送Pdelay_Resp的发送时刻T15与T14的时差(即T15-T14),并将该携带了T15-T14的Pdelay_Resp报文发送给从时钟设备11。
但是,有些主时钟设备11采用的网络芯片不具有将T14写入Pdelay_Req报文标准字段(如校正域字段)的功能,比如PHY芯片就不具有这样的功能。这就使得,主时钟设备11的处理器基于Pdelay_Req报文构造出的Pdelay_Resp报文里不会携带T14,同时由于该网络芯片在接收到Pdelay_Req报文后,也不会记录Pdelay_Req报文的接收时刻T14,使得主时钟设备11无法将T14通知给从时钟设备11,致使从时钟设备11无法计算上述单向时延和时钟偏差。
有鉴于此,本申请提出一种时差计算方法,用以解决上述问题。
参见图2,图2是本申请一示例性实施例示出的一种时差计算方法的流程图。该方法可以应用在作为主时钟设备的转发设备上。该转发设备包括网络芯片和处理器。该流程可包括步骤201至步骤203。
步骤201:所述转发设备的网络芯片在接收到延时请求报文时,将接收到所述延时请求报文的第一时间戳添加至所述延时请求报文并发送给本设备的处理器。
其中,上述网络芯片至少包括PHY(Physical Layer,物理层)芯片、MAC(Medium/Media Access Control,媒体访问控制)芯片等网络设备中使用的芯片,这里只是示例性地说明,不对该网络芯片进行具体地限定。
通常网络芯片里有LUT(Lookup Table,查找表)功能。具体来说,网络芯片的LUT表里记录了报文类型、与该类型报文所要执行的动作的对应关系。
比如,在本申请实施例中,该LUT表里预配置了入方向的延时请求报文、和添加第一时间戳的对应关系。这个对应关系表明,当网络芯片接收到的报文为延时请求报文时,可为该延时请求报文添加记录有该延时请求报文接收时刻的第一时间戳。
再比如,在本申请实施例中,该LUT表里还预配置了出方向的延时响应报文、以及读取延时响应报文携带的第一时间戳和计算时差等动作的对应关系。这个对应关系表明,当网络芯片接收到处理器下发的、需要发送到从时钟设备的延时响应报文后,可以从该延时响应报文的指定位置获取第一时间戳来进行后续的时差计算。
在本申请实施例中,当转发设备的网络芯片(下文简称网络芯片)接收到从时钟设备发送的延时请求报文。网络芯片可以查找LUT表,来确定该延时请求报文对应的执行动作。在本申请中,从从时钟设备接收的延时请求报文对应的执行动作是为所述延时请求报文添加第一时间戳。
因此,当网络芯片接收到从时钟设备发送的延时请求报文后,网络芯片可以将该延时请求报文的接收时刻作为第一时间戳,添加在延时请求报文的指定位置。然后,将添加了第一时间戳的延时请求报文发送给处理器。
其中,该指定位置可以是延时请求报文源MAC地址字段后的位置,也可以是报文的其他位置,这里只是示例性地说明,不对其进行具体地限定。
步骤202:所述转发设备的处理器接收所述延时请求报文,依据所述延时请求报文构造延时响应报文并发送给本设备的网络芯片,所述延时响应报文携带所述第一时间戳。
在实现时,处理器在接收到添加有第一时间戳的延时请求报文后,处理器可以在预设的时间戳映射表中,添加所述延时请求报文的报文特征和第一时间戳的对应关系。
其中,该时间戳映射表可以是链表等,这里只是示例性地说明,不对该时间戳链表的组织形式进行具体地限定。
其中,所述报文特征包括Sequence ID(序列号)等,这里只是示例性地说明,不进行具体地限定。
然后,处理器可将该延时请求报文的第一时间戳删除。
接着,处理器可以构造删除了第一时间戳的延时请求报文对应的延时响应报文。在构造完成后,处理器可以在上述时间戳映射表中,查找该延时响应报文的报文特征对应的时间戳。
需要说明的是,由于延时请求报文,和依据该延时请求报文构造出的延时响应报文的报文特征(如序列号)相同,所以上述查找出的对应于延时响应报文的报文特征的时间戳为上述第一时间戳。
处理器可将该第一时间戳添加在该延时响应报文的指定位置,然后将该添加了第一时间戳的延时响应报文发送至网络芯片。同时,处理器可以在上述时间戳映射表中删除所述延时响应报文的报文特征和第一时间戳的对应关系。
步骤203:所述转发设备的网络芯片接收所述延时响应报文,依据当前时间戳、以及所述延时响应报文携带的第一时间戳计算时差,将所述时差和所述延时响应报文发送给从时钟设备。
网络芯片在接收处理器下发的延时响应报文后,网络芯片可以查找LUT表,来确定该延时请求报文对应的执行动作。在本例中,向外发送的延时响应报文对应的执行动作是从延时响应报文的指定位置获取第一时间戳,并计算时差。
因此,当网络芯片接收处理器下发的延时响应报文时,网络芯片可以在该延时响应报文的指定位置获取第一时间戳。
然后,根据第一时间戳记录的上述延时请求报文的接收时刻、以及当前时间戳(即网络芯片发送该延时响应报文的发送时刻),计算时差。
接着,网络芯片可将该时差添加在该延时响应报文的指定字段中,并删除该延时响应报文携带的第一时间戳。然后,网络芯片将添加了时差、并删除了第一时间戳的延时响应报文发送给从时钟设备。
上述指定字段包括校正域字段等,这里只是示例性地说明,不对该指定字段进行具体地限定。
上述指定位置,可以包括源MAC地址后的位置等报文中的位置,这里只是示例性地说明,不对该指定位置进行具体地限定。
由上述描述可知,由于网络芯片将收到延时请求报文的接收时刻作为第一时间戳添加在延时请求报文中,并且处理器会依据添加了第一时间戳的延时请求报文构造携带第一时间戳的延时响应报文发送给网络芯片,这使得即使网络芯片在接收到延时请求报文时无法直接记录该延时请求报文的接收时刻,以及该网络芯片无法将该接收时刻写入延时请求报文时,网络芯片也可以从延时响应报文携带的第一时间戳里获取到该接收时刻,可以计算出时差,进而可以将该时差发送给从时钟设备,由从时钟设备计算出单向时延。
下面以主时钟设备的网络芯片为PHY芯片例,并结合图3,详细介绍下本申请提供的时差计算方法。
主时钟设31向从时钟设备31发送Sync报文1,该Sync报文1中携带了主时钟设备31发送该Sync报文1的发送时刻T31。
从时钟设备31接收到该Sync报文1后,记录接收该Sync报文1的接收时刻T32,以及该Sync报文1中携带的发送时刻T31。
从时钟设备31向主时钟设备发送Pdelay_Req报文,并记录该Pdelay_Req报文的发送时刻T33。主时钟设备31接收到该Pdelay_Req报文后,进行步骤301至步骤306的操作。
步骤301:主时钟设备31的PHY芯片31在接收到Pdelay_Req报文,可在该Pdelay_Req报文中添加第一时间戳,该第一时间戳里记录了该Pdelay_Req报文接收时刻T34。
通常PHY芯片里有LUT(Lookup Table,查找表)功能。具体来说,PHY芯片的LUT表里记录了报文类型、与该类型报文所要执行的动作的对应关系。
比如,在本申请实施例中,该LUT表里预配置了入方向Pdelay_Req报文、和添加第一时间戳的对应关系。这个对应关系表明,当PHY芯片接收到的报文为Pdelay_Req报文时,可为该Pdelay_Req报文添加记录有该Pdelay_Req报文接收时刻的第一时间戳。
再比如,在本申请实施例中,该LUT表里还预配置了出方向Pdelay_Resp报文、以及读取Pdelay_Resp报文携带的第一时间戳和计算时差等动作的对应关系。这个对应关系表明,当PHY芯片接收到处理器下发的、需要发送到从时钟设备的Pdelay_Resp报文后,可以从该Pdelay_Resp报文的指定位置获取第一时间戳来进行后续的时差计算。
在本申请实施例中,当主时钟设备31的PHY芯片31在接收到Pdelay_Req报文(这里记为Pdelay_Req报文1)后,该PHY芯片31可查找本地的LUT表,然后确定对接收到的Pdelay_Req报文1的执行动作。
在本例中,查找到的对接收到的Pdelay_Req报文1的执行动作是为该Pdelay_Req报文1添加第一时间戳。此时,PHY芯片31可在Pdelay_Req报文1的源MAC地址后插入第一时间戳,该第一时间戳里记录了接收该Pdelay_Req报文1的接收时刻T34。
需要说明的是,为了方便叙述,这里将插入的第一时间戳的Pdelay_Req报文记为Pdelay_Req报文2。
步骤302:主时钟设备的PHY芯片31可将Pdelay_Req报文2上送给主时钟设备的处理器32。
步骤303:处理器32将Pdelay_Req报文2的报文特征、以及第一时间戳的对应关系添加在时间戳映射表中。
在实现时,处理器32可以提取Pdelay_Req报文2的Sequence ID(序列号)、以及Message Type(消息类型)等作为Pdelay_Req报文2的报文特征,然后将Pdelay_Req报文2的Sequence ID和T34的对应关系添加在时间戳映射表中。
然后,处理器32可将Pdelay_Req报文2中的第一时间戳删除,变成Pdelay_Req报文1。
步骤304:处理器32构造与Pdelay_Req报文1对应的、且携带有上述第一时间戳的Pdelay_Resp报文。
在实现时,处理器32可构造与Pdelay_Req报文1对应的Pdelay_Resp报文1,该Pdelay_Resp报文1里未携带第一时间戳。
然后,处理器32基于上述时间戳映射表,查找与该Pdelay_Resp报文1的SequenceID对应的时间戳T34,并将查找到的时间戳作为第一时间戳。
需要说明的是,由于Pdelay_Req报文1和Pdelay_Resp报文1的Sequence ID,所以Pdelay_Resp报文1的Sequence ID对应的时间戳为T34。
接着,处理器32可将该第一时间戳添加在Pdelay_Resp报文1的源MAC地址字段后,形成Pdelay_Resp报文2。
步骤304:处理器32将Pdelay_Resp报文2发送给PHY芯片31。
步骤305:PHY芯片31基于Pdelay_Resp报文2携带的第一时间戳T34,和发送该Pdelay_Resp报文1的发送时刻T35,计算时差。
在实现时,PHY芯片31在接收到Pdelay_Resp报文2后,可查找LUT表,确定该Pdelay_Resp报文2对应的执行动作。
在本例中,向外发送的Pdelay_Resp报文2对应的执行动作是从Pdelay_Resp报文2的源MAC地址字段后获取第一时间戳,并计算时差。此时,PHY芯片31可从Pdelay_Resp报文2的源MAC地址字段后获取第一时间戳T34。
然后,PHY芯片31可将Pdelay_Resp报文2中的第一时间戳T34删除,形成Pdelay_Resp报文1。
然后PHY芯片31可计算当前时刻T35(也是发送该Pdelay_Resp报文1的发送时刻)和T34的差值,得到时差(T35-T34)。
步骤306:PHY芯片31将计算出的时差(T35-T34)和该Pdelay_Resp报文1发送至从时钟设备。
PHY芯片31将计算出的时差(T35-T34)添加在Pdelay_Resp报文1的校正域中,然后将添加了时差的Pdelay_Resp报文1发送给从时钟设备。
从时钟设备在接收到Pdelay_Resp报文1后,可记录接收该Pdelay_Resp报文1的接收时刻T36。
由上述描述可知,从时钟设备上记录了T31、T32、T33、T35-T34和T36这5个值,因此从时钟设备计算出的主、从时钟设备之间的单向时延为:
Delay=[T36-(T35-T34)–T33]/2;
从时钟设备相对于主时钟设备的时钟偏差Offset为:
Offset=(T32-T31)-[T36-(T5-T34)–T33]/2。
由上述描述可知,由于PHY芯片将收到Pdelay_Req报文的接收时刻T34作为第一时间戳添加在Pdelay_Req报文中,并且处理器会依据添加了第一时间戳的Pdelay_Req报文构造携带第一时间戳的Pdelay_Resp报文发送给PHY芯片,这使得即使PHY芯片在接收到Pdelay_Req报文时不会直接记录该Pdelay_Req报文的接收时刻,以及该PHY芯片无法将该接收时刻写入Pdelay_Req报文时,PHY芯片也可以从Pdelay_Resp报文携带的第一时间戳里获取到该接收时刻T34来计算出时差,进而可以将该时差发送给从时钟设备,由从时钟设备根据时差计算出单向时延。
参见图4,图4是本申请一示例性实施例示出的一种转发设备的硬件结构图。该转发设备可包括具有转发功能的网络设备,比如,交换机,路由器等等,这里只是对转发设备进行示例性地说明,不对其进行具体地限定。
该转发设备可包括处理器401,存储有机器可执行指令的机器可读存储介质402,网络芯片403,处理器401与机器可读存储介质402、网络芯片403之间可经由系统总线404通信。
在不同的实施例中,所述机器可读存储介质402可以是:RAM(Radom AccessMemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
进一步,上述网络芯片403,在接收到延时请求报文时,将接收到所述延时请求报文的第一时间戳添加至所述延时请求报文并发送给本设备的处理器401;
所述处理401在接收到该延时请求报文后,可调用上述机器可读存储介质402中储存有构造延时响应报文的逻辑指令,并依据该构造延时响应报文的逻辑指令,执行依据所述延时请求报文构造延时响应报文并发送给本设备的网络芯片的操作,所述延时响应报文携带所述第一时间戳;
所述网络芯片403接收所述延时响应报文,依据当前时间戳、以及所述延时响应报文携带的第一时间戳计算时差,将所述时差和所述延时响应报文发送给从时钟设备。
可选的,所述处理器401在接收到所述延时请求报文之后,还可调用上述机器可读存储介质402中储存的表项添加逻辑指令,并依据该表项添加逻辑指令,将所述延时请求报文的报文特征、所述第一时间戳的对应关系添加至时间戳映射表;
所述处理器401依据所述延时请求报文构造延时响应报文并发送给本设备的网络芯片时,可具体用于删除接收到的所述延时请求报文中的第一时间戳;构造删除了所述第一时间戳的延时请求报文的延时响应报文;在所述时间戳映射表中,查找与该延时响应报文的报文特征对应的第一时间戳,并将所述第一时间戳添加至所述延时响应报文;其中,所述延时请求报文和该延时请求报文的延时响应报文的报文特征相同。
可选的,所述网络芯片403,在将所述时差和所述延时响应报文发送给从时钟设备时,具体用于删除接收到的延时响应报文中的第一时间戳;将所述时差写入至删除了所述第一时间戳的延时响应报文的指定字段并发送给从时钟设备。
可选的,所述处理器401在在所述将所述第一时间戳添加至所述延时响应报文之后,可调用所述机器可读存储介质402中存储的表项删除逻辑指令,并依据该表项删除逻辑指令,删除所述时间戳映射表中的所述延时响应报文的报文特征、所述第一时间戳的对应关系。
可选的,上述报文特征至少包括序列号。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种时差计算方法,其特征在于,所述方法应用于转发设备,所述转发设备在作为主时钟设备时执行以下步骤:
所述转发设备的网络芯片在接收到延时请求报文时,将接收到所述延时请求报文的第一时间戳添加至所述延时请求报文并发送给本设备的处理器;
所述转发设备的处理器接收所述延时请求报文,依据所述延时请求报文构造延时响应报文并发送给本设备的网络芯片,所述延时响应报文携带所述第一时间戳;
所述转发设备的网络芯片接收所述延时响应报文,依据当前时间戳、以及所述延时响应报文携带的第一时间戳计算时差,将所述时差和所述延时响应报文发送给从时钟设备。
2.根据权利要求1所述的方法,其特征在于,在所述转发设备的处理器接收所述延时请求报文之后,所述方法还包括:
所述转发设备的处理器将所述延时请求报文的报文特征、所述第一时间戳的对应关系添加至时间戳映射表;
所述依据所述延时请求报文构造延时响应报文,包括:
所述转发设备的处理器删除接收到的所述延时请求报文中的第一时间戳;
所述转发设备的处理器构造删除了所述第一时间戳的延时请求报文的延时响应报文;
所述转发设备的处理器在所述时间戳映射表中,查找与该延时响应报文的报文特征对应的第一时间戳,并将所述第一时间戳添加至所述延时响应报文;其中,所述延时请求报文和该延时请求报文的延时响应报文的报文特征相同。
3.根据权利要求1所述的方法,其特征在于,所述将所述时差和所述延时响应报文发送给从时钟设备,包括:
所述转发设备的网络芯片删除接收到的延时响应报文中的第一时间戳;
所述转发设备的网络芯片将所述时差写入至删除了所述第一时间戳的延时响应报文的指定字段并发送给从时钟设备。
4.根据权利要求2所述的方法,其特征在于,在所述将所述第一时间戳添加至所述延时响应报文之后,所述方法还包括:
所述转发设备的处理器删除所述时间戳映射表中的所述延时响应报文的报文特征、所述第一时间戳的对应关系。
5.根据权利要求2所述的方法,其特征在于,所述报文特征至少包括序列号。
6.一种转发设备,其特征在于,所述转发设备包括处理器和网络芯片;
所述网络芯片,用于在接收到延时请求报文时,将接收到所述延时请求报文的第一时间戳添加至所述延时请求报文并发送给本设备的处理器;
所述处理器,用于接收所述延时请求报文,依据所述延时请求报文构造延时响应报文并发送给本设备的网络芯片,所述延时响应报文携带所述第一时间戳;
所述网络芯片,用于接收所述延时响应报文,依据当前时间戳、以及所述延时响应报文携带的第一时间戳计算时差,将所述时差和所述延时响应报文发送给从时钟设备。
7.根据权利要求6所述的设备,其特征在于,所述处理器,在接收所述延时请求报文之后,还具体用于将所述延时请求报文的报文特征、所述第一时间戳的对应关系添加至时间戳映射表;
所述处理器,在依据所述延时请求报文构造延时响应报文时,具体用于删除接收到的所述延时请求报文中的第一时间戳;构造删除了所述第一时间戳的延时请求报文的延时响应报文;在所述时间戳映射表中,查找与该延时响应报文的报文特征对应的第一时间戳,并将所述第一时间戳添加至所述延时响应报文;其中,所述延时请求报文和该延时请求报文的延时响应报文的报文特征相同。
8.根据权利要求6所述的设备,其特征在于,所述网络芯片,在将所述时差和所述延时响应报文发送给从时钟设备,具体用于删除接收到的延时响应报文中的第一时间戳;将所述时差写入至删除了所述第一时间戳的延时响应报文的指定字段并发送给从时钟设备。
9.根据权利要求7所述的设备,其特征在于,所述处理器,在在所述将所述第一时间戳添加至所述延时响应报文之后,还具体用于删除所述时间戳映射表中的所述延时响应报文的报文特征、所述第一时间戳的对应关系。
10.根据权利要求7所述的设备,其特征在于,所述报文特征至少包括序列号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810373737.6A CN108599887A (zh) | 2018-04-24 | 2018-04-24 | 一种时差计算方法和转发设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810373737.6A CN108599887A (zh) | 2018-04-24 | 2018-04-24 | 一种时差计算方法和转发设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108599887A true CN108599887A (zh) | 2018-09-28 |
Family
ID=63614474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810373737.6A Pending CN108599887A (zh) | 2018-04-24 | 2018-04-24 | 一种时差计算方法和转发设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108599887A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110995537A (zh) * | 2019-12-02 | 2020-04-10 | 重庆矢崎仪表有限公司 | 多芯片闭环通信延迟计算方法、通信同步方法及通信系统 |
CN112615694A (zh) * | 2020-12-11 | 2021-04-06 | 盛科网络(苏州)有限公司 | 一种实现网络时间同步的方法及装置 |
CN112838903A (zh) * | 2020-12-31 | 2021-05-25 | 广东大普通信技术有限公司 | 一种时钟同步方法、设备及存储介质 |
CN114785660A (zh) * | 2022-03-15 | 2022-07-22 | 桂林电子科技大学 | 一种NoC高速数据采集拓扑结构及其同步方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103138887A (zh) * | 2011-12-05 | 2013-06-05 | 中兴通讯股份有限公司 | 一种1588事件报文的处理方法及系统 |
US20160173267A1 (en) * | 2013-07-23 | 2016-06-16 | Zte Corporation | Method and Apparatus for Processing Time Synchronization |
CN106230540A (zh) * | 2016-06-30 | 2016-12-14 | 电信科学技术第五研究所 | 高精度ntp报文接收方法和发送方法 |
CN107395308A (zh) * | 2017-07-14 | 2017-11-24 | 国网上海市电力公司 | 一种低内存开销的分布式无线传感网络时间同步方法 |
-
2018
- 2018-04-24 CN CN201810373737.6A patent/CN108599887A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103138887A (zh) * | 2011-12-05 | 2013-06-05 | 中兴通讯股份有限公司 | 一种1588事件报文的处理方法及系统 |
US20160173267A1 (en) * | 2013-07-23 | 2016-06-16 | Zte Corporation | Method and Apparatus for Processing Time Synchronization |
CN106230540A (zh) * | 2016-06-30 | 2016-12-14 | 电信科学技术第五研究所 | 高精度ntp报文接收方法和发送方法 |
CN107395308A (zh) * | 2017-07-14 | 2017-11-24 | 国网上海市电力公司 | 一种低内存开销的分布式无线传感网络时间同步方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110995537A (zh) * | 2019-12-02 | 2020-04-10 | 重庆矢崎仪表有限公司 | 多芯片闭环通信延迟计算方法、通信同步方法及通信系统 |
CN110995537B (zh) * | 2019-12-02 | 2023-02-03 | 重庆矢崎仪表有限公司 | 多芯片闭环通信延迟计算方法、通信同步方法及通信系统 |
CN112615694A (zh) * | 2020-12-11 | 2021-04-06 | 盛科网络(苏州)有限公司 | 一种实现网络时间同步的方法及装置 |
WO2022121996A1 (zh) * | 2020-12-11 | 2022-06-16 | 苏州盛科通信股份有限公司 | 一种实现网络时间同步的方法及装置 |
CN112838903A (zh) * | 2020-12-31 | 2021-05-25 | 广东大普通信技术有限公司 | 一种时钟同步方法、设备及存储介质 |
CN112838903B (zh) * | 2020-12-31 | 2022-08-26 | 广东大普通信技术股份有限公司 | 一种时钟同步方法、设备及存储介质 |
CN114785660A (zh) * | 2022-03-15 | 2022-07-22 | 桂林电子科技大学 | 一种NoC高速数据采集拓扑结构及其同步方法 |
CN114785660B (zh) * | 2022-03-15 | 2023-08-29 | 桂林电子科技大学 | 一种NoC高速数据采集拓扑结构及其同步方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108599887A (zh) | 一种时差计算方法和转发设备 | |
EP2378718B1 (en) | Method, node and system for controlling version in distributed system | |
US11606155B2 (en) | Method for exchanging time synchronization packet and network apparatus | |
CN102457371B (zh) | 时间同步方法和相关设备及系统 | |
NO20006684D0 (no) | Tidssynkronisering | |
CN111385048B (zh) | 一种时间同步方法及系统 | |
CN108449405A (zh) | 事件提醒方法、装置、计算机设备和存储介质 | |
RU2014139981A (ru) | Способ и устройство для синхронизации данных | |
CN105933393A (zh) | 一种局域网内数据同步方法及其装置、用户终端 | |
CN105208060A (zh) | 业务数据同步方法、装置及系统 | |
CN103401782A (zh) | 一种mac地址同步方法及设备 | |
CN108259218A (zh) | 一种ip地址分配方法和装置 | |
CN105959420A (zh) | 多客户端元数据同步更新方法及系统 | |
US11233735B2 (en) | Method and apparatus for message transmission | |
JP4536771B2 (ja) | 第1の送信又は受信デバイスを第2の送信又は受信デバイスへ同期させる装置 | |
CN112398567A (zh) | 加密通信过程中时钟同步方法和装置以及多设备系统 | |
CN111190767A (zh) | 一种ospf协议中实现lsdb主备同步方法及装置 | |
US20080212564A1 (en) | Clock Synchronization Method For Wireless 1394 Heterogeneous Networks | |
CN113572561A (zh) | 用于时钟同步的方法、设备、通信系统和介质 | |
CN105763278B (zh) | 一种时间回溯的方法和装置 | |
CN105991744A (zh) | 用于同步用户应用数据的方法与设备 | |
CN109120469B (zh) | 一种线路传输延时计算方法及装置 | |
CN101667907B (zh) | 同步处理方法、系统及设备 | |
CN100502391C (zh) | 一种分片报文的重组方法 | |
EP2680466A1 (en) | Low latency transparent clock |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180928 |
|
RJ01 | Rejection of invention patent application after publication |