用于网络同步的系统和方法与流程

文档序号:17290876发布日期:2019-04-03 03:57阅读:166来源:国知局
用于网络同步的系统和方法与流程

本申请要求享有于2016年9月9日提交的、申请号为15/261,401、题为“用于确定传播延迟的系统和方法”的美国专利申请的优先权,以及享有于2017年5月26日提交的、申请号为15/607,031、题为“用于网络同步的系统和方法”的美国专利申请的优先权。两个申请的全部内容通过引用整体合并于此。

本发明涉及通信网络领域,尤其涉及网络同步。



背景技术:

期望包括下一代无线网络的下一代网络需要网络内的网络元件之间的时钟同步。这样的网络元件可以包括基站、射频拉远头、云无线电接入网(cloudradioaccessnetwork,c-ran)数据中心基带单元(basebandunit,bbu)等。预计下一代无线网络将利用光纤将天线上的收发器连接到基站或c-ranbbu上的收发器。

光通信系统通常涉及每个光纤在单个方向上发送信号。因此,两个不同的光纤用于收发器之间的双向发送。

过去,这些网络元件(也称为节点)已经使用基于全球导航卫星系统(globalnavigationsatellitesystem,gnss)的同步来进行同步。全球定位卫星(globalpositioningsatellite,gps)同步就是一个例子。但是,gps/gnss在室内位置可能无法使用,或者由于天线接入问题而无法使用。此外,最近出现了关于gps同步的安全问题。此外,gps同步在每个节点处都需要昂贵的gps接收器。在使用gps同步的节点的网络中,网络中的每个节点从卫星接收信号,并且根据接收的信号(并且可选地根据已知位置),可以获得时间值。然后,节点处的本地时钟与该时间同步。当网络中的每个节点以相同的方式同步时,它们每个都可以被认为与gps系统同步,因此彼此充分同步。使用空中信道进行同步使节点受到同步信号的干扰,这可能导致节点离线。

因此,需要一种至少部分地解决现有技术的一个或多个限制的系统和方法。特别地,需要一种用于为下一代无线网络和其他网络提供精确时钟同步而不依赖于gps同步的系统和方法。

提供该背景信息是为了揭示申请人认为可能与本发明相关联的信息。不允许或不应解释任何前述信息构成针对本发明的现有技术。



技术实现要素:

本公开的一个方面涉及一种系统和方法,其用于确定信号穿过两个收发器之间的光纤的传播延迟,并且用于使用所确定的传播延迟来同步两个收发器。

在本发明的第一方面,提供了一种用于同步网络中的节点或网络元件之间的时钟的方法。该方法可以由第一节点或与第一节点相关联的控制器执行。第一节点具有收发器,该收发器可以通过第一光纤和第二光纤连接到第二节点。该方法包括接收控制消息,该控制消息包含向第二节点发送对称网络同步协议时钟同步消息的指令;在接收所述控制消息之后,确定与所述第一光纤相关联的单向非对称传播延迟;通过所述第一光纤向第二节点发送时钟同步消息,其中所述时钟同步消息带有根据所确定的单向非对称延迟确定的修正值。

在第一方面的实施例中,确定非对称传播延迟可以包括将定时消息发送到所述第一光纤上的所述第二节点;将所述第一节点的收发器的操作模式从正常操作模式改变为第二操作模式,以允许在所述第一光纤上接收对所发送的定时消息的响应;根据所接收的对所发送的定时消息的响应,确定所述第一光纤的所述单向非对称延迟。在一些实施例中,这可以可选地包括:确定所述非对称传播延迟还包括在接收到对所发送的定时消息的响应之后将所述操作模式从所述第二操作模式复原为所述正常操作模式。在另一个实施例中,该方法还可以包括根据所确定的往返延迟和所确定的所述第一光纤的单向非对称延迟,确定与所述第二光纤相关联的单向非对称传播延迟。在另一实施例中,该方法还可以包括在确定与所述第一光纤相关联的单向非对称传播延迟期间缓冲数据流量。在另一实施例中,响应于以下中的至少一个来接收所述控制消息:所测量的温度变化超过阈值;以及所测量的数据流量的下降低于阈值。

在另一实施例中,使用所述对称网络同步协议的定时同步存在误差,所述误差与所述第一光纤和所述第二光纤之间的传播延迟的不对称性相关联。可选地,所述对称网络同步协议包括修正字段以补偿所述第一和第二节点之间的传播延迟,其中,所述方法还包括使用所述修正值更新所述修正字段。在另一个实施例中,所述对称网络同步协议是精确时间协议或网络时间/定时协议。

在另一实施例中,第一节点和第二节点均包括收发器,该收发器包括用于切换所述一对光纤中的任一个与所述收发器的发送部分和所述收发器的接收部分的连接的2x2开关;以及改变操作模式还包括在发送步骤和接收步骤之间切换2×2开关的状态,使得发送消息和接收消息均穿过相同的光纤。

在本发明的第二方面,提供了一种用于在第一网络元件、第二网络元件和第三网络元件之间同步时钟的方法,所述第一网络元件在正常操作模式下将数据流量发送到第一光纤上的所述第二网络元件并接收第二光纤上的所述第二网络元件的数据流量;所述第一网络元件在正常操作模式下将数据流量发送到第三光纤上的所述第三网络元件并接收第四光纤上的所述第三网络元件的数据流量,该方法由第一网络元件执行。该方法包括使用对称网络同步协议从所述第二网络元件接收第一时钟同步消息,所述第一时钟同步消息包括根据所确定的第一偏移调整的第一修正值;使用对称网络同步协议从所述第三网络元件接收第二时钟同步消息,所述第二时钟同步消息包括根据所确定的第二偏移调整的第二修正值;将所述第一网络元件的时钟与所述第二网络元件和所述第三网络元件中的一个的时钟同步。所述第一偏移调整取决于所述第一光纤上的所述第一网络元件和所述第二网络元件之间,以及所述第二光纤上的所述第一网络元件和所述第二元件之间的传播延迟的差异。所述第二偏移调整取决于所述第三光纤上的所述第一网络元件和所述第三网络元件之间,以及所述第四光纤上的所述第一网络元件和所述第三网络元件之间的传播延迟的差异。

