一种设备之间进行时钟同步的方法和装置的制作方法

文档序号:7749220阅读:172来源:国知局
专利名称:一种设备之间进行时钟同步的方法和装置的制作方法
技术领域
本发明涉及网络通信术领域,特别是涉及一种设备之间进行时钟同步的方法和装
置。
背景技术
CFM(Connectivity Fault Management,连接故障管理)功能可以有效的对虚 拟桥局域网进行检查、隔离和连接性故障报告,在CFM管理中有一个很重要的功能就是 ETH-DM(Ethernet Delay Measurement,网络时延抖动计算)功能。在 Y. 1731 协议中 ETH-DM 分为TWO-DM(Two-way Delay Measurements,双向网络时延计算)禾口0NE_DM(0neiay frame Delay Measurement,单向网络时延计算),便于管理者在管理网络时,可以根据需要测算某 两点之间的时延和数据链路的抖动。TWO-DM测量是通过向对等MEP (Maintenance End Point,维护边界点)发送周期 的ETH-DM帧,并在诊断间隔内从对等MEP接收带有ETH-DM信息的帧来完成的。当一个 MEP产生带有ETH-DM信息的帧时,该MEP也预期从对等的MEP接收带有ETH-DM信息的响 应帧。在使用TWO-DM时,两台设备之间的时钟即使不同步也可以计算出一个精确的时延数 值。TWO-DM的测量过程如图1所示,本端MEP发送一个带有ETH-DM请求信息的帧,该帧携带 TxTimeStampf,对端MEP以一个带有ETH-DM回复信息的帧进行回应,回复帧中有从ETH-DM 请求信息中复制来的TxTimeStampf,以及对端MEP接收和发送的时间戳信息。本端MEP接 收该带有ETH-DM回复信息的帧并根据携带的四个时间戳进行帧时延计算,计算公式如下Dual-Delay = (RxTimeb-TxTimeStampf) - (TxTimeStampb-RxTimeStampf)其中,Dual-Delay为双向帧时延,RxTimeb为本端接收响应报文时的时间戳, TxTimeStampf为本端发送报文时的时间戳,TxTimeStampb为对端发送响应报文时的时间 戳,RxTimeStampf为对端收到本端报文时的时间戳。ONE-DM的测量过程如图2所示,单向帧时延的测量是通过对端接收时的时间和本 端发送时的时间的差值来计算的,需要本端MEP和对端MEP的时钟同步。但是,单向帧时延的测量结果要求的精度较高,要求精确到纳秒级,而现有的通过 网络时钟协议对两台设备的时钟进行同步的方式,其精度只能精确到秒级,不能满足要求, 使得ONE-DM功能很难在应用中使用。

