使用多个网络路径的时钟同步.pdf

上传人:a1 文档编号:1686989 上传时间:2018-07-04 格式:PDF 页数:35 大小:2.07MB
返回 下载 相关 举报
摘要
申请专利号:

CN201380024941.2

申请日:

2013.05.09

公开号:

CN104584467A

公开日:

2015.04.29

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04J 3/06申请日:20130509|||公开

IPC分类号:

H04J3/06

主分类号:

H04J3/06

申请人:

马维尔以色列(M.I.S.L.)有限公司

发明人:

T·米兹拉希

地址:

以色列约克尼穆

优先权:

61/644,722 2012.05.09 US; 61/647,173 2012.05.15 US; 61/647,123 2012.05.15 US; 61/695,367 2012.08.31 US; 61/695,371 2012.08.31 US; 61/706,526 2012.09.27 US; 61/713,818 2012.10.15 US; 13/764,732 2013.02.11 US

专利代理机构:

北京市金杜律师事务所11256

代理人:

酆迅

PDF下载: PDF下载
内容摘要

一种网络设备包括耦合至网络的一个或多个端口以及时间同步模块。时间同步模块处理在通过两个或更多个不同的通信路径并且经由一个或多个端口中的至少一个端口从主时钟设备接收的多个时间同步数据包中的至少一些时间同步数据包中的每个时间同步数据包中包括的(i)各自的路径信息以及(ii)各自的时间同步信息,其中各自的路径信息指示网络中各自的时间同步数据包经由其被接收的各自的通信路径。时间同步模块响应于对在多个时间同步数据包中的至少一些时间同步数据包中包括的路径信息和时间同步信息的处理而确定系统时间时钟。

权利要求书

权利要求书1.  一种网络设备,包括:耦合至网络的一个或多个端口;时间同步模块,所述时间同步模块被配置成:处理在通过两个或更多个不同的通信路径并且经由所述一个或多个端口中的至少一个端口从主时钟设备接收的多个时间同步数据包中的至少一些时间同步数据包中的每个时间同步数据包中包括的(i)各自的路径信息以及(ii)各自的时间同步信息,其中所述各自的路径信息指示所述网络中所述各自的时间同步数据包经由其被接收的各自的通信路径,以及响应于对在所述多个时间同步数据包中的所述至少一些时间同步数据包中包括的所述路径信息和所述时间同步信息的所述处理而确定系统时间时钟。2.  根据权利要求1所述的网络设备,其中:所述各自的路径信息包括一个或多个地址的各自的集合;并且所述时间同步模块包括路径确定模块,所述路径确定模块被配置成识别所述各自的时间同步数据包使用一个或多个地址的所述各自的集合经由特定的通信路径而被接收。3.  根据权利要求2所述的网络设备,其中:一个或多个地址的所述各自的集合包括(i)各自的源IP地址以及(ii)各自的目的IP地址;并且所述路径确定模块被配置成识别所述各自的时间同步数据包使用(i)所述各自的源IP地址以及(ii)所述各自的目的IP地址经由所述特定的通信路径而被接收。4.  根据权利要求2所述的网络设备,其中:一个或多个地址的所述各自的集合包括各自的目的IP地址;并且所述路径确定模块被配置成识别所述各自的时间同步数据包使用所述各自的目的IP地址经由所述特定的通信路径而被接收。5.  根据权利要求2所述的网络设备,其中:一个或多个地址的所述各自的集合包括各自的源IP地址;并且所述路径确定模块被配置成识别所述各自的时间同步数据包使用所述各自的源IP地址经由所述特定的通信路径而被接收。6.  根据权利要求1所述的网络设备,其中:所述各自的路径信息包括各自的虚拟局域网标识符(VLAN ID);并且所述时间同步模块包括路径确定模块,所述路径确定模块被配置成识别所述各自的时间同步数据包使用所述各自的VLAN ID经由特定的通信路径而被接收。7.  根据权利要求6所述的网络设备,其中:所述各自的路径信息包括各自的层2地址;并且所述路径确定模块被配置成识别所述各自的时间同步数据包还使用所述层2地址经由所述特定的通信路径而被接收。8.  根据权利要求7所述的网络设备,其中:所述各自的层2地址是骨干目的地址(B-DA)。9.  根据权利要求1所述的网络设备,其中:所述各自的路径信息包括各自的用户数据报协议(UDP)端口字段;并且所述时间同步模块包括路径确定模块,所述路径确定模块被配置成识别所述各自的时间同步数据包使用所述各自的UDP端口字段经由特定的通信路径而被接收。10.  根据权利要求1所述的网络设备,其中:所述各自的路径信息包括在所述各自的时间同步数据包中的专用路径标识符(ID)字段;并且所述时间同步模块包括路径确定模块,所述路径确定模块被配置成识别所述各自的时间同步数据包使用所述各自的专用路径ID字段经由特定的通信路径而被接收。11.  根据权利要求1所述的网络设备,其中:所述网络设备包括耦合至所述网络的多个端口;并且所述时间同步模块包括路径确定模块,所述路径确定模块被配置成识别所述各自的时间同步数据包还基于所述各自的时间同步数据包经由所述多个端口中的哪个端口被接收而经由特定的通信路径被接收。12.  一种方法,包括:经由耦合至网络的一个或多个端口,通过两个或更多个不同的通信路径从主时钟设备接收多个时间同步数据包,其中每个时间同步数据包包括(i)各自的路径信息以及(ii)各自的时间同步信息,并且其中所述各自的路径信息指示所述网络中所述各自的时间同步数据包经由其被接收的各自的通信路径;对于所述多个时间同步数据包中的至少一些时间同步数据包中的每个时间同步数据包,处理(i)各自的路径信息以及(ii)各自的时间同步信息;以及响应于对在所述多个时间同步数据包中的所述至少一些时间同步数据包中包括的所述路径信息和所述时间同步信息的所述处理而确定系统时间时钟。13.  根据权利要求12所述的方法,其中:所述各自的路径信息包括一个或多个地址的各自的集合;并且所述方法还包括:对于所述多个时间同步数据包中的至少一些时间同步数据包中的每个时间同步数据包,识别所述各自的时间同步数据包使用一个或多个地址的所述各自的集合经由特定的通信路径而被接收。14.  根据权利要求13所述的方法,其中:一个或多个地址的所述各自的集合包括(i)各自的源IP地址以及(ii)各自的目的IP地址;并且识别所述各自的时间同步数据包经由所述特定的通信路径而被接收包括:使用(i)所述各自的源IP地址以及(ii)所述各自的目的IP地址,以识别所述各自的时间同步数据包经由所述特定的通信路径 而被接收。15.  根据权利要求13所述的方法,其中:一个或多个地址的所述各自的集合包括各自的目的IP地址;并且识别所述各自的时间同步数据包经由所述特定的通信路径而被接收包括:使用所述各自的目的IP地址,以识别所述各自的时间同步数据包经由所述特定的通信路径而被接收。16.  根据权利要求13所述的方法,其中:一个或多个地址的所述各自的集合包括各自的源IP地址;并且识别所述各自的时间同步数据包经由所述特定的通信路径而被接收包括:使用所述各自的源IP地址,以识别所述各自的时间同步数据包经由所述特定的通信路径而被接收。17.  根据权利要求12所述的方法,其中:所述各自的路径信息包括各自的VLAN ID;并且识别所述各自的时间同步数据包经由所述特定的通信路径而被接收包括:使用所述各自的VLAN ID,以识别所述各自的时间同步数据包经由所述特定的通信路径而被接收。18.  根据权利要求17所述的方法,其中:所述各自的路径信息包括各自的层2地址;并且识别所述各自的时间同步数据包经由所述特定的通信路径而被接收包括:还使用所述各自的层2地址。19.  根据权利要求18所述的方法,其中:所述各自的层2地址是骨干目的地址(B-DA)。20.  根据权利要求12所述的方法,其中:所述各自的路径信息包括各自的用户数据报协议(UDP)端口字段;并且识别所述各自的时间同步数据包经由所述特定的通信路径而被接收包括:还使用所述各自的UDP端口字段。21.  根据权利要求12所述的方法,其中:所述各自的路径信息包括在所述各自的时间同步数据包中的专 用路径标识符(ID)字段;并且识别所述各自的时间同步数据包经由所述特定的通信路径而被接收包括:还使用所述各自的专用路径ID字段。22.  根据权利要求12所述的方法,其中:通过两个或更多个不同的通信路径从所述主时钟设备接收所述多个时间同步数据包包括:经由耦合至所述网络的多个端口接收所述多个时间同步数据包;并且识别所述各自的时间同步数据包经由所述特定的通信路径而被接收还基于:所述各自的时间同步数据包经由所述多个端口中的哪个端口被接收。23.  一种系统,包括:第一网络设备,所述第一网络设备包括:耦合至通信网络的一个或多个第一端口,以及主时钟模块,所述主时钟模块被配置成:生成多个时间同步数据包,每个时间同步数据包具有(i)各自的路径信息以及(ii)各自的时间同步信息,其中所述各自的路径信息指示所述网络中所述各自的时间同步数据包经由其被发送的各自的通信路径,以及使得所述多个时间同步数据包(i)经由所述一个或多个第一端口中的至少一个第一端口以及(ii)经由所述通信网络中的多个不同的通信路径而被发送;以及第二网络设备,所述第二网络设备经由所述通信网络在通信上耦合至所述第一网络设备,所述第二网络设备包括:耦合至所述通信网络的一个或多个第二端口;时间同步模块,所述时间同步模块被配置成:处理在由所述主时钟设备经由所述一个或多个端口中的至少一个端口发送的所述多个时间同步数据包中的至少一些时间同步数据包中的每个时间同步数据包中包括的(i)各自的路径信息以及(ii)各自的时间同步信息,以及响应于对在所述多个时间同步数据包中的所述至少一些时间同步数据包中包括的所述路径信息和所述时间同步信息的所述处理而确定系统时间时钟。24.  根据权利要求23所述的系统,还包括所述通信网络的至少一部分。25.  根据权利要求24所述的系统,还包括所述通信网络的全部。