在第二方面的实施例中,所述对称网络同步协议将不同的网络元件与主网络元件的时钟同步,其中,将所述第一网络元件的时钟与所述第二网络元件和所述第三网络元件中的一个的时钟同步包括,与来自所述主网络元件的具有最少跳数的网络元件的时钟同步。在另一实施例中,该方法还包括:接收所述第二网络元件与所述主网络元件之间的跳数;以及接收所述第三网络元件和所述主网络元件之间的跳数。在另一实施例中,响应于所述第一网络元件和所述第二网络元件在第二操作模式下交换消息,确定所述第一偏移调整;响应于所述第一网络元件和所述第三网络元件在第三操作模式下交换消息,确定所述第二偏移调整。

在本发明的第三方面,提供了一种网络元件,包括接口,收发器和控制器。该接口可用于接收通过第一光纤发送的数据流量。收发器用于通过第一光纤发送并通过第二光纤接收。控制器包括处理器和存储机器可执行指令的机器可读存储器,当所述机器可执行指令由处理器执行时,使得控制器将网络元件配置为:接收控制消息,所述控制消息包含向所述第二节点发送对称网络同步协议时钟同步消息的指令;在接收所述控制消息之后,确定与所述第一光纤相关联的单向非对称传播延迟;以及,通过所述第一光纤将所述时钟同步消息发送到所述第二节点,所述时钟同步消息带有根据所确定的单向非对称延迟确定的修正值。

在第三方面的实施例中,使所述控制器确定所述非对称传播延迟的所述机器可读指令还包括使所述控制器将所述网络元件配置为以下的指令:将定时消息发送到所述第一光纤上的所述第二节点;将所述收发器的操作模式从正常操作模式改变为第二操作模式,以允许在所述第一光纤上接收对所发送的定时消息的响应;根据所接收的对所发送的定时消息的响应,确定所述第一光纤的所述单向非对称延迟。在另一个实施例中,改变所述操作模式还包括在所述第二操作模式期间缓冲数据流量。在另一实施例中,所述对称网络同步协议包括修正字段以补偿所述第一光纤和所述第二光纤上的不同传播,其中,所述机器可读指令还使所述控制器使用所述修正值更新所述修正字段。在另一实施例中,对称网络同步协议是精确时间协议。在另一实施例中,所述网络元件被配置为在主模式下操作。在另一实施例中,所述网络元件被配置为在从模式下操作。

本领域技术人员将理解,上述方面的实施例可以结合其中已经描述了这些实施例的方面来实现,并且还可以结合来自其他实施例的特征来实现。在不同实施例包括互斥的特征的情况下,本领域技术人员将理解,不能组合实施例。一些实施例可以应用于其中这些实施例没有进行明确描述的方面,以及这些方面的实施例。

附图说明

通过以下结合附图的详细描述,本发明的其他特征和优点将变得显而易见,其中:

图1示出了根据实施例由一对光纤连接到第二收发器的第一收发器;

图2a、图2b、图2c和图2d示出了根据实施例的图1中的系统的各种状态;

图3示出了根据实施例的定时图;

图4a示出了根据实施例的由第一收发器实现的方法;

图4b示出了根据实施例的由第二收发器实现的方法;

图5示意性地示出了根据实施例的包括收发器和控制器的网络元件,所述网络元件将该收发器用作ptp协议的一部分;

图6a和图6b示意性地示出了根据实施例的用于这种网络元件的控制过程;

图7示出了根据实施例的网络中的一系列网络元件;

图8示出了根据实施例的实现ptp协议的具有一个以上收发器的网络元件;

图9是示出根据实施例的由网络元件的控制器执行的用于网络同步的方法的流程图;

图10是根据实施例的可用于实现网络元件的处理系统的示例性框图。

应注意,在所有附图中,相同的特征由相同的附图标记标识。

具体实施方式

由于这种网络的精确同步要求,将参考在下一代无线网络内使用的特定示例来讨论实施例。例如,期望利用从天线到基站(或从射频拉远头到c-ran群集)的光学前传连接的下一代无线网络将具有+/-8nsec级的同步要求。然而,应理解,这里描述的方法和系统不限于下一代无线系统,并且可以用于具有精确定时要求的其他系统,例如用于对结算金融交易具有定时要求的金融服务的一些工业应用或服务器。

一些实施例涉及同步网络元件的方法和系统,而不要求每个网络元件依赖于到主时钟的空中连接(例如,依靠gps接收器和解码器来获得定时信号)。如果在没有回退到传统的基于gps的同步系统的情况下实施,则该方法的实现可以允许消除使用gps接收器的需要,并且相应地降低实现成本。此外,由于gps系统易受干扰/欺骗攻击,因此这种系统可以更安全。

