作为精确时间协议边界时钟的堆叠网络设备的制作方法

未命名 10-26 阅读:82 评论:0

作为精确时间协议边界时钟的堆叠网络设备


背景技术:

1.同一局部区域中的电子设备可以互连以形成局域网(lan)。一些联网的设备可能允许或要求时间分配(即,“一天中的时间(time-of-day)”)以促进网络和/或设备操作。精确时间协议(ptp)是由ieee 1588和ieee 802.1as标准定义的,用于在联网实体之间以亚微秒(甚至亚纳秒)精度分发和同步一天中的时间。有效的时间同步可以用于许多应用,包括基于网络的音频/视频部署、公共公告系统、电力传输站、工业测量和控制系统等。
附图说明
2.参考附图,在下面的描述中更全面地公开了各种示例实现的这些和其他更详细和具体的特征,其中:
3.图1示出了根据本公开的各个方面,实现ptp的示例性网络;
4.图2示出了根据本公开的各个方面,实现ptp的示例性网络和示例性堆叠设备;
5.图3示出了根据本公开的各个方面,实现ptp和另一示例性堆叠设备的示例性网络;
6.图4示出了根据本公开的各个方面,用于时间传播和同步的示例性过程流;
7.图5a至图5e和图6a至图6e分别示出了实现图4的示例性操作的示例性网络;
8.图7a至图7b分别示出了根据本公开的各个方面,用于时间同步的示例性通信流;
9.图8示出了根据本公开的各个方面,用于时间传播和同步的另一示例性过程流;
10.图9a至图9c分别示出了实现图8的示例性操作的示例性网络;以及
11.图10a至图10b示出了根据本公开的各个方面的示例性处理系统。
12.附图被包括以提供对本公开的进一步理解,并且被并入并构成本说明书的一部分。附图示出了本教导的一个或多个示例,并与说明书一起解释了某些原理和操作。
具体实施方式
13.在下面的描述中,阐述了许多细节,例如流程图、示意图和系统配置。对于本领域技术人员来说,清楚的是,这些具体细节仅是示例性的,并不旨在限制本技术的范围。除了本文描述的特定系统、设备和方法之外,本文描述的操作可以被实现为计算机可读指令或方法、和/或网络上用于执行指令或方法的一个或多个处理节点。各个设备或处理节点可以分别包括在各个设备或节点中包括的处理器和/或在耦合到各个设备或节点的网络中包括的任何控制器设备或节点中的处理器。
14.在其基本等级上,实现ptp的网络包括至少三个实体。第一实体是grandsource时钟(gsc),有时被称为“根时钟”(grandmaster clock,gmc),它充当网络的真正时间源。因此,gsc通常连接到外部时间基准,诸如gps或cdma时钟。第二实体是从gsc传播时间戳的中间网络设备(例如,交换机或路由器)。第三实体是端点或普通时钟(oc),其经由中介从gsc接收时间戳,并且将其本地时钟更新为与gsc时间同步。根据中间网络设备在ptp传播中扮演的角色对其进行分类。如果中间设备从gsc接收到携带时间戳的ptp分组,在该中间设备
上添加与该ptp分组相关联的转发时延,并且将经修改的ptp分组传递到下游设备,则其被称为透明时钟(tc)。tc不将其本地时钟与gsc同步。如果中间设备使用来自gsc的ptp分组,将其本地时钟与gsc同步,然后向下游设备发送新的ptp分组,则其被称为边界时钟(bc)。与tc不同,bc可以将时间戳传播到另一下游bc、直接连接到它的端点或通过tc连接的端点。通常,bc通过减少与上游设备直接相连的网络设备数目来减轻上游设备(包括gsc)的负载。
15.可以将多个不同的网络设备聚集在一起并且彼此协作,使得它们对于网络的其余部分而言共同表现为单个设备并且作为单个设备起作用。所得到的逻辑实体在本文中可以被称为“堆叠设备”。堆叠设备的一个这样的实现是虚拟交换框架(vsf),其限定了包括通过物理(例如,以太网)链路互连的多个单独物理设备(例如,物理交换机)的虚拟设备(例如,虚拟交换机)。这些物理设备使用一个控制平面操作,作为虚拟设备堆叠对于对等体可可见。这种组合可以简化管理并且提供伸缩堆叠的能力。
16.在某些情况下,可能希望将堆叠设备用作ptp网络中的中间网络设备。然而,到目前为止,这一直是困难的或不可行的。独立设备可以以简单的方式作为tc或bc操作。然而,由于堆叠设备中有n》1个(通常是许多)设备,每个设备都具有其自己的时钟,因此配置堆叠设备以使其与gsc同步但对于gsc和下游网络的其余部分也表现为单个时钟并不简单,因此到目前为止将堆叠设备用作bc是不可行的。将堆叠设备配置为tc可能更简单,但可能会导致不良的副作用。例如,在比较方法中,堆叠设备可以作为tc操作,堆叠中的每个设备从外部bc(或直接从gsc)接收时间戳并且增加其自己的转发时延。然而,因为堆叠中的每个设备可能具有连接到其的m个端点(客户端),所以堆叠设备可能必须处理来自m
×
n个端点的大ptp负载。m
×
n可能非常大,在某些部署中很容易达到数百或更多。如果堆叠设备被配置为tc,则堆叠设备正上方的网络设备必须作为堆叠设备的所有m
×
n端点的bc运行。这一数量的ptp终端可能很快就会超出bc的容量。因此,将堆叠设备作为tc提供,虽然简单,但在某些上下文中可能会产生不可接受的结果。因此,需要为ptp提供堆叠网络设备而不压垮堆叠网络设备或其他上游网络设备的解决方案。
17.因此,本公开提供了允许n》1个设备的堆叠有效地向下游设备提供ptp服务的系统、方法和设备,通过将堆叠设备本身作为单个bc呈现给网络中的其他设备(gsc、任何上游bc、任何下游bc或tc以及(多个)端点),同时在堆叠的各个成员之间共享ptp负载并且不具有用于堆叠本身的单个基准时钟(即,堆叠内的每个单独设备维护其自己的内部基准时钟)。
18.因此,本公开提供了实现嵌套在外部ptp实例(即,堆叠网络设备所属的网络中的ptp实例)内的内部ptp实例(即,堆叠网络设备内部的ptp实例)的系统、方法和设备。ptp的内部实例是堆叠网络设备的本地实例,并且同步堆叠中n个设备(“成员”)的时钟。此内部实例对堆叠外部的设备是透明的(即,网络的其余部分,包括外部ptp实例,可能不知道内部ptp实例)。堆叠网络设备的成员中的每个成员可以充当ptp的该本地虚拟实例中的bc。一个成员可以被称为指挥器节点或主要成员节点,其可以基于外部gsc或外部bc来同步其时钟,然后该成员可以充当下游成员的bc,以此类推,直到堆叠网络设备内的所有成员具有同步的时钟。各个成员还可以充当耦合到其上的外部端点的bc,向那些端点提供ptp时间戳消息。虽然堆叠中的每个单独设备处理其连接的端点的bc责任,但从外部端点的角度来看,由此发送的ptp时间戳似乎来自作为整体的堆叠设备。这允许m
×
n个端点的ptp负载分布在充
当bc的n个设备上,而不是压垮单个外部bc,而作为整体的堆叠在网络的其余部分看来就像作为单个bc操作的黑匣子。外部ptp实例根据具有gsc、bc/tc和终端的标准操作,并且简单地将堆叠网络设备视为对待任何其他bc。因此,本文提供的示例允许堆叠设备用作ptp网络中的中间网络设备,而不存在上述缺点。
19.图1示出了根据本公开的各个方面,实现ptp的网络的示例。该网络包括时钟源100、gsc 110和多个网络设备,包括bc 120和130、tc 140和oc(端点)150。gsc 110、bc 120和130、tc 140和oc 150可以统称为“ptp域”。尽管图1示出了两个bc 120和130、单个tc 140和两个oc 150,但在实际实现中,网络可以包括任意数目的bc 120和130、tc 140和oc 150,包括任何类型的网络设备中的零个。任何网络设备都可以具有处理器、存储器、时钟和输入/输出(i/o)端口。i/o端口可以包括输入端口、输出端口、提供到上游设备的连接的上行链路端口、提供到下游设备的连接的下行链路端口以及它们的组合(例如,上行链路输入端口、用于输入和输出两者的下行链路端口等)。网络设备可以是例如交换机和/或路由器。
20.时钟源100为网络提供时间基准,该时间基准被ptp域认为是“标准的”(即,高度准确的)时间,因此时钟源100可以被称为标准时钟。时钟源100可以是例如全球定位系统(gps)卫星时间源、码分多址(cdma)时间源等。时钟源100通过有线链路(例如,光纤、铜缆或电缆中的另一导线等)连接到ptp域。或无线链路(例如,卫星链路、蜂窝链路等)。在一些实现中,可以使用相同类型的冗余连接(例如,多个gps卫星连接)、不同类型的连接(例如,gps卫星连接和cdma连接)或其组合来提供多个时钟源100。
21.gsc 110用作ptp域的基准时钟,并且ptp域中的所有网络设备最终从gsc 110获取它们的时间。因此,gsc 110通过在网络设备之间交换的ptp消息将其时间同步到整个ptp域。gsc 110本身的时钟与时钟源100提供的时间基准同步。在一些实现中,可以提供多个gsc 110,在提供多个时钟源100的实现中,这些gsc 110连接到相同的时钟源100或连接到不同的时钟源100。在多个gsc 110各自作为ptp域的基准时钟的潜在源的实现中,可以手动配置gsc 110作为源,或者可以应用算法来选择gsc 110作为源。一种示例性算法被称为ieee 1588规范中提出的最佳前导时钟(blc)算法。gsc 110的下行链路端口向ptp域中的下游设备输出时钟信号,并且被称为领队端口111。
22.bc 120或130是在用于时间同步的ptp域中具有多于一个ptp端口的时钟。bc 120或130使用其上行链路端口(本文被称为跟随方端口121)来从其上游时钟节点同步其自己的时钟。在图1中,第一bc 120直接连接到gsc 110的下游,并因此从gsc 110同步其时间,而第二bc 130连接到第一bc 120,从而从第一bc 120同步其时间。bc 120或130使用其下行链路端口(本文称为领队端口122)来同步下游设备的时钟。bc 120或130可以具有任意数目的领队端口122,包括一个或两个(如图所示)或更多。bc 120或130在其跟随方端口121处接收ptp分组,消耗ptp分组,使其本地时钟与gsc 110同步,然后向下游设备发送新的ptp消息。下面参考图8更详细地描述bc 120或130内用于时钟同步的示例性方法。
23.tc 140是在ptp域中具有多于一个ptp端口的时钟,但其不需要与其他时钟节点保持时间一致性。tc 140在tc 140的上行链路端口处接收ptp消息,执行针对ptp消息的延迟校正(例如,通过在给定tc 140上添加与给定ptp分组相关联的转发时延/延迟),并且从tc 140的下行链路端口转发ptp消息。tc 140本身不执行时间同步。tc 140可以是端到端透明时钟(e2etc),其在网络中转发非对等(p2p)分组并且计算整个链路的延迟;或者可以是仅
转发同步、跟进和通告消息、终止其他ptp消息并且计算每个链路段的延迟的对等透明时钟(p2ptc)。
24.oc 150是在ptp域中具有用于时间同步的单个ptp端口的时钟。无论上行时钟节点是bc 120、130还是tc 140,oc 150都从其上游时钟节点同步时间。oc 150在其上接收消息的ptp端口被称为跟随方端口151。在ptp域中的网络设备之间(即,在gsc 120、bc 120和130、tcs140和oc 150之间)的连接可以是在所连接的设备之间提供全双工通信路径的以太网连接。假设上行链路传输的延迟等于下行链路传输的延迟。连接可以在ptp协议分组中传输时间戳,该时间戳通过网络传播,最终到达端点(即,oc 150)。
25.ptp域内的各个网络设备可以是具有其自己的管理和控制平面的独立设备,或者可以由多个设备配置,该多个设备堆叠在一起以表现为一个设备并且充当一个设备运行。由多个堆叠设备配置的网络设备在本文中被称为“堆叠网络设备”。堆叠网络设备内的单个设备的数目在这里由整数n表示。与独立的网络设备相比,堆叠网络设备可以在网络中提供增加的管理简单性和/或有状态设备冗余。vsf描述了用于将多个设备配置为堆叠网络设备的一个示例性框架。根据vsf配置的堆叠网络设备在本文被称为vsf堆叠。虽然以下描述是关于vsf堆叠的,但是应当理解,本文描述的配置、方法、系统、设备等可以应用于任何堆叠网络设备,即使该设备不严格实现vsf。
26.在vsf堆叠中,可以根据vsf堆叠内的唯一成员编号来标识每个成员设备,但是对于外部设备而言,将被标识为堆叠本身(即,根据整个堆叠的单个mac/ip地址)。vsf堆叠中的一个成员设备将作为vsf堆叠的领队进行操作,并且本文被称为“指挥器节点”并且可以被标识为成员编号1。另一成员设备可以被指定为在该指挥器节点变得不可用的情况下作为vsf堆叠的领队操作,并且被称为“备用节点”。备用节点可以是用户可配置的。其余的成员设备被称为“成员节点”。vsf支持以链拓扑或环拓扑连接的n》1个设备。在一些实现中,单个vsf堆叠内的成员设备的最大数目是10,尽管在其他实现中可能有更大数目的成员设备。图2和图3中示出了诸如图1的网络之类的网络内的示例性vsf堆叠,其中图2示出了具有链状拓扑的vsf堆叠,并且图3示出了具有环形拓扑的vsf堆叠。在图2和图3中,使用与图1中相同的附图标记来指定某些设备,并且可以参考图1的上述描述来了解关于这些设备的细节。
27.在图2中,gsc 110与紧接其下游的bc 120一起存在。在bc 120的下游连接有堆叠设备200。在其他示例中,堆叠设备200可以直接耦合到gsc 110,而不是耦合到bc 120。在其他示例中,可以在gsc 110与堆叠设备200之间插入附加的bc 120。多个oc 150连接到堆叠设备200,尽管为了解释和说明清楚,仅示出了六个oc 150。堆叠设备200被配置为对网络中的外部网络设备(例如,对gsc 110、bc 120和oc 150)起单个虚拟设备的作用,并且具体地可以被配置为作为网络的bc来操作。堆叠设备200包括至少两个节点,其在图2中示为指挥器节点210、备用节点220和成员节点230,每个节点以链状拓扑连接。节点可以通过成员链路互连以交换数据平面业务。节点可以在堆叠设备200内被分配各种角色,该堆叠设备200对应于前述指挥器节点210、备用节点230和成员节点230。然而,当不需要突出节点的角色或以其他方式将它们彼此区分时,堆叠设备200的任何节点可以统称为节点或成员节点。在实际实现中,可能存在与所示那些不同数目的节点。具体地,堆叠设备200包括至少两个节点:即,指挥器节点210和至少一个其他节点,诸如备用节点220或成员节点230。除了上述两个节点之外,还可以提供零个、一个、两个或更多个附加节点,并且这些附加节点在本文中
可以被称为成员节点230。此外,在实际实现中,堆叠设备200内的设备都不能被指定为备用,因此不存在备用节点220。
28.指挥器节点210被配置为代表堆叠设备200执行控制和管理平面操作。指挥器节点210包括连接到bc 120的领队端口122(或在一些示例中,或者gsc 110的领队端口)并且被称为跟随方端口211的上行链路端口。跟随方端口211可以是链路聚合组(lag)端口或仅双路由端口(rop)。指挥器节点210还包括连接到堆叠设备200内的成员设备(本文是备用节点220)并且被称为内部领队端口212的下行链路端口,以及连接到堆叠设备200外部的oc 150并被称为外部领队端口213的下行链路端口。尽管图2将指挥器节点210示为仅具有一个内部领队端口212和两个外部领队端口213,但实际上,指挥器节点210可以具有任意数目的内部领队端口212和外部领队端口213及其组合。
29.备用节点220包括连接到指挥器节点210的内部领队端口212并且被称为内部跟随方端口221的上行链路端口。备用节点220还包括连接到堆叠设备200内的成员设备(本文是成员节点230)并且被称为内部领队端口222的下行链路端口,以及连接到堆叠设备200外部的oc 150并被称为外部领队端口223的下行链路端口。尽管图2将备用节点220示为仅具有一个内部引线端口222和两个外部引线端口223,但实际上,备用节点220可以具有任意数目的内部引线端口222和外部引线端口223及其组合。此外,尽管图2将备用节点220示为紧接指挥器节点210的下游,但实际上堆叠设备200内的任何成员设备都可以被指定为备用节点220,只要该成员设备具有运行控制平面软件并且管理堆叠设备200的其他成员设备的能力。
30.成员节点230包括连接到备用节点220的内部领队端口222并且被称为内部跟随方端口231的上行链路端口。成员节点230还包括连接到堆叠设备200外部的oc 150并且被称为外部领队端口232的下行链路端口。尽管图2将成员节点220示为具有两个外部领队端口232,但实际上成员节点220可以具有任意数目的外部领队端口232。如上所述,堆叠设备200可以包括n个成员设备。因此,例如在存在附加成员节点220(例如,n》3)的实现中,成员节点220可以包括连接到堆叠设备200内的附加成员设备的一个或多个内部领队端口。堆叠设备200内的单个成员设备可以连接到包括零在内的任意整数m个oc 150。此外,不同的成员设备可以连接到不同数目m的oc 150。
31.在图3中,gsc 110与紧接其下游的bc 120一起存在。在bc 120的下游,连接有堆叠设备300。在其他示例中,堆叠设备300可以直接耦合到gsc 110,而不是耦合到bc 120。在其他示例中,可以在gsc 110与堆叠设备300之间插入附加的bc 120。堆叠设备300被配置为对网络中的外部网络设备(例如,对gsc 110、bc 120和oc 150)起单个虚拟设备的作用,并且具体地可以被配置为作为网络的bc来操作。多个oc 150连接到堆叠设备300,尽管为了解释和说明清楚,仅示出了七个oc 150。堆叠设备300被配置为对网络中的外部网络设备(例如,对gsc 110、bc 120和oc 150)充当单个虚拟设备。堆叠设备300包括至少三个节点,其在图3中示为指挥器节点310、备用节点320和两个成员节点330,每个节点以环形拓扑连接。节点可以通过成员链路互连以交换数据平面业务。节点可以在堆叠设备300内被分配各种角色,该堆叠设备300对应于前述指挥器节点310、备用节点330和成员节点330。然而,当不需要突出节点的角色或以其他方式将它们彼此区分时,堆叠设备300的任何节点可以统称为节点或成员节点。在实际实现中,可能存在与所示那些不同数目的节点。具体地,堆叠设备300包
括至少三个节点:即,指挥器节点310、成员节点330和第三节点,该第三节点可以是备用节点320或另一成员节点330。除了上述三个节点之外,还可以提供零个、一个、两个或更多个附加节点,并且这些附加节点在这里可以被称为成员节点330。此外,在实际实现中,堆叠设备300内的任何设备都不可以被指定为备用,因此可以不存在备用节点320。
32.指挥器节点310被配置为代表堆叠设备200执行控制和管理平面操作。指挥器节点310包括连接到bc 120的领队端口122(或gsc 110的领队端口)并且被称为跟随方端口311的上行链路端口。跟随方端口311可以是lag端口或双rop。指挥器节点310还包括连接到堆叠设备300内的成员设备(本文分别是备用节点320和成员节点330中的一个成员节点)的两个下行链路端口,并且称为内部引导端口312,以及连接到堆叠设备300外部的oc 150并且称为外部引导端口313的下行链路端口。尽管图2将指挥器节点310示为仅具有两个内部领队端口312和一个外部领队端口313,但实际上,指挥器节点310可以具有任意数目的内部领队端口312和外部领队端口313及其组合。
33.备用节点320包括连接到指挥器节点310的内部领队端口312并且被称为内部跟随方端口321的上行链路端口。备用节点320还包括连接到堆叠设备300内的成员设备(本文是成员节点330)并且被称为内部领队端口322的下行链路端口,以及连接到堆叠设备300外部的oc 150并且被称为外部领队端口323的下行链路端口。尽管图3将备用节点320示为仅具有一个内部领队端口322和两个外部领队端口323,但实际上,备用节点320可以具有任意数目的内部领队端口322和外部领队端口323及其组合。此外,尽管图3示出了备用节点320沿着环的一个分支紧接指挥器节点310的下游,但实际上堆叠设备300内的任何成员设备都可以被指定为备用节点320,只要该成员设备具有运行控制平面软件并且管理堆叠设备300的其他成员设备的能力。
34.成员节点330包括连接到备用节点320或指挥器节点310的内部领队端口322并且被称为内部跟随方端口331的上行链路端口。成员节点330中的一个成员节点被示为包括下行链路端口,该下行链路端口连接到堆叠设备300内的成员设备(本文是另一成员节点330)并且被称为内部领队端口332。成员节点330还包括连接到堆叠设备300外部的oc 150并且被称为外部领队端口333的下行链路端口。尽管图2将成员节点320示为具有两个外部领队端口333,但实际上成员节点320可以具有任意数目的外部领队端口333。如上所述,堆叠设备300可以包括n个成员设备。因此,例如在存在附加成员节点320(例如,n》4)的实现中,成员节点320中的每个成员节点可以连接到堆叠设备300内的附加成员设备的附加内部领队端口332。堆叠设备300内的单个成员设备可以连接到包括零在内的任意整数m个oc 150。此外,不同的成员设备可以连接到不同数目m的oc 150。
35.vsf堆叠的成员设备可以使vsf堆叠执行用于时间传播和同步的一系列操作。在图4中,执行操作和/或使其他成员设备在其控制下执行操作的成员设备被称为“主要成员节点”,其余成员设备被称为“次要成员节点”。为了说明和说明的目的,主要成员节点可以是图2所示的链式堆叠设备200的指挥器节点210或图3所示的环状连接堆叠设备300的指挥器节点310,并且次要成员节点可以是图2所示的链状连接堆叠设备200的备用节点220和成员节点230或图3所示的环状连接堆叠设备300的备用节点320和成员节点330。在图4的操作由图2所示的链状连接堆叠设备200实现的情况下,参考图5a至图5e进一步图示和描述各种操作。在图4的操作是利用图3所示的环形连接的堆叠设备300来实现的情况下,参考图6a至图
6e进一步图示和描述各种操作。在图5a至图5e和6a至图6e中,为了便于解释,仅用附图标记来标记那些明确涉及在下面解释的操作中的设备。应当理解,图5a至图5e中未用附图标记而被标记的元素与图2中的对应元素相同,并且图6a至图6e中未用附图标记而被标记的元素与图3中的对应元素相同。
36.图4的过程流产生在vsf堆叠内部并且不同于作为整体应用于ptp域的ptp的外部实例的ptp的附加实例。ptp的内部实例用于内部同步(例如,vsf堆叠的成员设备之间的同步)。在图4的过程流之前,用户或其他设备(例如,网络控制器、协调引擎等)可以配置vsf堆叠。这可以通过将网络设备的多个成员节点配置为充当外部设备的单个虚拟设备来实现,使得网络设备包括执行控制和管理平面操作的主要成员节点,以及在主要成员节点的控制下操作的多个次要节点。
37.当上游设备(例如,图2或图3中的bc 120)向vsf堆叠传输数据分组时,图4的过程流可以开始。因为该数据分组源自vsf堆叠之外的点,所以该数据分组可以被称为第一外部数据分组。第一外部数据分组可以包括来自外部ptp时钟(例如,来自bc 120)的第一外部时间戳。因此,在操作410,主要成员节点在其上行链路端口处接收第一外部数据分组。例如,如图5a所示,bc 120经由领队端口122向堆叠设备200的指挥器节点210的跟随方端口211传输第一外部数据分组510。备选地,如图6a所示,bc 120经由领队端口122向堆叠设备300的指挥器节点310的跟随方端口311传输第一外部数据分组610。
38.在操作420处,主要成员节点基于第一外部时间戳来同步其时钟。例如,如图5b所示,指挥器节点210消耗第一外部数据分组510,并且将指挥器节点210的时钟同步到由gsc提供的参考时间,如第一外部数据分组510中的时间戳所指示的。备选地,如图6b所示,指挥器节点310消耗第一外部数据分组610,并且将指挥器节点310的时钟同步到由gsc提供的参考时间,如第一外部数据分组610中的时间戳所指示的。该时钟同步操作对应于外部ptp实例。
39.随后,主要成员节点启动内部ptp实例。例如,主要成员节点为vsf堆叠创建堆叠上的一个或两个ptp时钟树,从主要成员节点开始并且扩展到堆叠的每个成员。如果vsf堆叠具有链拓扑,则创建一棵树,该树从主要成员节点开始,并且依次迭代地前进到每个次要成员节点。如果vsf堆叠具有环拓扑,则创建在主要成员节点开始并且在环的一个方向上迭代前进到n个次要成员节点的一半的第一环,并且创建在主要成员节点开始并且在环的另一方向迭代前进到n个次要成员节点的另一半的第二环。如果n是奇数,则下游最下游的次要成员节点可以被分配给任一树,因此每棵树可能不严格地覆盖n/2个次要成员节点。在任一拓扑中,从主要成员节点向下的所有vsf连接都遵循ptp领队-跟随方关系。也就是说,主要成员节点的下行链路vsf端口将是ptp领队端口,而直接下游次要成员节点的上行链路vsf端口将是ptp跟随方端口。因此,在操作430中,主要成员节点可以生成与内部ptp实例相对应的新的内部ptp数据分组(即,对于vsf堆叠是本地的),并且经由主要节点的ptp领队端口将其传输到紧接主要成员节点下游的次要成员节点的ptp跟随方端口(或者,在环形拓扑中,传输到直接下行的两个次要成员节点)。内部ptp数据分组可以包括基于主要成员节点的时钟的内部时间戳。然后,下游次要成员节点将基于该内部ptp数据分组来同步其时钟,其中主要成员节点充当内部到堆叠bc。一旦下游次要成员节点已经同步了它自己的时钟,它将重复生成新的内部ptp数据分组并且将其传输到下一紧接下游邻居的过程,依此类推,
直到所有次要成员节点已经与主要成员节点的时钟同步。图4的操作440至470的循环说明了这一点。操作440至470的循环从最顶端的(多个)次要成员节点开始。
40.在操作440中,次要成员节点在其上行链路端口处从紧接次要成员节点上游的成员设备接收内部数据分组(即,在步骤430中生成的内部ptp数据分组或在步骤470中生成的内部ptp数据分组,如下所述)。内部数据分组包括基于紧接次要成员节点上游的成员节点的时钟的内部时间戳。在第一次通过循环时,紧接上游的成员节点将是主要成员节点。例如,如图5c所示,指挥器节点210经由领队端口212向堆叠设备200的备用节点210的跟随方端口221传输内部数据分组520。备选地,如图6a所示,指挥器节点310经由领队端口312向堆叠设备300的备用节点320的跟随方端口321和堆叠设备300的成员节点330的跟随方端口331传输内部数据分组620。在随后通过循环时,紧接上游成员节点将是次要成员节点。在vsf堆叠实现环拓扑的情况下,针对一棵树(即,环的一个方向)的环路可以与另一棵树(即,环的另一方向)的环路并行执行。
41.接下来,在操作450处,次要成员节点基于内部时间戳来同步其时钟。例如,如图5d所示,备用节点220消耗内部分组520并且将备用节点220的时钟同步到由指挥器节点210提供的时间,如内部分组520中的时间戳所指示的。备选地,如图6d所示,备用节点320和成员节点330分别消耗内部数据分组620,并且将它们的时钟分别同步到由指挥器节点310提供的时间,如内部数据分组620中的时间戳所指示的。这是内部ptp实例时钟同步。在操作460处,过程流确定是否所有次要成员节点都已完成循环(即,是否所有次要成员节点已同步其时钟)。在一些示例中,可以做出该确定而不需要轮询或追踪其他成员节点的进度;例如,次要成员节点可以知道它们在(多个)分发树中的位置,并且因此(多个)树中的最后一个节点可以自动地知道一旦它已经同步了自己,就不需要更多的内部ptp消息,并且相反地,树中的中间节点可以自动知道它们需要向下游发送新的ptp消息。如果操作460确定所有次要成员节点都没有完成循环,则过程流进行到操作470,在操作470中,当前次要节点生成新的内部ptp数据分组,并且将该分组传输到下一个下游次要节点。然后,该过程继续到下一个次要成员节点(即,在操作470中刚刚向其传输数据分组的节点),并且对下一次要成员节点重复操作440至460。循环将继续进行,直到操作456确定所有次要成员节点都已完成循环,在这一点上,过程流可以确定ptp时钟树已到达其末端(或在环形拓扑中结束)。以这种方式,过程流确保所有成员设备都执行了时钟同步操作。
42.无论同步是外部同步操作(在vsf堆叠外部的上游设备与主要成员节点之间)还是内部同步操作(在vsf堆叠内部的两个设备之间),基于交换的数据分组来执行堆叠内的上述同步操作。vsf堆叠内的同步操作可以与完全在vsf堆叠外部(例如,在图1所示的gsc 110和bc 120内)执行的同步操作相同或相似。在任一情况下,传输数据分组的设备可以被称为领队设备,其时钟被同步的设备可以被称为跟随方设备。根据交换的数据分组中的同步消息,跟随方设备计算到领队设备的路径的往返延迟。在假设两个方向的延迟相同的情况下,单向延迟等于往返延迟的一半。然后,跟随方设备根据时钟之间的偏移量将其时钟与领队设备的时钟同步。可以根据图7a中所示的请求-响应机制或图7b中所示的对等延迟来执行同步。请求-响应机制可用于对等延迟测量,而对等延迟机制可以用于点对点延迟测量。
43.在图7a的请求-响应机制中,以两步模式示出了领队设备710和跟随方设备720之间随时间变化的通信流。首先,领队设备710向跟随方设备720发送同步消息711,并且记录
发送时间t1。当接收到同步消息711时,跟随方设备720记录接收时间t2。在发送同步消息711之后,领队设备710立即发送携带时间t1的跟进消息712。跟随方设备720接收到跟进消息712后,发送延迟请求消息721,计算反向传输时延,并且记录发送时间t3。在接收到延迟请求消息721时,领队设备710记录接收时间t4。领队设备710然后向跟随方设备720发送携带时间t4的延迟响应消息713。在接收到延迟响应消息713时,跟随方设备720具有足够的信息(即,时间t1、t2、t3和t4)来计算往返延迟。图7a示出了两步模式。备选地,可以利用单步模式,其中t1改为在同步消息711中携带,并且不发送跟进消息712。
44.在图7b的对等延迟机制中,以两步模式示出了领队设备730和跟随方设备740之间随时间变化的通信流。首先,领队设备730向跟随方设备740发送同步消息731,并且记录发送时间t1。当接收到同步消息731时,跟随方设备740记录接收时间t2。在发送同步消息731之后,领队设备730立即发送携带时间t1的跟进消息732。跟随方设备740收到跟随方消息732后,发送对端延迟请求消息741,计算反向传输时延,并且记录发送时间t3。在接收到对端延迟请求消息741时,领队设备720记录接收时间t4。然后,领队设备730向跟随方设备740发送携带时间t4的对端延迟响应消息743,并且记录发送时间t5。当接收到对端延迟响应消息743时,跟随方设备740记录接收时间t6。在发送对等延迟响应消息733之后,领队设备730立即发送携带时间t5的对等延迟响应跟进消息734。在接收到对等延迟响应跟进消息734时,跟随方设备740具有足够的信息(即,时间t1、t2、t3、t4、t5和t6)来计算往返延迟。图7a示出了两步模式。备选地,可以利用单步模式,其中t1改为在同步消息711中携带并且不发送跟进消息712,并且其中t4与t5之间的偏移替代地在对等延迟响应消息733中携带并且对等延迟响应跟进消息734不被发送。
45.vsf堆叠在循环内的每个同步操作可以独立执行,从而提高同步过程的准确性。内部ptp实例将在vsf堆叠的每个成员设备上运行。在vsf堆叠内,成员设备在ptp分组中使用其内部唯一成员编号(例如,本地mac或堆叠本地ip),因为ptp堆叠的每个成员设备是唯一的ptp时钟实体。
46.返回图4,一旦环路已经终止,内部ptp实例内的所有同步操作已经完成,并且所有次要成员节点已经被时钟同步到主要成员节点,vsf堆叠就可以开始将时间戳传播到下游网络设备,诸如oc和/或任何下游bc。因此,过程流前进到操作470。在操作470中,具有连接到其上的下游外部网络设备的所有成员设备(即,主要成员节点和/或多个第二成员节点中的相应成员节点)从成员设备的相应下行链路端口传输对应数目的第二外部数据分组。第二外部分组的数目将等于下游外部网络设备的数目。第二外部数据分组可以分别包括基于传输成员节点的已同步时钟的第二外部时间戳。
47.例如,如图5e所示,指挥器节点210经由其外部领队端口213向与指挥器节点210连接的所有oc 150的跟随方端口151传输第二外部数据分组530;备用节点220经由其外部领队端口223向与备用节点220连接的所有oc 150的跟随方端口151传输第二外部数据分组530;以及成员节点230经由其外部领队端口232向与成员节点230连接的所有oc 150的跟随方端口传输第二外部数据分组530。或者,如图6e所示,指挥器节点310经由其外部领队端口313向连接到指挥器节点310的所有oc 150的跟随方端口151传输第二外部数据分组630;备用节点320通过其外部领队端口323向连接到备用节点220的所有oc 150的跟随方端口传输第二外部数据分组630;以及成员节点330经由其外部领队端口333向连接到成员节点330的
所有oc 150的跟随方端口151传输第二外部数据分组630。
48.因此,对于连接到堆叠设备200或300中的每个成员设备的oc 150,外部ptp实例在每个成员设备上运行。成员设备的功能就像bc一样,在从其本地端口生成ptp帧时使用其本地时钟作为参考。当客户端发送p2p或对等延迟测量分组时,成员设备在本地处理它,并且不需要向主要成员节点发送内部ptp分组。外部ptp实例将使用堆叠设备200或300本身的mac/ip地址,并且因此相应的第二外部数据分组包括与作为整体的堆叠设备相对应的地址,从而看起来ptp帧是由堆叠设备200或300而不是任何单个成员设备发起的。因此,图4的操作允许堆叠网络设备作为根据ptp操作的网络的bc操作。
49.在其他示例(未示出)中,不是在任何成员节点将外部ptp数据分组发送到它们各自连接的oc 150或其他外部下游设备之前等待所有次要成员节点已经完成其同步,一旦该特定节点已经完成其自己的同步,堆叠设备200或300内的每个单独节点就可以开始向其自己连接的oc 150或其他外部下游设备发送外部ptp数据分组。尚未被同步的节点可以等到它们被同步之后才开始发送外部ptp数据分组。因此,在这些示例中,根据oc 150耦合到哪个特定节点,oc 150可以在不同的定时从堆叠设备接收外部ptp数据分组。
50.如上所述,vsf允许堆叠网络设备中的成员设备被指定为备用节点,以在指挥器节点变得不可用的情况下执行控制操作。图8示出了在这种事件中用于时间传播和同步的示例性过程流。参考图9a至图9c进一步示出和描述了图8中所示的操作的示例,其中vsf堆叠利用链式拓扑,例如图2中所示的链式连接堆叠设备200。然而,应当理解,图8的操作也可以在使用环形拓扑的vsf堆叠中实现,例如图3中所示的环状连接堆叠设备300。在图9a至图9c中,为了便于解释,仅用附图标记来标记在所解释的操作中明确涉及的那些设备。应当理解,图9a至图9c中未用附图标记标记的元素与其在图2中的对应元素相同。此外,为了解释的目的,图8的操作将被描述为由备用节点320执行,作为已经被指定为在主要成员节点变得不可用的情况下执行控制操作的设备的示例。
51.在操作810之前,ptp域可以具有图9a中所示的配置。图9a类似于图2中所示的配置,不同之处在于bc 120包括称为备用领队端口910的附加下行链路端口,并且备用节点220包括称为备用跟随方端口921的附加上行链路端口。备用跟随方端口921可以是lag端口或双rop。备用领队端口910和备用跟随方端口921经由链路彼此连接,只要指挥器节点210保持功能,该链路就可以保持非活动状态。在备用跟随方端口921和跟随方端口211是lag端口的情况下,bc 120和指挥器节点210之间的连接可以在堆叠设备200和bc 120两者上被配置为主链路,从而由bc 120传输的ptp分组在该点直接到达指挥器节点210而不是备用节点220。在备用跟随方端口921和跟随方端口211是rop的情况下,内部ptp实例可以选择bc 120与指挥器节点210之间的连接作为较高优先级链路(与bc 120和备用节点220之间的连接相比)。
52.在操作810,过程流检测到主要成员节点(例如,指挥器节点210)中已经发生故障。例如,如果主要成员节点崩溃或故障,则gsc与主要成员节点之间的连接以及主要成员节点与备用成员节点之间的连接可能无法承载数据分组。随后,备用节点(即,在主要成员节点发生故障的情况下先前被指定为备用成员节点的次要成员节点)将充当vsf堆叠的主要成员节点。如图8所示,这些操作包括在故障检测之后的操作820,其中备用成员节点在其上行链路端口处开始接收已从同一gsc传输的包括第一外部时间戳的第三外部数据分组。在操
作830处,备用成员节点基于第一外部时间戳来同步其时钟。这是外部ptp实例时钟同步。
53.现在,执行内部ptp实例的是备用成员节点。例如,备用成员节点为vsf堆叠创建堆叠上的一个或两个ptp时钟树,从主要成员节点开始并且扩展到除了现在不可用的主要成员节点之外的堆叠的每个成员。如果vsf堆叠具有链拓扑,则创建一棵树,该树从备用成员节点开始,并且依次迭代地前进到每个次要成员节点(备用成员节点除外)。如果vsf堆叠具有环拓扑,则创建在备用成员节点开始并且在环的一个方向上迭代前进到n个次要成员节点的一半的第一环,并且创建在备用成员节点开始并且在环的另一方向迭代前进到n个次要成员节点的另一半的第二环。如果n是奇数,则下游最下游的次要成员节点可以被分配给任一树,因此每棵树可能不严格地覆盖n/2个次要成员节点。在任一拓扑中,从备用成员节点向下的所有vsf连接都遵循ptp领队-跟随方关系。也就是说,备用成员节点的下行链路vsf端口将是ptp领队端口,而直接下游次要成员节点的上行链路vsf端口将是ptp跟随方端口。备用成员节点可以使下游次要成员节点将其时钟与充当内部堆叠bc的备用成员节点同步。一旦下游次要成员节点已经同步了它自己的时钟,它将与其直接下游邻居重复该过程,依此类推,直到所有次要成员节点已经与备用成员节点的时钟同步。图8的操作840至870的循环说明了这一点。操作840至870的循环从紧接备用成员节点下面的次要成员节点开始。
54.在操作840中,次要成员节点在其上行链路端口处从紧接次要成员节点上游的成员设备接收内部数据分组。内部数据分组包括基于紧接次要成员节点上游的成员节点的时钟的内部时间戳。第一次通过循环时,紧接的上游成员节点将成为备用成员节点。在随后通过循环时,紧接的上游成员节点将是另一次要成员节点。在vsf堆叠实现环拓扑的情况下,一棵树的环路(即,环的一个方向)可以与另一棵树的环路(即,环的另一方向)并行执行。接下来,在操作850处,次要成员节点基于内部时间戳来同步其时钟。这是内部ptp实例时钟同步。在操作860处,过程流确定是否所有次要成员节点都已完成循环(即,是否所有次要成员节点已同步其时钟)。如果操作860确定所有次要成员节点都没有完成循环,则过程流在操作870继续到下一个次要成员节点,并且对下一次要成员节点重复操作840至860。循环将继续进行,直到操作860确定所有次要成员节点都已完成循环,在这一点上,过程流可确定ptp时钟树已到达其末端(或在环形拓扑中结束)。以这种方式,过程流确保所有成员设备都执行了时钟同步操作。
55.一旦环路已经终止,内部ptp实例内的所有同步操作已经完成,并且所有次要成员节点已经与备用成员节点时钟同步,vsf堆叠就可以开始将时间戳传播到下游网络设备,例如oc和/或任何下游bc。因此,过程流前进到操作880。在操作880中,具有连接到其上的下游外部网络设备的所有成员设备(即,备用成员节点和/或剩余的第二成员节点中的相应成员节点)从成员设备的相应下行链路端口传输对应数目的第二外部数据分组。第二外部分组的数目将等于下游外部网络设备的数目。第二外部数据分组可以分别包括基于传输成员节点的已同步时钟的第二外部时间戳。
56.作为示例,图9b示出了在操作810至880期间,即在主要成员节点发生故障之后的ptp域的配置。在图9b中,以前作为主要成员节点操作的成员设备,现在被称为前指挥器节点930,已经发生故障。结果,其到bc 120的领队端口122和到备用节点220的跟随方端口221的链路不起作用。检测到故障后,备用节点220变为新的指挥器节点920。bc 120的备用领队端口910和新指挥器节点920的备用跟随方端口921之间的链路是活动的。
57.在以后的某一时刻,主要成员节点可能变得可用(例如,它可能重新引导并且重新在线)。vsf堆叠可以检测到主要成员节点中的故障已被解决,并且随后允许主要成员节点重新加入vsf堆叠,而不将控制权交还给主要成员节点。因此,在检测之后,根据经修改的树,主要成员节点可以在其上行链路端口从来自紧接主要成员节点上游的成员节点接收内部数据分组。内部数据分组包括基于紧接主要成员节点上游的成员设备的时钟的内部时间戳。然后,主要成员节点可以基于内部时间戳来同步其时钟。在主要成员节点和所有次要成员节点已经同步其时钟之后,主要成员节点可以从其下行链路端口向与其连接的外部网络设备传输第二外部数据分组。
58.图9c中示出了在前指挥器已返回服务之后的ptp域的示例性配置。此时,前指挥器节点930可以成为新的备用节点940。在这种情况下,它不会直接从gsc 110和/或bc 120同步它的时间,即使它具有到它的连接链路,但是它将与堆叠设备200的新的指挥器节点920重新同步。如果新的备用节点940直接连接到新的指挥器节点920,则重新同步可以是直接的,或者如果新的备用节点940通过中间设备连接到新的指挥器节点920,则重新同步可以是传递的。一旦新的备用节点940已经被时钟同步到新的指挥器节点920,堆叠网络设备200内的ptp时钟树可以像以前一样被重构,而不影响下游端点(例如,oc 150)。
59.本文描述的示例性系统和方法可以在执行包含在非瞬态计算机可读记录介质上的计算机可读代码或通过瞬态介质传输的通信信号的处理系统的控制下执行。计算机可读记录介质可以是可以存储处理系统可读数据的任何数据存储设备,并且可以包括易失性和非易失性介质、可移除和不可移除介质、以及数据库、计算机和各种其他网络设备可读的介质。根据本公开,非瞬态计算机可读介质可以存储指令,该指令在由电子处理器(例如,任何上述设备的电子处理器)执行时导致执行本文描述的操作。图10a至图10b示出了根据本公开的示例性处理系统1000。图10a至图10b仅为了方便和容易解释而分开示出,并且在一些实现中,图10a至图10b可以简单地示出同一示例性处理系统1000的不同方面。
60.处理系统1000可以对应于上述网络设备中的任何一个或多个网络设备,包括但不限于图2中所示的堆叠设备200或图3所示的堆叠设备300。在一些示例中,处理系统1000可以对应于上述网络设备中的任何一个网络设备内的一个或多个节点(例如,对应于图2和图9a的指挥器节点210、图2和9a的备用节点220、图3的指挥器节点310、图3的备用节点320、图9b至图9c的新指挥器节点920,和/或图9c的新备用节点940)。
61.如图10a至图10b所示,处理系统1000包括至少一个处理器1010(如图所示,三个)可操作地连接到实现为计算机可读存储介质1020的存储器。至少一个处理器1010可以是或包括彼此可操作地连接的一个或多个电子处理核,并且被配置为执行存储在计算机可读存储介质1020中的指令。不同的处理器1010可以包括在同一网络设备中或分布在不同的网络设备上。例如,第一处理器1010可以包括在第一成员节点(例如,指挥器节点)中,并且第二处理器1010可以包括在第二成员节点(例如,备用节点和/或另一成员节点)中。计算机可读存储介质1020可以被实现为包括在同一网络设备中或分布在不同网络设备上的若干不同介质。计算机可读存储介质1020可以是存储指令的非瞬态计算机可读介质或分布式介质,当指令由至少一个处理器1010或其子集执行时,使得处理系统1000执行各种操作。
62.在图10a的示例中,指令包括接收1021的指令(例如,使第一成员节点在第一成员节点的ptp跟随方端口处接收第一外部数据分组的指令)、使时钟同步的指令1022(例如,使
第一成员节点使用包括在第一外部数据分组中的ptp时间戳使第一成员节点的时钟同步的指令)、使第二节点执行内部时钟同步的指令1023(例如,使每个第二节点在相应的第二成员节点的ptp跟随方端口处接收的指令,来自紧接相应的第二成员节点上游的成员节点的ptp领队端口的内部数据分组,其中该内部数据分组包括基于紧接相应的第二成员节点上游的成员节点的时钟的内部ptp时间戳,并且基于内部数据分组的内部时间戳来同步相应的第二成员节点的时钟),以及用于传输1024的指令(例如,在内部时钟同步之后,使网络设备1000从第一成员节点的相应的ptp领队端口和/或多个第二成员节点的相应的ptp领队端口向多个下游设备传输,对应数目的第二外部数据分组)。
63.在图10b的示例中,指令包括配置1025的指令(例如,使主要成员节点配置堆叠网络设备的多个成员节点以充当外部设备的单个虚拟设备的指令,其中多个成员节点包括主要成员节点和通过成员链路互连以交换数据平面业务的多个次要成员节点,主要成员节点被配置为代表堆叠网络设备执行控制和管理平面操作),用于接收1026的指令(例如,使主要成员节点在主要成员节点的上行链路端口处,第一外部ptp数据分组,包括来自根据外部ptp域操作的外部时钟设备的第一外部时间戳)、用于已同步时钟的指令1027(例如,用于使主要成员节点基于第一外部时间戳来同步主要成员节点的时钟的指令)、用于生成内部分组的指令1028(例如,用于使主要成员节点根据位于第一堆叠网络设备本地的ptp的内部实例来生成内部ptp数据分组的指令,该内部ptp数据分组包括基于主要成员节点的时钟的内部时间戳),用于传输内部分组的指令1029(例如,使主要成员节点将内部数据分组从主要成员节点的下行链路端口传输到紧接主要成员节点下游的次要成员节点的上行链路端口的指令),以及用于促使外部传输1030的指令(例如,促使主要成员节点从主要成员节点和/或多个次要成员节点的相应次要成员节点的一个或多个下行链路端口向一个或多个下游外部设备传输对应数目的第二外部数据分组的指令,其中第二外部数据分组分别包括基于主要成员节点的已同步时钟的第二外部时间戳)。如上所述,计算机可读存储介质1020的单个实例可以包括指令1021至1030中的每个指令。
64.计算机可读记录介质1020的示例包括但不限于只读存储器(rom)、随机存取存储器(ram)、可擦除电可编程只读存储器(eeprom)、闪存或其他存储器技术、全息介质或其他光盘存储、包括磁带和磁盘的磁存储、以及固态存储设备。计算机可读记录介质1020还可以分布在网络耦合的计算机系统上,从而以分布式方式存储和执行计算机可读代码。通过过渡介质传输的通信信号可以包括例如通过有线或无线传输路径传输的调制信号。
65.以上描述和相关附图说明了本发明的最佳模式,并且意在说明而不是限制性的。本领域技术人员在阅读上述说明时,将会清楚地看到除了所提供的示例之外的许多示例实现和应用。不应参考上述说明,而应参考所附权利要求以及这些权利要求有权享有的等同形式的全部范围来确定范围。预期并旨在本文讨论的技术中发生未来的发展,并且所公开的系统和方法将被结合到未来的示例实现中。总之,应该理解,本技术能够修改和改变。
66.权利要求中使用的所有术语都旨在给出其最广泛的合理结构及其通常含义,如本文描述的技术方面的技术人员所理解的,除非本文明确提出相反的指示。具体而言,单数冠词的使用,如“一”、“该”、“所述”等,应理解为引用所示的一个或多个元素,除非权利要求书明确规定了相反的限制。
67.提供摘要是为了使读者能够快速确定技术公开的性质。提交时有一项理解,即它
不会被用来解释或限制权利要求的范围或含义。此外,在前述详细描述中,可以看到,为了简化公开的目的,在各种示例性实现中将各种特征分组在一起。该公开方法不应解释为反映所要求保护的示例实现需要比在每个权利要求中明确叙述的特征更多的特征的意图。相反,如以下权利要求所反映的,发明主题在于少于单个公开实施例的所有特征。因此,本文将以下权利要求合并到详细描述中,每个权利要求作为单独要求保护的主题而独立存在。

