CN114073048A - 用于与拓扑服务器同步联网信息的计算设备和方法 - Google Patents
用于与拓扑服务器同步联网信息的计算设备和方法 Download PDFInfo
- Publication number
- CN114073048A CN114073048A CN202080044933.4A CN202080044933A CN114073048A CN 114073048 A CN114073048 A CN 114073048A CN 202080044933 A CN202080044933 A CN 202080044933A CN 114073048 A CN114073048 A CN 114073048A
- Authority
- CN
- China
- Prior art keywords
- server
- local
- version number
- new
- topology table
- 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.)
- Pending
Links
- 230000006855 networking Effects 0.000 title claims abstract description 266
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000012545 processing Methods 0.000 claims description 81
- 238000004891 communication Methods 0.000 claims description 77
- 230000007246 mechanism Effects 0.000 abstract description 5
- 239000004744 fabric Substances 0.000 description 44
- 238000004590 computer program Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了用于与服务器执行联网信息的同步和重新同步的计算设备和方法。在标准操作期间,由计算设备发现的本地联网数据被传输到服务器,并且服务器联网数据(由服务器发现)从服务器被接收。当在计算设备处出现阻止计算设备和服务器之间信息交换的预定义事件时,执行本地联网数据和服务器联网数据的重新同步。同步和重新同步机制基于分别由计算设备和服务器生成的唯一版本号。
Description
技术领域
本公开涉及数据中心领域。更具体而言,本公开涉及用于与拓扑服务器同步联网信息的计算设备和方法。
背景技术
近年来,诸如软件即服务(SaaS)、云计算等技术的发展日新月异。这种发展得益于客户对基于此类技术的产品和服务的需求不断增长。底层技术的不断进步也为这种发展提供了动力,诸如微处理器的处理能力增加、存储设备的存储容量增加以及网络装备的传输容量提高。此外,这些底层技术的平均成本正在下降。但是,底层技术的平均成本的下降与客户需求的增长平衡,这需要不断更新和升级用于提供SaaS或云计算的基础设施。
用于提供SaaS或云计算的基础设施是数据中心,其组合了大量的计算服务器。每个服务器具有多个多核处理器,并且计算服务器的组合提供了由数据中心的客户使用的非常高的处理能力。这些服务器中的一些或全部可能还具有重要的存储容量,因此服务器的组合还为数据中心的客户提供了非常高的存储容量。数据中心还依赖于联网基础设施,用于互连服务器并为数据中心的客户提供对其计算和/或存储容量的访问。为了提供可靠的服务,对数据中心的计算和联网基础设施提出了非常高的可伸缩性、可管理性、容错性等方面的要求。
关于数据中心的联网基础设施,众所周知,向大量主机提供高效且可靠的联网服务是一项复杂的任务。已经在其它背景下开发了解决方案和技术,诸如用于向大量移动设备提供移动数据服务的联网技术。这些技术中的一些已经在专用情况(诸如互联网工程任务组或第三代合作伙伴计划(3GPPTM))中被标准化。但是,在数据中心中部署高效且可靠的联网基础设施的至少一些技术挑战是特定于数据中心背景的;并且需要用原始的解决方案和技术来解决。
数据中心的联网基础设施依赖于一种或多种架构(fabric)。每种架构包括为数据中心的计算服务器提供内部和外部联网能力的多个联网装备。架构的至少一些联网装备能够发现与它们的一些邻居相关的联网信息。这种联网信息包括例如多个邻居的介质访问控制(MAC)地址和/或互联网协议(IP)地址。联网装备之间还共享发现的联网信息,使得该过程中涉及的每个联网装备受益于从对等联网装备发现的联网信息。联网信息被联网装备用于通过架构的联网基础设施转发分组。
维护该过程中涉及的各种联网装备发现和交换的联网信息的同步是一项复杂的任务。提高同步的效率和弹性的一种方式是使用专用于在多个联网装备之间收集和传播联网信息的集中式服务器。
因此,需要一种用于与拓扑服务器同步联网信息的计算设备和方法。
发明内容
根据第一方面,本公开涉及一种计算设备。该计算设备包括存储器、通信接口和处理单元。存储器存储包括多个条目的本地拓扑表。每个条目包括本地联网数据和唯一本地版本号。本地版本号从与本地拓扑表中的第一个条目对应的第一个值增加到与本地拓扑表中的最后一个条目对应的最后一个值L1。存储器还存储包括多个条目的服务器拓扑表,每个条目包括服务器联网数据。存储器还存储服务器版本号S1。处理单元确定新的本地联网数据。处理单元通过向本地拓扑表添加一个或多个新条目来更新本地拓扑表。一个或多个新条目包括新的本地联网数据和大于L1的相应增加的本地版本号。处理单元经由通信接口向服务器发送客户端同步消息。客户端同步消息包括新的本地联网数据和与更新后的本地拓扑表中的最后一个条目对应的本地版本号L2,其中L2大于L1。处理单元经由通信接口从服务器接收服务器同步消息。服务器同步消息包括新的服务器联网数据和大于S1的新的服务器版本号S2。处理单元通过向服务器拓扑表添加一个或多个新条目来更新服务器拓扑表,该一个或多个新条目包括新的服务器联网数据。处理单元将服务器版本号从当前存储的服务器版本号S1更新为新的服务器版本号S2。
根据第二方面,本公开涉及一种用于与服务器执行联网信息的同步的方法。该方法包括在计算设备的存储器中存储包括多个条目的本地拓扑表。每个条目包括本地联网数据和唯一本地版本号。本地版本号从与本地拓扑表中的第一个条目对应的第一个值增加到与本地拓扑表中的最后一个条目对应的最后一个值L1。该方法包括在存储器中存储包括多个条目的服务器拓扑表,每个条目包括服务器联网数据。该方法包括在存储器中存储服务器版本号S1。该方法包括由计算设备的处理单元确定新的本地联网数据。该方法包括由处理单元通过向本地拓扑表添加一个或多个新条目来更新本地拓扑表。一个或多个新条目包括新的本地联网数据和大于L1的相应增加的本地版本号。该方法包括由处理单元经由计算设备的通信接口向服务器发送客户端同步消息。客户端同步消息包括新的本地联网数据和与更新后的本地拓扑表中的最后一个条目对应的本地版本号L2,其中L2大于L1。该方法包括由处理单元经由通信接口从服务器接收服务器同步消息。服务器同步消息包括新的服务器联网数据和大于S1的新的服务器版本号S2。该方法包括由处理单元通过向服务器拓扑表添加一个或多个新条目来更新服务器拓扑表,该一个或多个新条目包括新的服务器联网数据。该方法包括由处理单元将服务器版本号从当前存储的服务器版本号S1更新为新的服务器版本号S2。
根据第三方面,本公开涉及一种计算设备。该计算设备包括存储器、通信接口和处理单元。存储器存储包括多个条目的本地拓扑表。每个条目包括本地联网数据和唯一本地版本号。本地版本号从与本地拓扑表中的第一个条目对应的第一个值增加到与本地拓扑表中的最后一个条目对应的最后一个值L1。存储器还存储包括多个条目的服务器拓扑表,每个条目包括服务器联网数据。存储器还存储服务器版本号S1。处理单元确定已发生预定义事件。处理单元经由通信接口向服务器发送加入消息。加入消息包括服务器版本号S3。处理单元经由通信接口从服务器接收服务器同步消息。服务器同步消息包括新的服务器联网数据和大于S3的新的服务器版本号S4。处理单元通过向服务器拓扑表添加一个或多个新条目来更新服务器拓扑表。一个或多个新条目包括新的服务器联网数据。该处理将服务器版本号从当前存储的服务器版本号S3更新为新的服务器版本号S4。
根据第四方面,本公开涉及一种用于与服务器执行联网信息的重新同步的方法。该方法包括在计算设备的存储器中存储包括多个条目的本地拓扑表。每个条目包括本地联网数据和唯一本地版本号。本地版本号从与本地拓扑表中的第一个条目对应的第一个值增加到与本地拓扑表中的最后一个条目对应的最后一个值L3。该方法还包括在存储器中存储包括多个条目的服务器拓扑表,每个条目包括服务器联网数据。该方法还包括在存储器中存储服务器版本号S3。该方法包括由计算设备的处理单元确定已发生预定义事件。该方法包括由处理单元经由计算设备的通信接口向服务器发送加入消息。加入消息包括服务器版本号S3。该方法包括由处理单元经由通信接口从服务器接收服务器同步消息。服务器同步消息包括新的服务器联网数据和大于S3的新的服务器版本号S4。该方法包括由处理单元通过向服务器拓扑表添加一个或多个新条目来更新服务器拓扑表。一个或多个新条目包括新的服务器联网数据。该方法包括由处理单元将服务器版本号从当前存储的服务器版本号S3更新为新的服务器版本号S4。
根据特定方面,以下适用于第三方面的计算设备和第四方面的方法。处理单元确定从服务器接收到的估计的本地版本号L3低于与当前存储在存储器中的本地拓扑表中的最后一个条目对应的当前本地版本号L4。处理单元经由通信接口向服务器发送客户端同步消息。客户端同步消息包括包含在本地拓扑表的具有大于L3的相应版本号的一个或多个条目中的本地联网数据。客户端同步消息还包括当前本地版本号L4。
附图说明
将通过参考附图仅以示例的方式来描述本公开的实施例,其中:
图1A和图1B表示包括多个交付点(pod)和架构的数据中心的网络体系架构;
图2表示图1A和图1B中表示的架构的更详细的视图;
图3表示部署在图1A-B和图2的交付点和架构中的装备的通信端口;
图4A和图4B表示用于互连图1-3中表示的架构的装备的IPv6网络;
图5表示还包括拓扑服务器的图1A的架构;
图6图示了图5中表示的叶子交换机的示意图;
图7A、图7B、图7C和图7D表示用于在叶子交换机和图5中所示的拓扑服务器之间执行联网信息的同步和重新同步的方法;
图8图示了图5中表示的拓扑服务器的示意图;以及
图9A、图9B、图9C和图9D表示用于在拓扑服务器和图5中表示的叶子交换机之间执行联网信息的同步和重新同步的方法。
具体实施方式
在阅读仅作为示例并参考附图给出的其说明性实施例的以下非限制性描述后,前述和其它特征将变得更加明显。
在数据中心的架构的上下文中,本公开的各个方面通常解决与客户端节点和集中式服务器之间的联网信息的同步和重新同步相关的一个或多个问题。
数据中心的网络体系架构
现在同时参考图1A、图1B、图2、图3和图4,图示了数据中心的网络体系架构。图中表示的网络体系架构是为了说明目的,并且设计数据中心体系架构领域的技术人员将容易理解,可以做出其它设计选择。本公开的教导不限于图中表示的网络体系架构的拓扑;而是也可以应用于在拓扑方面具有不同设计选择的网络体系架构。
现在更具体地参考图1A和图1B。数据中心被组织成多个交付点。每个交付点由计算、存储、联网和电力的原子单元组成。每个交付点作为一个单元被设计、作为一个单元被部署、作为一个单元被自动化和作为一个单元被退役。可以使用几种类型的交付点,它们的设计不同。每种类型的交付点中的零个、一个或多个实例被部署在数据中心中。为了说明的目的,在图1A中表示了单个交付点(A)的详细信息,并且在图1B中表示了三个交付点(A、B和C)的详细信息。但是,数据中心中的交付点的数量从一个到几十甚至数百个交付点不等。数据中心在计算、存储、联网和电力方面的容量通过添加(或移除)交付点进行缩放。
交付点A包括提供处理和存储能力的多个服务器300。取决于服务器300的数量和每个机架的容量,服务器300被物理地组织在一个或多个机架中。交付点A还包括被称为架构A的两层联网能力。架构A包括由叶子联网装备200组成的较低层,以及由主干联网装备100组成的较高层。架构A的联网装备(例如主干100和叶子200)物理上集成到包括服务器300的一个或多个机架上,或者可替代地物理上组织在一个或多个独立的机架中。
叶子联网装备200和主干联网装备100通常由具有高密度通信端口的交换机组成。因此,在本说明书的其余部分中,叶子联网装备200和主干联网装备100将分别被称为叶子交换机200和主干交换机100。但是,可以使用其它类型的联网装备。例如,在可替代实施方式中,主干联网装备100中的至少一些由路由器组成。
每个叶子交换机200连接到至少一个主干交换机100和多个服务器300。连接到给定叶子交换机200的服务器300的数量取决于叶子交换机200的通信端口的数量。
在图1A所示的实施方式中,每个服务器300冗余地连接到两个不同的叶子交换机200。给定交付点(例如,交付点A)的服务器300仅连接到属于给定交付点(例如,交付点A)的架构(例如,架构A)的叶子交换机200。给定交付点(例如,交付点A)的服务器300未连接到属于另一个交付点(例如,交付点B)的架构(例如,架构B)的叶子交换机200。给定架构(例如,架构A)的每个叶子交换机200连接到给定架构(例如,架构A)的所有主干交换机100。给定架构(例如,架构A)的叶子交换机200未连接到另一个架构(例如,架构B)的主干交换机100。在各图中未示出的可替代实施方式中,服务器300中的至少一些连接到单个叶子交换机200。
每个主干交换机100连接到至少一个核心联网装备10,以及多个叶子交换机200。连接到给定主干交换机100的叶子交换机200的数量取决于设计选择和主干交换机100的通信端口的数量。核心联网装备10提供部署在数据中心中的架构之间的互通、与数据中心的管理功能的连接、与外部网络(诸如互联网)的连接等。此外,虽然为了简化目的未在图中表示,但是核心联网装备10中的至少一些可以连接到一对叶子交换机200。
核心联网装备10通常由路由器组成。因此,在本说明书的其余部分中,核心联网装备10将被称为核心路由器10。但是,可以使用其它类型的联网装备。例如,在可替代实施方式中,核心联网装备10中的至少一些由交换机组成。
在图1A表示的实施方式中,给定架构(例如,架构A)的每个主干交换机100连接到所有核心路由器10,并且连接到给定架构(例如,架构A)的所有叶子交换机200。
为了简化目的,图1A中表示的架构A仅包括两个主干交换机100和四个叶子交换机200,而交付点A仅包括两组三个服务器300,其分别连接到架构A的叶子交换机200。架构的主干交换机100和叶子交换机200的数量可以基于主干和叶子交换机的设计选择和联网能力(例如,通信端口密度)而变化。类似地,基于设计选择、基于对应架构的叶子交换机200的数量,以及基于叶子交换机的联网能力(例如,通信端口密度),交付点的服务器300的总数可以变化。
为了简化目的,交付点B及其对应的架构B以及交付点C及其对应的架构C的细节未在图1B中表示。但是,交付点B/架构B和交付点C/架构C包括主干交换机100、叶子交换机200和服务器300的层次结构,类似于为交付点A/架构A所示的层次结构。
现在更特别地参考图1A、图1B和图2,其中图2表示图1A和图1B的数据中心的实施方式,其中每个架构还包括一个或多个控制器400。仅为了简化目的,未在图2中表示服务器300。
架构的控制器400负责控制架构中包括的至少一些节点(例如,叶子交换机200和/或主干交换机100)的操作。每个控制器400连接到至少一个叶子交换机200。在给定架构中部署的控制器400的数量取决于设计选择、架构中部署的控制器400所需的累积处理能力、架构中部署的叶子交换机和主干交换机的总数,等等。
在图2表示的实施方式中,每个控制器400冗余地连接到两个不同的叶子交换机200。例如,每个控制器400具有到第一叶子交换机200的第一操作连接和到第二叶子交换机200的第二备用连接。给定架构(例如,架构A)的控制器400仅连接到该架构(例如,架构A)的叶子交换机200。给定架构(例如,架构A)的控制器400未连接到另一个架构(例如,架构B或C)的叶子交换机200。一些叶子交换机200专用于连接到控制器400(如图2所示),而其它叶子交换机200专用于连接到服务器300(如图1A所示)。在可替代实施方式中,叶子交换机200同时连接到服务器300和控制器400。
在另一个实施方式中,控制器400不直接物理连接到叶子交换机200;而是在功能上经由诸如在控制器400和叶子交换机200之间的中间交换机(图2中未表示)之类的至少一个中间装备连接。
现在更特别地参考图1A、图1B、图2和图3,其中图3表示部署在架构/交付点中的装备的通信端口。
主干交换机100具有专用于与核心路由器10的互连的专用数量的上行链路通信端口(例如,在图3中表示的4个)和专用于与叶子交换机200的互连的专用数量的下行链路通信端口(例如,在图3中表示的6个)。上下行链路端口具有相同或不同的联网容量。例如,所有端口都具有10千兆字节(Gbps)的容量。
叶子交换机200具有专用于与主干交换机100的互连的专用数量的上行链路通信端口(例如,在图3中表示的3个),以及专用于与服务器300或控制器400的互连的专用数量的下行链路通信端口(例如,在图3中表示的6个)。上下行链路端口具有相同或不同的联网容量。例如,所有上行链路端口都具有100Gbps的容量,并且所有下行链路端口都具有25Gbps的容量。将来,上行链路端口的容量将达到200或400Gbps,而下行链路端口的容量将达到50Gbps或100Gbps。
叶子交换机和主干交换机通常由具有高密度通信端口的装备组成,这些装备可以达到数十个端口。一些端口可以是电端口,而其它端口是光纤端口。如前所述,在支持的带宽方面,交换机的端口可以具有变化的联网能力。通常使用具有不同联网能力和功能的交换机来实现叶子交换机和主干交换机。这些端口不限于通信端口,而且还包括用于连接各种类型的可插拔介质的外壳。
作为对照,服务器300和控制器400是类似于传统计算机的具有有限数量的通信端口的计算设备。例如,每个服务器300和每个控制器400包括两个通信端口,分别连接到两个不同的叶子交换机200。这两个通信端口通常由以太网端口组成,容量为例如10Gbps。但是,服务器300和/或控制器400可以包括(一个或多个)附加端口。
所有上述通信端口都是双向的,从而允许传输和接收数据。
现在更特别地参考图4A和图4B,它们表示IPv6网络20在架构级别的部署。
架构的至少一些装备连接到IPv6网络20并经由该IPv6网络交换数据。在图4A和图4B所示的配置中,所有的主干交换机100、叶子交换机200和控制器400都连接到IPv6网络20。每个架构(例如,如图1A和1B中所示的架构A、B和C)都具有其自己的IPv6网络,每个架构具有专用的IPv6前缀。
可选地,附加装备连接到IPv6网络20。例如,如图4A和图4B所示,一个或多个核心路由器10连接到IPv6网络20。配置和/或管理服务器(出于简化目的,未在图4A和图4B中示出)可以通过核心路由器10访问IPv6网络20。
可选地,专用的交换机和/或路由器(出于简化目的,未在图4A和图4B中示出)用于互连经由IPv6网络20交换数据的架构A的装备。前述可选配置和/或管理服务器可以通过专用交换机和/或路由器访问IPv6网络20。
图4A表示第一说明性配置,其中架构A的每个装备(主干交换机100、叶子交换机200和控制器400)具有用于访问IPv6网络20的专用端口21。IPv6网络20是与由架构A实现的其它IP网络隔离的配置和/或管理网络。主干交换机100、叶子交换机200和控制器400的专用端口21仅用于通过IPv6网络20交换数据。因此,经由主干交换机100、叶子交换机200和控制器400的专用端口21交换的IPv6流量与经由主干交换机100、叶子交换机200和控制器400的其它端口交换的流量隔离(如图3所示)。
图4B表示第二说明性配置,其中架构A的每个装备(主干交换机100、叶子交换机200和控制器400)不使用专用端口来访问IPv6网络20。相反,已经用于交换其它数据流量的端口(如图3所示)也用于访问IPv6网络20。
这种配置的优点在于,不会在架构A的每个装备(主干交换机100、叶子交换机200和控制器400)处仅为了访问IPv6网络20而独占专用端口。
在图中未示出的可替代配置中,架构A的一些装备正在使用专用端口来访问IPv6网络20;但是,架构A的其它装备通过也用于交换其它数据流量的端口访问IPv6网络20。
此外,架构A的一些装备可以使用一个以上的端口来访问IPv6网络20。
本地和全局拓扑表
现在参考图5,其表示图1A的架构A和交付点A。图5还表示拓扑服务器500。拓扑服务器500可以是图3中表示的控制器400之一。
拓扑服务器500是叶子交换机收集的关于它们的邻居的各种联网信息的储存库。例如,叶子交换机200A将收集到的关于其邻居的联网信息存储在本地,并进一步将联网信息传输到拓扑服务器500。拓扑服务器500存储由叶子交换机200A收集的联网信息,并将联网信息转发给其它叶子交换机200B、200C和200D。类似地,拓扑服务器500存储从其它叶子交换机200B、200C和200D接收的联网信息;并将联网信息转发给叶子交换机200A。本公开旨在提供用于同步存储在叶子交换机200A-D处的联网信息和存储在拓扑服务器500处的联网信息的机制。
每个叶子交换机(例如,200A)存储本地拓扑表。本地拓扑表的每个条目包括本地联网数据和唯一本地版本号。本地版本号从与本地拓扑表中的第一个条目对应的第一个值(例如,1)增加到与本地拓扑表中的最后一个条目对应的最后一个值。
以下是示例性本地拓扑表。
本地联网数据 | 1 |
本地联网数据 | 2 |
本地联网数据 | 3 |
叶子交换机对本地联网数据的收集在本公开的范围之外。收集基于标准化联网协议,诸如地址解析协议(ARP)、邻居发现协议(NDP)等。也可以使用专为大型数据中心背景下设计的专有协议。叶子交换机接收符合上述协议的分组,并从接收到的分组中提取信息,提取的信息用于生成本地联网数据。本地联网数据的收集通常不完全基于联网协议。例如,来自转发平面的本地事件指示已发现新的MAC地址、现有的MAC地址已从一个端口移动到另一个端口,或者现有条目在一定时间段内未被使用并从表中被删掉。
本地联网数据被传输到拓扑服务器500,以进行存储并进一步分派到其它叶子交换机(例如,200B、200C和200D)。本地版本号用于将本地拓扑表中存储的数据与拓扑服务器500存储的数据进行同步。
在示例性实施方式中,本地联网分组括与远程节点相关的信息和中间节点的标识符。具有本地联网数据的计算设备确定可以经由中间节点到达远程节点。
与远程节点相关的信息的示例包括远程节点的介质访问控制(MAC)地址、远程节点的互联网协议(IP)地址(IPv4或IPv6)、远程节点的MAC地址和IP地址的组合、识别远程节点的网络连接的元组(协议(例如,用户数据报协议(UDP)或传输控制协议(TCP))、源和目的地IP地址、源和目的地端口)等。
中间节点的标识符的示例包括中间节点的IP地址(IPv4或IPv6)、中间节点的MAC地址等。
例如,远程节点包括可经由叶子交换机200A到达的服务器300',并且中间节点是叶子交换机200A本身。与远程节点相关的信息包括与服务器300'相关的信息(例如,服务器300'的IPv4或IPv6地址)。中间节点的标识符为叶子交换机200A的IPv4或IPv6地址(或MAC地址)。
以下是详述本地联网数据的示例性本地拓扑表。
第一服务器300’的IPv6地址 | 叶子交换机200A的IPv6地址 | 1 |
第二服务器300’的IPv6地址 | 叶子交换机200A的IPv6地址 | 2 |
第三服务器300’的IPv6地址 | 叶子交换机200A的IPv6地址 | 3 |
每个叶子交换机(例如,200A)还存储了服务器拓扑表。服务器拓扑表的每个条目包括服务器联网数据。
以下是示例性服务器拓扑表。
服务器联网数据 |
服务器联网数据 |
服务器联网数据 |
服务器联网数据 |
服务器联网数据接收自拓扑服务器500,并且源自其它叶子交换机(例如,200B、200C和200D)。服务器联网数据的结构类似于先前描述的本地联网数据的结构。
以下是详述服务器联网数据的示例性服务器拓扑表。
第一服务器300'的IPv6地址 | 叶子交换机200B的IPv6地址 |
第二服务器300”的IPv6地址 | 叶子交换机200D的IPv6地址 |
第三服务器300'的IPv6地址 | 叶子交换机200B的IPv6地址 |
第四服务器300”的IPv6地址 | 叶子交换机200C的IPv6地址 |
每个叶子交换机(例如,200A)还存储由拓扑服务器500传输的服务器版本号。服务器版本号用于将服务器拓扑表中存储的数据与拓扑服务器500存储的数据进行同步。
拓扑服务器500存储全局拓扑表。全局拓扑表的每个条目包括客户端联网数据、客户端的唯一客户端标识符和唯一服务器版本号。服务器版本号从与全局拓扑表中的第一个条目对应的第一个值(例如,1)增加到与全局拓扑表中的最后一个条目对应的最后一个值。
以下是示例性全局拓扑表。
客户端是叶子交换机(例如,200A、200B、200C和200D)。拓扑服务器500将从叶子交换机接收到的客户端联网数据集中(在全局拓扑表中),并且进一步将从叶子交换机之一接收到的客户端联网数据分派到其它叶子交换机。客户端联网数据的结构类似于先前描述的本地联网数据的结构。
每个发起客户端的唯一客户端标识符取决于特定的实施方式。例如,叶子交换机的MAC地址用于唯一客户端标识符。可替代地,叶子交换机的IPv4或IPv6地址用于唯一客户端标识符(使用的每个IP地址在所有叶子交换机中都是唯一的)。在又一个可替代方案中,由每个叶子交换机本地生成的唯一标识符(节点ID)用于唯一客户端标识符。本领域技术人员将容易理解,可以使用其它类型的唯一客户端标识符。
以下是详述客户端联网数据的示例性全局拓扑表。
第一服务器300’的IPv6地址 | 叶子200A的IPv6地址 | 叶子200A的唯一ID | 1 |
第二服务器300’的IPv6地址 | 叶子200B的IPv6地址 | 叶子200B的唯一ID | 2 |
第三服务器300”的IPv6地址 | 叶子200D的IPv6地址 | 叶子200D的唯一ID | 3 |
第四服务器300’的IPv6地址 | 叶子200B的IPv6地址 | 叶子200B的唯一ID | 4 |
第五服务器300”的IPv6地址 | 叶子200C的IPv6地址 | 叶子200C的唯一ID | 5 |
应该注意的是,第2列中的标识符不一定是唯一的,并且可能随着时间的推移变得过时(在这种情况下,全局拓扑表中的对应条目将被移除,如将在后面的描述中解释的。作为对照,第3列中的标识符是唯一的,并且随着时间的推移保持有效。此外,第2列和第3列中的标识符是指同一个设备(叶子交换机)。但是,在另一个实施方式中,中间节点(第2列)不是叶子交换机而是远程节点(第1列中的服务器)和客户端(第3列中的叶子交换机)之间的另一个装备(例如,另一个交换机)。
拓扑服务器500还存储客户端版本表,其包括用于拓扑服务器500已经从其接收到客户端联网数据的每个客户端(例如,叶子交换机200A、200B、200C和200D)的一个条目。每个条目包括客户端的唯一客户端标识符和对应的客户端版本号(每次客户端向拓扑服务器500发送新的客户端联网数据时由客户端传输)。客户端版本号用于将拓扑服务器500的全局拓扑表中存储的数据与客户端本地存储的数据同步。
以下是示例性客户端版本表。
叶子200A的唯一ID | 5 |
叶子200B的唯一ID | 1 |
叶子200C的唯一ID | 3 |
叶子200D的唯一ID | 2 |
本地拓扑表管理
现在同时参考图5和图6,图6中图示了计算设备。计算设备是图5中表示的叶子交换机的通用功能表示。虽然图6的计算设备具有用于图示目的的附图标记200A,但它表示叶子交换机200A、200B、200C和200D中的任何一个。
计算设备200A包括处理单元210、存储器220和至少一个通信接口230。计算设备200A可以包括附加组件(为了简化目的未在图6中表示)。例如,计算设备200A可以包括用户界面和/或显示器。
处理单元210包括能够执行计算机程序的指令的一个或多个处理器(图6中未表示)。每个处理器还可以包括一个或几个核心。处理单元210通常还包括一个或多个专用处理组件(例如,网络处理器、专用集成电路(ASIC)等),用于执行专门的联网功能(例如,分组转发)。
存储器220存储处理单元210执行的(一个或多个)计算机程序的指令、由处理单元210执行(一个或多个)计算机程序所生成的数据、经由(一个或多个)通信接口230接收到的数据等。图6中仅表示了单个存储器220,但是计算设备200A可以包括几种类型的存储器,包括易失性存储器(诸如,随机存取存储器(RAM))和非易失性存储器(诸如,硬盘驱动器、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)等)。TCAM(三元内容可寻址存储器)是联网装备经常用于存储转发条目的存储器的另一个示例。
每个通信接口230允许计算设备200A与其它设备交换数据。例如,至少一些通信接口230(为了简化目的在图6中仅表示两个)对应于图3、图4A和图4B中表示的叶子交换机200的端口。通信接口230的示例包括标准(电)以太网端口、光纤端口、适于接收小形状因子可插拔(SFP)单元的端口等。通信接口230通常是有线类型的;但也可以包括一些无线接口(例如,Wi-Fi接口)。每个通信接口230包括硬件和由硬件执行的软件的组合,用于实现通信接口230的通信功能。可替代地,用于实现通信接口230的通信功能的硬件和软件的组合至少部分地包括在处理单元210中。
现在同时参考图5、图6、图7A、图7B、图7C和图7D,图7A-D中图示了用于与拓扑服务器500执行联网信息的同步和重新同步的方法600。方法600的步骤由图5中表示的叶子交换机200A-D中的至少一些来执行。为了图示的目的,将参考图5和图6中表示的叶子交换机200A来描述方法600。
专用计算机程序具有用于实现方法600的步骤的指令。指令包含在叶子交换机200A的非暂态计算机程序产品(例如,存储器220)中。这些指令在由叶子交换机200A的处理单元210执行时提供用于执行与拓扑服务器500的联网信息的同步和重新同步。指令可经由诸如存储介质(例如,CD-ROM、USB钥匙扣等)之类的电子可读介质或经由通信链路(例如,通过通信接口230之一经由通信网络)传送至叶子交换机200A。
本地拓扑表已在先前关于图5进行了描述。存储在存储器220中的本地拓扑表最初是空的。方法600的步骤605、610和615的每次迭代填充本地拓扑表。
在下文中,考虑其中本地拓扑表包括多个条目,本地拓扑表中的最后一个条目具有本地版本号L1的阶段(在步骤605、610和615的一次或多次迭代之后)。
以下是本地拓扑表的简化示例性版本,其中仅提供最后一个条目的详细信息。
… | … |
… | … |
本地联网数据 | L1 |
方法600包括确定新的本地联网数据的步骤605。步骤605由处理单元210执行。新的本地联网数据的确定已在先前关于图5进行了描述。
方法600包括通过向本地拓扑表添加一个或多个新条目来更新本地拓扑表的步骤610。步骤610由处理单元210执行。一个或多个新条目包括新的本地联网数据和大于L1的相应增加的本地版本号。更新后的本地拓扑表中的最后一个条目具有本地版本号L2(大于L1)。
以下是当新的本地联网数据生成单个新条目时更新后的本地拓扑表的简化示例性版本。
… | … |
… | … |
本地联网数据 | L1 |
新的本地联网数据 | L2 |
方法600包括经由通信接口230向拓扑服务器500发送客户端同步消息的步骤615。步骤615由处理单元210执行。客户端同步消息包括新的本地联网数据(在步骤605处确定)和与(在步骤610处)更新后的本地拓扑表中的最后一个条目对应的本地版本号L2。
以下是当新的本地联网数据生成两个新条目时更新后的本地拓扑表的简化示例性版本。
… | … |
… | … |
本地联网数据 | L1 |
新的本地联网数据(部分1) | L2 |
新的本地联网数据(部分2) | L2’ |
在这种情况下,在步骤615处,客户端同步消息包括新的本地联网数据(部分1和部分2)和与更新后的本地拓扑表中的最后一个条目对应的本地版本号L2'(大于L2)。
服务器拓扑表和相关联的服务器版本号已经先前关于图5进行了描述。存储在存储器220中的服务器拓扑表初始为空并且具有初始服务器版本号(例如,0)。方法600的步骤625、630和635的每次迭代填充服务器拓扑表并更新相关联的服务器版本号。
在下文中,考虑其中服务器拓扑表包括多个条目和对应的服务器版本号S1的阶段(在步骤625、630和635的一次或多次迭代之后)。
以下是服务器拓扑表的简化示例性版本,其中仅提供最后一个条目的详细信息。
… |
… |
服务器联网数据 |
方法600包括经由通信接口230从拓扑服务器500接收服务器同步消息的步骤625。步骤625由处理单元210执行。服务器同步消息包括新的服务器联网数据和大于S1的新服务器版本号S2。
方法600包括通过向服务器拓扑表添加一个或多个新条目来更新服务器拓扑表的步骤630。步骤630由处理单元210执行。一个或多个新条目包括新服务器联网数据。
以下是当新服务器联网数据生成单个新条目时更新后的服务器拓扑表的简化示例性版本。
… |
… |
服务器联网数据 |
新的服务器联网数据 |
以下是当新服务器联网数据生成两个新条目时更新后的服务器拓扑表的简化示例性版本。
… |
… |
服务器联网数据 |
新的服务器联网数据(部分1) |
新的服务器联网数据(部分2) |
方法600包括将存储在存储器220中的服务器版本号从其当前值S1更新为新值S2(在步骤625处接收)的步骤635。步骤635由处理单元210执行。
步骤625-635独立于步骤605-615执行。因此,步骤625-635和605-615可以顺序或同时执行。
步骤615处发送的客户端同步消息是由叶子交换机200A主动发送或在从拓扑服务器500请求时发送。此外,客户端同步消息的正确接收的确认可以由拓扑服务器500发送到叶子交换机200A。未能接收到确认可以被认为是步骤650中提到的预定义事件之一。
类似地,在步骤625处接收到的服务器同步消息是由拓扑服务器500主动发送或在从叶子交换机200A请求时发送。未能接收到预期的服务器同步消息也可以被认为是步骤650中提到的预定义事件之一。
下面是对叶子交换机200A和拓扑服务器500之间的同步丢失的恢复机制的描述。
方法600包括确定预定义事件已经发生的步骤650。步骤650由处理单元210执行。预定义事件是在步骤615和625处阻止叶子交换机200A和拓扑服务器500之间交换同步消息的事件。预定义事件的示例包括叶子交换机200A和拓扑服务器500之间的网络连接故障、叶子交换机200A的重启等。
方法600包括经由通信接口230向拓扑服务器500发送加入消息的步骤655。步骤655由处理单元210执行。加入消息包括与当前存储在存储器220中的服务器拓扑表对应的当前服务器版本号(例如,S3)。在叶子交换机200A已从在步骤650处检测到的预定义事件的发生中恢复(例如,叶子交换机200A和拓扑服务器500之间的网络连接的恢复、叶子交换机200A的重启完成等)之后执行步骤655。
方法600包括经由通信接口230从拓扑服务器500接收服务器同步消息的步骤660。步骤660由处理单元210执行。服务器同步消息包括新的服务器联网数据、新的服务器版本号S4和估计的本地版本号L3。S4大于S3。
方法600包括通过向服务器拓扑表添加一个或多个新条目来更新服务器拓扑表的步骤665。步骤665由处理单元210执行。一个或多个新条目包括在步骤660处接收到的新服务器联网数据。
以下是当新服务器联网数据生成单个新条目时更新后的服务器拓扑表的简化示例性版本。当前存储在服务器拓扑表中的服务器联网数据(在步骤650-655-660发生之前)被简称为“服务器联网数据”。
… |
… |
服务器联网数据 |
新的服务器联网数据 |
以下是当新服务器联网数据生成两个新条目时更新后的服务器拓扑表的简化示例性版本。
… |
… |
服务器联网数据 |
新的服务器联网数据(部分1) |
新的服务器联网数据(部分2) |
方法600包括将服务器版本号从当前服务器版本号S3(在步骤655处发送)更新为新服务器版本号S4(在步骤660处接收)的步骤670。步骤670由处理单元210执行。
方法600包括确定估计的本地版本号L3(在步骤660处接收)低于与当前存储在存储器220中的本地拓扑表中的最后一个条目对应的当前本地版本号L4的步骤675。步骤675由处理单元210执行。
例如,在步骤650-655-660发生之前,本地拓扑表的简化示例性版本如下。
本地版本号L3和对应的本地联网数据已经由叶子交换机200A传输并且由拓扑服务器500接收(按照步骤615)。但是,一个或多个以下版本号(例如,L4)和对应的本地联网数据尚未被叶子交换机200A传输和/或未被拓扑服务器500接收(例如,因为在步骤650处检测到的预定义事件的发生)。因此,叶子交换机200A和拓扑服务器500不同步。
方法600包括经由通信接口230向拓扑服务器500发送客户端同步消息的步骤680。步骤680由处理单元210执行。客户端同步消息包括包含在本地拓扑表的具有大于L3的相应版本号的一个或多个条目中的本地联网数据(在步骤660处接收)。客户端同步消息还包括当前本地版本号L4。
在步骤680之后,叶子交换机200A和拓扑服务器500被重新同步。通过执行步骤605-615和/或步骤625-635,方法600返回到其标准操作模式。
在可替代用例中,在步骤660处接收到的服务器同步消息不包含新的服务器联网数据,但包含估计的本地版本号L3(以及可选的新服务器版本号S4,其等于S3)。当拓扑服务器500确定叶子交换机200A在服务器联网数据方面与拓扑服务器500同步,从而不需要从拓扑服务器500向叶子交换机200A传输新的服务器联网数据时,会发生这个用例。因此,步骤665和670不执行。为了简化起见,这个用例未在图7C中表示。
在另一个可替代用例中,估计的本地版本号L3(包含在步骤660处接收到的服务器同步消息中)等于与当前存储在存储器220中的本地拓扑表中的最后一个条目对应的当前本地版本号L4。在这种情况下,叶子交换机200A确定拓扑服务器500与叶子交换机200A在本地联网数据方面是同步的,因此不需要从叶子交换机200A向拓扑服务器500传输新的本地联网数据(按照步骤680)。因此,步骤675和680不执行(不发送客户端同步消息)。为了简化起见,这个用例未在图7D中表示。可替代地,客户端同步消息仅使用当前本地版本号L4发送,在这种情况下,该版本号等于估计的本地版本号L3。
在步骤615和680处发送的客户端同步消息以及在步骤655处发送的加入消息包含叶子交换机200A的标识符。该标识符在向拓扑服务器500发送这些消息的所有叶子交换机中是唯一的,从而允许拓扑服务器500识别所有叶子交换机(例如,200A、200B、200C、200D等)中的给定叶子交换机(例如,200A)。标识符的示例包括IP地址、MAC地址、叶子交换机生成的标识符等。
用于参考本地拓扑表和服务器拓扑表的术语“表”应广义地解释为包括能够存储包含在本地拓扑表和服务器拓扑表中的信息的任何类型的数据结构。此外,可以使用相同的数据结构来存储本地拓扑表和服务器拓扑表中包含的信息
当本地拓扑表中的条目变得过时(例如,远程节点的IP地址已更改)时,该条目从本地拓扑表中移除。存储本地拓扑表的叶子交换机(例如,200A)(例如,经由客户端同步消息)向拓扑服务器500通知过时信息。拓扑服务器500通过移除过时信息来更新其全局拓扑表。拓扑服务器500向其它叶子交换机(例如,经由服务器同步消息向200B、200C和200D)通知过时信息。其它叶子交换机分别通过移除过时信息来更新它们的服务器拓扑表。
虽然方法600已经被描述为由架构的叶子交换机来实现,但是方法600也可以由与拓扑服务器交互的其它类型的计算设备根据方法600的步骤来实现。
可以在拓扑服务器500和客户端(例如,叶子交换机200A、200B、200C和200D)之间使用附加的重新同步机制。当拓扑服务器500启动时,拓扑服务器500随机生成与客户端共享的编号,称为服务器代号。如果拓扑服务器500重新启动,那么拓扑服务器500生成新的服务器代号。在步骤650处确定预定义事件已经发生之后,服务器代号用于确定预定义事件是拓扑服务器500的重新启动。如果客户端当前存储的服务器代号与拓扑服务器500当前使用的服务器代号之间不匹配,那么确定拓扑服务器500已重新启动,并且执行拓扑服务器500和客户端的完全重新同步(其中交换由客户端和拓扑服务器500分别收集到的所有联网数据)。给定客户端第一次连接到拓扑服务器500时,给定客户端使用保留的服务器代号,其指示给定客户端从未与拓扑服务器500连接。在给定客户端和拓扑服务器500之间执行完全同步(其中交换由给定客户端和拓扑服务器500分别收集到的所有联网数据)。
全局拓扑表管理
现在同时参考图5和图8,拓扑服务器500的通用功能表示在图8中表示。
拓扑服务器500包括处理单元510、存储器520和至少一个通信接口530。拓扑服务器500可以包括附加组件(为了简化目的未在图8中表示)。例如,拓扑服务器500可以包括用户界面和/或显示器。
处理单元510包括能够执行计算机程序的指令的一个或多个处理器(未在图8中表示)。每个处理器还可以包括一个或几个核心。
存储器520存储处理单元510执行的(一个或多个)计算机程序的指令、由处理单元510执行(一个或多个)计算机程序所生成的数据、经由(一个或多个)通信接口530接收到的数据等。图8中仅表示了单个存储器520,但是拓扑服务器500可以包括几种类型的存储器,包括易失性存储器(诸如,随机存取存储器(RAM))和非易失性存储器(诸如,硬盘驱动器、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)等)。
每个通信接口530允许拓扑服务器500与其它设备交换数据。通信接口530的示例包括标准(电)以太网端口、光纤端口、适于接收小形状因子可插拔(SFP)单元的端口等。通信接口530通常是有线类型的;但也可以包括一些无线接口(例如,Wi-Fi接口)。通信接口530包括硬件和由硬件执行的软件的组合,用于实现通信接口530的通信功能。可替代地,用于实现通信接口530的通信功能的硬件和软件的组合至少部分地包括在处理单元510中。
现在同时参考图5、图8、图9A、图9B、图9C和图9D,图9A-D中图示了用于与多个叶子交换机执行联网信息的同步和重新同步的方法700。方法700的步骤由拓扑服务器500执行。为了图示的目的,将参考图5中表示的叶子交换机200A来描述方法700。但是,拓扑服务器500在执行方法700时与多个叶子交换机(例如,200A、200B、200C和200D)交互。
在剩余的描述中,与拓扑服务器500交互的叶子交换机也将被称为拓扑服务器500的客户端。
专用计算机程序具有用于实现方法700的步骤的指令。指令包含在拓扑服务器500的非暂态计算机程序产品(例如,存储器520)中。这些指令在由拓扑服务器500的处理单元510执行时提供以执行与多个叶子交换机的联网信息的同步和重新同步。指令可经由诸如存储介质(例如,CD-ROM、USB钥匙扣等)之类的电子可读介质或经由通信链路(例如,通过通信接口530之一经由通信网络)传送至拓扑服务器500。
全局拓扑表和客户端版本表已在先前关于图5进行了描述。存储在存储器520中的全局拓扑表和客户端版本表最初是空的。方法700的步骤705、710和715的每次迭代填充全局拓扑表和客户端版本表。
在下文中,考虑其中全局拓扑表包括多个条目,全局拓扑表中的最后一个条目具有服务器版本号S1的阶段(在步骤705、710和715的一次或多次迭代之后)。客户端版本表也包括多个条目。
以下是全局拓扑表的简化示例性版本,其中仅提供最后一个条目的详细信息。最后一个条目包括先前从叶子交换机200A接收到的客户端联网数据、叶子交换机200A的唯一客户端标识符(LEAF_A,用于图示目的)以及对应的服务器版本号S1。
以下是客户端版本表的简化示例性版本,其中仅提供前两个条目的详细信息。第一个条目包括叶子交换机200A的唯一客户端标识符(LEAF_A)及其对应的客户端版本号A_L1。第二个条目包括叶子交换机200B的唯一客户端标识符(LEAF_B)及其对应的客户端版本号B_L1。
LEAF_A | A_L1 |
LEAF_B | B_L1 |
… | … |
方法700包括经由通信接口530从多个客户端(例如,叶子交换机200A、200B、200C和200D之间)中的给定客户端(例如,叶子交换机200A)接收客户端同步消息的步骤705。步骤705由处理单元510执行。客户端同步消息包括给定客户端的客户端标识符(例如,LEAF_A)、新的客户端联网数据和新的客户端版本号(例如,A_L2)。步骤705对应于图7A中所示的方法600的步骤615。
方法700包括通过向全局拓扑表添加一个或多个新条目来更新全局拓扑表的步骤710。步骤710由处理单元510执行。一个或多个新条目包括新的客户端联网数据、发送客户端同步消息的客户端的客户端标识符(例如,LEAF_A)以及大于S1的相应增加的服务器版本号。更新后的全局拓扑表中的最后一个条目的服务器版本号为S2(大于S1)。
以下是当新客户端联网数据生成单个新条目时更新后的全局拓扑表的简化示例性版本。
以下是当新的客户端联网数据生成两个新条目时更新后的全局拓扑表的简化示例性版本。
… | … | … |
… | … | … |
客户端联网数据 | LEAF_A | S1 |
新的客户端联网数据(部分1) | LEAF_A | S2 |
新的客户端联网数据(部分2) | LEAF_A | S2’ |
以下是当新的客户端联网数据生成单个新条目并且更新之前的最后一个条目对应于叶子交换机200B而不是200A时更新后的全局拓扑表的简化示例性版本。
… | … | … |
… | … | … |
客户端联网数据 | LEAF_B | S1 |
新的客户端联网数据 | LEAF_A | S2 |
方法700包括使用在步骤705处接收到的新客户端版本号(例如,A_L2)更新与发送客户端同步消息的客户端的客户端标识符(例如,LEAF_A)对应的客户端版本表的条目的步骤715。A_L2大于A_L1。
以下是更新后的客户端版本表的简化示例性版本。
LEAF_A | A_L2 |
LEAF_B | B_L1 |
… | … |
在步骤705-710-715的每次迭代中,在步骤705处接收到的客户端同步消息源自与拓扑服务器500交互的多个叶子交换机(例如,200A、200B、200C和200D)中的一个。前面的示例已经被提供源自叶子交换机200A的客户端同步消息,但是可以被推广到源自任何叶子交换机的客户端同步消息。
每次拓扑服务器500从给定客户端(例如,叶子交换机200A)接收到新的客户端同步消息时,拓扑服务器500向其它客户端(例如,叶子交换机200B、200C和200D)发送服务器同步消息以将从给定客户端接收到的新客户端联网数据转发到其它客户端。
可替代地,在将服务器同步消息发送到客户端以分派经由新客户端同步消息接收到的新客户端联网数据之前,拓扑服务器500等待直到它接收到多个新的客户端同步消息(来自相同或不同的客户端)。给定客户端(例如,叶子交换机200A)仅接收具有源自其它客户端(例如,叶子交换机200B、200C和200D)的新客户端联网数据的(一个或多个)服务器同步消息。例如,服务器同步消息以固定间隔(例如,每30秒)发送,并且仅在需要时(如果已接收到一个或多个新客户端同步消息)发送。
方法700包括经由通信接口530向给定客户端(例如,叶子交换机200A)发送服务器同步消息的步骤725。步骤725由处理单元510执行。服务器同步消息包括存储在全局拓扑表中并对应于与给定客户端不同的一个或多个客户端的客户端联网数据,以及当前服务器版本号。例如,当前服务器版本号对应于当前存储在存储器520中的全局拓扑表中的最后一个条目。步骤725对应于图7B中所示的方法600的步骤625。
如前所述,每次执行步骤705发生时,执行步骤725的一个或多个对应发生,以发送一个或多个服务器同步消息,以将在步骤705处接收到的来自叶子交换机之一(例如,200A)的新联网数据分派到其它叶子交换机(例如,200B、200C和200D)。
可替代地,如前所述,在已经执行步骤705的几次发生之后,执行步骤725的一次或多次发生,以发送一个或多个服务器同步消息,以将在步骤705处接收到的来自叶子交换机中的一个或多个的新联网数据分派到各自不知道至少一些新联网数据的相应叶子交换机。
以下是在从叶子交换机200B接收到包括新客户端联网数据的客户端同步消息(按照步骤705)之后更新后的全局拓扑表的简化示例性版本。
… | … | … |
… | … | … |
客户端联网数据 | LEAF_B | S1 |
客户端联网数据 | LEAF_A | S2 |
新的客户端联网数据 | LEAF_B | S3 |
虽然为了简化目的未表示,但客户端版本表中对应于叶子交换机200B的条目也用新的客户端版本号(在705处接收)更新,如先前参考步骤715所详述的。按照步骤725将服务器同步消息与新的客户端联网数据和服务器版本号S3一起发送到叶子交换机200A(以及200C和200D)。
以下是在从叶子交换机200B接收到包括在更新后的全局拓扑表中生成两个条目的新客户端联网数据的客户端同步消息(按照步骤705)之后更新后的全局拓扑表的另一个简化示例性版本。
虽然为了简化目的未表示,但是客户端版本表中对应于叶子交换机200B的条目也用新的客户端版本号(在步骤705处接收)更新,如先前参考步骤715所详述的。按照步骤725将服务器同步消息与新的客户端联网数据(部分1和部分2)和服务器版本号S4一起发送到叶子交换机200A(以及200C和200D)。
以下是在从叶子交换机200B接收到包括新客户端联网数据的第一客户端同步消息(按照步骤705)和从叶子交换机200C接收到包括新客户端联网数据的第二客户端同步消息(按照步骤705)之后更新后的全局拓扑表的简化示例性版本。
… | … | … |
… | … | … |
客户端联网数据 | LEAF_B | S1 |
客户端联网数据 | LEAF_A | S2 |
新的客户端联网数据(叶子B) | LEAF_B | S3 |
新的客户端联网数据(叶子C) | LEAF_C | S4 |
虽然为了简化目的未表示,但是客户端版本表中对应于叶子交换机200B和200C的条目也用相应的新客户端版本号(在步骤705处接收)更新,如先前参考步骤715所详述的。
按照步骤725将服务器同步消息与新的客户端联网数据(来自叶子交换机B和C)和服务器版本号S4一起发送到叶子交换机200A(以及200D)。还按照步骤725将服务器同步消息与来自叶子交换机C的新客户端联网数据和服务器版本号S4一起发送到叶子交换机200B。还按照步骤725将服务器同步消息与来自叶子交换机B的新客户端联网数据和服务器版本号S4一起发送到叶子交换机200C。
在所有先前的示例中,假设叶子交换机先前已使用先前发送的直至服务器版本号S2的服务器同步消息更新(在适当时)。
以下是对叶子交换机200A和拓扑服务器500之间的同步丢失的恢复机制的描述。
方法700包括经由通信接口530从叶子交换机200A接收加入消息的步骤750。步骤750由处理单元510执行。加入消息包括叶子交换机200A的客户端标识符(LEAF_A)和估计的服务器版本号(例如,S4)。步骤750对应于图7C中所示的方法600的步骤655。
方法700包括确定全局拓扑表包括具有与叶子交换机200A的客户端标识符(LEAF_A)不同的客户端标识符和大于估计的服务器版本号(例如,S4)的服务器版本号的至少一个条目的步骤755。
以下是在步骤750处接收到加入消息时存储在存储器520中的全局拓扑表的简化示例性版本。
… | … | … |
… | … | … |
客户端联网数据 | LEAF_B | S1 |
客户端联网数据 | LEAF_A | S2 |
客户端联网数据 | LEAF_B | S3 |
客户端联网数据 | LEAF_C | S4 |
更新后的客户端联网数据 | LEAF_C | S5 |
更新后的客户端联网数据 | LEAF_B | S6 |
叶子交换机200A不知道全局拓扑表中与大于估计的服务器版本号S4的服务器版本号S5和S6对应的新条目。
方法700包括经由通信接口530向叶子交换机200A发送服务器同步消息的步骤760。步骤760由处理单元510执行。步骤760对应于图7C中所示的方法600的步骤660。
服务器同步消息包括与全局拓扑表的具有与叶子交换机200A的客户端标识符(LEAF_A)不同的客户端标识符和大于估计的服务器版本号(例如,S4)的服务器版本号(例如,S5和S6)的至少一个条目对应的客户端联网数据、当前服务器版本号和当前存储在客户端版本表中的叶子交换机200A的客户端版本。在示例性实施方式中,当前服务器版本号对应于当前存储在存储器520中的全局拓扑表中的最后一个条目(例如,S6)。
基于先前的示例性全局拓扑表,服务器同步消息包括与相应的服务器版本号S5和S6对应的更新后的客户端联网数据。服务器同步消息中发送的当前服务器版本号为S6。
以下是在步骤750处接收到加入消息时当前存储在存储器520中的客户端版本表的简化示例性版本。
LEAF_A | A_L2 |
LEAF_B | B_L1 |
… | … |
在步骤760处在服务器同步消息中发送的叶子交换机200A的客户端版本(当前存储在客户端版本表中)是A_L2。
方法700包括经由通信接口530从叶子交换机200A接收客户端同步消息的步骤765。步骤765由处理单元510执行。步骤765对应于图7D中所示的方法600的步骤680;并且类似于步骤705。
如前所述,客户端同步消息包括叶子交换机200A的客户端标识符(LEAF_A)、新的客户端联网数据和新的客户端版本号。
方法700包括通过向全局拓扑表添加一个或多个新条目来更新全局拓扑表的步骤770。步骤770由处理单元510执行。步骤770类似于步骤710。
如前所述,添加到全局拓扑表的一个或多个新条目包括在步骤765处接收到的新客户端联网数据、叶子交换机200A的客户端标识符(LEAF_A)和相应增加的服务器版本号。
以下是当新客户端联网数据生成单个新条目(具有新客户端联网数据和大于S6的服务器版本号S7)时更新后的全局拓扑表的简化示例性版本。
… | … | … |
… | … | … |
客户端联网数据 | LEAF_B | S1 |
客户端联网数据 | LEAF_A | S2 |
客户端联网数据 | LEAF_B | S3 |
客户端联网数据 | LEAF_C | S4 |
客户端联网数据 | LEAF_C | S5 |
客户端联网数据 | LEAF_B | S6 |
新的客户端联网数据 | LEAF_A | S7 |
以下是当新的客户端联网数据生成两个新条目(具有新的客户端联网数据和大于S6的相应增加的服务器版本号S7和S8)时更新后的全局拓扑表的简化示例性版本。
方法700包括用在步骤765处接收到的新客户端版本号更新与叶子交换机200A的客户端标识符(LEAF_A)对应的客户端版本表的条目的步骤775。步骤775类似于步骤715。
以下是在执行步骤775之前存储在存储器520中的客户端版本表的简化示例性版本。
LEAF_A | A_L2 |
LEAF_B | B_L1 |
… | … |
以下是具有在步骤765处接收到的新客户端版本号A_L3(大于A_L2)的更新后的客户端版本表(在执行步骤775之后)的简化示例性版本。
LEAF_A | A_L3 |
LEAF_B | B_L1 |
… | … |
在步骤750-755-760-765-770-775的序列之后,叶子交换机200A和拓扑服务器500被重新同步。通过执行步骤705-710-715和/或725,方法700返回到其标准操作模式。
在可替代用例中,在步骤750处接收到加入消息之后,处理单元510确定全局拓扑表不包括具有与叶子交换机200A的客户端标识符(LEAF_A)不同的客户端标识符和大于在加入消息中接收到的估计的服务器版本号的服务器器版本号的条目。处理单元510发送不包含客户端联网数据,但包含当前存储在客户端版本表中的叶子交换机200A的客户端版本的服务器同步消息。可选地,服务器同步消息还包括当前服务器版本号(例如,全局拓扑表中的最后一个条目的服务器版本号)。为了简化起见,这个用例未在图9C中表示。
在另一个可替代用例中,在步骤765处接收到的客户端同步消息中包含的新客户端版本号(例如,L3)等于当前存储在存储器520中的客户端版本表中的叶子交换机200A的当前客户端版本号(例如,L2)。在这种情况下,拓扑服务器500和叶子交换机200A是同步的,并且步骤770和775不执行。为了简化起见,这个用例未在图9D中表示。在这个用例中,叶子交换机200A也可以简单地不发送客户端同步消息,从而不执行步骤765、770和775。
用于参考全局拓扑表和客户端版本表的术语“表”应广义地解释为包括能够存储包含在全局拓扑表和客户端版本表中的信息的任何类型的数据结构。此外,可以使用相同的数据结构来存储全局拓扑表和客户端版本表中包含的信息。
为了图示的目的,已经参考叶子交换机200A描述了方法700。但是,方法700适用于与拓扑服务器500交互的任何叶子交换机(例如,200A、200B、200C和200D)。因此,拓扑服务器500按照步骤705从多个叶子交换机接收客户端同步消息,并且按照步骤725向多个叶子交换机发送服务器同步消息。此外,拓扑服务器500可以按照步骤750从多个叶子交换机中的任意一个接收加入消息、按照步骤760向多个叶子交换机中的任意一个发送对应的服务器同步消息,并且可以按照步骤760从多个叶子交换机中的任意一个接收对应的客户端同步消息。
如前所述,当叶子交换机的本地拓扑表中的条目变得过时(例如,远程节点的IP地址已更改)时,该条目从本地拓扑表中移除。存储本地拓扑表的叶子交换机(例如,200A)(例如,经由客户端同步消息)向拓扑服务器500通知过时信息。拓扑服务器500通过移除过时信息来更新其全局拓扑表。拓扑服务器500向其它叶子交换机(例如,经由服务器同步消息向200B、200C和200D)通知过时信息。其它叶子交换机分别通过移除过时信息来更新它们的服务器拓扑表。
虽然本公开已经在上文通过其非限制性、说明性实施例进行了描述,但是这些实施例可以在所附权利要求的范围内随意修改而不脱离本公开的精神和本质。
Claims (19)
1.一种计算设备,包括:
存储器,存储:
包括多个条目的本地拓扑表,每个条目包括本地联网数据和唯一本地版本号,本地版本号从与本地拓扑表中的第一个条目对应的第一个值增加到与本地拓扑表中的最后一个条目对应的最后一个值L1;
包括多个条目的服务器拓扑表,每个条目包括服务器联网数据;以及
服务器版本号S1;
通信接口;以及
处理单元,用于:
确定新的本地联网数据;
通过向本地拓扑表添加一个或多个新条目来更新本地拓扑表,所述一个或多个新条目包括新的本地联网数据和大于L1的相应增加的本地版本号;
经由通信接口向服务器发送客户端同步消息,客户端同步消息包括新的本地联网数据和与更新后的本地拓扑表中的最后一个条目对应的本地版本号L2,其中L2大于L1;
经由通信接口从服务器接收服务器同步消息,服务器同步消息包括新的服务器联网数据和大于S1的新的服务器版本号S2;
通过向服务器拓扑表添加一个或多个新条目来更新服务器拓扑表,所述一个或多个新条目包括新的服务器联网数据;以及
将服务器版本号从当前存储的服务器版本号S1更新为新的服务器版本号S2。
2.如权利要求1所述的计算设备,其中本地联网数据和服务器联网数据包括与远程节点相关的信息和中间节点的标识符。
3.如权利要求2所述的计算设备,其中与远程节点相关的信息包括远程节点的介质访问控制(MAC)地址、远程节点的互联网协议(IP)地址、远程节点的MAC地址和IP地址以及识别远程节点的网络连接的元组。
4.如权利要求2所述的计算设备,其中中间节点的标识符是中间节点的IP地址或MAC地址。
5.如权利要求2所述的计算设备,其中本地联网数据的中间节点是计算设备。
6.如权利要求1所述的计算设备,由数据中心的架构的叶子联网装备组成。
7.如权利要求1所述的计算设备,由数据中心的虚拟架构的叶子联网装备组成。
8.一种用于与服务器进行联网信息的同步的方法,所述方法包括:
在计算设备的存储器中存储包括多个条目的本地拓扑表,每个条目包括本地联网数据和唯一本地版本号,本地版本号从与本地拓扑表中的第一个条目对应的第一个值增加到与本地拓扑表中的最后一个条目对应的最后一个值L1;
在存储器中存储包括多个条目的服务器拓扑表,每个条目包括服务器联网数据;
在存储器中存储服务器版本号S1;
由计算设备的处理单元确定新的本地联网数据;
由处理单元通过向本地拓扑表添加一个或多个新条目来更新本地拓扑表,所述一个或多个新条目包括新的本地联网数据和大于L1的相应增加的本地版本号;
由处理单元经由计算设备的通信接口向服务器发送客户端同步消息,客户端同步消息包括新的本地联网数据和与更新后的本地拓扑表中的最后一个条目对应的本地版本号L2,其中L2大于L1;
由处理单元经由通信接口从服务器接收服务器同步消息,服务器同步消息包括新的服务器联网数据和大于S1的新的服务器版本号S2;
由处理单元通过向服务器拓扑表添加一个或多个新条目来更新服务器拓扑表,所述一个或多个新条目包括新的服务器联网数据;以及
由处理单元将服务器版本号从当前存储的服务器版本号S1更新为新的服务器版本号S2。
9.一种计算设备,包括:
存储器,存储:
包括多个条目的本地拓扑表,每个条目包括本地联网数据和唯一本地版本号,本地版本号从与本地拓扑表中的第一个条目对应的第一个值增加到与本地拓扑表中的最后一个条目对应的最后一个值;
包括多个条目的服务器拓扑表,每个条目包括服务器联网数据;以及
服务器版本号S3;
通信接口;以及
处理单元,用于:
确定已发生预定义事件;
经由通信接口向服务器发送加入消息,加入消息包括服务器版本号S3;
经由通信接口从服务器接收服务器同步消息,服务器同步消息包括新的服务器联网数据和大于S3的新的服务器版本号S4;
通过向服务器拓扑表添加一个或多个新条目来更新服务器拓扑表,所述一个或多个新条目包括新的服务器联网数据;以及
将服务器版本号从当前存储的服务器版本号S3更新为新的服务器版本号S4。
10.如权利要求9所述的计算设备,其中服务器同步消息还包括估计的本地版本号L3,并且处理单元还:
确定从服务器接收到的估计的本地版本号L3低于与当前存储在存储器中的本地拓扑表中的最后一个条目对应的当前本地版本号L4;以及
经由通信接口向服务器发送客户端同步消息,客户端同步消息包括包含在本地拓扑表的具有大于L3的相应版本号的一个或多个条目中的本地联网数据,以及当前本地版本号L4。
11.如权利要求9所述的计算设备,其中预定义事件包括计算设备和服务器之间的网络连接的故障,以及计算设备的重启。
12.如权利要求9所述的计算设备,其中本地联网数据和服务器联网数据包括与远程节点相关的信息和中间节点的标识符。
13.如权利要求12所述的计算设备,其中与远程节点相关的信息包括远程节点的介质访问控制(MAC)地址、远程节点的互联网协议(IP)地址、远程节点的MAC地址和IP地址以及识别远程节点的网络连接的元组。
14.如权利要求12所述的计算设备,其中中间节点的标识符是中间节点的IP地址或MAC地址。
15.如权利要求12所述的计算设备,其中用于本地联网数据的中间节点是计算设备。
16.如权利要求12所述的计算设备,由数据中心的架构的叶子联网装备组成。
17.如权利要求12所述的计算设备,由数据中心的虚拟架构的叶子联网装备组成。
18.一种用于与服务器进行联网信息的重新同步的方法,所述方法包括:
在计算设备的存储器中存储包括多个条目的本地拓扑表,每个条目包括本地联网数据和唯一本地版本号,本地版本号从与本地拓扑表中的第一个条目对应的第一个值增加到与本地拓扑表中的最后一个条目对应的最后一个值;
在存储器中存储包括多个条目的服务器拓扑表,每个条目包括服务器联网数据;
在存储器中存储服务器版本号S3;
由计算设备的处理单元确定已发生预定义事件;
由处理单元经由计算设备的通信接口向服务器发送加入消息,加入消息包括服务器版本号S3;
由处理单元经由通信接口从服务器接收服务器同步消息,服务器同步消息包括新的服务器联网数据和大于S3的新的服务器版本号S4;
由处理单元通过向服务器拓扑表添加一个或多个新条目来更新服务器拓扑表,所述一个或多个新条目包括新的服务器联网数据;以及
由处理单元将服务器版本号从当前存储的服务器版本号S3更新为新的服务器版本号S4。
19.如权利要求18所述的方法,其中服务器同步消息还包括估计的本地版本号L3,并且所述方法还包括:
由处理单元确定从服务器接收到的估计的本地版本号L3低于与当前存储在存储器中的本地拓扑表中的最后一个条目对应的当前本地版本号L4;以及
由处理单元经由通信接口向服务器发送客户端同步消息,客户端同步消息包括包含在本地拓扑表的具有大于L3的相应版本号的一个或多个条目中的本地联网数据,以及当前本地版本号L4。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/446,757 US10979300B2 (en) | 2019-06-20 | 2019-06-20 | Computing device and methods for synchronizing networking information with a topology server |
US16/446,757 | 2019-06-20 | ||
PCT/CA2020/050828 WO2020252567A1 (en) | 2019-06-20 | 2020-06-15 | Computing device and methods for synchronizing networking information with a topology server |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114073048A true CN114073048A (zh) | 2022-02-18 |
Family
ID=74036942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080044933.4A Pending CN114073048A (zh) | 2019-06-20 | 2020-06-15 | 用于与拓扑服务器同步联网信息的计算设备和方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10979300B2 (zh) |
EP (1) | EP3987716A4 (zh) |
CN (1) | CN114073048A (zh) |
WO (1) | WO2020252567A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884845A (zh) * | 2022-06-16 | 2022-08-09 | 中国工商银行股份有限公司 | 基于数据集成的多维度网络流量统计方法及装置 |
CN115208905A (zh) * | 2022-08-12 | 2022-10-18 | 杭州安恒信息技术股份有限公司 | 设备信息同步方法、装置、系统、电子装置和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6321236B1 (en) * | 1997-05-27 | 2001-11-20 | Arkona, Inc. | Distributing database differences corresponding to database change events made to a database table located on a server computer |
WO2008085869A2 (en) * | 2007-01-07 | 2008-07-17 | Apple Inc. | Synchronization methods and systems |
US7606175B1 (en) * | 2005-04-15 | 2009-10-20 | Nvidia Corporation | Extended service set mesh path selection |
CN101939953A (zh) * | 2007-12-04 | 2011-01-05 | 塔莱斯公司 | 用于将不稳定传播网络的路由表保持为最新的方法 |
US20140140220A1 (en) * | 2012-11-16 | 2014-05-22 | Pathangi Narasimhan Janardhanan | Packet switch modules for computer networks with efficient management of databases used in forwarding of network traffic |
CN105706400A (zh) * | 2013-11-05 | 2016-06-22 | 思科技术公司 | 网络结构覆盖 |
CN106599195A (zh) * | 2016-12-14 | 2017-04-26 | 北京邮电大学 | 一种海量网络数据环境下的元数据同步方法及系统 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4827411A (en) | 1987-06-15 | 1989-05-02 | International Business Machines Corporation | Method of maintaining a topology database |
US5101348A (en) | 1988-06-23 | 1992-03-31 | International Business Machines Corporation | Method of reducing the amount of information included in topology database update messages in a data communications network |
US7327683B2 (en) * | 2000-03-16 | 2008-02-05 | Sri International | Method and apparatus for disseminating topology information and for discovering new neighboring nodes |
WO2008149552A1 (ja) * | 2007-06-06 | 2008-12-11 | Athena Telecom Lab, Inc. | データベース矛盾解消方式 |
CN101425961B (zh) * | 2007-10-31 | 2012-04-04 | 华为技术有限公司 | 实现链路状态数据库同步方法、路由器及线路板、主控板 |
US8442045B2 (en) * | 2010-03-16 | 2013-05-14 | Force10 Networks, Inc. | Multicast packet forwarding using multiple stacked chassis |
CN102299904B (zh) * | 2010-06-23 | 2014-03-19 | 阿里巴巴集团控股有限公司 | 一种实现业务数据备份的系统及方法 |
CN102316028B (zh) * | 2011-08-24 | 2014-06-04 | 华为技术有限公司 | 发送因特网协议分组的方法及装置 |
CN103259727B (zh) * | 2012-08-31 | 2016-12-28 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
US9590914B2 (en) * | 2013-11-05 | 2017-03-07 | Cisco Technology, Inc. | Randomized per-packet port channel load balancing |
US9264347B2 (en) * | 2013-12-27 | 2016-02-16 | Dell Products L.P. | N-node virtual link trunking (VLT) systems control plane |
AU2015279979B2 (en) * | 2014-06-24 | 2018-03-01 | Google Llc | Processing mutations for a remote database |
CN107111594A (zh) * | 2014-09-24 | 2017-08-29 | V5系统公司 | 动态数据管理 |
CN105991343A (zh) * | 2015-04-09 | 2016-10-05 | 杭州迪普科技有限公司 | 特征库的升级方法及装置 |
US10264040B2 (en) * | 2016-08-03 | 2019-04-16 | Big Switch Networks, Inc. | Systems and methods to manage multicast traffic |
US10848416B2 (en) * | 2017-10-17 | 2020-11-24 | Juniper Networks, Inc. | Reduced configuration for multi-stage network fabrics |
US10917339B2 (en) * | 2018-12-21 | 2021-02-09 | Juniper Networks, Inc. | System and method for user customization and automation of operations on a software-defined network |
CN111865801B (zh) * | 2019-04-24 | 2021-10-22 | 厦门网宿有限公司 | 一种基于Virtio端口传输数据的方法和系统 |
-
2019
- 2019-06-20 US US16/446,757 patent/US10979300B2/en active Active
-
2020
- 2020-06-15 EP EP20826670.0A patent/EP3987716A4/en not_active Withdrawn
- 2020-06-15 WO PCT/CA2020/050828 patent/WO2020252567A1/en active Application Filing
- 2020-06-15 CN CN202080044933.4A patent/CN114073048A/zh active Pending
-
2021
- 2021-03-02 US US17/189,340 patent/US20210184938A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6321236B1 (en) * | 1997-05-27 | 2001-11-20 | Arkona, Inc. | Distributing database differences corresponding to database change events made to a database table located on a server computer |
US7606175B1 (en) * | 2005-04-15 | 2009-10-20 | Nvidia Corporation | Extended service set mesh path selection |
WO2008085869A2 (en) * | 2007-01-07 | 2008-07-17 | Apple Inc. | Synchronization methods and systems |
CN101939953A (zh) * | 2007-12-04 | 2011-01-05 | 塔莱斯公司 | 用于将不稳定传播网络的路由表保持为最新的方法 |
US20140140220A1 (en) * | 2012-11-16 | 2014-05-22 | Pathangi Narasimhan Janardhanan | Packet switch modules for computer networks with efficient management of databases used in forwarding of network traffic |
CN105706400A (zh) * | 2013-11-05 | 2016-06-22 | 思科技术公司 | 网络结构覆盖 |
US20180139132A1 (en) * | 2013-11-05 | 2018-05-17 | Cisco Technology, Inc. | Network fabric overlay |
CN106599195A (zh) * | 2016-12-14 | 2017-04-26 | 北京邮电大学 | 一种海量网络数据环境下的元数据同步方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884845A (zh) * | 2022-06-16 | 2022-08-09 | 中国工商银行股份有限公司 | 基于数据集成的多维度网络流量统计方法及装置 |
CN115208905A (zh) * | 2022-08-12 | 2022-10-18 | 杭州安恒信息技术股份有限公司 | 设备信息同步方法、装置、系统、电子装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US10979300B2 (en) | 2021-04-13 |
WO2020252567A1 (en) | 2020-12-24 |
EP3987716A4 (en) | 2023-07-12 |
US20210184938A1 (en) | 2021-06-17 |
US20200403873A1 (en) | 2020-12-24 |
EP3987716A1 (en) | 2022-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11290373B2 (en) | Method and system to avoid temporary traffic loss with BGP ethernet VPN multi-homing with data-plane mac address learning | |
EP3905598B1 (en) | Message processing method and apparatus, control plane device, and computer storage medium | |
US10212126B2 (en) | System for mediating connection | |
US10212072B2 (en) | Peer state synchronization mechanism for dynamic network address translation (DNAT) in a network element | |
US20210184938A1 (en) | Computing device and methods for synchronizing networking information with a topology server | |
US10673695B2 (en) | Computing device and method for performing a fabric deployment in a data center | |
US20230283486A1 (en) | Computing device and method for performing a secure neighbor discovery | |
US10924454B2 (en) | Computing device and method for generating a fabric-wide IPV6 address | |
US10873500B2 (en) | Computing device and method for generating a link IPV6 address | |
EP3827565B1 (en) | Computing device and method for optimizing the tunneling of ip packets | |
US7848258B2 (en) | Dynamically transitioning static network addresses | |
CN114073047A (zh) | 用于与客户端设备同步联网信息的服务器和方法 | |
CN106797408A (zh) | 具有分布式s/pgw架构的通信网络中的分布式ip分配和解分配机制 | |
EP2575306A1 (en) | OSPF nonstop routing synchronization nack | |
CN116762318A (zh) | 架构可用性和同步 | |
JP2005136690A (ja) | 高速ネットワークアドレス引継ぎ方法、ネットワーク装置及びプログラム | |
CN110505149B (zh) | 网络拓扑收集方法及装置 | |
CN106789370A (zh) | 一种交换机上电应用配置的方法 | |
US20220353093A1 (en) | Systems and methods for assigning a cryptographic identity to node-based systems |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40067919 Country of ref document: HK |