因此,一些网络利用使用双向时间转移技术的对称网络同步协议。在这样的系统中,时间是由序列号表示的构造。当两个时钟在相同的时刻生成相同的序列号时,它们被认为是同步的。在第一节点(节点a)和第二节点(节点b)之间的同步方法中,第一节点发送包括第一时间戳t1的分组(也称为第一消息)。t1表示相对于节点a的内部时基发送分组的时间。第二节点在接收到分组时生成时间戳t2。t2是相对于节点b的时基的时间戳,其表示初始消息的接收时间。然后,当准备好发送应答消息时,第二节点将使应答消息包括或在应答消息内包括表示基于节点b的时基的应答消息的发送时间的第三时间戳(t3)。第一节点将根据节点a的内部时基对其应答消息的接收加时间戳(t4)。t4和t1之间的时间差定义了总往返(总传输)时间。t3和t2之间的差异定义了节点b的处理时间。如果第一节点将此时间戳发送回第二节点,则第二节点将有四个时间戳,表示两条消息交换的发送和接收时间。然后,第二节点可以确定总传输时间。总传输时间由传输时间和第二节点处的处理时间(或组件延迟)组成。但是,传输时间由从节点a到节点b的时间以及从节点b到节点a的时间组成。因此,此类系统需要确定传播延迟(消息在设备之间传播所花费的时间)和组件延迟。组件延迟包括消息在设备内遍历所花费的时间,还包括设备的处理延迟(也称为硬件延迟和软件处理时间)。应当理解,在上述场景中,节点b调整节点b的时基以匹配基于4个时间戳(t1、t2、t3和t4)确定的t1的时基。应理解,作为替代方案,节点b可以在包括t3的消息中发送t2。在这种情况下,节点a在生成t4时拥有所有4个时间戳并且可以相应地调整其时基。作为另一替代方案,节点a可以确定将节点b与节点a的当前时基同步需要什么调整,并将调整发送到节点b。

用于确定传播延迟的现有技术方法通常通过使用一根光纤在一个方向上从第一收发器向第二收发器发送信号来测量往返延迟,并且在另一根光纤上在返回方向上接收从第二收发器到第一收发器的回复。用于同步网络元件的时钟的这种对称网络同步协议是基于在第一方向和第二方向上的传输之间存在对称延迟的假设来预测的。然而,这两种不同的光纤可以具有不同的传输特性(包括不同的长度),因此对于穿过两根光纤的信号具有不同的传播延迟。

随着通信系统变得更快,通过每单位时间间隔发送更大量的数据,发送和接收收发器之间的传播延迟变得更加相关。例如,长度为2m的光纤可以引入超过10纳秒(nsec)的传播延迟。然而,期望利用从天线到基站(或从射频拉远头到c-ran群集)的光纤的下一代无线网络将具有+/-8nsec级的同步要求。在这样的系统中,用于收发器之间的两个方向的两根光纤之间的长度差异可能超过这些同步要求。

因此,根据实施例,现在将讨论用于确定每个光纤的传播延迟并应用这种方法进行网络规模同步的方法和系统。

图1示出了根据实施例的网络系统的框图。图1示出了其中第一收发器10位于无线天线塔(例如射频拉远头),第二收发器50形成c-ran数据中心的一部分的示例。第一收发器10包括用于控制收发器的操作的控制器12、2x2开关11、发送路径和接收路径。发送路径包括数据激光驱动器13和激光二极管14。接收路径包括用于将接收的光信号转换成电流的光电二极管15、放大器16和用于对来自电流的比特进行模拟/数字转换和检测的接收数据模块17。类似地,第二收发器50包括控制器52、2×2开关51、包括数据激光驱动器53和激光二极管54的发送路径以及包括光电二极管55、放大器56和接收数据模块57的接收路径。两个收发器通过光纤20和30链接。应注意,该图不是按比例的,并且光纤20可以比收发器的尺寸长得多,线圈21示意性地示出了光纤20可以具有长度,该长度通常在10米(m)到20千米(km)之间。用线圈31示意性地示出的光纤30可以具有与光纤20不同的长度。

2x2开关11具有两种状态。第一状态被称为横条状态,其将收发器10的发送路径(例如,激光二极管14)与光纤20链接,并将收发器10的接收路径(例如,光电二极管15)与光纤30链接;第二状态称为交叉状态,其将收发器10的发送路径(例如,激光二极管14)与光纤30链接,并将收发器10的接收路径(例如,光电二极管15)与光纤20链接。类似地,2×2开关51具有两种状态。第一状态被称为横条状态,其将收发器50的发送路径(例如,激光二极管54)与光纤30链接,并且将收发器50的接收路径(例如,光电二极管55)与光纤20链接;第二状态被称为交叉状态,其将收发器50的发送路径(例如,激光二极管54)与光纤20链接,并且将收发器50的接收路径(例如,光电二极管55)与光纤30链接。

因此,当开关11、51都处于横条状态(这将是正常操作模式)时,收发器10的发送路径(例如,激光二极管14)与收发器50的接收路径(例如,光电二极管55)链接。类似地配置处于横条状态的两个开关11、51,将收发器50的发送路径(例如,激光二极管54)经由光纤30与收发器10的接收路径(例如,光电二极管15)链接。配置处于交叉状态下的两个开关11、51,将收发器10的发送路径(例如,激光二极管14)与收发器50的接收路径(例如,光电二极管55)经由光纤30链接,并且将收发器50的发送路径(例如,激光二极管54)与收发器10的接收路径(例如,光电二极管15)经由光纤20链接。因此,切换两个开关11、51的状态可以有效地切换用于收发器之间每个方向上的通信的光纤。可以看出,切换一个开关(例如开关11)的状态而不在另一个开关中进行相应的切换(在该示例中,指开关51)是没有用的,因为这样的状态会将发射器与发射器链接,将接收器和接收器链接。2×2开关11、51可以是例如硅光子(siliconphotonic,siph)开关、热光开关(thermo-opticswitch,tos)或载波注入光开关(carrierinjectionopticalswitch,cios)。

应当理解,控制器12、52包括用于存储指令的处理器和机器可读存储器,当由处理器执行时,使得控制器执行本文所述的方法。控制器可以例如在fpga、asic或siph/cmos中实现。在一些实施例中,收发器10、50可以形成可插拔收发器的一部分,例如小型可插拔(smallform-factorpluggable,sfp)收发器。此外,应当注意,虽然收发器10和50被示出为包括控制器12、52,但是应当理解,网络元件可以包括若干个收发器,并且包括用于控制多个不同收发器的一个或多个中央控制器。在一些实施例中,sfp可以由网络元件控制器控制,在这种情况下,sfp不需要包括控制器。在其他实施例中,sfp可以包括在网络元件(networkelement,ne)控制器的控制下(或与之结合)操作的控制器。在另一个实施例中,多个收发器可以集成到线路卡(具有集成光学器件)中,所有收发器都由控制器控制。