发明内容
本发明要解决的问题是提供一种设备之间进行时钟同步的方法和装置,以克服现 有技术中设备之间进行时钟同步的精度低的缺陷。为达到上述目的,本发明的技术方案提供一种设备之间进行时钟同步的方法,所 述方法包括以下步骤:A、使用网络时钟协议对本端和对端之间的时钟进行粗同步,所述粗 同步的精度精确到秒级;B、本端发起双向网络时延测量,获取对端发送响应报文时的时间、 本端接收响应报文时的时间和双向帧时延,并将所述双向帧时延的一半作为单向帧时延;C、按照预先设定的次数重复步骤B,并根据获取的多个对端发送响应报文时的时间、本端接收响应报文时的时间和单向帧时延,得到对端发送响应报文时的时间的平均值、本端接收 响应报文时的时间的平均值和单向帧平均时延;D、将所述对端发送响应报文时的时间的平 均值与单向帧平均时延的和,与所述本端接收响应报文时的时间的平均值相减,得到时间 校正值;E、本端获取本地当前时间,并根据所述时间校正值对所述本地当前时间进行校正。进一步,所述步骤B,包括Bi、本端向对端发送报文,所述报文携带本端发送报文 时的时间;B2、对端向本端返回响应报文,所述响应报文携带本端发送报文时的时间、对端 收到本端报文时的时间和对端发送响应报文时的时间;B3、本端接收所述响应报文,并根据 公式Dual-Delay = (RxTimeb-TxTimeStampf) - (TxTimeStampb-RxTimeStampf)计 算双向帧时延,其中,Dual-Delay为双向帧时延,RxTimeb为本端接收响应报文时的时 间,TxTimeStampf为本端发送报文时的时间,TxTimeStampb为对端发送响应报文时 的时间,RxTimeStampf 为对端收到本端报文时的时间;B4、根据公式Single-Delay = Dual-Delay^-2计算单向帧时延,其中,Single-Delay为单向帧时延,Dual-Delay为双向帧 时延。进一步,所述步骤C包括C1、重复n-1次步骤B,共进行η次双向网络时延测量, 其中 η 为预先设定的次数;C2、根据公式 TxTimeStampbavCT = (TxTimeStampb^TxTimeStampb 2+. . . TxTimeStampbn) +η计算对端发送响应报文时的时间的平均值,其中TxTimeStampb·, 为对端发送响应报文时的时间的平均值,TxTimeStampb1. . . TxTimeStampbn为每次获得的 对端发送响应报文时的时间;根据公式RxTimebavw = (RxTimeb^RxTimeb2+. . . RxTimebn) -^n计算本端接收响应报文时的时间的平均值,其中RxTimebave,为本端接收响应报文时的 时间的平均值,RxTimeb1. . . RxTimebn为每次获得的本端接收响应报文时的时间;根据公式 Delayaver = (Single-Delay^Single-Delay2+. . . Single-Delayn) +η 计算单向帧平均时延, 其中DelayavCT为单向帧平均时延,Single-Delay1. . . Single-Delayn为每次获得的单向帧时 延。进一步,所述步骤D包括根据公式Minus= (RxTimebaver-(TxTimeStampbaver+Dela Yaver)计算时间校正值,其中,Minus为时间校正值,RxTimebave,为本端接收响应报文时的时 间的平均值,TxTimeStampbaver为对端发送响应报文时的时间的平均值,Delayaver为单向帧 平均时延。进一步,所述步骤E包括E1、本端获取本地当前时间T ;E2、根据公式Ts = T-Minus对本地当前时间进行校正,其中Ts为校正后的本地当前时间,T为校正前的本地当 前时间,Minus为时间校正值。进一步,在所述步骤E之后,还包括在对端发起双向网络时延测量,重复步骤B E,对对端的本地当前时间进行校正。进一步,在本端和/或对端的本地当前时间进行校正之后,还包括本端发起单向 网络时延测量获取单向帧时延的步骤,具体包括本端向对端发送报文,所述报文携带本端 发送报文时的时间;对端接收所述报文,并将对端接收时的时间减去本端发送时的时间,得 到单向帧时延。本发明的技术方案还提供一种设备之间进行时钟同步的装置,所述装置包括粗同步单元,用于使用网络时钟协议对本端和对端之间的时钟进行粗同步,所述粗同步的精 度精确到秒级;双向网络时延测量单元,用于本端发起双向网络时延测量,获取对端发送响 应报文时的时间、本端接收响应报文时的时间和双向帧时延,并将所述双向帧时延的一半 作为单向帧时延;平均值获取单元,用于根据获取的多个对端发送响应报文时的时间、本端 接收响应报文时的时间和单向帧时延,得到对端发送响应报文时的时间的平均值、本端接 收响应报文时的时间的平均值和单向帧平均时延;时间校正值获取单元,用于将所述对端 发送响应报文时的时间的平均值与单向帧平均时延的和,与所述本端接收响应报文时的时 间的平均值相减,得到时间校正值;校正单元,用于本端获取本地当前时间,并根据所述时 间校正值对所述本地当前时间进行校正。
进一步,所述装置还包括单向网络时延测量单元,用于在本端和/或对端的本地 当前时间进行校正之后,本端发起单向网络时延测量获取单向帧时延。与现有技术相比,本发明的有益效果如下本发明通过TWO-DM功能多次计算设备之间的时延,获取设备之间的单向帧平均 时延,并通过设备的本地当前时间和单向帧平均时延来校正本地当前时间,从而实现设备 之间的时钟同步,该时钟同步的精度高,可以精确到纳秒级。


图1是现有技术中TWO-DM的测量过程的流程图;图2是现有技术中ONE-DM的测量过程的流程图;图3是本发明实施例的一种设备之间进行时钟同步的方法的流程图;图4是本发明实施例的一种设备之间进行时钟同步的装置的结构图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施 例用于说明本发明,但不用来限制本发明的范围。本发明实施例的一种设备之间进行时钟同步的方法的流程如图3所示,包括以下 步骤步骤S301,使用网络时钟协议对本端和对端之间的时钟进行粗同步,所述粗同步 的精度精确到秒级。步骤S302,本端发起双向网络时延测量,获取对端发送响应报文时的时间、本端接 收响应报文时的时间和双向帧时延,并将所述双向帧时延的一半作为单向帧时延。具体包 括以下步骤S3021,本端向对端发送报文,所述报文携带本端发送报文时的时间 TxTimeStampf。本实施例中假设TxTimeStampf为17时10分5秒20纳秒。S3022,对端向本端返回响应报文,所述响应报文携带本端发送报文时的时间 TxTimeStampf、对端收到本端报文时的时间RxTimeStampf和对端发送响应报文时的时 间TxTimeStampb。本实施例中假设RxTimeStampf为17时10分15秒500060纳秒, TxTimeStampb 为 17 时 10 分 17 秒 500080 纳秒。S3023,本端接收所述响应报文,本实施例中假设本端接收响应报文时的时间RxTimeb为17时10分27秒60纳秒,并根据公式Dual-Delay = (RxTimeb-TxTimeStampf) - (TxTimeStampb-RxTimeStampf)计算双 向帧时延Dual-Delay。本实施例中,经计算Dual-Delay为20秒20纳秒。s3024,根据公式 Single-Delay = Dual-Delay + 2 计算单向帧时延 Single-Delay, 经计算Single-Delay为10秒10纳秒。步骤s303,按照预先设定的次数重复步骤s302,并根据获取的多个对端发送响 应报文时的时间、本端接收响应报文时的时间和单向帧时延,得到对端发送响应报文时的 时间的平均值、本端接收响应报文时的时间的平均值和单向帧平均时延。具体包括以下步 骤
S3031,重复n-1次步骤B,共进行η次双向网络时延测量,其中η为预先设定的次 数。本实施例中假设η为20。S3032,根据公式TxTimeStampbaver = (TxTimeStampb^TxTimeStampb2+. . . TxTimeStampbn) +η 计算 对端发送响应报文时的时间的平均值,其中TXTimeStampbavCT为对端发送响应报文时的时 间的平均值,TxTimeStampb1. . . TxTimeStampbn为每次获得的对端发送响应报文时的时间; 本实施例中假设经计算TxTimeStampbave,为17时10分17秒500080纳秒。根据公式RxTimebaver = (RxTimeb^RxTimeb2+. . . RxTimebn) +η 计算本端接收 响应报文时的时间的平均值,其中RxTimebave,为本端接收响应报文时的时间的平均值, RxTimeb1. . . RxTimebn为每次获得的本端接收响应报文时的时间;本实施例中假设经计算 RxTimebaver 为 17 时 10 分 27 秒 60 纳秒。根据公式Delayaver = (Single-Delay^Single-Delay2+. . . Single-Delayn) +η 计 算单向帧平均时延,其中Delayavw为单向帧平均时延,Single-Delay1. . . Single-Delayn为 每次获得的单向帧时延;本实施例中假设经计算Delayave,为10秒10纳秒。步骤s304,将对端发送响应报文时的时间的平均值与单向帧平均时延的和,与本 端接收响应报文时的时间的平均值相减,得到时间校正值。本实施例中,根据公式Minus =(RxTimebaver-(TxTimeStampbaver+Delayaver)计算时间校正值 Minus,本实施例中经计算 Minus 为-500030 纳秒。步骤s305,本端获取本地当前时间,并根据时间校正值对本地当前时间进行校正。 具体包括以下步骤S3051,本端获取本地当前时间T。本实施例中假设T为17时10分28秒30纳秒。S3052,根据公式Ts = T-Minus对本地当前时间进行校正,其中Ts为校正后的本地 当前时间,T为校正前的本地当前时间,Minus为时间校正值。本实施例中经计算Ts为17 时10分28秒500060纳秒。步骤s306,在对端发起双向网络时延测量,重复步骤s302 s305,对对端的本地 当前时间进行校正。通过以上的校正过程,实现了本端和对端的时钟的同步。为了减少误差,在校正过 程中,尽量保持网络环境的稳定。通过上述过程对本端和对端的时钟进行同步后,其精度达到了纳秒级,可以满足 Y. 1731协议中单向帧时延的测量要求的精度,因此可以在应用中使用ONE-DM功能。其具体过程为首先本端向对端发送报文,所述报文携带本端发送报文时的时间TxTimeStampf ; 然后对端接收所述报文,并将对端接收时的时间RxTimef减去本端发送时的时间 TxTimeStampf,得到单向帧时延 FrameDelay。本发明实施例的一种设备之间进行时钟同步的装置如图4所示,包括粗同步单 元、双向网络时延测量单元、平均值获取单元、时间校正值获取单元、校正单元和单向网络 时延测量单元。其中双向网络时延测量单元分别与粗同步单元和平均值获取单元连接,时 间校正值获取单元分别与平均值获取单元和校正单元连接,校正单元与单向网络时延测量 单元连接。 粗同步单元用于使用网络时钟协议对本端和对端之间的时钟进行粗同步,所述粗 同步的精度精确到秒级;双向网络时延测量单元用于本端发起双向网络时延测量,获取对 端发送响应报文时的时间、本端接收响应报文时的时间和双向帧时延,并将所述双向帧时 延的一半作为单向帧时延;平均值获取单元用于根据获取的多个对端发送响应报文时的时 间、本端接收响应报文时的时间和单向帧时延,得到对端发送响应报文时的时间的平均值、 本端接收响应报文时的时间的平均值和单向帧平均时延;时间校正值获取单元用于将所述 对端发送响应报文时的时间的平均值与单向帧平均时延的和,与所述本端接收响应报文时 的时间的平均值相减,得到时间校正值;校正单元用于本端获取本地当前时间,并根据所述 时间校正值对所述本地当前时间进行校正;单向网络时延测量单元用于在本端和/或对端 的本地当前时间进行校正之后,本端发起单向网络时延测量获取单向帧时延。本发明通过Y. 1731协议的TWO-DM功能多次计算设备之间的时延,获取设备之间 的单向帧平均时延,并通过设备的本地当前时间和单向帧平均时延来校正本地当前时间, 从而实现设备之间的时钟同步,该时钟同步的精度高,可以精确到纳秒级。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰 也应视为本发明的保护范围。
权利要求
一种设备之间进行时钟同步的方法,其特征在于,所述方法包括以下步骤A、使用网络时钟协议对本端和对端之间的时钟进行粗同步,所述粗同步的精度精确到秒级;B、本端发起双向网络时延测量,获取对端发送响应报文时的时间、本端接收响应报文时的时间和双向帧时延,并将所述双向帧时延的一半作为单向帧时延;C、按照预先设定的次数重复步骤B,并根据获取的多个对端发送响应报文时的时间、本端接收响应报文时的时间和单向帧时延,得到对端发送响应报文时的时间的平均值、本端接收响应报文时的时间的平均值和单向帧平均时延;D、将所述对端发送响应报文时的时间的平均值与单向帧平均时延的和,与所述本端接收响应报文时的时间的平均值相减,得到时间校正值;E、本端获取本地当前时间,并根据所述时间校正值对所述本地当前时间进行校正。
2.如权利要求1所述的设备之间进行时钟同步的方法,其特征在于,所述步骤B,包括B1、本端向对端发送报文,所述报文携带本端发送报文时的时间; B2、对端向本端返回响应报文,所述响应报文携带本端发送报文时的时间、对端收到本 端报文时的时间和对端发送响应报文时的时间; B3、本端接收所述响应报文,并根据公式Dual-Delay = (RxTimeb-TxTimeStampf) - (TxTimeStampb-RxTimeStampf) 计算双向帧时延,其中,Dual-Delay为双向帧时延,RxTimeb为本端接收响应报文时的 时间,TxTimeStampf为本端发送报文时的时间,TxTimeStampb为对端发送响应报文时的时 间,RxTimeStampf为对端收到本端报文时的时间;B4、根据公式Single-Delay = Dual-Delay + 2计算单向帧时延,其中,Single-Delay为 单向帧时延,Dual-Delay为双向帧时延。
3.如权利要求2所述的设备之间进行时钟同步的方法,其特征在于,所述步骤C包括 Cl、重复n-1次步骤B,共进行η次双向网络时延测量,其中η为预先设定的次数; C2、根据公式TxTimeStampbaver = (TxTimeStampb^TxTimeStampb2+. . . TxTimeStampbn) +η 计算对端 发送响应报文时的时间的平均值,其中TXTimeStampbavCT为对端发送响应报文时的时间的 平均值,TxTimeStampb1. . . TxTimeStampbn为每次获得的对端发送响应报文时的时间;根据公式 RxTimebaver = (RxTimeb^RxTimeb2+. · · RxTimebn) +η 计算本端接收响 应报文时的时间的平均值,其中RxT i meb avCT为本端接收响应报文时的时间的平均值, RxTimeb1. . . RxTimebn为每次获得的本端接收响应报文时的时间;t艮据公式 Delayaver = (Single-Delay^Single-Delay2+. . . Single-Delayn) +η 计算单 向帧平均时延,其中Delayavw为单向帧平均时延,Single-Delay1. . . Single-Delayn为每次 获得的单向帧时延。
4.如权利要求3所述的设备之间进行时钟同步的方法,其特征在于,所述步骤D包括 根据公式 Minus = (RxTimebaver-(TxTimeStampbaver+Delayaver)计算时间校正值,其中,Minus为时间校正值,RxTimebave,为本端接收响应报文时的时间的平均值,TXTimeStampbavCT 为对端发送响应报文时的时间的平均值,Delayaver为单向帧平均时延。
5.如权利要求4所述的设备之间进行时钟同步的方法,其特征在于,所述步骤E包括 E1、本端获取本地当前时间T ;E2、根据公式Ts = T-Minus对本地当前时间进行校正,其中Ts为校正后的本地当前时 间,T为校正前的本地当前时间,Minus为时间校正值。
6.如权利要求1所述的设备之间进行时钟同步的方法,其特征在于,在所述步骤E之 后,还包括在对端发起双向网络时延测量,重复步骤B E,对对端的本地当前时间进行校正。
7.如权利要求1至6任一项所述的设备之间进行时钟同步的方法,其特征在于,在本端 和/或对端的本地当前时间进行校正之后,还包括本端发起单向网络时延测量获取单向帧 时延的步骤,具体包括本端向对端发送报文,所述报文携带本端发送报文时的时间;对端接收所述报文,并将对端接收时的时间减去本端发送时的时间,得到单向帧时延。
8.一种设备之间进行时钟同步的装置,其特征在于,所述装置包括粗同步单元,用于使用网络时钟协议对本端和对端之间的时钟进行粗同步,所述粗同 步的精度精确到秒级;双向网络时延测量单元,用于本端发起双向网络时延测量,获取对端发送响应报文时 的时间、本端接收响应报文时的时间和双向帧时延,并将所述双向帧时延的一半作为单向 帧时延;平均值获取单元,用于根据获取的多个对端发送响应报文时的时间、本端接收响应报 文时的时间和单向帧时延,得到对端发送响应报文时的时间的平均值、本端接收响应报文 时的时间的平均值和单向帧平均时延;时间校正值获取单元,用于将所述对端发送响应报文时的时间的平均值与单向帧平均 时延的和,与所述本端接收响应报文时的时间的平均值相减,得到时间校正值;校正单元,用于本端获取本地当前时间,并根据所述时间校正值对所述本地当前时间 进行校正。
9.如权利要求8所述的设备之间进行时钟同步的装置,其特征在于,所述装置还包括 单向网络时延测量单元,用于在本端和/或对端的本地当前时间进行校正之后,本端发起单向网络时延测量获取单向帧时延。
全文摘要
本发明公开了一种设备之间进行时钟同步的方法,包括A、使用网络时钟协议对本端和对端之间的时钟进行粗同步;B、本端发起双向网络时延测量,获取TxTimeStampb、RxTimeb和Single-Delay;C、多次重复步骤B,计算TxTimeStampb的平均值、RxTimeb的平均值和单向帧平均时延;D、计算时间校正值;E、根据时间校正值对本地当前时间进行校正。本发明还公开了一种设备之间进行时钟同步的装置。本发明通过TWO-DM功能多次计算设备之间的时延,获取设备之间的单向帧平均时延,并通过设备的本地当前时间和单向帧平均时延来校正本地当前时间,从而实现设备之间的时钟同步,该时钟同步的精度高,可以精确到纳秒级。
文档编号H04J3/06GK101848051SQ20101017649
公开日2010年9月29日 申请日期2010年5月19日 优先权日2010年5月19日
发明者李习龙 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1