CN112994819B - 一种用于时钟同步的消息处理方法、时钟同步方法及装置 - Google Patents
一种用于时钟同步的消息处理方法、时钟同步方法及装置 Download PDFInfo
- Publication number
- CN112994819B CN112994819B CN202010075071.3A CN202010075071A CN112994819B CN 112994819 B CN112994819 B CN 112994819B CN 202010075071 A CN202010075071 A CN 202010075071A CN 112994819 B CN112994819 B CN 112994819B
- Authority
- CN
- China
- Prior art keywords
- message
- timestamp
- clock synchronization
- time
- unit
- 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
Links
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
-
- 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/0673—Clock or time synchronisation among packet nodes using intermediate nodes, e.g. modification of a received timestamp before further transmission to the next packet node, e.g. including internal delay time or residence time into the packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
Abstract
本申请实施例公开了一种消息处理方法,在该方法中,第一设备获取用于时钟同步的第一消息时,可以记录第一时间戳,第一时间戳用于指示第一设备获取第一消息的时刻。第一设备获取第一消息之后,可以根据第一消息确定转发第一消息的端口,并记录第二时间戳,第二时间戳用于指示第一设备确定该端口的时刻。第一设备可以根据第一消息生成包括第三时间戳的第二消息,将第二消息发送给第二设备。第三时间戳根据第二时间戳和第一时间戳的差值确定。确定前述端口的步骤可以由第一设备中的交换模块执行,即第三时间戳可以体现第一消息在交换模块的驻留时间。因此,宿端设备进行时钟同步时,即可去掉交换模块引入的包时延变化量,从而提升时钟同步的精度。
Description
本申请要求于2019年12月16日提交中国专利局、申请号为201911295200.3、发明创造名称为“降低包延迟变化量的方法、处理器、设备和网络系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及时钟同步领域,尤其涉及一种用于时钟同步的消息处理方法、时钟同步方法及装置。
背景技术
时钟同步,指的是各个设备的时钟频率保持一致,而时钟相位可以保持一定的相位差。目前,设备间可以利用一些用于时钟同步的方法进行时钟同步,例如利用电路仿真业务自适应时钟恢复(circuit emulation service adaptive clock recovery,CESACR)方法进行时钟同步。目前,多种设备例如电信网络中的路由器、交换机等可以利用CESACR方法进行时钟同步。
当两个设备利用CESACR方法进行时钟同步时,可以通过传递报文的形式来进行时钟同步。但是这种方式进行时钟同步的效果并不好,因此,需要一种方案可以解决上述问题。
发明内容
本申请实施例提供了一种用于时钟同步的消息处理方法和时钟同步方法,可以改善利用CESACR方法进行时钟同步的效果。
第一方面,本申请实施例提供了一种用于时钟同步的消息处理方法,该方法可以由第一设备执行,第一设备可以是利用CESACR方法进行时钟传递的源端设备或者中间设备。在传统技术中,源端设备在将用于时钟同步的消息发送给宿端设备时,中间设备透传该用于时钟同步的消息,而中间设备在透传用于时钟同步的消息时,中间设备中的交换模块对用于时钟同步的消息进行处理时会引入包时延变化量(packet delay variation,PDV),引入的包时延变化量会影响时钟同步的精确度。鉴于此,在本申请实施例中,第一设备获取到第一消息之后,可以基于第一消息生成第二消息,该第二消息能够体现第一消息在第一设备的交换模块的驻留时间,而不是简单的透传该第一消息。具体地,第一设备获取第一消息时,可以记录第一时间戳,该第一时间戳用于指示第一设备获取第一消息的时刻。其中,第一消息为用于时钟同步的消息。第一设备获取第一消息之后,可以根据第一消息确定转发第一消息的端口,并记录第二时间戳,第二时间戳用于指示第一设备确定该端口的时刻。第一设备在对第一消息进行转发时,可以根据第一消息生成包括第三时间戳的第二消息,并将第二消息发送给第二设备。其中,第三时间戳根据前述第二时间戳和第一时间戳的差值确定。确定转发第一消息的端口可以由第一设备中的交换模块执行,即第三时间戳可以体现前述第一消息在交换模块的驻留时间。由此可见,利用本申请实施例中的方案,宿端设备接收到的用于时钟同步的消息中可以携带能够体现该用于时钟同步的消息在交换模块的驻留时间,宿端设备进行时钟同步时,即可去掉交换模块引入的包时延变化量,从而提升宿端设备利用接收到的用于时钟同步的消息进行时钟同步的精度。
在一种可能的实现方式中,若第一设备是源端设备,则第一消息可以是第一设备生成的用于时钟同步的消息,第一时间戳可以用于指示第一设备生成第一消息的时刻。第二时间戳和第一时间戳的差值为第一消息在第一设备的交换模块的驻留时间。第一消息中可以具备用于携带时间戳数据的字段。若第一消息是第一设备生成的消息,则第一设备可以将第二时间戳和第一时间戳的差值确定为第三时间戳,并将第三时间戳添加至该字段中,从而实现根据第一消息生成包括第三时间戳的第二消息。
在一种可能的实现方式中,第一消息也可以是第一设备从其它设备处接收的用于时钟同步的消息。例如,当第一设备为源端设备时,第一消息可以是第一设备从作为时钟源的设备处接收的用于时钟同步的消息。当第一设备为中间设备时,第一消息可以是第一设备从第三设备处获取的,其中,第一设备为第三设备的下一跳设备。若第一消息时第一设备从其它设备处获取的消息,则第一消息中可以携带第四时间戳,第一设备可以将第四时间戳与前述差值之和确定为第三时间戳,并将第三时间戳添加至该字段中,从而实现根据第一消息生成包括第三时间戳的第二消息。
第二方面,本申请实施例还提供了一种时钟同步方法,该方法可以由作为宿端设备的第二设备执行,具体地,第二设备可以获取来自第一设备的第二消息,该第二设备为第一设备的下一跳设备,第二设备获取第二消息时,可以记录用于指示第二设备获取第二消息的时刻的第五时间戳,第二消息中包括第三时间戳,所述第三时间戳根据以上第一方面提供的方法确定。第二设备记录第五时间戳之后,可以根据所述第五时间戳和所述第三时间戳的差值进行时钟同步。由于第三时间戳可以体现用于时钟的同步消息在一个或者多个设备的交换模块的驻留时间之和,故而,第五时间戳和第三时间戳的差值,也去掉了前述一个或者多个设备的交换模块所引入的包时延变化量。因此,利用该方法,可以提升时钟同步的精度。
第三方面,本申请实施例提供了一种用于时钟同步的消息处理装置,该装置包括获取单元、记录单元、确定单元、生成单元和发送单元。获取单元用于获取第一消息;记录单元用于记录用于指示获取所述第一消息的时刻的第一时间戳;确定单元用于根据所述第一消息确定转发所述第一消息的端口;所述记录单元还用于记录用于指示确定所述端口的时刻的第二时间戳;生成单元用于根据所述第一消息生成包括第三时间戳的第二消息,所述第三时间戳根据所述第二时间戳和所述第一时间戳的差值确定;发送单元,用于将所述第二消息发送给第二设备。
在一种可能的实现方式中,所述获取单元具体用于生成所述第一消息;所述记录单元具体用于记录所述用于指示生成所述第一消息的时刻的第一时间戳。
在一种可能的实现方式中,所述获取单元具体用于:获取来自第三设备的所述第一消息,所述第一消息中携带第四时间戳;所述第三时间戳等于所述差值与所述第四时间戳之和。
第四方面,本申请实施例提供了一种时钟同步装置,该装置包括获取单元、记录单元和同步单元。获取单元用于获取来自第一设备的第二消息,所述第二消息中包括第三时间戳,所述第三时间戳根据以上第三方面任意一项所述的装置确定;记录单元用于记录用于指示获取所述第二消息的时刻的第五时间戳;同步单元用于根据所述第五时间戳和所述第三时间戳的差值进行时钟同步。
第五方面,本申请实施例提供了一种设备。所述设备包括处理器和存储器。所述存储器用于存储指令或计算机程序。所述处理器用于执行所述存储器中的所述指令或计算机程序,执行以上第一方面任意一项所述的方法,或者执行以上第二方面任意一项所述的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,包括指令或计算机程序,当其在计算机上运行时,使得计算机执行以上第一方面任意一项所述的方法,或者执行以上第二方面任意一项所述的方法。
第七方面,本申请实施例提供了一种包含指令或计算机程序的计算机程序产品,当其在计算机上运行时,使得计算机执行以上第一方面任意一项所述的方法,或者执行以上第二方面任意一项所述的方法。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的又一种示意图;
图3为本申请实施例提供的一种用于时钟同步的消息处理方法的流程示意图;
图4为本申请实施例提供的一种第一设备的结构示意图;
图5为本申请实施例提供的一种用于时钟同步的消息处理装置的结构示意图;
图6为本申请实施例提供的一种时钟同步装置的结构示意图;
图7为本申请实施例提供的一种设备的结构示意图。
具体实施方式
本申请实施例提供了一种用于时钟同步的消息处理方法和时钟同步方法,可以改善利用CESACR方法进行时钟同步的效果。
为方便理解,首先对本申请实施例的可能的应用场景进行介绍。
恒定比特率(constant bit rate,CBR)业务属于实时性业务,处理该业务的设备的时钟同步是保证该业务正常运行的基础。因此,对CBR业务提供支持的网络需要对处理CBR业务的设备进行时钟同步,其中,对CBR业务提供支持的网络例如可以为异步传输模式(asynchronous transfer mode,ATM)网络。具体地,可以利用CESACR方法对处理CBR业务的设备进行时钟同步。接下来对利用CESACR方法进行时钟同步的原理进行简单介绍。CBR业务可以包括千兆以太网(Gigabit Ethernet,GE)、同步数字体系(synchronous digitalhierarchy,SDH)、通用公共无线接口(common public radio interface CPRI)等。
参见图1,该图为本申请实施例提供的一种应用场景示意图。
在图1所示的场景中,包括设备101和设备102,设备101和设备102需要实现时钟同步。设备101可以向设备102发送用于时钟同步的消息,设备101向设备102发送的用于时钟同步的消息可能会经过设备103进行转发,其中,设备103例如可以为光传送网(opticaltransport network,OTN)中的设备。发送用于时钟同步的消息的设备101也可以被称为源端设备,该时钟同步消息的目的接收设备即设备102也可以被称为宿端设备,源端设备和宿端设备之间用于传递用于时钟同步的消息的设备,例如图1所示的设备103也可以被称为中间设备。
设备101在发送用于时钟同步的消息时,可以记录时间戳T1,并将该时间戳T1携带在该用于时钟同步的消息中,该时间戳T1用于指示设备101发送该用于时钟同步的消息的时刻。设备103接收到设备101发送的用于时钟同步的消息之后,透传该用于时钟同步的消息。图1只是为了方便理解而示出,用于转发该用于时钟同步的消息的中间设备的数量也可以为多个,该多个设备均用于透传该用于时钟同步的消息。设备102接收到该用于时钟同步的消息之后,可以记录时间戳T2,该时间戳T2用于指示设备102接收到前述用于时钟同步的消息的时刻。进一步地,设备102可以结合T2和前述用于时钟同步的消息中携带的时间戳T1进行时钟同步,具体地,设备102可以将前述时间戳T1和时间戳T2输入自适应时钟恢复(adaptive clock recovery,ACR)算法,从而实现设备101和设备102的时钟同步。ACR算法可以根据T2和T1的差值实现设备101和设备102的时钟同步。以下结合图2对ACR算法的原理进行简单介绍。
参见图2,该图为本申请实施例提供的又一种示意图。如图2所示,设备101周期性给设备102发送用于时钟同步的消息。T1_i表示设备101向设备102发送的第i条用于时钟同步的消息中携带的时间戳,T1_i用于指示设备101向设备102发送的第i条用于时钟同步的消息的时刻。T2_i表示设备102接收到的第i条用于时钟同步的消息时记录的时间戳,T2_i用于指示设备102接收到的第i条用于时钟同步的消息的时刻。若设备101和设备102的时钟同步,且每一条用于时钟同步的消息的传输时延相同,则:
T2_1–T2_0=T1_1–T1_0,
T2_2–T2_1=T1_2–T1_1,
T2_n–T2_n-1=T1_n–T1_n-1,
依次类推,T2_n–T2_0=T1_n–T1_0,如果T2_n–T2_0大于T1_n–T1_0,说明设备102的频率比设备101高,则需要减小设备102的频率,反之,则需要增大设备102的频率。对T2_n–T2_n-1=T1_n–T1_n-1进行公式变换可得:T2_n–T1_n=T2_n-1–T1_n-1,因此,ACR算法可以根据T2_n–T1_n的差值实现设备101和设备102的时钟同步。
通过以上描述可知,ACR算法的理想条件是:每一条用于时钟同步的消息的传输时延相同,即包时延变化量为0。但是实际上用户时钟同步的消息的转发时延,受到转发设备例如图1中的设备103的影响较大。由于设备103除了转发用于时钟同步的消息之外,还可以转发其它报文。因此设备103转发用于时钟同步消息时,时钟同步消息在设备103中的驻留时间受到设备103当前状态的影响。而设备103的状态并不能时刻保持相同,因此,多条用于时钟同步的消息在设备103中的驻留时间可能并不相同,即包时延变化量不为0。而且,在一些实施例中,包时延变化量比较大,例如可以达到微秒级别,例如2微秒。这就导致多条用于时钟同步的消息的传输时延很难完全相同,进一步使得利用ACR算法进行时钟同步的精度不高。
用于时钟同步的消息在设备103中的驻留时间包括多个部分,分别为:
1、设备103中的交换模块对用于时钟同步消息进行处理所使用的时间,其中,交换模块用于确定转发、调度用于时钟同步的消息的端口,交换模块可以为硬件芯片,也可以为软件模块;
2、用于时钟同步的消息在报文出口队列中排队所使用的时间;
3、由于网络突发情况导致的路径重定向所使用的时间;
4、其它因素导致的驻留时间,例如光传输网中的光衰减。
发明人发现,交换模块对用于时钟同步消息进行处理所使用的时间引入的包时延变化量最大,大于上述其它三种因素引入的包时延变化量。因此,若能去掉交换模块对用于时钟同步消息进行处理所使用的时间引入的包时延变化量,则可以提升宿端设备利用接收到的用于时钟同步的消息进行时钟同步的精度。
鉴于此,本申请实施例提供了一种用于时钟同步的消息处理方法和时钟同步方法,以下结合附图对该方法进行介绍。
参见图3,该图为本申请实施例提供的一种用于时钟同步的消息处理方法的流程示意图。图3所示的用于时钟同步的消息处理方法,可以通过如下S101-S103实现。
S101:第一设备获取第一消息,并记录第一时间戳,第一时间戳用于指示第一设备获取第一消息的时刻。
本申请实施例中的第一消息可以是用于时钟同步的消息。本申请实施例中的第一设备,可以是如图1所示的设备101,也可以是设备103。第一设备可以是用于处理CBR业务的设备。第一消息的消息结构以及第一消息的传输速率可以根据第一设备处理的CBR业务来确定,本申请实施例不做具体限定。
在本申请实施例中,第一设备可以利用第一设备的本地时钟进行计数得到第一时间戳。
在本申请实施例中,若第一设备是源端设备例如图1所示的设备101,第一消息可以是第一设备生成的用于时钟同步的消息,对于这种情况,第一时间戳可以用于指示第一设备生成第一消息的时刻。第一消息也可以是第一设备从其它设备处接收的用于时钟同步的消息,例如第一消息可以是第一设备从作为时钟源的设备处接收的用于时钟同步的消息。
若第一设备是中间设备,则第一消息可以是第一设备从第三设备处获取的,第一设备为第三设备的下一跳设备。对于这种情况,第一消息中可以携带第四时间戳,第四时间戳可以是第三设备添加到第一消息中的。
S102:第一设备根据第一消息确定转发第一消息的端口,并记录第二时间戳,第二时间戳用于指示第一设备确定该端口的时刻。
在本申请实施例中,第一消息可以为二层转发消息,也可以为三层转发消息。若第一消息为二层转发消息,则第一设备可以根据本地存储的媒体接入控制(media accesscontrol,MAC)转发表确定转发第一消息的端口。具体地,该转发表中存储有MAC地址和端口的对应关系,第一设备可以对第一消息进行解析得到目的MAC地址,并根据目的MAC地址和MAC转发表确定转发第一消息的端口。若第一消息为三层转发消息,则第一设备可以根据本地存储的转发信息表(forward information database,FIB)确定转发第一消息的端口。具体地,该转发信息表中存储有互联网协议(Internet Protocol,IP)地址、端口和下一跳的对应关系,第一设备可以对第一消息进行解析得到目的IP地址,并根据目的IP地址和转发信息表转发表确定转发第一消息的端口。在一些实施例中,S102可以由第一设备的交换模块执行。
第一设备确定转发第一消息的端口时,可以利用第一设备的本地时钟进行计数得到第二时间戳。
S103:第一设备根据第一消息生成包括第三时间戳的第二消息,并将第二消息发送给第二设备,其中,第三时间戳根据第二时间戳和第一时间戳的差值确定。
第二时间戳和第一时间戳的差值为第一消息在第一设备的交换模块的驻留时间。得到驻留时间之后,第一设备可以根据该驻留时间和第一消息,生成第二消息。其中,第一消息中可以具备用于携带时间戳数据的字段,第一设备可以将第三时间戳添加至该字段中,从而实现根据第一消息生成包括第三时间戳的第二消息的效果。具体地,若第一消息是第一设备生成的,则第三时间戳等于第二时间戳与第一时间戳的差值。若第一消息是第一设备从第三设备处获取的,则第一消息中携带第四时间戳,对于这种情况,第三时间戳等于第四时间戳与前述差值之和。
第一设备生成第一消息之后,可以将第一消息发送给第二设备。若第二设备不是宿端设备,则第二设备可以执行与第一设备类似的步骤,即对第二消息中携带的第三时间戳进行修改,将第三时间戳修改为第二消息在第二设备的交换模块的驻留时间与第三时间戳之和。若第二设备是宿端设备,则第二设备可以记录第五时间戳,第五时间戳用于指示第二设备获取第二消息的时间,第二设备可以根据第二消息中携带的第三时间戳和第五时间戳进行时钟同步。具体地,第二设备可以将第五时间戳和第三时间戳的差值作为ACR算法的输入,从而实现时钟同步。
当第二设备为宿端设备时,由于第三时间戳可以体现用于时钟的同步消息在一个或者多个设备的交换模块的驻留时间之和,故而,第五时间戳和第三时间戳的差值,等于第五时间戳减去用于时钟的同步消息在一个或者多个设备的交换模块的驻留时间之和。相应的,第五时间戳和第三时间戳的差值,也去掉了前述一个或者多个设备的交换模块所引入的包时延变化量。由于交换模块引入的包时延变化量被去掉,故而利用本申请实施例的方案,可以提升时钟同步的精度。此处提及的一个或者多个设备为源端设备和中间设备中的部分或者全部。
在一些实施例中,若用于时钟同步的消息在转发过程中,源端设备和各个中间设备均执行图3所示的用于时钟同步的消息处理方法,则宿端设备在进行时钟同步时,可以去掉源端设备和所有中间设备的交换模块所引入的包时延变化量,从而有效提升时钟同步的精度。
在一些实施例中,第一设备可以包括多个功能模块,例如包括第一模块和第二模块,第一模块和第二模块之间可以通过光纤相连,或者通过光中继相连。当第一模块和第二模块通过光纤或者光中继相连时,若第一设备的第一模块接收到用于时钟同步的消息,而交换模块位于第二模块上,则第一设备可以将该用于时钟同步的消息通过光纤或者光中继发送给第二模块,由第二模块确定转发该用于时钟同步的消息的端口。在一些实施例中,第一设备可以用于传递与各种CBR业务对应的用于时钟同步的消息,CBR业务不同,第一设备接收到的用于时钟同步的消息的格式和传输速率也可能不同。而通过光纤或者光中继传输消息时,对消息的传输速率和消息格式也有一定的要求,例如,光纤或者光中继可以以第一速率传输第一格式的消息。假设第一模块接收到的用于时钟同步的消息为与第一CBR业务对应的消息,则第一模块接收用于时钟同步的消息,对该时钟同步的消息进行转换,得到符合第一格式的消息,并通过第一速率利用光纤或者光中继将转换得到的时钟同步消息传输给第二模块。对于这种情况,前述第一消息可以是转换之后的消息。在一些实施例中,当第一消息为转换后的消息时,第一消息也可以被称作信元。相应的,对于这种情况,第二模块接收到该信元之后,可以对该信元进行逆转换,得到符合第一CBR业务要求的消息,并根据逆转换得到的消息确定转发第一消息的端口。
在本申请实施例中,S102中提及的端口为物理端口。具体地,第一设备可以包括一块或者多块板卡,一个板卡上可以包括多个物理端口。其中,板卡也可以被称为子卡,板卡可以分为支卡和线卡。交换模块可以位于线卡上。在一些实施例中,当第一消息是第一设备从第三设备处获取的消息时,第一设备可以通过第一板卡上的第一端口获取第一消息,相应的,由第一板卡上的时钟进行计数得到第一时间戳。而后,第一设备可以通过交换模块确定转发第一消息的端口,由交换模块所属的板卡上的时钟进行计数得到第二时间戳。交换模块可以位于第一板卡上,也可以位于不同于第一板卡的第二板卡上,本申请实施例不做具体限定。需要说明的是,当交换模块位于第二板卡上时,虽然获得第一时间戳和第二时间戳所使用的时钟位于不同的板卡上,但是这两个时钟均位于第一设备上,两个时钟的频率是同步的,因此,第二时间戳和第一时间戳的差值可以准确表示第一消息在交换模块的驻留时间。另外,转发第一消息的端口可以位于第二板卡上,也可以位于不同于第二板卡的第三板卡上,本申请实施例不做具体限定。
可参见图4进行理解,图4为本申请实施例提供的一种第一设备的结构示意图。如图4所示,第一设备400包括板卡401,板卡402和板卡403,板卡401、板卡402和板卡403可以通过背板(图4中未示出)进行通信。其中,板卡401上包括端口401a和晶振401b,板卡402上包括端口402a和晶振402b,板卡403上包括端口403a和晶振403b,第一设备400通过端口401a获取第一消息,并利用晶振401b产生的时钟计数得到第一时间戳。第一设备400的交换模块确定转发第一消息的端口,并利用晶振402b产生的时钟计数得到第二时间戳。此处假设转发第一消息的端口为403a。第一设备400通过端口403a将第二消息发送给第二设备,晶振403b用于产生板卡403的工作时钟。在一些实施例中,板卡401、板卡402以及板卡403的工作时钟不一定是由晶振直接产生的,也可以是晶振间接产生的,还可以是其它实时时钟(realtime clock,RTC)产生的,此处只是为了方便理解而示出,其并不构成对本申请实施例的限定。
在一些实施例中,中间设备或者源端设备在执行前述S101和S102时,也会引入一定的包时延变化量。而引入的包时延变化量会降低时钟同步的精度。以下结合理论分析,说明前述S101和S102所引入的包时延变化量小于利用图3所示的方法而去掉的包时延变化量。故而上述方法提升时钟同步的精度理论可行。
前述S101和S102之所以会引入包时延变化量,主要包括以下两个因素。
第一个因素为:设备间用于计数得到时间戳的时钟不同步,此处提及的设备包括用于传递用于时钟同步的消息的各个设备。第二个因素为:实时时钟计数得到时间戳存在一定的误差,此处提及的实时时钟例如可以为晶振直接产生的时钟。
关于第一个因素,需要说明的是,时间戳本质上为一个计数器,只有各个设备计数所使用的时钟一致,该时间戳才能表示时间。
对于传递用于时钟同步的消息的第j台设备而言,将第j台设备记录的第一时间戳为TS1j,记录的第二时间戳为TS2j,则该用于时钟同步的消息在第j台设备的交换模块驻留的时间Tstay_j可以通过如下公式(1)计算得到:
Tstay_j=TS2j-TS1j 公式(1)
假设该用于时钟同步的消息从源端设备传递到宿端设备的端到端时延为Delaye2e,其中端到端时延的单位为毫秒(millisecond,ms),则Delaye2e包含该消息在除宿端设备之外的各设备的交换模块的驻留时间、和设备间的光纤时延等等之和,因此,故该消息在除宿端设备之外的各设备的交换模块的驻留时间累加值小于端时延Delaye2e,如公式(2)所示。
其中,N为源端设备和中间设备的数量之和,例如,N等于20,表示源端设备将用于时钟同步的消息发送给宿端设备经过了19个中间设备的转发。
对于第j台设备而言,计数得到TS1j和TS2j,受本地时钟影响。根据国际电联电信标准化部门(International Telecommunication Union TelecommunicationStandardization Sector,ITU-T)G.813标准规定,一般情况下,第j台设备的时钟为三级时钟,设备间的时钟频率的最大频偏为foffsetmax,其中,最大频偏的单位为每百万单位(parts per million,ppm)可得到公式(3):
-foffsetmax≤foffsetj≤+foffsetmax 公式(3)
故而第j台设备内,驻留时间Tstay_j的变化量的最大值为可以通过如下公式(4)计算得到:
PDVj,max=2*foffsetmax×Tstay_j(ns) 公式(4)
其中,PDVj,max的单位为纳秒(nanosecond,ns)。
对于长链组网的场景,该用于时钟同步的消息经过N台设备转发之后到的宿端设备,则长链组网的端到端的时延变化量PDVe2e可以通过如下公式(5)表示:
结合公式(2)、公式(3)和公式(5)可知:
即:
PDVe2e≤2*foffsetmax×Delaye2e(ns) 公式(7)
对于OTN网络,长链组网的端到端时延较小,例如Delaye2e≤1ms,而设备间的时钟频率的最大频偏foffsetmax为4.6ppm,即:-4.6ppm≤foffsetj≤+4.6ppm。
则根据公式(7)可知,PDVe2e≤2*4.6ppm×1ms=9.2ns。
关于第二个因素实时时钟计数得到时间戳存在一定的误差,需要说明的是,假设用于记录第一时间戳和第二时间戳的时钟的频率是Frtc,其中,频率的单位是兆赫兹(MHz),则计算时间戳的误差为±1000/Frtc(ns),一台设备计算时间戳引入的误差最大为1000/Frtc(ns),假设前述N等于20,则第二个因素引入的端到端时延变化量可以通过如下公式(8)表示:
PDVe2e_ts≤20000/Frtc(ns) 公式(8)
假设Frtc等于155.52MHz,则计算时间戳的误差为+/-6.43ns,一台设备计算时间戳引入的误差最大为12.86ns,若N等于20,则PDVe2e_ts≤257.2ns,其中,257.2=12.86*20。
综合以上两个因素,利用图3所示的方案所引入的包时延变化量,理论上的最大值为
PDVe2e,max=2*fofsetmax×Delaye2e+20000/Frtc (ns)
在一个实施例中,PDVe2e,max=257.2ns+9.2ns=266.4ns。
而图3所示的方法所消除的包实验变化量一般可以达到微秒级别,例如达到1微秒以上,由此可见,利用本申请实施例的方案,虽然引入了额外的包时延变化量,例如引入了266.4ns包时延变化量,但是消除的包时延变化量远大于引入的包时延变化量,从而提升了时钟同步的精度。
基于以上实施例提供的用于时钟同步的消息处理方法和时钟同步方法,本申请实施例还提供了对应的装置,以下结合附图介绍该装置。
参见图5,图5为本申请实施例提供的一种用于时钟同步的消息处理装置的结构示意图。图5所示的用于时钟同步的消息处理装置500,可以用于执行图3所示的时钟同步方法。具体地,该用于时钟同步的消息处理装置500可以包括获取单元501、记录单元502、确定单元503、生成单元504和发送单元505。
获取单元501用于获取第一消息;记录单元502用于记录用于指示获取所述第一消息的时刻的第一时间戳;确定单元503用于根据所述第一消息确定转发所述第一消息的端口;所述记录单元502还用于记录用于指示确定所述端口的时刻的第二时间戳;生成单元504用于根据所述第一消息生成包括第三时间戳的第二消息,所述第三时间戳根据所述第二时间戳和所述第一时间戳的差值确定;发送单元505用于将所述第二消息发送给第二设备。
在一种可能的实现方式中,所述获取单元501具体用于生成所述第一消息;所述记录单元502具体用于记录所述用于指示生成所述第一消息的时刻的第一时间戳。
在一种可能的实现方式中,所述获取单元501具体用于获取来自第三设备的所述第一消息,所述第一消息中携带第四时间戳;所述第三时间戳等于所述差值与所述第四时间戳之和。
由于所述装置500是与以上实施例描述的图3对应的用于时钟同步的消息处理方法对应的装置,所述装置500的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于所述装置500的各个单元的具体实现,可以参考以上方法实施例关于图3对应的用于时钟同步的消息处理方法的描述部分,此处不再赘述。
参见图6,图6为本申请实施例提供的一种时钟同步装置的结构示意图。图6所示的时钟同步装置600,可以用于执行作为宿端设备的第二设备执行的步骤。具体地,该时钟同步装置600可以包括获取单元601、记录单元602和同步单元603。
获取单元601用于获取来自第一设备的第二消息,所述第二消息中包括第三时间戳,所述第三时间戳根据图5所示的装置500确定;记录单元602用于记录用于指示获取所述第二消息的时刻的第五时间戳;同步单元603用于根据所述第五时间戳和所述第三时间戳的差值进行时钟同步。
由于所述装置600是与以上实施例描述的作为宿端设备的第二设备执行的步骤对应的装置,所述装置600的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于所述装置600的各个单元的具体实现,可以参考以上方法实施例关于作为宿端设备的第二设备执行的步骤的描述部分,此处不再赘述。
需要说明的是,前述提及的用于时钟同步的消息处理装置500和时钟同步装置600,其硬件结构可以为如图7所示的结构,图7为本申请实施例提供的一种设备的结构示意图。
请参阅图7所示,设备700包括:处理器710、通信接口720和存储器730。其中设备700中的处理器710的数量可以一个或多个,图7中以一个处理器为例。本申请实施例中,处理器710、通信接口720和存储器730可通过总线系统或其它方式连接,其中,图7中以通过总线系统740连接为例。
处理器710可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。处理器710还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器730可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(random-access memory,RAM);存储器730也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器730还可以包括上述种类的存储器的组合。当设备700对应前述用于时钟同步的消息处理装置500时,存储器730例如可以存储第一时间戳、第二时间戳和第三时间戳;当设备700对应图6所示的时钟同步装置600时,存储器730例如可以存储第五时间戳和第三时间戳。
可选地,存储器730存储有操作系统和程序、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,程序可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。处理器710可以读取存储器730中的程序,实现本申请实施例提供的用于时钟同步的消息处理方法或者时钟同步方法。
总线系统740可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线系统740可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供了一种计算机可读存储介质,包括指令或计算机程序,当其在计算机上运行时,使得计算机执行以上实施例提供的用于时钟同步的消息处理方法或者时钟同步方法。
本申请实施例还提供了一种包含指令或计算机程序的计算机程序产品,当其在计算机上运行时,使得计算机执行以上实施例提供的用于时钟同步的消息处理方法或者时钟同步方法。
本申请中提到的装置或设备,可以是网络设备,比如交换机、路由器,也可以是服务器,也可以是网络设备或服务器的一部分。在一些实施例中,本申请的装置或设备,也可以是部署在设备或网络中的功能模块。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑业务划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各业务单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件业务单元的形式实现。
集成的单元如果以软件业务单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的业务可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些业务存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种用于时钟同步的消息处理方法,其特征在于,包括:
第一设备获取第一消息,并记录用于指示所述第一设备获取所述第一消息的时刻的第一时间戳;
所述第一设备根据所述第一消息确定转发所述第一消息的端口,并记录用于指示所述第一设备确定所述端口的时刻的第二时间戳;
所述第一设备根据所述第一消息生成包括第三时间戳的第二消息,并将所述第二消息发送给第二设备,所述第三时间戳根据所述第二时间戳和所述第一时间戳的差值确定。
2.根据权利要求1所述的方法,其特征在于,所述第一设备获取第一消息,并记录用于指示所述第一设备获取所述第一消息的时刻的第一时间戳,包括:
所述第一设备生成所述第一消息,并记录所述用于指示所述第一设备获取所述第一消息的时刻的第一时间戳。
3.根据权利要求1所述的方法,其特征在于,所述第一设备获取第一消息,包括;
所述第一设备获取来自第三设备的所述第一消息,所述第一消息中携带第四时间戳;
所述第三时间戳等于所述差值与所述第四时间戳之和。
4.一种时钟同步方法,其特征在于,包括:
第二设备获取来自第一设备的第二消息,并记录用于指示所述第二设备获取所述第二消息的时刻的第五时间戳,所述第二消息中包括第三时间戳,所述第三时间戳根据权利要求1-3任意一项所述的方法确定;
所述第二设备根据所述第五时间戳和所述第三时间戳的差值进行时钟同步。
5.一种用于时钟同步的消息处理装置,其特征在于,包括:
获取单元,用于获取第一消息;
记录单元,用于记录用于指示获取所述第一消息的时刻的第一时间戳;
确定单元,用于根据所述第一消息确定转发所述第一消息的端口;
所述记录单元,还用于记录用于指示确定所述端口的时刻的第二时间戳;
生成单元,用于根据所述第一消息生成包括第三时间戳的第二消息,所述第三时间戳根据所述第二时间戳和所述第一时间戳的差值确定;
发送单元,用于将所述第二消息发送给第二设备。
6.根据权利要求5所述的装置,其特征在于,所述获取单元,具体用于:生成所述第一消息;
所述记录单元,具体用于:记录所述用于指示获取所述第一消息的时刻的第一时间戳。
7.根据权利要求5所述的装置,其特征在于,所述获取单元,具体用于:
获取来自第三设备的所述第一消息,所述第一消息中携带第四时间戳;
所述第三时间戳等于所述差值与所述第四时间戳之和。
8.一种时钟同步装置,其特征在于,包括:
获取单元,用于获取来自第一设备的第二消息,所述第二消息中包括第三时间戳,所述第三时间戳根据权利要求5-7任意一项所述的装置确定;
记录单元,用于记录用于指示获取所述第二消息的时刻的第五时间戳;
同步单元,用于根据所述第五时间戳和所述第三时间戳的差值进行时钟同步。
9.一种时钟同步设备,其特征在于,包括:处理器和存储器;
所述存储器,用于存储指令或计算机程序;
所述处理器,用于执行所述指令或计算机程序,执行权利要求1-4任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,包括指令或计算机程序,当其在计算机上运行时,使得计算机执行以上权利要求1-4任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/136845 WO2021121275A1 (zh) | 2019-12-16 | 2020-12-16 | 一种用于时钟同步的消息处理方法、时钟同步方法及装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911295200 | 2019-12-16 | ||
CN2019112952003 | 2019-12-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112994819A CN112994819A (zh) | 2021-06-18 |
CN112994819B true CN112994819B (zh) | 2023-02-03 |
Family
ID=76344141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010075071.3A Active CN112994819B (zh) | 2019-12-16 | 2020-01-22 | 一种用于时钟同步的消息处理方法、时钟同步方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112994819B (zh) |
WO (1) | WO2021121275A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114172915B (zh) * | 2021-11-05 | 2023-10-31 | 中汽创智科技有限公司 | 一种消息同步方法、自动驾驶系统、存储介质及电子设备 |
CN114554237B (zh) * | 2022-02-18 | 2023-12-26 | 北京有竹居网络技术有限公司 | 信息处理方法、装置及设备 |
CN115022204B (zh) * | 2022-05-26 | 2023-12-05 | 阿里巴巴(中国)有限公司 | Rtc的传输时延检测方法、装置以及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833061A (zh) * | 2012-08-31 | 2012-12-19 | 北京东土科技股份有限公司 | 基于无缝冗余环网的提高时钟精度的方法及节点 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2392588A (en) * | 2002-08-24 | 2004-03-03 | Zarlink Semiconductor Ltd | Adaptive TDM clock recovery using timestamps |
US8462819B2 (en) * | 2010-01-06 | 2013-06-11 | Lsi Corporation | Adaptive clock recovery with step-delay pre-compensation |
EP2487819B1 (en) * | 2011-02-10 | 2015-08-05 | Alcatel Lucent | Network element for a packet-switched network |
US9628209B2 (en) * | 2013-01-17 | 2017-04-18 | Viavi Solutions Inc. | Time synchronization in distributed network testing equipment |
CN104767582B (zh) * | 2014-01-07 | 2017-07-11 | 艾默生网络能源有限公司 | 一种以太网的同步方法、装置及系统 |
CN108449228B (zh) * | 2018-03-05 | 2020-03-17 | 新华三技术有限公司 | 报文处理方法及网络设备 |
-
2020
- 2020-01-22 CN CN202010075071.3A patent/CN112994819B/zh active Active
- 2020-12-16 WO PCT/CN2020/136845 patent/WO2021121275A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833061A (zh) * | 2012-08-31 | 2012-12-19 | 北京东土科技股份有限公司 | 基于无缝冗余环网的提高时钟精度的方法及节点 |
Also Published As
Publication number | Publication date |
---|---|
CN112994819A (zh) | 2021-06-18 |
WO2021121275A1 (zh) | 2021-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112994819B (zh) | 一种用于时钟同步的消息处理方法、时钟同步方法及装置 | |
EP2430784B1 (en) | Network timing distribution and synchronization using virtual network delays | |
Porter et al. | Integrating microsecond circuit switching into the data center | |
EP2497211B1 (en) | Method and apparatus for optimizing packet timing transport | |
EP1455473B1 (en) | Clock Synchronisation over a Packet Network | |
US7760625B2 (en) | Exchange node and exchange node control method | |
EP2529513B1 (en) | Apparatus and method for synchronized networks | |
EP2779484A1 (en) | Polybox clustered optical network switching node, optical burst synchronization method and line frame | |
EP2288070A1 (en) | Time synchronizing method, device and system of master clock side and slave clock side in synchronous network | |
CN110278065B (zh) | 一种补偿时延的方法和设备 | |
CN111385048A (zh) | 一种时间同步方法及系统 | |
JP2013030835A5 (zh) | ||
US8923347B2 (en) | Data transmission involving multiplexing and demultiplexing of embedded clock signals | |
US8547864B2 (en) | Layer one path delay compensation | |
EP3469772A1 (en) | Scheduling of data flow transmission in a data center | |
Baldi et al. | Fractional lambda switching principles of operation and performance issues | |
US20020150057A1 (en) | Stuffing filter mechanism for data transmission signals | |
CN116566529A (zh) | 一种时间调整方法、网络设备及系统 | |
US9225446B2 (en) | Methods and apparatus for minimizing wander generation in constant bit rate asynchronously mapped digital transport systems | |
Gringeri et al. | Optimizing transport systems to integrate TDM and packet services | |
CN115868145A (zh) | 一种通信方法及相关设备 | |
Liu | An efficient method of estimating the ratio of clock frequency | |
WO2016187781A1 (zh) | 报文处理方法及装置 | |
Kavitha et al. | Performance Analysis of Slotted Optical Switching Scheme using Non-uniform Traffic Pattern | |
US7385970B1 (en) | Method and apparatus for balancing bandwidth among multiple ports of a network element |
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 |