在正常操作中,在该示例中,塔收发器10将连接到射频拉远头收发器50。电路(未示出)经由数据激光驱动器13转换所接收的无线信号来进行光传输,以调制激光二极管14的输出,以用于经由光纤20到c-ran处的收发器50的接收路径的光发送,用于处理和转发到核心网络。类似地,对于下行链路传输,c-ran收发器50将在光纤30上发送信号,用于经由收发器10的接收路径进行无线传输。在该示例中,开关11和51都将在横条状态下操作。应当理解,例如内部时钟源的其他组件将包括在收发器10、50中,但未示出,以及用于端到端传输的其他组件(例如用于在无线和电信号之间进行转换的组件)的组件也是如此。

如上所述,为了使这种操作有效地工作,两个收发器10、50应该在小范围内同步,这在一些情况下可以在8nsec内。实施例提供了一种方法和系统,其可以确定光纤20、30中的每一根的传播延迟,作为用于同步两个收发器10、50的方法和系统的一部分。

图2a、图2b、图2c和图2d示出了根据实施例的图1中的系统的各种状态。图2a至图2d还示出了根据实施例的确定传播延迟的方法。图2a示出了收发器10的控制器12产生一系列消息,例如用于发送到收发器50的探测消息。消息通过处于横条状态的2x2开关11经由光纤20发送到收发器50,如信号路径201所示。控制器12存储这些消息被发送的时间。在一些实施例中,将这些消息发送的时间存储为每条消息中的时间戳。消息的格式可以是特定于实现的。在一些实施例中,消息可以使用现有的成帧协议,例如ip、以太网、hdlc等,或者可以使用专有格式。在一些实施例中,仅使用单条消息。在其他实施例中,使用一系列消息,以便可以进行平均以提高测量的准确度,如下面将讨论的。如信号路径201所示,消息在收发器50处被接收并且通过处于横条状态的2×2开关51到达收发器50的接收部分。因此,光信号由光电二极管55转换成电流,由后置放大器56放大。然后,接收数据模块57提取并传递用于由控制器52进行缓冲和处理的比特。

在发送消息(在一系列消息的情况下的最后一条消息)之后,控制器12指示2x2开关11切换到交叉状态202,如图2b所示。这允许收发器10在同一光纤上接收来自收发器50的应答消息,该光纤在该示例中是光纤20。

控制器52接收消息的比特,并存储每条消息的接收时间。一旦接收到消息,控制器52就缓冲它们并且还在控制器52为每个接收的消息发送应答消息之前跟踪等待/处理时间δt。当接收到消息序列的最后一条消息时,控制器52根据实施例将开关51设置为交叉状态203,如图2c所示。以这种方式,控制器52配置收发器50以在接收它们的同一光纤(即光纤20)上发送应答消息。在一些实施例中,每个应答消息包括接收的时间戳和由控制器52插入的δt值。在一些实施例中,δt值由控制器52基于实际的处理/等待时间针对每条消息进行确定。仅作为一个示例,控制器52针对每条消息的每个时钟周期递增计数器。在一些实施例中,该计数器具有初始值0。在其他实施例中,计数器的初始值可以被设置为表示收发器50处固定量的检测时间和发送时间的数字。当最后一条消息到达时,开关51被设置为交叉状态203,可以发送这些消息。计数器的值可以发送(原始或基于时钟频率转换为实际时间)到收发器10。如果转换为实际时间,则发送δt的值。否则,计数器表示内部时间的指示,并且接收器(即,收发器10)可以确定该值。在其他实施例中,控制器52估计δt的值。图2d示出了根据实施例的应答消息的发送路径。可以看出,2x2开关11、51都处于交叉状态,用于发送应答消息。在一些实施例中,每个控制器12、52被配置用于在发送该组消息(例如,500毫秒)t秒之后自动恢复其对应的2×2开关以将收发器配置为正常操作。此外,应注意,可以对第二光纤(即光纤30)重复这些步骤。

图3示出了根据实施例的3条消息的定时。左垂直刻度示出了第一收发器(收发器10)的时钟的参考单元。右垂直刻度示出了第二收发器(收发器50)的时钟的参考单元。参考线301表示两个参考时钟之间的表观并发(apparentconcurrency)(即,示出了每个参考时钟的值为42的点),而参考线302示出收发器2的时钟偏移了5个参考单元。图3示出了从收发器10发送到收发器50的3条消息303、304和305,以及相应的应答消息306、307和308,每条消息具有用不同的虚线样式示出的消息。收发器50的控制器使用与相应消息相同的虚线样式为每个应答消息插入δt值(δt1、δt2和δt3),如收发器50的参考时钟右侧所示。在一些实施例中,分别包括在每条消息303、304和305中的时间戳(ts1、ts2和ts3)包括在每条应答消息306、307和308中,如图所示。对于每条消息,参考时钟左侧所示的d1、d2和d3的值使用与相应消息相同的虚线样式,指示收发器10发送消息和接收相应的应答消息之间的总时间。应该注意,每条消息和每条应答消息的单向非对称延迟是恒定的(由于使用相同的光纤并且光纤中的光速是恒定的事实)。然而,d1、d2和d3的值包括每条消息的传播时间(在每个方向上)以及收发器50接收、缓冲、处理和发送相应的应答消息所花费的内部时间。因此,应注意,非对称延迟包括传播延迟加上内部处理时间。每个应答消息的δt值是该内部时间的估计值。值δt1,δt2和δt3可以根据例如收发器50上的负载和测量误差之类的因素而略微变化。这是使用一系列消息的一部分原因,以找到提供更好估计的平均值。在一些实施例中,如果样本变化超过某个阈值,则可以重复该过程以获得更好的估计。因此,消息的数量可以根据所需的精度而变化。在一些实施例中,取决于所需的准确度,单条消息可足以确定传播延迟。