技术特征:
1.一种堆叠网络设备,包括:第一成员节点,被配置为代表所述堆叠网络设备执行控制和管理平面操作,所述第一成员节点包括第一时钟、精确时间协议ptp跟随方端口和至少一个ptp领队端口;以及多个第二成员节点,所述多个第二成员节点中的相应的节点包括时钟、ptp跟随方端口和ptp领队端口,其中,所述第一成员节点被配置为:在所述第一成员节点的所述ptp跟随方端口处接收第一外部数据分组,使用被包括在所述第一外部数据分组中的ptp时间戳来同步所述第一成员节点的时钟,以及使所述多个第二成员节点中的每个第二成员节点执行第一内部时钟同步操作,所述第一内部时钟同步包括:在相应的第二成员节点的所述ptp跟随方端口处,从紧接所述相应的第二成员节点上游的成员节点的所述ptp领队端口接收内部数据分组,其中所述内部数据分组包括基于紧接所述相应的第二成员节点上游的所述成员节点的时钟的内部ptp时间戳,以及基于所述内部数据分组的所述内部时间戳来同步所述相应的第二成员节点的时钟,其中,在所述第一内部时钟同步操作之后,所述网络设备被配置为,从所述第一成员节点的相应的ptp领队端口和/或所述多个第二成员节点中的相应的第二成员节点的相应的ptp领队端口向多个下游设备传输对应数目的第二外部数据分组,并且其中,所述第二外部数据分组分别包括基于传输成员节点的已同步时钟的第二外部时间戳。2.根据权利要求1所述的网络设备,其中所述网络设备被配置为充当所述网络中的对外部网络设备的单个虚拟设备。3.根据权利要求1所述的网络设备,其中所述网络设备被配置为作为根据ptp操作的网络的边界时钟设备来操作。4.根据权利要求1所述的网络设备,其中所述第一成员节点的所述ptp跟随方端口是链路聚合组lag端口或仅双路由端口(rop)。5.根据权利要求1所述的网络设备,其中所述多个第二成员节点中的备用成员节点被配置为:检测所述第一成员节点中已经发生故障;以及随后:在所述备用成员节点的备用ptp跟随方端口处接收第三外部数据分组,使用被包括在所述第三外部数据分组中的ptp时间戳来同步所述备用成员节点的时钟,以及使所述多个第二成员节点中除所述备用成员节点之外的每个第二成员节点执行第二内部时钟同步操作,所述第二内部时钟同步包括:在所述相应的第二成员节点的所述ptp跟随方端口处接收来自紧接所述相应的第二成员节点上游的所述成员节点的所述ptp领队端口的内部数据分组,其中所述内部数据分组包括基于紧接所述相应的第二成员节点上游的所述成员节点的所述时钟的内部ptp时间戳,以及
基于所述内部数据分组的所述内部时间戳来同步所述相应的第二成员节点的时钟。6.根据权利要求5所述的网络设备,其中在所述第二内部时钟同步操作之后,所述网络设备被配置为,从所述备用成员节点的所述相应的ptp领队端口和/或所述多个第二成员节点中除所述备用成员节点之外的相应的第二成员节点的所述相应的ptp领队端口向多个下游设备传输对应数目的第四外部数据分组,以及所述第四外部数据分组分别包括基于传输成员节点的所述已同步时钟的所述第二外部时间戳。7.根据权利要求5所述的网络设备,其中,所述备用成员节点的备用ptp跟随方端口是链路聚合组lag端口或仅双路由端口rop。8.根据权利要求5所述的网络设备,其中所述备用成员节点被配置为在检测到所述第一成员节点中已经发生所述故障时,激活所述备用成员节点的所述备用ptp跟随方端口与来自所述网络设备上游的外部设备之间的连接。9.一种非瞬态计算机可读介质,存储指令,所述指令在由主要成员节点的电子处理器执行时,使所述主要成员节点:将堆叠网络设备的多个成员节点配置为充当对外部设备的单个虚拟设备,其中所述多个成员节点包括通过成员链路互连以交换数据平面业务的所述主要成员节点和多个次要成员节点,所述主要成员节点被配置为代表所述堆叠网络设备执行控制和管理平面操作;在所述主要成员节点的上行链路端口处,从根据外部ptp域操作的外部时钟设备接收第一外部精确时间协议ptp数据分组,所述第一外部ptp数据分组包括第一外部时间戳;基于所述第一外部时间戳来同步所述主要成员节点的时钟;根据所述第一堆叠网络设备本地的ptp的内部实例来生成内部ptp数据分组,所述内部ptp数据分组包括基于所述主要成员节点的所述时钟的内部时间戳;从所述主要成员节点的下行链路端口向紧接所述主要成员节点的下游的所述次要成员节点的上行链路端口传输所述内部数据分组;以及使对应数目的第二外部数据分组从所述主要成员节点和/或所述多个次要成员节点中的相应的次要成员节点的一个或多个下行链路端口传输到一个或多个下游外部设备,其中所述第二外部数据分组分别包括基于所述主要成员节点的已同步时钟的第二外部时间戳。10.根据权利要求9所述的非瞬态计算机可读介质,其中同步所述时钟包括:确定所述主要成员节点与所述外部时钟设备之间的延迟量;将所述延迟量添加到所述内部时间戳以获得经修改的时间戳;以及基于所述经修改的时间戳来设置所述主要成员节点的所述时钟。11.根据权利要求9所述的非瞬态计算机可读介质,其中相应的第二外部数据分组包括与作为整体的所述堆叠网络设备相对应的地址。12.根据权利要求9所述的非瞬态计算机可读介质,其中所述堆叠网络设备是根据ptp操作的网络的边界时钟设备。13.根据权利要求9所述的非瞬态计算机可读介质,其中所述主要成员节点和所述多个次要成员节点形成链拓扑或环拓扑之一。14.一种在网络设备中实现时间同步协议的方法,所述网络设备包括主要成员节点和
多个次要成员节点,所述方法包括:将网络设备的多个成员节点配置为充当对外部设备的单个虚拟设备,其中所述多个成员节点包括通过成员链路互连以交换数据平面业务的主要成员节点和多个次要成员节点,所述主要成员节点被配置为代表所述网络设备执行控制和管理平面操作;在所述主要成员节点的上行链路端口处,接收包括基于已知全局时钟的第一外部时间戳的第一外部数据分组;将所述主要成员节点的时钟与所述已知全局时钟同步;针对所述多个次要成员节点中的每个次要成员节点:在相应的次要成员节点的上行链路端口处,从紧接所述相应的次要成员节点上游的成员节点接收内部数据分组,其中所述内部数据分组包括基于紧接所述相应的次要成员节点上游的所述成员节点的时钟的内部时间戳,以及基于所述内部数据分组的所述内部时间戳将所述相应的次要成员节点的时钟与所述已知全局时钟同步;以及从所述主要成员节点和/或所述多个次要成员节点中的相应的次要成员节点的相应的下行链路端口向多个第二网络设备传输第二外部数据分组,其中第二外部数据分组包括基于传输成员节点的已同步时钟的第二外部时间戳。15.根据权利要求14所述的方法,其中所述第一外部数据分组和所述第二外部数据分组与第一ptp实例相对应,并且其中所述内部数据分组与第二ptp实例相对应。16.根据权利要求14所述的方法,还包括:将所述多个次要成员节点中的一个次要成员节点指定为备用成员节点;检测到所述主要成员节点中已经发生故障;以及随后:在所述备用成员节点的上行链路端口处,接收第三外部数据分组,所述第三外部数据分组包括所述第一外部时间戳,基于所述第一外部时间戳来同步所述备用成员节点的时钟,针对所述多个次要成员节点中除所述备用成员节点之外的每个次要成员节点:在相应的次要成员节点的上行链路端口处,从紧接所述相应的次要成员节点上游的成员节点接收内部数据分组,其中所述内部数据分组包括基于紧接所述相应的次要成员节点上游的所述成员节点的时钟的内部时间戳,以及基于所述内部数据分组的所述内部时间戳来同步所述相应的次要成员节点的时钟,以及从所述备用成员节点和/或所述多个次要成员节点中除所述备用成员节点之外的所述相应的次要成员节点的相应的下行链路端口向多个第二网络设备传输所述第二外部数据分组,其中所述第二外部数据分组包括基于传输成员节点的所述已同步时钟的所述第二外部时间戳。17.根据权利要求16所述的方法,还包括:检测到所述主要成员节点中的所述故障已经被解决;以及随后:在所述主要成员节点的所述上行链路端口处,从紧接所述主要成员节点上游的成员节
点接收所述内部数据分组,其中所述内部数据分组包括基于紧接所述主要成员节点上游的所述成员节点的时钟的内部时间戳,以及基于所述内部数据分组的所述内部时间戳来同步所述主要成员节点的所述时钟,以及从所述主要成员节点的所述下行链路端口向所述多个第二网络设备中的至少一个第二网络设备传输所述第二外部数据分组,其中所述第二外部数据分组包括基于所述主要成员节点的所述已同步时钟的所述第二外部时间戳。18.根据权利要求14所述的方法,其中所述相应的第二外部数据分组包括与作为整体的所述网络设备相对应的地址。19.根据权利要求14所述的方法,其中所述网络设备是根据ptp操作的网络的边界时钟设备。20.根据权利要求14所述的方法,其中所述主要成员节点和所述多个次要成员节点形成链拓扑或环拓扑之一。

技术总结
本公开实施例涉及作为精确时间协议边界时钟的堆叠网络设备。描述了在堆叠网络设备所至的网络中的较大外部PTP实例内的堆叠网络设备上实现内部精确时间协议(PTP)实例的系统、方法和设备。PTP的内部实例是堆叠网络设备的本地实例,其同步堆叠中的N个设备(“成员”)。堆叠网络设备的每个成员可以充当PTP的该本地虚拟实例中的BC。一个成员可以被称为指挥器节点或主要成员节点,可以基于外部GSC或外部BC来同步其时钟,然后该成员可以充当下游成员的BC,以此类推,直到堆叠网络设备内的所有成员具有同步的时钟。各个成员还可以充当耦合到其上的外部端点的BC,从而向那些端点提供PTP时间戳消息。间戳消息。间戳消息。


技术研发人员:德瓦拉贾 N
受保护的技术使用者:慧与发展有限责任合伙企业
技术研发日:2023.08.30
技术公布日:2023/10/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