说明书

说明书使用多个网络路径的时钟同步
相关申请的交叉引用
本公开内容要求以下各项的权益:
于2012年5月9日提交的、题为“Slave Diversity:Using Multiple Paths to Improve the Accuracy of Clock Synchronization Protocols”的第61/644,722号美国临时专利申请;
于2012年5月15日提交的、题为“Slave Diversity:Using Multiple Paths to Improve the Accuracy of Clock Synchronization Protocols”的第61/647,123号美国临时专利申请;
于2012年5月15日提交的、题为“Running PTP Over Multiple Paths:A Proposed Extension to the IEEE 1588”的第61/647,173号美国临时专利申请;
于2012年8月31日提交的、题为“Multi-Path Time Protocols”的第61/695,367号美国临时专利申请;
于2012年8月31日提交的、题为“Multi-Masters Precision Time Protocols”的第61/695,371号美国临时专利申请;以及
于2012年9月27日提交的、题为“Multi-Path Time Protocols”的第61/706,526号美国临时专利申请。
于2012年10月15日提交的、题为“Running PTP Over Multiple Paths:A Proposed Extension to the IEEE 1588”的第61/713,818号美国临时专利申请;
另外,本申请是于2013年2月11日提交的、题为“Clock Synchronization Using Multiple Network Paths”的第13/764,732号美国专利申请的部分继续申请,该第13/764,732号美国专利申请尤其要求于2012年2月9日提交的、题为“Time Synchronization Diversity”的第61/597,092号美国临时专利申请的权益。
所有以上引用的申请的公开内容的全部内容通过引用被合并到本文中。
技术领域
本公开内容总体上涉及维持时钟的设备,并且更具体地涉及用于跨网络同步时钟的技术。
背景技术
本文中所提供的背景描述以总体上呈现本公开内容的情境为目的。在其在此背景技术部分中被描述的程度上,当前署名的发明人的工作以及说明书的在提交时可能尚未成为现有技术的方面,既未明确地也未隐含地被视为针对本公开内容的现有技术。
基于数据包的网络中普遍使用时钟同步协议以对在不同网络设备处被维持的时钟进行同步。在这样的时钟同步协议中,维持主时钟的第一网络设备将包括主时钟时间的协议消息发送给维持从时钟的第二网络设备。第二网络设备使用主时钟时间和估计的网络延迟来调整从时钟,以便使从时钟与主时钟同步。
发明内容
在实施例中,一种网络设备包括:耦合至网络的一个或多个端口;以及时间同步模块。时间同步模块被配置成:处理在通过两个或更多个不同的通信路径并且经由一个或多个端口中的至少一个端口从主时钟设备接收的多个时间同步数据包中的至少一些时间同步数据包中的每个时间同步数据包中包括的(i)各自的路径信息以及(ii)各自的时间同步信息,其中各自的路径信息指示网络中各自的时间同步数据包经由其被接收的各自的通信路径。时间同步模块还被配置成:响应于对在多个时间同步数据包中的至少一些时间同步数据包中包括的路径信息和时间同步信息的处理而确定系统时间时钟。
在另一实施例中,一种方法包括:经由耦合至网络的一个或多个 端口,通过两个或更多个不同的通信路径从主时钟设备接收多个时间同步数据包,其中每个时间同步数据包包括(i)各自的路径信息以及(ii)各自的时间同步信息,并且其中各自的路径信息指示网络中各自的时间同步数据包经由其被接收的各自的通信路径。该方法还包括:对于多个时间同步数据包中的至少一些时间同步数据包中的每个时间同步数据包,处理(i)各自的路径信息以及(ii)各自的时间同步信息。另外,该方法包括:响应于对在多个时间同步数据包中的至少一些时间同步数据包中包括的路径信息和时间同步信息的处理而确定系统时间时钟。
在又一实施例中,一种系统包括:第一网络设备,经由通信网络在通信上耦合至第一网络设备的第二网络设备。第一网络设备包括:耦合至通信网络的一个或多个第一端口;以及主时钟模块。主时钟模块被配置成:生成多个时间同步数据包,每个时间同步数据包具有(i)各自的路径信息以及(ii)各自的时间同步信息,其中各自的路径信息指示网络中各自的时间同步数据包经由其被发送的各自的通信路径;以及使得多个时间同步数据包(i)经由一个或多个第一端口中的至少一个第一端口以及(ii)经由通信网络中的多个不同的通信路径而被发送。第二网络设备包括:耦合至通信网络的一个或多个第二端口;以及时间同步模块。时间同步模块被配置成:处理在由主时钟设备经由一个或多个端口中的至少一个端口发送的多个时间同步数据包中的至少一些时间同步数据包中的每个时间同步数据包中包括的(i)各自的路径信息以及(ii)各自的时间同步信息;以及响应于对在多个时间同步数据包中的至少一些时间同步数据包中包括的路径信息和时间同步信息的处理而确定系统时间时钟。
附图说明
图1A是根据实施例的示例系统的框图,其中从时钟基于主时钟以及基于由主时钟经由网络中的多个路径发送的信号而被维持。
图1B是根据实施例的另一示例系统的框图,其中从时钟基于主 时钟以及基于由主时钟经由网络中的多个路径发送的信号而被维持。
图2A和图2B是根据实施例的用于使用经由网络中的多个路径从主时钟接收的多个时钟信号来维持从时钟的示例方法的流程图。
图3是根据实施例的图示经由在从时钟与主时钟之间的多个路径而被交换的信号的时序图。
图4是根据实施例的用于使用经由网络中的多个路径从主时钟接收的多个时钟信号来维持从时钟的示例方法的流程图。
图5是根据实施例的用于使用从主时钟接收的数据包来维持从时钟的示例方法的流程图。
图6是根据实施例的用于促进确定跨网络的时钟值的示例方法的流程图。
图7是根据实施例的用于促进确定跨网络的时钟值的另一示例方法的流程图。
图8A是根据实施例的另一示例系统的框图,其中从时钟基于主时钟以及基于由主时钟经由网络中的多个路径发送的信号而被维持。
图8B是根据实施例的另一示例系统的框图,其中从时钟基于主时钟以及基于由主时钟经由网络中的多个路径发送的信号而被维持。
图9是根据实施例的用于促进确定跨网络的时钟值的另一示例方法的流程图。
具体实施方式
图1A是根据实施例的示例系统100的框图,示例系统100具有经由通信网络112在通信上耦合至第二网络设备108的第一网络设备104。第一网络设备104实现主时钟,并且第一网络设备104在本文中有时被称为主时钟设备104。第二网络设备108实现从时钟,并且第二网络设备108在本文中有时被称为从时钟设备108。
主时钟设备104包括被配置成维持主时钟的时钟模块120。在实施例中,主时钟是日时间(time-of-day)时钟。在另一实施例中,主时钟是没有直接链接至日时间的计数器。在实施例中,时钟模块120 包括或者使用维持主时钟的计数器电路。在实施例中,时钟模块120是在多层通信协议栈中的应用层操作的应用层模块。在实施例中,多层通信协议栈(例如传输控制协议/网际协议(TCP/IP)协议组)包括链路层、网际层、传输层和应用层,其中应用层在协议栈中的传输层、网际层和链路层之上。在另一实施例中,多层通信协议栈(例如对应于开放系统互连(OSI)模型)包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,其中应用层在协议栈中的表示层、会话层、传输层、网络层、数据链路层和物理层之上。在其它实施例中,时钟模块120在至少在多层通信协议栈中的第四层的另一合适的层操作。
时钟模块120被配置成使得多个时间标记的数据包通过网络112经由各自不同的通信路径从主时钟设备104被发送至从时钟设备108。在实施例中,多个时间标记的数据包使用由时钟模块120维持的主时钟的一个或多个值而被时间标记。
网络112包括专用网络、公共网络、骨干网络、提供商网络、因特网等中的一个或多个网络。在实施例中,网络112包括多个网络交换机和/或路由器124(下文中为了简便起见而仅被称为交换机),并且第一路径128对应于经由交换机124c从交换机124a至交换机124b的链路。第二路径132对应于经由交换机124f从交换机124d至交换机124e的链路。
时钟模块120被配置成使得第一时间标记的数据包经由路径128从主时钟设备104被发送至从时钟设备108,并且使得第二时间标记的数据包经由路径132从主时钟设备104被发送至从时钟设备108。在实施例中,主时钟设备104包括多个端口140,并且时钟模块120被配置成使得第一时间标记的数据包经由路径140a被发送,并且使得第二时间标记的数据包经由路径140b被发送。在其它实施例和/或场景中,时间标记的数据包中的至少一些时间标记的数据包中的每个时间标记的数据包经由相同的端口140被发送(图1A中未示出)。虽然图1A中图示了两个端口140,然而在其它实施例中,主时钟设 备104包括另一合适数目的端口140(例如仅一个端口或者多于两个端口)。
在一个实施例中,主时钟设备104仅包括单个端口140,并且路径多样性(path diversity)完全由网络112来提供。例如,在一些实施例中,在本地管理的网络112中,交换机/路由器可以被配置成在发送去往相同的端点设备但是包括不同头信息(例如源地址、目的地址、层4端口等)的数据包时使用不同的路径。作为另一示例,在一些实施例中,公共网络和/或提供商网络(至少网络112中的一些交换机/路由器)应用负载平衡技术,其中去往相同端点设备的数据包基于数据包中不同的头信息(例如源地址、目的地址、层4端口等)而沿着不同的路径被定向。因此,在一些实施例中,为了使得网络112经由不同的路径向从时钟设备108发送数据包,主时钟设备104改变数据包中的头信息(例如源地址、目的地址、层4端口等)。
不同于图1A(其示出了耦合至交换机124中的不同交换机的不同端口140)中的描绘,在一些实施例中,端口140中的两个或更多个端口被耦合至单个交换机124。在这样的实施例中,不同网络路径中的至少一些网络路径穿过耦合至主时钟设备104的两个或更多个端口140的单个交换机124的不同端口。例如,在一些实施例中,在本地管理的网络112中,交换机/路由器可以被配置成在发送去往相同的端点设备但是包括不同的头信息(例如源地址、目的地址、层4端口等)的数据包时和/或在经由交换机/路由器的不同物理端口接收数据包时使用不同的路径。作为另一示例,在一些实施例中,公共网络和/或提供商网络(至少网络112中的一些交换机/路由器)应用负载平衡技术,其中去往相同的端点设备的数据包基于数据包中不同的头信息(例如源地址、目的地址、层4端口等)和/或基于交换机/路由器的物理端口(数据包经由其被接收)而沿着不同的路径被定向。因此,在一些实施例中,为了使得网络112经由不同的路径向从时钟设备108发送数据包,主时钟设备104改变数据包中的头信息(例如源地址、目的地址、层4端口等)和/或经由主时钟设备104的不同的物理 端口发送数据包,其中主时钟设备104的不同的物理端口分别耦合至交换机124的不同的物理端口。
从时钟设备108的时钟同步模块150被配置成确定与由主时钟设备104发送的多个时间标记的数据包对应的以及与通过网络112的多个不同的通信路径对应的不同的时钟结果。例如,时钟同步模块150被配置成确定与经由第一路径128被发送的第一时间标记的数据包对应的第一时钟结果以及经由第二路径132被发送的第二时间标记的数据包对应的第二时钟结果。在实施例中,从时钟设备108包括多个端口154,并且第一时间标记的数据包经由端口154a被接收,而第二时间标记的数据包经由端口154b被接收。在其它实施例和/或场景中,时间标记的数据包中的至少一些时间标记的数据包中的每个时间标记的数据包经由相同的端口154被接收(图1A中未示出)。虽然图1A中图示了两个端口154,然而在其它实施例中,从时钟设备108包括另一合适数目的端口154(例如,仅一个或多于两个)。在实施例中,从时钟设备108仅包括单个端口154。
时钟同步模块150被配置成基于经由各自的路径被发送的各自的时间标记的数据包中各自的时间戳来确定每个时钟结果。在实施例中,由时钟同步模块生成的每个时钟结果包括在主时钟设备104处被维持的主时钟与在从时钟设备108处被维持的从时钟之间的偏移量。例如,在实施例中,时钟同步模块150被配置成基于以下各项来确定每个偏移量:(i)经由各自的路径被发送的各自的时间标记的数据包中各自的时间戳,以及(ii)在各自的时间标记的数据包被从时钟设备108接收的各自的时间处的从时钟的值。作为说明性示例,在实施例中,时钟同步模块150基于以下各项来确定第一偏移量:(i)经由第一路径128被发送的第一时间标记的数据包中的第一时间戳,以及(ii)在第一时间标记的数据包被从时钟设备108接收的第一时间处的从时钟的第一值;并且时钟同步模块150基于以下各项来确定第二偏移量:(i)经由第二路径132被发送的第二时间标记的数据包中的第二时间戳,以及(ii)在第二时间标记的数据包被从时钟设备108 接收的第二时间处的从时钟的第二值。
在另一实施例中,由时钟同步模块150生成的每个时钟结果包括与在主时钟设备104处被维持的主时钟对应的时钟值(例如日时间值)。例如,在实施例中,时钟同步模块150被配置成基于经由各自的路径被发送的各自的时间标记的数据包中各自的时间戳来确定每个时钟值。作为说明性示例,在实施例中,时钟同步模块150基于经由第一路径128被发送的第一时间标记的数据包中的第一时间戳来确定第一时钟值,并且基于经由第二路径132被发送的第二时间标记的数据包中的第二时间戳来确定第二时钟值。在实施例中,时钟同步模块150是在多层通信协议栈中的应用层操作的应用层模块。在其它实施例中,时钟同步模块150在至少在多层通信协议栈中的第四层的另一合适的层操作。在其它实施例中,时钟同步模块150处于在多层通信协议栈中的应用层以下的另一合适的层和/或在多层通信协议栈中的第四层以下的合适的层操作。
如以下将更详细地描述的,在一些实施例中,时钟同步模块150被配置成对于每个路径,维持各自的路径时间数据集合,其包括各自的取决于路径的时钟或者用于生成各自的时钟结果(诸如各自的路径时延测量、各自的时钟偏移量等)的信息。在一些实施例中,时钟同步模块150使用路径时间数据集合来生成时钟结果。在其它实施例中,时钟结果是路径时间数据集合,或者被包括在路径时间数据集合中。在其中时钟同步模块150被配置成维持各自的取决于路径的时钟的一些实施例中,时钟同步模块150包括或者使用维持不同的取决于路径的时钟的各自的计数器电路。
在一些实施例中,从时钟设备108中的时钟模块160被配置成维持从时钟。在实施例中,从时钟是日时间时钟。在另一实施例中,从时钟是没有直接链接至日时间的计数器。在实施例中,时钟模块160包括或者使用维持从时钟的计数器电路。在实施例中,时钟模块160是在多层通信协议栈中的应用层处操作的应用层模块。在其它实施例中,时钟模块160在至少在多层通信协议栈中的第四层的另一合适的 层操作。在其中时钟同步模块150被配置成维持各自的取决于路径的时钟的一些实施例中,时钟模块160被配置成选择取决于路径的时钟之一作为从时钟而非维持单独的从时钟。
在一些实施例中,时钟模块160被配置成使用由时钟同步模块150生成的多个时钟结果来确定从时钟值。在实施例中,时钟模块160被配置成至少通过对由时钟同步模块150生成的多个时钟结果进行数学组合来确定从时钟值。在另一实施例中,时钟模块160被配置成至少通过选择由时钟同步模块150生成的多个时钟结果之一来确定从时钟值。例如,在一些实施例中,时钟结果之一基于每个路径的被独立地确定的精度度量(诸如路径长度、路径时延可变性(或噪度)等)而被确定为是最精确的。在另一实施例中,时钟模块160被配置成至少通过以下操作来确定从时钟值:(i)在一些情况下,对由时钟同步模块150生成的多个时钟结果中的至少一些时钟结果进行组合;以及(ii)在其它情况下,选择由时钟同步模块150生成的多个时钟结果之一。在另一实施例中,时钟模块160被配置成至少通过以下操作来确定从时钟值:(i)选择由时钟同步模块150生成的多个时钟结果的子集;以及(ii)对时钟结果的子集进行组合。例如,在一些实施例中,所选子集是基于每个路径的被独立地确定的精度度量(诸如路径长度、路径时延可变性(或者噪度)等)而被确定为适当精确的时钟结果。
在其中由时钟同步模块150生成的时钟结果包括偏移量的一些实施例中,时钟模块160被配置成至少通过对多个偏移量中的两个或更多个偏移量进行数学组合以生成组合偏移量来确定从时钟值,并且然后使用组合偏移量来设置从时钟值。在其中由时钟同步模块150生成的时钟结果包括偏移量的一些实施例中,时钟模块160被配置成选择多个偏移量之一,并且然后使用所选偏移量来设置从时钟值。例如,在一些实施例中,偏移量之一基于每个路径的被独立地确定的精度度量(诸如路径长度、路径时延可变性(或者噪度)等)而被确定为是最精确的。在其中由时钟同步模块150生成的时钟结果包括偏移量的 一些实施例中,时钟模块160被配置成:(i)在一些情况下,对多个偏移量进行数学组合以生成组合偏移量,并且然后使用组合偏移量来设置从时钟值;以及(ii)在其它情况下,选择多个偏移量之一,并且然后使用所选偏移量来设置从时钟值。在实施例中,时钟模块160被配置成至少通过以下操作来确定从时钟值:(i)选择多个偏移量的子集,以及(ii)对偏移量的子集进行组合。例如,在一些实施例中,所选子集是基于每个路径的被独立地确定的精度度量(诸如路径长度、路径时延可变性(或者噪度)等)而被确定为适当精确的偏移量。
在其中由时钟同步模块150生成的时钟结果包括与不同的路径对应的不同的时钟值(路径时钟值)的一些实施例中,时钟模块160被配置成至少通过对不同的路径时钟值中的两个或更多个路径时钟值进行数学组合以生成组合时钟值来确定从时钟值,并且然后使用组合时钟值以设置从时钟值。在其中由时钟同步模块150生成的时钟结果包括路径时钟值的一些实施例中,时钟模块160被配置成选择路径时钟值之一并且然后使用所选路径时钟值以设置从时钟值。例如,在一些实施例中,时钟值之一基于每个路径的被独立地确定的精度度量(诸如路径长度、路径时延可变性(或者噪度)等)而被确定为是最精确的。在其中由时钟同步模块150生成的时钟结果包括路径时钟值的一些实施例中,时钟模块160被配置成:(i)在一些情况下,对路径时钟值中的至少一些路径时钟值进行数学组合以生成组合时钟值,并且然后使用组合时钟值来设置从时钟值;以及(ii)在其它情况下,选择路径时钟值之一,并且然后使用所选路径时钟值来设置从时钟值。
在实施例中,时钟模块160被配置成计算由时钟同步模块150生成的时钟结果中的至少一些时钟结果的平均值,并且基于平均时钟结果来确定从时钟值。在其中由时钟同步模块150生成的时钟结果包括偏移量的一些实施例中,时钟模块160被配置成:计算偏移量中的至少一些偏移量的平均值,并且基于平均偏移量来确定从时钟值。在其中由时钟同步模块150生成的时钟结果包括与不同的路径对应的不同 的时钟值(路径时钟值)的一些实施例中,时钟模块160被配置成计算路径时钟值中的至少一些路径时钟值的平均值,并且基于平均时钟值来确定从时钟值。在实施例中,时钟模块160被配置成至少通过以下操作来确定从时钟值:(i)选择多个路径时钟值的子集,以及(ii)对路径时钟值的子集进行组合。例如,在一些实施例中,所选子集是基于每个路径的被独立地确定的精度度量(诸如路径长度、路径时延可变性(或者噪度)等)而被确定为适当精确的路径时钟值。
在一些实施例中,时钟模块160被配置成计算时钟结果中的至少一些时钟结果的加权平均值。在实施例中,在计算加权平均值时使用的权重基于每个路径的被独立地确定的精度度量(诸如路径长度、路径时延可变性(或者噪度)等)而被确定。例如,在实施例中,相对较小的权重被给予具有相对较长的长度的路径,而相对较大的权重被给予具有相对较短的长度的路径。作为另一示例,在实施例中,相对较小的权重被给予在路径时延方面具有相对较高的可变性(或噪度)的路径,而相对较大的权重被给予在路径时延方面具有相对较低的可变性(或噪度)的路径。
例如,在实施例中,时钟同步模块150包括被配置成生成通过网络112的不同路径的路径时延可变性的各自的测量值。在实施例中,时钟同步模块150被配置成使用通过网络112的不同路径的路径时延可变性的测量值来确定在计算加权平均值时使用的不同权重。例如,在实施例中,相对较小的权重被给予在路径时延方面具有相对较高的可变性(或噪度)的路径,而相对较大的权重被给予在路径时延方面具有相对较低的可变性(或噪度)的路径。
在实施例中,路径时延可变性确定模块170被配置成生成通过网络112的不同路径的各自的路径时延测量值。在实施例中,每个路径时延测量值是经由各自的路径从主时钟设备104至从时钟设备108的单向时延的测量值。在实施例中,路径时延可变性确定模块170被配置成对于每个路径,通过以下操作来生成单向时延:(i)确定经由各自的路径从从时钟设备108至主时钟设备104并且回到从时钟设备 108的往返(round-trip)时延,以及(ii)基于往返时延计算单向时延。在实施例中,单向时延被计算作为往返时延的一半。
在实施例中,路径时延可变性确定模块170被配置成生成通过网络112的不同路径的各自的平均路径时延。在实施例中,路径时延可变性确定模块170被配置成对于每个路径,基于各自的平均路径时延和各自的新近(例如最近)的路径时延测量值来生成各自的路径时延可变性的测量值。在实施例中,路径时延可变性确定模块170被配置成对于每个路径,基于计算各自的平均路径时延与各自的新近(例如最近)的路径时延测量值之间的差来生成各自的路径时延可变性的测量值。在实施例中,对于路径所计算的差的量值通常指示该路径的路径时延的可变性程度。例如,在实施例中,如果对于第一路径计算的第一差的量值大于对于第二路径计算的第二差的量值,则假定第一路径的路径时延与第二路径的路径时延相比具有较大的可变性程度。
在其中由时钟同步模块150生成的时钟结果包括偏移量的一些实施例中,时钟模块160被配置成基于不同路径的路径时延可变性的测量值来选择偏移量之一,并且然后使用所选偏移量来设置从时钟值。例如,在实施例中,时钟模块160被配置成选择与具有路径时延可变性的最低测量值的路径对应的偏移量,并且然后使用所选偏移量来设置从时钟值。
在其中由时钟同步模块150生成的时钟结果包括偏移量的一些实施例中,时钟模块160被配置成选择各自与满足一个或多个准则的路径时延可变性的测量值关联的偏移量的集合,并且使用所选偏移量的集合来确定偏移量。例如,在实施例中,时钟模块160被配置成选择各自与满足阈值(例如,小于阈值,小于或等于阈值等)的路径时延可变性的测量值关联的偏移量的集合,并且使用所选偏移量的集合来确定偏移量。例如,在实施例中,如果集合中有多个偏移量,则时钟模块160被配置成计算所选偏移量的平均值,并且使用平均偏移量来确定从时钟值。在实施例中,在计算平均值时不考虑具有高可变性的路径,使得在计算平均值时仅使用具有小于合适的可变性阈值的测量 可变性的路径。在实施例中,如果仅存在一个具有小于合适的可变性阈值的测量可变性的路径,则使用对应的一个偏移量来设置从时钟值(即不计算多个偏移量的平均值)。换言之,在实施例中,如果集合中仅存在一个偏移量,则时钟模块160被配置成使用所选偏移量来设置从时钟。
在其中由时钟同步模块150生成的时钟结果包括与不同路径对应的不同时钟值(路径时钟值)的一些实施例中,时钟模块160被配置成基于不同路径的路径时延可变性的测量值来选择路径时钟值之一,并且然后使用所选路径时钟值来设置从时钟值。例如,在实施例中,时钟模块160被配置成选择与具有路径时延可变性的最低测量值的路径对应的路径时钟值,并且然后使用所选路径时钟值来设置从时钟值。
在其中由时钟同步模块150生成的时钟结果包括与不同路径对应的不同时钟值(路径时钟值)的一些实施例中,时钟模块160被配置成选择各自与满足一个或多个准则的路径时延可变性的测量值关联的路径时钟值的集合,并且使用所选路径时钟值的集合来确定平均路径时钟值。例如,在实施例中,时钟模块160被配置成选择各自与满足阈值(例如,小于阈值,小于或等于阈值等)的路径时延可变性的测量值关联的路径时钟值的集合,并且使用所选路径时钟值的集合来确定从时钟值。例如,在实施例中,如果集合中有多个路径时钟值,则时钟模块160被配置成计算所选路径时钟值的平均值,并且使用平均路径时钟值来确定从时钟值。作为另一示例,在实施例中,如果集合中仅有一个路径时钟值,则时钟模块160被配置成使用所选路径时钟值来设置从时钟。
在一些实施例中,时钟同步模块150被配置成测量每个路径的各自的路径特性(诸如路径长度、路径时延可变性(或者噪度)等)和/或测量的各自的路径时钟值的特性(诸如抖动的程度)。在实施例中,路径长度以跳数的形式被测量。例如,在一些实施例中,使用基于路由跟踪的路径发现技术来确定路径中的跳数。在一些实施例中,时钟 同步模块150被配置成测量每个路径的各自的路径特性(诸如路径长度、路径时延可变性(或者噪度)等)和/或测量的各自的路径时钟值的特性(诸如抖动的程度)。
图1B是另一示例系统180的框图,其中主时钟设备104仅包括单个端口140a并且从时钟设备108仅包括单个端口154a。路径多样性完全由网络112来提供。如以上所讨论的,在一些实施例中,例如交换机124被配置成在发送去往相同端点设备但是包括不同头信息(例如源地址、目的地址、层4端口等)的数据包时使用不同的路径184、188。作为另一示例,在一些实施例中,交换机124应用负载平衡技术,其中去往相同端点设备的数据包基于数据包中的不同头信息(例如源地址、目的地址、层4端口等)沿着不同的路径184、188被定向。因此,在一些实施例中,为了使得网络112经由不同的路径184、188向从时钟设备108发送数据包,主时钟设备104改变数据包中的头信息(例如源地址、目的地址、层4端口等)。
图2A和图2B是根据实施例的用于使用经由网络中的多个路径从主时钟接收的多个时钟信号来维持从时钟的示例方法200的流程图。在实施例中,图1A或者图1B的从时钟设备108被配置成实现方法200,并且出于说明的目的,参考图1A和图1B讨论方法200。然而,在其它实施例中,方法200由另一合适的设备来实现。
在块204处,状态变量被初始化为值COMBINED。状态变量通常指示要如何设置从时钟。例如,在实施例中,当状态变量为值COMBINED时,要根据第一技术(如下所述)来设置从时钟,而当状态变量为值SWITCHING时,要根据第二技术(如下所述)来设置从时钟。
在块208处,对于时钟信号经由其从主时钟设备104被接收的多个路径中的每个路径,确定各自的时钟(例如各自的日时间时钟(TODi))。例如,对于经由路径128从主时钟设备104接收的时钟信号确定TOD1,并且对于经由路径132从主时钟设备104接收的时钟信号确定TOD2。在实施例中,块208包括:每当来自主时钟的时 钟信号经由各自的路径i被接收时,确定各自的TODi。
在块212处,对于每个路径i,确定从主时钟设备104经由路径i至从时钟设备108的时延的最近测量值(LastDelayi)。例如,在实施例中,为了测量第i路径的LastDelay,从时钟设备108向主时钟设备104发送路径时延测量数据包(例如网际控制消息协议(ICMP)回波请求数据包),其提示主时钟设备104立刻经由路径i向从时钟设备108发送响应数据包(例如ICMP响应)。在实施例中,从时钟设备108然后基于ICMP回波请求数据包何时经由路径i被发送以及ICMP响应何时经由路径i被接收来测量与路径i对应的往返时延,并且确定LastDelayi作为往返时延的一半。在各个实施例中,这样的测量根据预定计划等周期性地进行。
还是在块212处,对于每个路径i,确定从主时钟设备104经由路径i至从时钟设备108的平均时延(AvgDelayi)。例如,在实施例中,AvgDelayi通过对多个LastDelayi值在时间上求平均来计算。在实施例中,随着计算第i路径的每个LastDelayi,用新的LastDelayi值更新AvgDelayi。
在块216处,计算不同路径的路径时延可变性的各自的测量值。例如,在实施例中,对于每个路径i,计算AvgDelayi与LastDelayi之间的差(DelayDiffi)的绝对值。例如,在实施例中,与较小的DelayDiffi相比,较大的DelayDiffi指示相对较多的可变性。在实施例中,如以上所讨论的,随着计算第i路径的每个LastDelayi,更新AvgDelayi,并且然后计算新的DelayDiffi。
在一些实施例中,不同路径的路径时延可变性的各自的测量值还提供各自的TODi的噪度的测量值。例如,在实施例中,随着第i路径的路径时延可变性增加,第i路径的TOD的抖动(或噪度)也将增加。在其它实施例中,各自的TODi的噪度的各自的测量值通过在时间上分析各自的TODi而被确定。
在块220处,选择主路径作为具有最低的路径时延可变性的测量值的路径。例如,选择主路径作为具有最低DelayDiffi的路径。在其 它实施例中,主路径基于各个TOD的一个或多个合适的测量特性(诸如抖动程度)被选择。
在块224处,将第一TOD(SwitchingTOD)设置为与主路径(在块220处被确定)对应的TODi(在块208处被确定)。如以下将解释的,在将状态变量设置成SWITCHING时使用SwitchingTOD。在实施例中,SwitchingTOD与具有最低的路径时延可变性的测量值的路径的TODi对应。在其它实施例中,SwitchingTOD与基于各个TOD的测量特性(诸如抖动程度)被选择的路径的TODi对应。
在块228处,将第二TOD(CombinedTOD)设置成所有路径的TODi(在块208处被确定)的平均值。如以下将解释的,在将状态变量设置成COMBINED时使用CombinedTOD。在实施例中,块228包括计算加权平均值。在实施例中,用于计算加权平均值的权重基于在块216处被计算的DelayDiffi值被确定。因此,在一些实施例中,用于计算加权平均值的权重是可配置的,并且基于测量的路径特性(诸如路径长度、路径时延可变性(或者噪度)等)和/或各个TOD的测量特性(诸如抖动程度)被确定。
在块232处,确定状态变量是否被设置为COMBINED。如果确定状态变量被设置为COMBINED,则流程继续进行至块236。在块236处,将从时钟(DynamicTOD)设置成在块228处被确定的CombinedTOD。
在块240处,将SwitchingTOD与CombinedTOD之间的差的绝对值与阈值进行比较。在实施例中,阈值是主路径的DelayDiff乘以合适的标量α。如果确定SwitchingTOD与CombinedTOD之间的差的绝对值不满足阈值(例如小于或等于阈值),则状态变量保持被设置为COMBINED,并且流程返回到块208。
另一方面,如果在块240处确定SwitchingTOD与CombinedTOD之间的差的绝对值满足阈值(例如大于阈值),则这可以指示一个或多个路径中的路径时延可变性已经增加,并且流程继续进行至块244。在块244处,将SwitchingTOD设置成CombinedTOD。在实施例中, 块244帮助确保DynamicTOD的连续性。在块248处,将状态变量设置成SWITCHING。在实施例中,状态变量被设置成SWITCHING,因为在块240处的比较指示一个或多个路径中的路径时延可变性已经增加,这可能不利地影响CombinedTOD。在块248之后,流程返回到块208。
再次参考块232,在实施例中,如果确定状态变量具有值SWITCHING,则流程继续进行至块260。在块260处,将从时钟(DynamicTOD)设置成在块224处被确定的SwitchingTOD。
在块264处,确定状态变量是否已经被设置成值SWITCHING至少持续一段超时时间。在实施例中,如果确定状态变量已经被设置成值SWITCHING持续小于一段超时时间,则状态变量保持被设置成SWITCHING,并且流程返回到块208。
在实施例中,另一方面,如果确定状态变量已经被设置成值SWITCHING持续至少一段超时时间,则流程继续进行至块268。在块268处,将每个路径i的TODi设置成SwitchingTOD。在实施例中,块268帮助确保DynamicTOD的连续性。在块272处,将状态变量设置成COMBINED。在块272之后,流程返回到块208。
在一些实施例中,每个路径i的TODi、SwitchingTOD和CombinedTOD是经计算的在主时钟与从时钟之间的偏移量。在实施例中,使用CombinedTOD偏移量(块236)或者SwitchingTOD偏移量(块260)来更新从时钟(DynamicTOD)。例如,在实施例中,通过将偏移量加到从时钟的当前值来更新从时钟。
图3是根据实施例的图示在从时钟设备108与主时钟设备104之间被交换的信号的时序图300,其作为维持从时钟的示例的一部分。图3所示的场景涉及网络112中的两个不同的路径:路径0和路径1。至少在一些实施例中,在其它场景中,使用多于两个的合适数目的路径。
在实施例中,在时间T0处,从时钟设备108向主时钟设备104发送第一路径时延测量数据包(例如ICMP回波请求数据包),以提 示主时钟设备104立刻经由路径0向从时钟设备108发送第一响应数据包(例如ICMP响应)。在实施例中,在时间T1处,由主时钟设备104经由路径0发送的第一响应数据包(例如ICMP响应)在从时钟设备108处被接收。
在时间T1之后,从时钟设备108计算路径0上的时延(Δ0)作为往返时延的一半:
Δ0=(T1-T0)/2。  (等式1)
在实施例中,在时间T2处,从时钟设备108向主时钟设备104发送第二路径时延测量数据包(例如ICMP回波请求数据包),以提示主时钟设备104立刻经由路径1向从时钟设备108发送第二响应数据包(例如ICMP响应)。在实施例中,在时间T3处,由主时钟设备104经由路径1发送的第二响应数据包(例如ICMP响应)在从时钟设备108处被接收。
在时间T3之后,从时钟设备108计算路径1上的时延(Δ1)作为往返时延的一半:
Δ1=(T3-T2)/2。  (等式2)
在时间T4处,主时钟设备104经由路径0向从时钟设备108发送第一时间标记的数据包。在实施例中,第一时间标记的数据包包括等于(或者基本上等于)与时间T4对应的值的时间戳。在时间T5处,从时钟设备108经由路径0接收第一时间标记的数据包。在时间T5之后,从时钟设备108基于第一时间标记的数据包和所计算的路径0上的时延(Δ0)来计算与路径0对应的时钟偏移量。在实施例中,与路径0对应的时钟偏移量(Offset0)根据下式来计算:
Offset0=T4-T5+Δ0。  (等式3)
在时间T6处,主时钟设备104经由路径1向从时钟设备108发送第二时间标记的数据包。在实施例中,第二时间标记的数据包包括等于(或者基本上等于)与时间T6对应的值的时间戳。在时间T7处,从时钟设备108经由路径1接收第二时间标记的数据包。在时间T7之后,从时钟设备108基于第二时间标记的数据包和所计算的路径1 上的时延(Δ1)来计算与路径1对应的时钟偏移量。在实施例中,与路径1对应的时钟偏移量(Offset1)根据下式来计算:
Offset1=T6-T7+Δ1。  (等式4)
然后,使用与路径0对应的时钟偏移量和与路径1对应的时钟偏移量来更新从时钟。例如,然后,根据诸如以上描述的技术(例如计算路径0的偏移量和路径1的偏移量的平均值,基于路径时延可变性选择路径0的偏移量和路径1的偏移量之一等)之类的技术,使用与路径0对应的时钟偏移量和与路径1对应的时钟偏移量来更新从时钟。
如以上所讨论的,各种数据包经由通过网络112的不同路径在主时钟设备104与从时钟设备108之间被传输。主时钟设备104和从时钟设备108各自应当能够确定数据包在传输之后要经由其行进的路径,并且能够识别数据包经由其被接收的路径。现在将描述用于对通过网络112的不同路径进行配置、识别、规定、使用等的各种技术。
用于规定和/或使用不同路径的技术中的至少一些技术涉及向主时钟分配不同的地址(例如IP地址)和/或向从时钟分配不同的地址(例如IP地址),其中不同的地址和/或不同的地址对与通过网络112的不同路径对应。
在实施例中,在本地管理的网络112中,交换机/路由器可以被配置成在发送去往相同端点设备但是包括不同地址信息(例如源地址和/或目的地址)的数据包时使用不同的路径。例如,跨网络的路由/转发表可以配备有在主时钟与从时钟之间的多个按通信量设计的路径。通过在这样的网络中配置路由器/交换机,多样化的路径被创建以用于在主时钟与从时钟之间传输数据包。
另一方面,在其它类型的网络(诸如公共网络和提供商网络)中,配置交换机/路由器以提供不同的路径是不可能的或者不现实的。在一些实施例中,在一些网络112中,网络112中的至少一些交换机/路由器应用负载平衡技术,其中去往相同端点设备的数据包沿着不同的路径被定向。为了在向从时钟设备108发送数据包时使用这样的交换机 /路由器的负载平衡能力,主时钟设备104例如在数据包中使用不同的地址(例如目的地址)和/或地址对(例如{主,从})。
在一些实施例和/或场景中,虽然多个地址和/或地址对作为整体与多个不同的路径对应,然而这样的地址或地址对中的两个或更多个地址或地址对可以与完全相同的网络路径对应,使得它们这样的地址/地址对是冗余的。因此,在一些实施例中,主时钟设备104和/或从时钟设备108被配置成使用基于路由跟踪的路径发现来确定与冗余路径对应的地址/地址对,并且然后省略和/或过滤地址/地址对以避免使用冗余路径。“Paris traceroute”(在WWW.paris-traceroute.net可获得)和“TraceFlow”(Viswannathan等人,“TraceFlow draft-ziniuvadia-traceflow-02.txt”,因特网草案,因特网工程任务组(IETF),2008年8月,在tools.ietf.org/html/draft-zinjuvadia-traceflow-02可获得)是发现网络中两点之间的路径的工具的示例。在实施例中,基于路由跟踪的过滤由主时钟设备104和从时钟设备108二者来实现。在另一实施例中,仅在从时钟设备108上实现基于路由跟踪的过滤以降低主时钟设备104上的开销。在其它实施例中,使用用于发现网络中两点之间的路径的其它合适的工具。
在实施例中,从时钟使用多个IP地址。在实施例中,从时钟的多个IP地址中的至少一些IP地址中的每个IP地址与不同的路径对应。在实施例中,主时钟使用多个IP地址。在实施例中,至少一些不同的{主IP,从IP}地址对与不同的路径对应。在其它实施例中,主时钟使用多个VLAN ID,其中每个VLAN ID与不同的路径对应。
在一些实施例中,备选地或者另外地使用数据包头中的其它合适的字段来确定不同的路径。用于确定路径的其它头字段的示例包括以下各项中的一项或多项:用户数据报协议(UDP)端口字段、传输控制协议(TCP)端口字段、IPv6头中的流标签字段、以太网头中的VLAN ID字段、多协议标签交换(MPLS)头中的标签字段等。在各个实施例中,使用主IP地址、从IP地址、UDP端口字段、TCP端口字段、IPv6头中的流标签字段、以太网头中的VLAN ID字段、MPLS 头中的标签字段的任意子集的任意组合来确定和/或识别数据包经由其待发送或已发送的路径。
在一些实施例中,从时钟设备108使用其它合适的信息来确定数据包经由哪个路径被发送。例如,在实施例中,从时钟设备108被配置成标记数据包经由其被接收的物理端口154,并且至少基于数据包经由其被接收的物理端口154来确定数据包经由哪个路径被发送。
图4是根据实施例的用于使用经由网络中的多个路径从主时钟接收的多个时钟信号来维持从时钟的示例方法400的流程图。在实施例中,图1A的系统100和/或图1B的系统180被配置成实现方法400,并且出于说明的目的,参考图1A和图1B来讨论方法400。然而,在其它实施例中,由另一合适的系统来实现方法400。
出于说明的目的,参考与在精确时间协议(PTP)中所使用的消息类似的消息来描述图4。在其它实施例中,使用与在网络时间协议(NTP)中所使用的消息类似的消息。
在实施例中,多个IP地址(从IP地址)与从时钟关联,并且从IP地址之一被指定为主要的从IP地址。类似地,在实施例中,至少一个IP地址(主IP地址)与主时钟关联。至少一个主IP地址之一被指定为主要的主IP地址。在实施例中,如果仅有一个主IP地址,则该单个主IP地址被指定为主要的从IP地址。
在实施例中,在块404处,从时钟设备108周期性地发送多个通知消息,多个通知消息中的每个通知消息具有不同的从IP地址。多个通知消息由主时钟设备104接收,并且主时钟设备104对多个通知消息中所包括的不同的从IP地址进行标记。
在实施例中,在块408处,在主时钟设备104周期性地向从时钟设备108发送多个同步消息之后,多个同步消息中的每个同步消息具有来自块404的多个通知消息的多个从IP地址之一。在实施例中,每个同步消息经由不同的路径被发送,并且每个从IP地址与不同的路径中的对应的一个路径对应。在实施例中,每个同步消息包括主要的主IP地址。在实施例中,每个同步消息包括在主时钟设备104发 送同步消息时与主时钟的值对应的时间戳。
在块412处,从时钟设备108响应于每个同步消息而向主时钟设备104发送时延请求消息。每个时延请求消息包括多个从IP地址之一。
在块416处,主时钟设备104响应于来自从时钟设备108的每个时延响应消息而向从时钟设备108发送时延响应消息。在实施例中,每个时延响应消息包括多个从IP地址之一,并且每个时延响应消息经由不同的路径被发送。在实施例中,每个时延响应消息包括主要的主IP地址。
在块420处,从时钟设备108接收在块416处由主时钟设备104发送的多个时延响应消息。对于在块420处接收的每个时延响应消息,从时钟设备108确定与时延响应消息经由其被接收的路径对应的时延。在实施例中,从时钟设备108基于以下各项来确定时延:(i)时延响应消息何时在从时钟设备108处被接收,以及(ii)对应的时延请求消息(块412)何时被从时钟设备108发送。在实施例中,对于在块420处接收的每个时延响应消息,从时钟设备108基于消息中的从IP地址来确定该消息经由其被接收的路径。
在块424处,从时钟设备108接收在块408处由主时钟设备104周期性地发送的多个同步消息。对于由从时钟设备108接收的每个同步消息,从时钟设备108确定与同步消息经由其被接收的路径对应的时钟偏移量。在实施例中,从时钟设备108基于以下各项来确定时钟偏移量:(i)当同步消息在从时钟设备108处被接收时从时钟的值,(ii)同步消息中的主时钟时间戳,以及(iii)对应路径的时延(块420)。在实施例中,对于由从时钟设备108接收的每个同步消息,从时钟设备108基于消息中的从IP地址来确定该消息经由其被接收的路径。
在实施例中,在块428处,从时钟设备108根据在块424处确定的与不同路径对应的不同偏移量来更新从时钟。
在一些实施例中,多个主IP地址与主时钟关联,其中在实施例 中,至少一个主IP地址之一被指定为主要的主IP地址。在一些实施例中,每个{主IP,从IP}地址对的各自的同步消息在块408处由主时钟设备104周期性地发送,并且不同的{主IP,从IP}地址对与不同的路径对应。在一些实施例中,从时钟设备108在块412处向在时延请求消息中包括的主IP地址发送对应的时延请求消息。在一些实施例中,对于在块420处接收的每个时延响应消息,从时钟设备108基于消息中的{主IP,从IP}地址对来确定该消息经由其被接收的路径。在一些实施例中,对于由从时钟设备108接收的每个同步消息,从时钟设备108基于消息中的{主IP,从IP}地址对来确定该消息经由其被接收的路径。
图5是根据实施例的用于设置从时钟的示例方法500的流程图。在实施例中,图1A和/或图1B的从时钟设备108被配置成实现方法500,并且出于解释的目的,参考图1A和图1B来讨论方法500。然而,在其它实施例中,方法500由另一合适的设备来实现。
在块504处,在从时钟设备108处接收数据包,该数据包已经由主时钟设备104发送。该数据包包括与主时钟对应的时间戳。在实施例中,时间戳与当主时钟发送数据包时主时钟的值对应。
在块508处,从时钟设备108确定数据包在块504处经由多个路径中的哪个路径被接收。在实施例中,从时钟设备108基于数据包中的地址来确定经由多个路径中的哪个路径。在实施例中,从时钟设备108基于数据包中的从IP地址来确定经由多个路径中的哪个路径。在实施例中,从时钟设备108基于数据包中的地址对来确定经由多个路径中的哪个路径。在实施例中,从时钟设备108基于数据包中的{主IP,从IP}地址对来确定经由多个路径中的哪个路径。
在实施例中,从时钟设备108的时钟同步模块150被配置成确定数据包经由多个路径中的哪个路径在块504处被接收。在实施例中,从时钟设备108的某个其它模块被配置成确定数据包经由多个路径中的哪个路径在块504处被接收。在一些实施例中,实现块508的模块在多层通信协议栈(例如TCP/IP协议栈)中的应用层操作,和/或在 至少在多层通信协议栈(例如与OSI模型对应)中的第四层的另一合适的层操作。在实施例中,实现块508的模块是应用层模块和/或在多层通信协议栈中的第四层或以上操作,并且还确定数据包在块504处经由多个网络路径中的哪个网络路径被接收。在其它实施例中,实现块508的模块在多层协议栈中的应用层以下和/或第四层以下的层操作。例如,在一些实施例中,实现块508的模块在多层协议栈中的IP层或层3操作。作为另一示例,在一些实施例中,实现块508的模块在多层协议栈中的MAC层或层2操作。
在块512处,从时钟设备108使用在块508处确定的路径信息以及在块504处接收的数据包中的时间戳来设置从时钟值。在实施例中,块512在多层通信协议栈中的应用层被执行,和/或在至少在多层通信协议栈中的第四层的另一合适的层操作,并且还使用网络路径信息来设置从时钟值。在实施例中,块512由时钟同步模块和/或时钟模块160来实现。在其它实施例中,实现块512的模块在多层协议栈中的应用层以下和/或第四层以下的层操作。例如,在一些实施例中,实现块512的模块在多层协议栈中的IP层或层3操作。作为另一示例,在一些实施例中,实现块512的模块在多层协议栈中的MAC层或层2操作。
在一些实施例中,在块512处设置从时钟值是根据以上参考图1、图2A、图2B和图3所讨论的各种技术来实现的。例如,在一些实施例中,如以上所讨论的,确定与通过网络112的多个不同的通信路径对应的不同的时钟结果并且使用其来设置从时钟。
图6是根据实施例的用于促进确定跨网络的时钟值的示例方法600的流程图。在实施例中,图1A和/或图1B的主时钟设备104被配置成实现方法600,并且出于说明的目的,参考图1A和图1B来讨论方法600。然而,在其它实施例中,通过另一合适的设备来实现方法600。
在块604处,多个第一地址与主时钟关联。例如,在实施例中,多个IP地址(主IP地址)通过时钟模块120与主时钟关联。
在块608处,主时钟设备104向从时钟设备108发送多个时间标记的数据包,其中每个数据包包括块604的多个地址中的不同的一个地址。多个时间标记的数据包中的不同的主IP地址至少部分使得通过网络112中的不同路径来发送多个时间标记的数据包。在一些实施例中,多个数据包包括多个从IP地址,并且不同的{主IP,从IP}地址对至少部分使得通过网络112中的不同路径来发送多个时间标记的数据包。
图7是根据实施例的用于促进确定跨网络的时钟值的示例方法700的流程图。在实施例中,图1A和/或图1B的从时钟设备108被配置成实现方法700,并且出于说明的目的,参考图1A和图1B来讨论方法700。然而,在其它实施例中,通过另一合适的设备来实现方法700。
在块704处,多个第一地址与从时钟关联。例如,在实施例中,多个IP地址(从IP地址)通过时钟模块160与从时钟关联。
在块708处,多个请求被发送至主时钟设备104,多个请求包括多个地址以使得主时钟设备104经由网络112中的不同路径来发送多个时间标记的数据包,以使得从时钟设备108经由网络112中的不同路径来接收多个时间标记的数据包。请求中的不同的从IP地址至少部分使得通过网络112中的不同路径来接收多个时间标记的数据包。在一些实施例中,多个数据包包括多个主IP地址,并且不同的{主IP,从IP}地址对至少部分使得通过网络112中的不同路径来接收多个时间标记的数据包。
图8是根据实施例的另一示例系统800的框图,系统800具有经由通信网络812在通信上耦合至第二网络设备808的第一网络设备804。第一网络设备804实现主时钟,并且第一网络设备804有时在本文中被称为主时钟设备804。第二网络设备808实现从时钟,并且第二网络设备808有时在本文中被称为从时钟设备808。
主时钟设备804包括被配置成维持主时钟的时钟模块820。在实施例中,主时钟是日时间时钟。在另一实施例中,主时钟是没有直 接链接至日时间的计数器。在实施例中,时钟模块820包括或者使用维持主时钟的计数器电路。在实施例中,时钟模块820是在多层通信协议栈中的应用层操作的应用层模块。在实施例中,多层通信协议栈(例如传输控制协议/网际协议(TCP/IP)协议组)包括链路层、网际层、传输层和应用层,其中在协议栈中,应用层在传输层、网际层和链路层之上。在另一实施例中,多层通信协议栈(例如对应于开放系统互连(OSI)模型)包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,其中在协议栈中,应用层在表示层、会话层、传输层、网络层、数据链路层和物理层之上。在其它实施例中,时钟模块820在至少在多层通信协议栈中的第四层的另一合适的层操作。在其它实施例中,时钟模块820在多层通信协议栈中的另一合适的层(诸如在第二层或第三层)操作。
时钟模块820被配置成使得多个时间标记的数据包经由通过网络812的各自的不同通信路径,从主时钟设备804被发送至从时钟设备808。在实施例中,多个时间标记的数据包使用由时钟模块820维持的主时钟的一个或多个值而被时间标记。
网络812包括专用网络、公共网络、骨干网络、提供商网络、因特网等中的一个或多个网络。在实施例中,网络812包括多个交换机824,并且第一路径828对应于从交换机824a至交换机824b的链路。第二路径830对应于从交换机824c至交换机824d的链路。第三路径832对应于从交换机824e至交换机824f的链路。
时钟模块820被配置成使得第一时间标记的数据包经由路径828从主时钟设备804被发送至从时钟设备808,使得第二时间标记的数据包经由路径830从主时钟设备804被发送至从时钟设备808,并且使得第三时间标记的数据包经由路径832从主时钟设备804被发送至从时钟设备808。在实施例中,主时钟设备804包括多个端口840,并且时钟模块820被配置成使得第一时间标记的数据包经由端口840a被发送,第二时间标记的数据包经由端口840b被发送,并且第三时间标记的数据包经由端口840c被发送。在其它实施例和/或场景 中,时间标记的数据包中的至少一些时间标记的数据包中的每个时间标记的数据包经由相同的端口840被发送。虽然图8中图示了三个端口840,然而在其它实施例中,主时钟设备804包括大于或小于三的合适数目的端口840。在一个实施例中,主时钟设备804仅包括单个端口840,并且路径多样性完全由网络812提供。例如,在一些实施例中,在本地管理的网络812中,交换机/路由器可以被配置成在发送去往相同端点设备但是包括不同头信息(例如源地址、目的地址、层4端口等)的数据包时使用不同的路径。作为另一示例,在一些实施例中,公共网络和/或提供商网络(至少网络812中的一些交换机/路由器)应用负载平衡技术,其中去往相同端点设备的数据包基于数据包中不同的头信息(例如源地址、目的地址、层4端口等)沿着不同的路径被定向。因此,在一些实施例中,为了使得网络812经由不同的路径向从时钟设备808发送数据包,主时钟设备804改变数据包中的头信息(例如源地址、目的地址、层4端口等)。
在实施例中,时钟模块820包括路径选择模块844,路径选择模块844被配置成使得时间标记的数据包经由网络中的所选路径被发送。在一些实施例中,路径选择模块844被配置成使得路径信息被添加至时间标记的数据包,其中路径信息指示数据包经由其被发送的网络路径。
例如,在一些实施例中,路径选择模块844被配置成使得虚拟局域网标识符(VID)被添加至数据包,其中VID指示数据包经由其被发送的网络路径。例如,在电气与电子工程师协会(IEEE)标准802.1s和IEEE标准802.1Q-2005中定义的多生成树协议(MSTP)规定了用于每个VLAN组的单独的生成树。
使用最短路径桥接-VID(SPBV),网络812中的交换机824根据数据包中的VID穿过通过网络812的特定路径对数据包进行定向。因此,在实施例中,当使用SPBV时,在数据包中,VID是数据包经由其被发送的路径的指示。类似地,在另一实施例中,当使用SPBV时,VID是包括数据包中的数据包经由其被发送的路径的其它 信息的组合(指示)的一部分。类似地,在最短路径桥接-MAC(SPBM)中,网络812中的交换机824根据数据包中的VID穿过网络812中的特定路径对数据包进行定向。因此,在实施例中,当使用SPBM时,在数据包中,VID是数据包经由其被发送的路径的指示。类似地,在另一实施例中,当使用SPBM时,VID是包括数据包中的数据包经由其被发送的路径的其它信息的组合(该组合为指示)的一部分。在实施例中,当使用mac-in-mac封装时,用于指示网络路径的VID是骨干VID(B-VID),并且网络812中的交换机824根据B-VID穿过通过网络812的特定路径对数据包进行定向。因此,在实施例中,当使用mac-in-mac封装时,在数据包中,B-VID是数据包经由其被发送的路径的指示。类似地,在另一实施例中,当使用mac-in-mac封装时,VID是包括数据包中数据包经由其被发送的路径的其它信息的组合(指示)的一部分。
在一些实施例中,被添加至时间标记的数据包的路径信息包括VID以及与多层协议栈中的网际协议(IP)层以下的层对应的一个或多个地址。例如,在实施例中,被添加至时间标记的数据包的路径信息包括VID以及一个或多个层2地址。在实施例中,当使用mac-in-mac封装时,被添加至时间标记的数据包的路径信息包括B-VID以及骨干目的地址(B-DA),并且网络812中的交换机824根据数据包中的B-VID和B-DA穿过通过网络812的特定路径对数据包进行定向。
在一些实施例中,被添加至时间标记的数据包中的路径信息包括一个或多个IP地址。例如,如以上所讨论的,主时钟设备804与多个IP地址关联,和/或从时钟设备808与多个IP地址关联,并且路径选择至少部分通过对主IP地址和/或从IP地址的选择来实现。比如,在实施例中,网络812被设计成沿着不同的路径路由具有不同的从IP地址的数据包。在另一实施例中,网络812被设计成沿着不同的路径路由具有不同的主IP地址的数据包。在另一实施例中,网络812被设计成沿着不同的路径路由具有不同的主IP地址/从IP地址对的数据包。
在其它实施例中,主时钟设备804和/或从时钟设备808被配置成使用基于路由跟踪的路径发现来确定与不同的主IP地址、从IP地址和/或主IP地址/从IP地址对对应的路径。“Paris traceroute”和“TraceFlow”是发现网络中两点之间的路径的工具的示例。在其它实施例中,使用用于发现网络中两点之间的路径的其它合适的工具。
因此,时钟模块820使得多个数据包848沿着不同的路径828、830、832通过网络812被发送。例如,数据包848a沿着路径828被发送;数据包848b沿着路径830被发送;并且数据包848c沿着路径832被发送。在一些实施例中,每个数据包848包括各自的路径信息(例如,层2信息(诸如VLAN-ID、一个或多个地址等)和/或层3或更高层信息(诸如一个或多个IP地址等))以及各自的时间信息(例如时间戳)。如以上所讨论的,各自的路径信息指示每个数据包848经由其被发送的路径。
从时钟设备808的时间同步模块850被配置成处理在数据包848中的至少一些数据包中的每个数据包中包括的各自的路径信息以及各自的时间信息,并且响应于对路径信息和时间信息的处理来确定系统时间时钟。例如,在实施例中,时间同步模块850被配置成维持每个路径的各自的时钟信息,并且使用不同路径的时钟信息中的至少一些时钟信息来确定系统时间时钟。例如,时间同步模块850被配置成维持与路径828对应的第一时钟信息、与第二路径830对应的第二时钟信息以及与第三路径832对应的第三时钟信息。
在实施例中,从时钟设备808包括多个端口854,并且数据包848a经由端口854a被接收;数据包848b经由端口854b被接收;并且数据包848c经由端口854c被接收。在其它实施例和/或场景中,数据包848中的至少一些数据包中的每个数据包经由相同的端口854被接收。虽然图8图示了三个端口854,然而,在其它实施例中,从时钟设备808包括少于或多于三个的合适数目的端口154。在实施例中,从时钟设备808仅包括单个端口854。
时间同步模块850被配置成基于在经由各自的路径被发送的各 自的时间标记的数据包848中的时间信息来更新每个路径的各自的时钟信息。在实施例中,由时间同步模块850维持的每个路径的时钟信息包括在主时钟设备804处被维持的主时钟与在从时钟设备808处被维持的从时钟之间的各自的偏移量。
在另一实施例中,由时间同步模块150生成的每个路径的时钟信息包括与在主时钟设备804处被维持的主时钟对应的各自的时钟值(例如日时间值)。例如,在实施例中,时间同步模块850被配置成基于经由各自的路径被发送的各自的时间标记的数据包848中的各自的时间戳来确定每个时钟值。
在实施例中,时间同步模块850是在多层通信协议栈中的应用层操作的应用层模块。在其它实施例中,时钟同步模块850在至少在多层通信协议栈中的第四层的另一合适的层操作。在其它实施例中,时钟同步模块850处于多层通信协议栈中的应用层以下的另一合适的层,和/或在多层通信协议栈中的第四层以下的合适的层操作。
在实施例中,时间同步模块包括路径识别模块870。路径识别模块870被配置成分析每个数据包848中的路径信息,以识别数据包848经由特定的路径被发送。比如,在实施例中,路径识别模块870被配置成分析数据包848中的层2信息,以识别数据包848经由特定的路径被发送。作为说明性示例,在实施例中,路径识别模块870被配置成分析数据包848中的VLAN ID,以识别数据包848经由特定的路径被发送。例如,在实施例中,不同的VLAN ID指示路径828、830、832中的不同的路径。在其它实施例中,路径识别模块870被配置成分析数据包848中的VLAN ID以及其它层2信息(例如一个或多个地址),以识别数据包848经由特定的路径被发送。
在另一实施例中,路径识别模块870被配置成分析数据包848中的层3信息,以识别数据包848经由特定的路径被发送。作为说明性示例,在实施例中,路径识别模块870被配置成至少分析数据包848中的IP地址,以识别数据包848经由特定的路径被发送。例如,在各个实施例中,不同的源IP地址、目的IP地址或者源IP/目的IP对 指示路径828、830、832中的不同路径。在其它实施例中,路径识别模块870被配置成分析数据包848中的一个或多个IP地址以及其它层3或更高层信息,以识别数据包848经由特定的路径被发送。
在一些实施例中,从时钟设备808中的时间同步模块850被配置成维持从时钟。在实施例中,从时钟为日时间时钟。在另一实施例中,从时钟为没有直接链接至日时间的计数器。在实施例中,时间同步模块850包括或使用维持从时钟的计数器电路。在其中时间同步模块850被配置成维持各自的依赖于路径的时钟的一些实施例中,时间同步模块850被配置成选择依赖于路径的时钟之一作为从时钟而非维持单独的从时钟。
在一些实施例中,时间同步模块850被配置成使用诸如上述技术之类的技术、使用依赖于路径的时钟信息来确定从时钟值。例如,在实施例中,时间同步模块850被配置成至少通过在数学上组合依赖于路径的时钟信息中的至少一些时钟信息来确定从时钟值。在另一实施例中,时间同步模块850被配置成至少通过选择多个依赖于路径的时钟结果之一来确定从时钟值。在另一实施例中,时间同步模块850被配置成至少通过以下操作来确定从时钟值:(i)在一些情况下,组合多个依赖于路径的时钟结果中的至少一些时钟结果;以及(ii)选择多个依赖于路径的时钟结果之一。在另一实施例中,时钟模块时间同步模块850被配置成至少通过以下操作来确定从时钟值:(i)选择多个依赖于路径的时钟结果的子集;以及(ii)组合依赖于路径的时钟结果的子集。
图8B是另一示例系统880的框图,其中主时钟设备804仅包括单个端口840b,并且从时钟设备808仅包括单个端口854b。路径多样性完全由网络812提供。如以上所讨论的,例如,在一些实施例中,交换机824被配置成在发送去往相同端点设备但是包括不同头信息(例如源地址、目的地址、层4端口等)的数据包时使用不同的路径884、888、892。作为另一示例,在一些实施例中,交换机824应用负载平衡技术,其中去往相同端点设备的数据包基于数据包中不同 的头信息(例如源地址、目的地址、层4端口等)沿着不同的路径884、888、892被定向。因此,在一些实施例中,为了使得网络812经由不同的路径884、888、892向从时钟设备808发送数据包,主时钟设备804改变数据包中的头信息(例如源地址、目的地址、层4端口等)。
图9是根据实施例的用于促进确定跨网络的时钟值的示例方法900的流程图。在实施例中,图8A和/或图8B的从时钟设备808被配置成实现方法900,并且出于说明的目的,参考图8A和图8B来讨论方法900。然而,在其它实施例中,通过另一合适的设备(诸如图8A和/或图8B的从时钟设备808)来实现方法900。
在块904处,经由多个通信路径接收来自主时钟的时间同步数据包。例如,经由路径828、830和832接收时间同步数据包848。每个时间同步数据包包括路径信息和时间信息。在实施例中,路径信息(例如层2信息(诸如VLAN-ID、一个或多个地址等),和/或层3或更高层信息(诸如一个或多个IP地址等))指示数据包经由其被发送的路径。在一些实施例中,时间信息是与主时钟对应的时间戳、时钟值等。
在块908处,对于在块904处接收的每个数据包,使用数据包中的路径信息来识别数据包经由其被发送的路径。在各个实施例中,使用数据包中的以下各项中的一项或多项来识别路径:(i)VLANID、(ii)层2目的地址、(iii)层2源地址、(iv)源IP地址和/或(v)目的IP地址。例如,数据包848a通过分析数据包848a中的路径信息而被识别为经由路径828被发送;数据包848b通过分析数据包848b中的路径信息而被识别为经由路径830被发送;并且数据包848c通过分析数据包848c中的路径信息而被识别为经由路径832被发送。
在块912处,使用数据包中的各自的时间信息来更新在块908处被识别的路径的各自的时间同步信息。例如,使用数据包848a中的时间信息来更新与路径828对应的时间同步信息;使用数据包848b中的时间信息来更新与路径830对应的时间同步信息;并且使用数据 包848c中的时间信息来更新与路径832对应的时间同步信息。
在块916处,至少使用在块912处被确定的不同路径的时间同步信息的子集来确定系统时间时钟。在一些实施例中,至少使用不同路径的时间同步信息的子集,使用诸如上述技术之类的技术来确定系统时间时钟。
在实施例中,使用类似于最佳主时钟算法(BMCA)的算法。例如,从时钟设备被配置成运行BMCA以寻找相同主时钟的最佳实例,不同的实例与不同的路径对应。然后,使用诸如上述技术之类的技术,从时钟使用主时钟的所选实例。
上述各种块、操作和技术中的至少一些可以使用硬件、执行固件指令的处理器、执行软件指令的处理器或者其任意组合来实现。当使用执行软件或固件指令的处理器来实现时,软件或固件指令可以存储在任何有形的、非暂态计算机可读存储器(诸如磁盘、光盘、随机存取存储器、只读存储器、闪存等)中。软件或固件指令可以包括在由处理器执行时使得处理器执行各种动作的机器可读指令。
当用硬件实现时,硬件可以包括以下各项中的一项或多项:分立元件、集成电路、专用集成电路(ASIC)、可编程逻辑器件等。
虽然已经参考具体示例描述了各种实施例(其仅意在是说明性的而非限制性的),但是可以在不偏离权利要求的范围的情况下对所公开的实施例进行变化、添加和/或删除。

使用多个网络路径的时钟同步.pdf_第1页
第1页 / 共35页
使用多个网络路径的时钟同步.pdf_第2页
第2页 / 共35页
使用多个网络路径的时钟同步.pdf_第3页
第3页 / 共35页
点击查看更多>>
资源描述

《使用多个网络路径的时钟同步.pdf》由会员分享,可在线阅读,更多相关《使用多个网络路径的时钟同步.pdf(35页珍藏版)》请在专利查询网上搜索。

一种网络设备包括耦合至网络的一个或多个端口以及时间同步模块。时间同步模块处理在通过两个或更多个不同的通信路径并且经由一个或多个端口中的至少一个端口从主时钟设备接收的多个时间同步数据包中的至少一些时间同步数据包中的每个时间同步数据包中包括的(i)各自的路径信息以及(ii)各自的时间同步信息,其中各自的路径信息指示网络中各自的时间同步数据包经由其被接收的各自的通信路径。时间同步模块响应于对在多个时间同。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1