因此,对于图3中所示的实施例,如下对每条消息进行延迟计算:

第一条消息的单向延迟=(d1-δt1)/2

第二条消息的单向延迟=(d2-δt2)/2

第三条消息的单向延迟=(d3-δt3)/2

采用平均值来确定所讨论的光纤的单向传播延迟。如上所述,可以重复该过程以确定互连两个收发器的每根光纤的传播延迟。在一些实施例中,这些值用于同步两个收发器的时钟。在一些实施例中,第一收发器(例如,收发器10)将通过基于计算的传播延迟和δt1,δt2和δt3值调整其内部时钟来进行同步过程。在一些实施例中,收发器10将计算的单向传播延迟和其自己的时钟在消息309中发送到收发器50。这可以使用,使得第二收发器(例如,收发器50)可以调整其内部时钟。

应当理解,上述计算包括一定的简化,这些简化可能足以满足大多数实施例。其他实施例可以存储和发送附加信息以确定单向延迟的更精确计算,如下:

d=(t1-t2-tt1-tr2-td-tt2-tr1)/2

其中,

t1:发送开始时收发器10的时间戳;

t2:消息发送结束时收发器的时间戳;

tt1:在收发器10处发送消息的时间;

tr1:在收发器10处接收消息的时间;

tt2:在收发器50处发送消息的时间;

tr2:在收发器50处接收消息的时间;

td:收发器50处的内部时间(消息保持在队列中以建立切换,或接收剩余的序列等的时间);以及

d:单向延迟。

图4a示出了根据实施例的由第一收发器的控制器(例如,收发器10的控制器11)实现的方法。在步骤410,源收发器启动延迟计算并发送一系列探测消息,每条探测消息具有时间戳。在步骤415,收发器将开关设置为交叉模式。在步骤420,收发器确定是否接收到后续探测消息(例如,对探测消息的回复)。如果收发器确定它没有接收到探测消息,则该过程通过返回到步骤415来进行等待。如果在步骤425,收发器确定它已经接收到探测消息,则它基于所收到的消息的时间、时间戳和δt计算延迟。在步骤430,收发器将开关设置为正常模式(例如,将2x2开关11配置为横条状态)。切换到正常模式的这种设置可能在超时之后发生。在步骤435,收发器10通过通信消息将延迟传送到另一侧(例如,收发器5)。在一些实施例中,该消息可以包括收发器10的当前时钟时间。两个开关的横条状态和交叉状态可以反转,在这种情况下,通过在第二光纤上发送信号来实现同步。

图4b示出了根据一个实施例的由第二(目的地)收发器(例如,收发器50的控制器52)的控制器实现的方法。在步骤450,控制器确定目的地收发器是否接收到探测消息。如果收发器确定它确实接收到探测消息,则在步骤455,控制器为该探测消息设置定时器(其可以是系统时钟周期的计数器)。在步骤460,控制器确定是否设置了探测的最终消息(即,消息序列)。如果收发器确定它没有收到最终的探测消息,则该过程返回到开始等待其他消息。如果收发器确定它接收到最终探测消息,则在步骤465,控制器在超时之后将开关设置为交叉模式。在步骤470,控制器计算每条探测消息的定时器时间(δt),将其插入每条应答消息中并将应答消息发送到源收发器节点(例如,收发器10)。在步骤475,控制器在超时之后将开关恢复到正常模式(即,横条状态),使得收发器可以在其正常操作模式下接收和发送数据。

现在将根据实施例讨论使用上述用于确定每根光纤上的传播延迟的系统和方法的网络时钟同步的应用。

一些实施例利用对称网络同步协议来同步网络元件的时钟。一些实施例可以利用基于精确时间协议(precisiontimeprotocol,ptp)的对称网络同步协议协议,如由电气和电子工程师协会用于网络测量和控制系统的精确时钟同步协议标准所定义的,称为ieee1588(2008)(及其更新)。一些实施例可以利用基于在ietfrfc5905“网络时间协议版本4:协议和算法规范”(及其更新)中定义的网络时间协议(networktimeprotocol,ntp)的对称网络同步协议协议。

虽然以上描述讨论了确定由于不同长度的光纤(例如,不同长度的光纤21和31)导致的传播延迟差异的方法和系统,但是可能存在不同传播延迟的其他原因。例如,光学系统可能受温度、时间、压力和其他因素的影响,这些因素可以从初始设置期间计算的值改变传播延迟值。因此,一些实施例提供用于更新传播延迟的机制,以与对称网络同步协议持续的使用。将使用ptp协议讨论非限制性示例。

图5示意性地示出了根据实施例的网络元件100,其包括收发器50和用于将收发器用作ptp协议的一部分的控制器。

图5包括数据缓冲器70,其用于在收发器50切换到第二操作模式(其确定修正值)时缓冲流量数据。本领域技术人员将理解,这可以具有暂时暂停信道上的数据传输的效果。如下面将参考图6所讨论的,可以在ip或以太网(mac)级缓冲(暂停)数据。应当理解,术语“暂停”指的是当在收发器切换到第二操作模式时不能发送数据时缓冲数据的步骤。这允许在网络运行时确定两个光纤之间的传播延迟的偏移。

应当理解,并非每个设备都需要所有功能。根据所使用的协议,一些实施例利用设备之间的主从协议,其中主设备指示从设备执行任务。因此,作为主设备操作的设备将实现一些功能,而作为从设备操作的设备将实现其他功能。

图5示出了由ne控制器80实现的控制功能,该控制功能与配置管理功能85和ptp协议功能90相互作用。应当理解,这三个功能不一定需要分开并且可以由单个控制器执行。ne控制器80整体控制ne100的处理。配置管理功能85向收发器控制器52发送信令。在其他实施例中,收发器不包括单独的控制器,在这种情况下,配置管理功能85控制收发器,包括控制开关51的状态。ptp协议功能90,在ne控制器80的控制下,经由收发器50经由收发器50将时钟同步消息发送到远端网络元件(未示出)。接收网络元件使用这些时钟同步消息来同步设备的时钟。

在图5的网络元件作为主设备操作的示例中,接收网络元件使用时钟同步消息来将远端接收器的时钟同步到图5中的网络元件100的时钟75。时钟同步消息包括根据确定的偏移调整的修正值,所述偏移调整根据通过如上所述的过程确定。例如,所确定的偏移调整可以是上面确定的值d,表示用于从ne100到远端接收器的传输的光纤上的单向非对称延迟。修正值可以是往返延迟的一半与值d之间的差,所述往返延迟通常用作ptp的一部分(假定了两个光纤上的对称延迟)。接收网络元件可以利用修正字段来补偿构成非对称延迟的各种发送、处理和传播延迟。

类似地,应当理解,ne100可以被配置为远端发射器的从设备。在这种情况下,ne控制器80将根据从远端发射器接收的时钟同步消息来同步时钟75。

图5示出了ne控制器80与关联于ptp消息传输的ptp协议功能90相互作用。应当理解,ne控制器80和ptp协议功能90可以由相同或不同的控制器执行。在一些实施例中,可以实现为主设备或从设备的网络元件100可以维持时基94。时基可以是本地时基或代表全球时基的时基,例如,世界协调时间(universaltimecoordinated,utc)、国际原子时间(internationalatomictime,tai)或gps时间。在一些实施例中,ptp消息可以与其他用户数据(未示出)复用。在图5中,为简单起见,示出了两级控制。控制器52与特定于控制切换/硬件功能的功能相关联,而ne控制器80与系统的一般控制相关联,包括涉及使用ptp消息的时基94的任何计算。在不失一般性的情况下,两个控制器可以实现为单个控制器或单独的控制器。需要指出的是,图5示意性地示出了网络元件100。应当理解,网络元件可以包括与理解本文描述的实施例无关的其他元件。此外,图5是通用的,并且示出了可以存在于主或从实现方式中的功能。实际上,某些功能不一定在主设备或从设备中实现。例如,主设备可能不实现最佳主时钟算法(bestmasterclockalgorithm,bmca),因此“数据集”不会出现在控制块中。类似地,从设备通常不会实现所有外部接口。例如,作为从设备运行的网络元件可以仅实现出界时间/相位/频率接口。此外,如下面将参考图8所讨论的,网络元件可以包括一个以上的收发器。在这种情况下,某些收发器可能在从属模式下运行,而其他收发器可能作为主设备运行。

如上所述,可以利用在第二操作模式中确定的修正值来确定对称同步协议的修正值。例如,ieee1588包括一个特殊修正字段,可用于修正不对称性。例如,下面的表1中显示了一个公共消息头。表1反映了ieee1588中规定的公共消息头:

表1公共消息头

ieee1588提供以下同步修正字段语义。修正字段是以纳秒(nanoseconds,ns)为单位测量并乘以216的修正值。例如,2.5ns表示为000000000002800016。除了最重要的字段外,字段的所有位值为1表示修正太大而无法表示。修正字段的值取决于表2中描述的消息类型,它反映了ieee1588表21中的修正字段语义,如下所示:

表2修正字段语义

通过对上述内容的研究,应该清楚ieee1588使用单个传播延迟值来对两个节点之间的连接进行传播延迟修正。没有提供节点之间每个方向的不同值的考虑。通过能够确定每个链路的基于每个方向的定时偏移,本发明的实施例可以使用ieee1588类型消息,但是可以解决与方向性相关联的差异。

图6a示意性地示出了利用ptp协议的传统网络元件的协议栈。图6a示出了协议栈,包括用于传输数据流量(可以是回程流量或来自无线接入点的流量,或者从天线到bbu的“前传”流量)的传输层、网络层、数据链路层和物理(physical,phy)层,以及ptp应用层。传输层可以是udp或tcp。网络层通常是ip。数据链路层包括llc、mac控制和mac元件(假设以太网数据链路层)。物理层包括协调和媒体独立接口(reconciliationandamediaindependentinterface,mii)到物理编码子层(physicalcodingsub-layer,pcs)、物理介质连接(physicalmediumattachment,pma)、物理介质相关(physicalmediumdependent,pmd)和an层,以在物理介质上传输数据。图6a还示出了流量路径610、ptp协议定时路径620(其携带作为ptp消息传递的一部分的时间和相位信息)以及承载时钟频率的定时路径64。

图6b示意性地示出了根据实施例的利用协议栈的网络元件的控制过程。图6b示出了根据实施例的图5的网络元件的这种过程。图6b示出了数据路径610、ptp协议消息620(来自ptp协议90)和来自控制协议630的控制协议消息631。ptp协议90对应于图5的ptp协议功能90。ptp协议消息620包括时钟同步消息,时钟同步消息包括如下所讨论的通用ptp时钟信息。当接收到控制消息或标志以实现用于确定单向传播延迟的偏移调整过程时,控制过程650实现暂停652。这包括在数据缓冲器70中缓冲数据(如图5所示)。在图6中,该暂停功能在以太网层(作为mac控制的暂停)实现,但是应当理解,在其他实施例中,可以通过在ip级缓冲数据来实现ip暂停。然后,控制过程650发送开关控制消息655,用于控制2×2开关51的状态。控制协议630包括发送(和接收,尽管仅示出发送路径)参考图2a至图2d、图3、图4a和图4d进行讨论的控制消息631,以用于确定单向传播延迟。控制协议可以由控制消息632控制,但是应当理解,控制过程650和控制协议630可以实现为单个控制功能,例如在图5的ne控制器80上执行。应当理解,控制协议消息631和ptp协议消息620,以及定时路径时钟信息640仍然可以在第二操作模式期间(在此期间暂停/缓冲数据流量)发送。应当理解,ptp协议可以以比切换到第二操作模式的频率高很多的频率实现时钟调整,以确定单向传播延迟的任何变化。

通常,ptp时钟具有多个组件:用于基于路径的网络的硬件组件、协议组件、传输组件(例如,以太网、otn等),以及软件组件(例如,处理时间戳、管理等)。ptp时钟按照端口定义为主设备或从设备。协议组件通过链路(传输组件)在设备(硬件)内运行,该链路由一个主端口和一个从端口限制。ptp协议中包含的消息在协议栈本身之外的软件组件中处理(例如ptp协议功能90。这可以包括时钟定时消息的计算、使用最佳主时钟算法确定拓扑、维持时标、时钟管理等)。因此,ptp协议消息被标记为包括ptp时钟的时间和相位的定时路径。此外,在一些实施例中,虽然可以在软件中处理消息,但是一些硬件辅助可以适应协议栈本身的处理时间。例如,ptp协议试图通过支持基于硬件的时间戳来提高准确性,但是,由于不对称性导致的一些不准确性可能仍然存在。然而,对于大多数应用来说,这种不准确性应该在容许限度内。

图7示出了根据实施例的网络中的一系列网络元件。图7示出了可以利用对称网络同步协议来将每个网络元件720、730和740的时钟同步到主时钟ne705的时钟的网络。在图7中,第二ne720远离主时钟ne705x跳(即,在ne705和ne720之间存在x个中间ne),并且第三ne730远离主时钟ne705y跳(即,在ne705和ne730之间存在y个中间ne)。

图8示出了根据实施例的实现ptp协议的具有一个以上收发器的网络元件。在一个示例中,图8示出了图7的第一ne740的一部分,以及图7的第二ne720的接收器10a和图7的第三ne730的接收器10b。

图7和图8组合示出了用于同步网络元件之间的时钟的方法和系统。例如,图8示出了第一网络元件740,其包括收发器50a和50b以及ne时钟97、控制功能81和ptp协议功能91。虽然示出了单个ptp协议功能91,但是应当理解,ptp协议是基于每个链接运行的。收发器50a(可以是sfp)使用光纤20a和30a与第二网络元件720的接收器10a通信。这些光纤可以具有不同的长度,由线圈21a和31a示意性地示出。在正常操作模式中,收发器50a在第一光纤30a上发送并在第二光纤20a上接收。收发器50b(可以是sfp)使用光纤20b和30b与第三网络元件730的收发器10b通信。在正常操作模式中,收发器50b在第三光纤30b上发送并在第四光纤20b上接收。这些光纤可以具有不同的长度,由线圈21b和31b示意性地示出。控制功能81可能结合配置管理功能(未示出)与每个收发器的控制器52a、52b通信。通过链路(未示出)将ptp协议消息发送到每个接收器的发送路径。控制功能81结合ptp协议91接收来自图7中第二ne720的收发器10a的时钟同步消息的信息,以及来自图7中第三ne730的收发器10b的时钟同步消息的信息。为了避免使图混乱,未示出从每个收发器的接收路径到ptp协议功能的链路。应当理解,网络元件可以具有未示出的其他元件,例如时基和ptp边界时钟。

在系统启动期间,并且还有不时为了补偿由于时间、温度、压力等引起的变化,ne可以被配置为使用上述方法确定修正值,该修正值与每根光纤20a、30a、20b和30b上的单向传播延迟有关。控制功能81可以基于设定的时间段接收控制消息,或者从确定温度和压力变化的传感器接收控制消息,以重新配置2×2开关来确定每个光纤的单向传播延迟。例如,在响应于测量的温度变化超过阈值,或者在预定时间,或者响应于保护事件或网络拓扑的变化的情况下,可以接收这样的控制消息。在其他情况下,当在执行修正值过程时暂停数据流量时,可以响应于测量的数据流量下降低于阈值来执行这样的过程。在这些时间期间,待发送的数据流量由数据缓冲器70a、70b缓冲。如上面关于图6所讨论的,这可以通过ip层处的ip暂停或mac层处的以太网暂停来实现。

在正在进行的操作期间,控制功能81结合ptp协议功能91根据ptp协议从第二网络元件接收第一时钟同步消息。第一时钟同步消息包括根据所确定的第一偏移调整的第一修正值。控制功能81结合ptp协议功能91还从第三网络元件接收第二时钟同步消息。第二时钟同步消息包括根据所确定的第二偏移调整的第二修正值。控制功能81结合ptp协议功能90使用这些消息将第一网络元件的时钟97与第二网络元件10a和第三网络元件10b中的一个的时钟同步。在一些实施例中,控制功能81可以与来自主网络元件的具有最少跳数的网络元件的时钟同步。例如,再次参考图7,如果x<y,则控制功能81将选择与第二ne720的时钟同步。例如,第一网络元件740可以接收第二网络元件720和主网络元件705之间的跳数作为控制或分组字段的一部分。类似地,第一网络元件740可以接收第三网络元件730和主网络元件705之间的跳数。

如上所述,可以将第一ne切换到第二操作模式以确定上述第一和第二偏移调整。第一偏移调整取决于第一光纤30a上的第一网络元件740和第二网络元件720(收发器10a)之间以及第二光纤20a上的第一网络元件740和第二网络元件720之间的传播延迟的差异。第二偏移调整取决于第三光纤30b上的第一网络元件740和第三网络元件740(收发器10b)之间以及第四光纤20b上的第一网络元件和第三网络元件730之间的传播延迟的差异。如上所述,所确定的偏移调整可以是上面确定的值d,表示每根光纤上的单向传播延迟。修正值可以是往返延迟的一半与值d之间的差值,该往返延迟通常用作ptp的一部分(假定了两个光纤上的对称延迟)。

图9是示出根据实施例的由网络元件的控制器执行的用于网络同步的方法的流程图。在步骤910,控制器接收控制消息以更新延迟值910。可以触发这种控制消息的条件的细节包括在预定时间段响应于测量的温度(或压力)变化等的网络配置变化。根据配置,在步骤915,控制器向远端收发器发送消息以缓冲流量。该步骤以虚线示出,因为它可以由网络中的不同控制器实现,尤其是当多个节点可能受到影响时。在步骤920,控制器实现暂停功能。如上所述,这可以涉及缓冲ip层或以太网(mac)层的数据。然后控制器将收发器的操作模式从正常操作模式改变为第二操作模式以确定偏移调整925,例如,如上面参考图2a至图2d、图3和图4a至图4b所讨论的。在步骤930,控制器然后指示收发器恢复到正常操作模式进行数据流量传输。在步骤935,根据配置,控制器将消息发送到远端接收器以恢复到正常模式。在步骤940,控制器根据正在使用的网络同步协议,根据所确定的偏移调整发送包括修正值的时钟同步消息。在一些实施例中,系统可以确定每根光纤中的单向传播延迟。在一些实施例中,系统可以确定一根光纤中的单向传播延迟,然后恢复到正常操作模式以确定往返延迟。在一些这样的实施例中,确定第一光纤上的第一节点和第二节点之间以及第二光纤上的第一节点和第二节点之间的非对称传播延迟的差异的偏移调整的步骤包括从往返延迟中减去第一光纤的单向传播延迟,以确定第二光纤的单向传播延迟。

应当理解,这里讨论的实施例已经讨论了方法和系统,其用于通过补偿由于传播延迟的不对称差异而使用这样的协议引入的错误来改进例如ptp的对称网络同步协议。应当理解,这里讨论的方法和系统可以导致网络同步协议的发展,其不需要基于对称性的假设。

在一些实施例中,利用第二操作模式来确定单向传播延迟,以便确定用于对称网络同步协议(例如ptp)的修正值。这允许使用ptp协议同步时钟。一些这样的实施例需要很少或不需要改变ptp协议的操作。在一些实施例中,通过利用第二操作模式在同一光纤上交换定时消息(例如,时间戳),可以在不需要这种修正值的情况下交换根据对称网络同步协议的定时消息。这允许在同一光纤上,根据对称网络同步协议,使用定时消息的交换,直接同步第一节点和第二节点的时钟。应当理解,虽然单根光纤可能不是完全双向对称的,特别是如果在不同方向上发送不同的波长,任何这样的差异对于大多数应用将具有可容许的限制。例如,第一节点和第二节点的时钟可以通过在第一光纤上从第一节点向第二节点发送定时消息来同步,然后将操作模式从正常操作模式改变为第二操作模式,用于在第一光纤上根据对称网络同步协议接收应答消息。如上所述,对称网络同步协议可以使用4个时间戳(t1、t2、t3和t4)来同步时钟。例如,第一节点可以在第一光纤上发送包括t1的定时消息。然后,第一节点和第二节点的控制器改变2×2开关的状态,使得第二节点可以发送应答消息。第二节点确定时间戳t2(第二节点接收到定时消息的时间)和t3(第二节点发送应答消息的时间)。第一节点确定时间戳t4(第一节点接收应答消息的时间)。在一些实施例中,第二节点发送t2和t3,并且现在拥有所有4个时间戳的第一节点可以确定时钟调整。在其他实施例中,第一节点可以将t4发送到第二节点,然后第二节点可以基于4个时间戳确定时钟调整(假设第二节点存储了t1、t2和t3的值)。应当理解,控制器可以在第一节点发送包括t4的消息之前或之后将开关恢复回正常操作模式。

图10是可用于实现所讨论的网络元件的处理系统1001的示例性框图。如图10所示,处理系统1001包括处理器1010、工作存储器1020、非暂时性存储器1030、网络接口、i/o接口1040,以及取决于节点类型,包括收发器1060,所有这些都通过双向总线1070通信地耦合。

根据某些实施例,可以利用所有描绘的元件,或者仅利用元件的子集。此外,处理系统1001可以包含某些元件的多个实例,例如多个处理器、存储器或收发器。而且,处理系统1001的元件可以在没有双向总线的情况下直接耦合到其他组件。

存储器可以包括任何类型的非暂时性存储器,例如静态随机存取存储器(sram)、动态随机存取存储器(dram)、同步dram(sdram)、只读存储器(rom),以及上述的任何组合等。大容量存储元件可以包括任何类型的非暂时性存储设备,例如固态驱动器、硬盘驱动器、磁盘驱动器、光盘驱动器、usb驱动器或被配置为存储数据和机器可执行程序代码的任何计算机程序产品。根据某些实施例,存储器或大容量存储器上记录有可由处理器执行的语句和指令,用于执行上述功能和步骤。特别地,存储器可以包括机器可读指令,当机器可读指令由处理器执行时,实现这里讨论的控制功能和对称同步协议功能(例如,ptp协议功能)。

处理系统1001可用于实现如本文所述的网络元件。

通过前述实施例的描述,本公开可以仅通过使用硬件或通过使用软件和必要的通用硬件平台来实现。基于这样的理解,本公开的技术方案可以以软件产品的形式体现。软件产品可以存储在非易失性或非暂时性存储介质中,其可以包括如上所述的设备存储器,或者存储在可移动存储器中,例如压缩盘只读存储器(cd-rom)、闪存存储器或可移动硬盘。该软件产品包括许多指令,这些指令使计算机设备(计算机、服务器或网络设备)能够执行本公开的实施例中提供的方法。例如,这样的执行可以对应于如本文所述的逻辑操作的模拟。软件产品可以附加地或替代地包括多个指令,这些指令使计算机设备能够执行根据本公开的实施例的用于配置或编程数字逻辑装置的操作。

尽管已经参考具体特征及其实施例描述了本公开,但是显而易见,在不脱离本公开的情况下,可以对其进行各种修改和组合。因此,说明书和附图仅被视为由所附权利要求限定的本公开的说明,并且预期涵盖落入本公开的范围内的任何和所有修改、变化、组合或等同物。

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