CN113169929B - 包括分解式网络元件的逻辑路由器 - Google Patents
包括分解式网络元件的逻辑路由器 Download PDFInfo
- Publication number
- CN113169929B CN113169929B CN201980077327.XA CN201980077327A CN113169929B CN 113169929 B CN113169929 B CN 113169929B CN 201980077327 A CN201980077327 A CN 201980077327A CN 113169929 B CN113169929 B CN 113169929B
- Authority
- CN
- China
- Prior art keywords
- network elements
- network
- port
- packet
- decomposed
- 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.)
- Active
Links
- 239000004744 fabric Substances 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims description 48
- 230000005641 tunneling Effects 0.000 claims description 4
- 230000006855 networking Effects 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims 2
- 230000006870 function Effects 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 24
- ORQBXQOJMQIAOY-UHFFFAOYSA-N nobelium Chemical compound [No] ORQBXQOJMQIAOY-UHFFFAOYSA-N 0.000 description 16
- 238000007726 management method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000005538 encapsulation Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 230000036541 health Effects 0.000 description 8
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 7
- 229910052710 silicon Inorganic materials 0.000 description 7
- 239000010703 silicon Substances 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 240000008213 Brosimum alicastrum Species 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 235000005828 ramon Nutrition 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 101100519877 Schizosaccharomyces pombe (strain 972 / ATCC 24843) phf2 gene Proteins 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 206010003402 Arthropod sting Diseases 0.000 description 1
- 101100478989 Caenorhabditis elegans swp-1 gene Proteins 0.000 description 1
- 101001046686 Homo sapiens Integrin alpha-M Proteins 0.000 description 1
- 101000935040 Homo sapiens Integrin beta-2 Proteins 0.000 description 1
- 102100022338 Integrin alpha-M Human genes 0.000 description 1
- 101000962498 Macropis fulvipes Macropin Proteins 0.000 description 1
- 101100029611 Schizosaccharomyces pombe (strain 972 / ATCC 24843) phf1 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 229910052796 boron Inorganic materials 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4645—Details on frame tagging
- H04L12/4666—Operational details on the addition or the stripping of a tag in a frame, e.g. at a provider edge node
-
- 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/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4675—Dynamic sharing of VLAN information amongst network nodes
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- 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/0893—Assignment of logical groups to network 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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/033—Topology update or discovery by updating distance vector protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/08—Learning-based routing, e.g. using neural networks or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/527—Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/111—Switch interfaces, e.g. port details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/113—Arrangements for redundant switching, e.g. using parallel planes
- H04L49/115—Transferring a complete packet or cell through each plane
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/252—Store and forward routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3054—Auto-negotiation, e.g. access control between switch gigabit interface connector [GBIC] and link
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/552—Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Train Traffic Observation, Control, And Security (AREA)
- Radio Relay Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
Abstract
逻辑路由器包括分解式网络元件,其用作单个路由器且未联接到公共底板。逻辑路由器包括实施网络织网的脊元件和叶元件,其中前板端口由叶元件定义。控制平面元件对脊单元和叶进行编程,以使逻辑路由器作用。控制平面可以定义操作***接口,其映射到叶元件的前板端口并由与遍历逻辑路由器的数据包相关联的标签引用。可以针对由控制平面元件实施的路由数据库实施冗余和检查点。逻辑路由器可以包括独立的织网,并且可以实施标签表,其用于根据出口端口和通过织网的路径来标记数据包。
Description
相关申请的交叉引用
本申请要求于2018年11月26日提交的申请号为62/771,407、标题为包括分解式网络元件的逻辑路由器的美国临时申请的权益,该临时申请的全部内容通过引用并入本文。
背景技术
数据中心已经变得越来越普遍和复杂。随着这种复杂性,使数据中心的计算机之间能够通信的网络的复杂性也在增加。特别地,需要减少并简化,并且能够为大量计算机配置网络路由容量。
附图说明
为了使本发明的优点容易理解,将通过参照附图中示出的特定实施例来对以上简要描述的本发明进行更具体的描述。应当理解的是,这些附图仅描绘了本发明的典型实施例,因此不应视为对本发明范围的限制,将通过使用附图以附加的特征和细节来描述和解释本发明,其中:
图1是根据本发明的实施例的逻辑路由器的示意性框图;
图2是根据本发明的实施例的用于路由逻辑路由器中的数据包的方法的进程流程图;
图3是根据本发明的实施例的与控制平面元件组合的逻辑路由器的示意性框图;
图4是根据本发明的实施例的与控制平面元件和管理LAN交换机组合的逻辑路由器的示意性框图;
图5是示出根据本发明的实施例的管理LAN交换机到逻辑路由器和控制平面元件的连接的示意性框图;
图6是根据本发明的实施例的用于对逻辑路由器进行编程和管理的组件的示意性框图;
图7是示出根据本发明的实施例的逻辑路由器的编程的示意性框图;
图8是示出根据本发明的实施例的逻辑路由器的接口的配置的示意性框图;
图9是根据本发明的实施例的配置逻辑路由器的接口的方法的进程流程图;
图10是示出根据本发明的实施例的路由(routing)逻辑路由器内带有接口标签的数据包的示意性框图;
图11是示出根据本发明的实施例的沿相反方向路由逻辑路由器内带有接口标签的数据包的示意性框图;
图12、图13和图14是示出根据本发明的实施例的逻辑路由器的控制元件之中的冗余和故障转移(fail over)的实施方案的示意性框图;
图15是根据本发明的实施例的独立逻辑路由器的示意性框图;
图16是根据本发明的实施例的图15的、包括用于标记从入口端口到出口端口的数据包的表的独立逻辑路由器的示意性框图;
图17是根据本发明的实施例的图15的、包括用于标记路由到控制器的数据包的表的独立逻辑路由器的示意性框图;
图18是根据本发明的实施例的用于建立独立逻辑路由器的方法的进程流程图;并且
图19是根据本发明的实施例的适用于实施方法的计算机***的示意性框图。
具体实施方式
将容易理解的是,如本文的附图中总体上描述和示出的,本发明的组件可以以多种不同的配置来布置和设计。因此,附图中所示的本发明的实施例的以下更详细的描述不旨在限制要求保护的本发明的范围,而仅表示根据本发明的当前设想的实施例的特定示例。通过参照附图将最佳地理解当前描述的实施例,其中相同的部分始终用相同的附图标记表示。
根据本发明的实施例可以实现为装置、方法或计算机程序产品。因此,本发明可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微型代码等)或本文中通常统称为“模块”或“***”的、软件与硬件组合方面的实施例的形式。此外,本发明可以采取以具有在介质中实现的计算机可用程序代码的表达的任意有形的高速介质实现的计算机程序产品的形式。
可以利用一种或多种计算机可用或计算机可读介质的任意组合。例如,计算机可读介质可以包括以下中的一个或多个:便携式计算机软盘、硬盘、随机存取存储器(RAM)装置、只读存储器(ROM)装置、可擦可编程只读存储器(EPROM或闪存)装置、便携式光盘只读存储器(CDROM)、光学存储装置和磁性存储装置。在所选择的实施例中,计算机可读介质可以包括任意非暂时性介质,其可以包含、存储、通信、传播或传输供指令运行***、设备或装置使用或与其结合使用的程序。
可以以一种或多种编程语言的任意组合来编写用于执行本发明的操作的计算机程序代码,包括:面向对象的编程语言,诸如Java、Smalltalk、C++等;或者常规的过程编程语言,诸如“C”编程语言或类似的编程语言,并且还可以使用描述性或标记语言,诸如HTML、XML、JSON等。程序代码可以全部在计算机***上作为独立软件数据包运行、在独立硬件单元上运行、部分在距计算机一定距离的远程计算机上执行、或者全部在远程计算机或服务器上执行。在后者情况下,远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任意类型的网络连接到计算机,或者可以连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。
下面参照根据本发明的实施例的方法、设备(***)和计算机程序产品的流程图和/或框图描述本发明。将理解的是,流程图和/或框图的每个方框以及流程图和/或框图中的方框的组合可以由计算机程序指令或代码来实现。可以将这些计算机程序指令提供给通用计算机、专用计算机或其它可编程数据处理设备的处理器以生产机器,使得经由计算机或其它可编程数据处理设备的处理器运行的指令创建用于实施流程图和/或框图一个或多个方框中指定的功能/动作的装置。
这些计算机程序指令还可以存储在非暂时性计算机可读介质中,其可以指导计算机或其它可编程数据处理设备以特定方式作用,使得计算机可读介质中存储的指令生成包括指令装置的制品,该指令装置实施流程图和/或框图一个或多个方框中指定的功能/动作。
计算机程序指令还可以被加载到计算机或其它可编程数据处理设备上,以使对计算机或其它可编程设备执行的一系列操作步骤产生计算机实施进程,使得在计算机或其它可编程装置上运行的指令提供用于实施流程图和/或框图一个或多个方框中指定的功能/动作的进程。
本文公开的***和方法涉及用于计算机数据路由***的逻辑路由器。具体地,本文描述的***和方法涉及一种逻辑路由器“机箱(chassis)”,其由不一定在相同机箱中或联接到机箱的相同底板的一组分解式网络元件形成。逻辑路由器可以包括具有分布式数据平面的管理和控制的单个逻辑点。逻辑路由器还包括卸载到外部计算***的控制平面,以便减小网络拓扑大小。这还允许控制平面迁移到其它计算机***,以利用新一代的中央处理器(CPU)。可以使用并入本文公开的***和方法中的专用网络组件来实施包括逻辑路由器的分解式网络元件。在下面公开的实施例中,网络元件包括诸如博通(BROADCOM)开发的JERICHO(杰里科)2和RAMON(拉蒙)的硅装置。这些仅仅是示例性的,并且提供这些装置的基本网络路由功能的其它网络元件也可以类似的方式使用。
图1示出了逻辑路由器100的示例架构。如图1所示,逻辑路由器100包括多个脊元件(spine element)102、多个叶元件(leaf element)104以及将每个脊元件102联接到一个或多个叶元件104的织网(fabric)接口106。在下面的示例中,脊元件102是RAMON类的硅装置,叶元件104是一组多个JERICHO 2类的硅装置。装置102、104的织网接口106可以通过诸如10G或100G以太网线缆、光纤线缆或其它类型的网络连接的网络线缆彼此联接。
在逻辑路由器100中,每个脊元件102用作自路由(self-routing)织网的织网元件。这种自路由织网在硅中实施所有相关联的路由协议,包括在不需要任何软件辅助的情况下处理链路故障。如图1所示,逻辑路由器中的每个织网元件通过织网接口与一个或多个叶元件104接口连接。叶元件104的集合可以被用于实施基于单元的织网,在基于单元的织网中叶元件104的集合将数据包拆分为单元。这些单元遍及基于单元的织网分布并在从叶元件104中的一个离开时重新组合。这种实施方案允许更有效地利用织网。每个叶元件104还可以利用允许叶元件104与网络通信的网络接口108来配置。
图2示出了可以使用逻辑路由器100来实施的示例方法200。特别地,方法200示出了使用逻辑路由器100进行端到端数据包调度的实施方案。方法200可以由外部控制器(参见下面对控制元件300的讨论)或在叶元件104上运行的代码来实施,诸如其入口端口接收根据方法200处理的数据包的叶元件104。
方法200可以包括:通过逻辑路由器100,将数据包排队202到与逻辑路由器100相关联的入口上,诸如在其端口接收数据包的叶元件104中的一个上。接着,入口将队列请求发送204到逻辑路由器100,诸如发送到与数据包的目的地地址相对应的第二叶元件104。与逻辑路由器100相关联的出口(例如,第二叶元件104)利用信用授予(credit grant)来响应。最后,入口将数据包发送到出口,诸如由脊元件102实施的织网。
参照图3,针对下面的设计考虑,如本文所公开的逻辑路由器100提供以下期望性能:
·***吞吐量
·逻辑机箱配置
·机箱启用引导(bootstrapping)
·机箱规模(scaling)
·***状态规模
·调试和故障排除(troubleshooting)
·应对织网故障、软件故障和组件故障的韧性
在图3的实施例中,脊元件102联接到叶元件104以实施一级状态Clos(克洛斯)织网。特别地,每个叶元件104可以联接到每个脊元件102。
图3的***可以具有以下属性:提供具有由可以是JERRICHO 2硅装置的叶元件104实施的480x400G或1920x100G端口的48个叶元件104接口规模。在可选规模中,可能存在提供240x400G端口或960x100G端口的24个叶元件。为了本公开的目的,符号“AxB”指示A端口具有B吞吐量。图3的配置是出于说明性目的,并且可以类似的方式使用其它装置的其它配置。
在所示的实施例中,存在13个脊元件102。图3的逻辑路由器架构中的脊元件102可以各自包括一个或多个元件,诸如一个或多个RAMON类元件。在一些实施方案中,脊轮廓(即,脊元件102的组成)可以包括单个24端口RAMON类元件和两个48端口RAMON类元件。
图3的逻辑路由器100还包括48个叶元件。可以使用实施400GQSFP-DD(双密度四小型可插拔连接,quad small form-factor pluggable connection double density)的光学连接器和400G协议的通信链路,将每个脊元件102与每个叶元件104接口连接。然而,也可以使用其它连接器类型和协议。在一些实施方案中,每个叶元件104由单个J2类硅装置组成,其包括10X400或40X100接口、BROADWELL(8核)CPU和32GB RAM(随机存取存储器)。每个叶元件104可以利用用于与外部网络通信的40X100G接口来配置。
在一些实施方案中,逻辑路由器100可以由使用计算***(例如,参见下文描述的图19的示例计算***)实施的一个或多个控制平面元件300来管理。控制平面元件是逻辑路由器外部的计算机***(即,逻辑路由器100的这些组件之中的叶元件104、脊元件102和互连织网)。每个控制平面元件300可以使用例如10G通信链路与一个或多个叶元件104接口连接。控制平面元件300可以用作配置代理,其执行路由器状态管理,以便利用逻辑路由器100实施机箱抽象模型,使得逻辑路由器的分离元件102、104用作单个路由器,如同在公共机箱中并连接到公共底板一样。
参照图4,逻辑路由器100可以通过管理和控制的单点来管理。管理LAN(局域网)交换机400执行逻辑路由器100和相关控制平面元件300的所有管理和控制功能。可以通过管理LAN交换机400来管理逻辑路由器100,逻辑路由器100包括与多个叶元件104接口连接的多个脊元件102,而多个叶元件104还与控制平面元件300接口连接。管理LAN交换机400可以与脊元件102、叶元件104和控制平面元件300中的每一个接口连接。
参照图5,LAN交换机400可以以图示的方式与逻辑路由器100的元件接口连接。例如,叶元件104a和叶元件104b可以各自独立地与控制平面元件300连口连接。叶元件104a、104b和控制平面元件300中的每一个都独立地与管理LAN交换机400接口连接。在一些实现方案中,虽然也可以使用其它连接类型,但是管理LAN交换机的接口的每一个经由2X10G链路实施的。
每个叶元件104a、104b与控制平面元件300之间的接口可以与带内(in-band)网络500和主机数据包路径相关联。另一方面,与管理LAN交换机400的每个接口可以与带外(OOB,out-of-band)网络502相关联。管理LAN交换机400可以通过OOB网络502与元件104a、104b、300进行通信,以执行诸如启用引导/图像下载、***状态分布以及收集***统计信息和类似数据的功能。
参照图6,与逻辑路由器100相关联的软件可以包括路由处理器软件600、路由器状态数据库602和线卡软件604(本文中也称为线卡软件模块604)。在逻辑路由器100的一些实施方案中,所有软件作为容器部署和管理。路由处理器软件600可以对加载到其上的装置进行编程,以与路由器状态数据库602双向共享关于***状态和统计信息的数据。路由器状态数据库602可以被编程,以与线卡软件604双向共享关于***状态和统计信息的数据。
在一些实施方案中,路由处理器软件600实施下面的功能或数据结构:
·***范围内的接口控制(遍布逻辑路由器100的元件102、104)
·路由协议、ARP(地址解析协议)、IPv6 ND(互联网协议v6邻居发现)
·路由信息库(RIB)
·向北API(应用编程接口)
·配置管理
·数据存储
·Linux主机路径
·遥测
·特征-ACL(访问控制列表)、QoS(服务质量)、CoPP(控制平面策略)
·虚拟机箱管理
在一些实现方案中,路由器状态数据库602包括下面的功能或数据结构:
·路由器状态
·统计信息
·共享
·复制
·聚群
在一些实现方案中,线卡软件604利用下面的功能或数据结构来实施:
·ASIC(专用集成电路)/SDK(软件开发套件)编程
·统计资料
·线卡卸载(BFD(双向转发检测)、LLDP(链路层发现协议)、SFlow(采样流)等)
图7描绘了如何在实际逻辑路由器实现方案中实施三个软件构建块600、602、604。如图7所示,可以在每个脊元件102和每个叶元件104中实施分离的线卡软件模块604(即,线卡软件604的实例)。线卡软件模块604中的每一个与主要控制平面元件300中的路由器状态数据库602(“路由器状态DB 602a”)通信。主要控制平面元件300a还可以运行路由器处理器软件600(本文中也称为路由处理器模块600)的实例。如图7所示,主要控制平面元件300a与第一次要控制平面元件300a共享数据。如图7所示,第一次要控制平面元件300b与第二次要控制平面元件300c共享数据。第一次要控制平面元件300a和第二次要控制平面元件300b中的每一个分别包括路由器状态数据库602b、602c,以实施诸如数据冗余的功能。如本文所讨论的,在主要控制平面元件300a发生故障的情况下,第一次要控制平面元件300b和第二次要控制平面元件300c可以各自用作备用。
如上面关于图1至图7所描述的,逻辑路由器100与控制元件300和管理LAN交换机400可以一起在下面描述的各种操作场景中使用。
图8示出了通过逻辑路由器100生成接口的场景。如图8所示,在LINUX计算***上运行的控制平面元件300包括元件状态数据库800和路由处理器600。尽管全文描述了LINUX计算***,但是也可以使用其它操作***,诸如UNIX、MACOS、MICROSOFT WINDOWS或本领域已知的其它操作***的其它变体。
可以是路由器状态数据库602的一部分或等同于路由器状态数据库602的元件状态数据库800可以联接到每个脊元件102和叶元件104以形成逻辑路由器100的一部分。元件状态数据库800可以存储与每个脊元件102和叶元件104相关联的数据,诸如其配置信息(端口,端口与其它元件102、104、300的连接,元件102、104、300的地址等)。控制平面元件300可以使用本文公开的织网发现技术(例如,LSoE、LLDP)中的任意一种来发现该信息。元件状态数据库800将该数据提供给路由处理器。针对每个脊元件102和叶元件104上的每个接口,路由处理器600在路由处理器600自身创建唯一接口(图8中的swp1/1……swp1/40、swp2/1……swp2/40……swp48/1……swp48/40),其中符号swpA/B表示元件A(即,脊元件102或叶元件104)的端口B上的接口。唯一接口可以是Linux接口。在使用另一类型的操作***的情况下,可以根据该操作***创建网络接口。路由处理器可以针对逻辑路由器100的所有分解式元件102、104创建所有接口状态。图9示出了创建唯一接口的流程图。
参照图9,控制平面元件300可以执行所示出的方法900。方法900包括:控制平面元件300的元件状态数据库800接收902与到达逻辑路由器100的脊元件102和叶元件104相关联的数据。元件数据库800将在步骤902接收的数据通知904给在控制平面元件300上运行的路由处理器600。然后,路由处理器参照在步骤902接收的数据针对每个脊元件102和叶元件104创建906唯一接口,诸如LINUX接口。
一旦已经在运行路由处理器600的控制元件300上的LINUX(或其它操作***)实例中创建了接口,则可以将单独的叶元件104的前板上的实际接口“拼接(stitch)”到与其相对应的已创建接口。实现其的一种方式是向每个叶元件104上的每个前板接口分配唯一VLAN(虚拟LAN)标签,每个VLAN标签被进一步映射到在控制元件300上创建的接口中的一个。
图10示出了使用根据方法900创建并与叶元件104的接口相关联的接口的数据包路由的示例。叶元件104a上运行的软件接收数据包1000并编程数据路径中的规则,其查找与数据包1000的目的地相对应的入口接口,并将相应的VLAN标签添加到数据包以获得数据包1002,并将数据包1002与标识叶元件104b的出口端口的目的地标识符一起转发到连接到控制平面元件300的叶元件104b。可以在不执行TTL(生存时间,Time To Live)递减的情况下将数据包1002发送到叶元件104b。数据包1002通过一个或多个脊元件102的方式发送到出口叶元件104b。如在图10中显而易见的,数据包1002可以包括用于通过织网106路由数据包1002的信息,例如“BCM Fabric Header,dest=2005”(BCM=BROADCOM)。
出口叶104b在接收到数据包1002时将其转发到控制平面元件300。然后,在控制平面元件300上运行的LINUX实例标识由数据包1002的VLAN标签引用的接口1004,剥离VLAN标签,并将剥离后的数据包1006注入相应的接口1004。数据包1006照常流经Linux数据路径,并且诸如边界网关协议(BGP)模块的应用1008看到该数据包进入接口1004。
图11示出了相对于图10所示的相反方向的传输。应用1008根据数据包的目的地和由路由数据库602定义的路由将数据包1100注入到适当的接口1004中。诸如LINUX数据路径的数据路径可能已被编程,以将每个接口映射到唯一地标识出数据包的目的地地址的出口前板接口的VLAN标签。
特别地,入口叶104b(连接到控制平面元件300)从应用1008接收数据包1100,并针对适当的出口叶104a查找VLAN标签,出口叶104a即数据包应该根据如上所述的路由数据库602的编程而被路由到的出口叶。入口叶104b利用VLAN标签标记数据包1100并且通过逻辑路由器100的元件102、104将所标记的数据包1102转发到出口叶104a(参见数据包1104)。出口叶104a剥离VLAN标签,并将剥离后的数据包1106转发到正确的前板端口的外部,即,与VLAN标签相关联、并且对应于与数据包的目的地相对应的路由、并且根据路由数据库602进行编程的前板端口。
参照图12、13和14,可以对逻辑路由器100和控制平面元件300进行编程,以实施下面功能中的一些或所有:
·进程层重启
·路由处理器冗余
·路由状态数据库冗余
·织网元件、链接故障
图12、图13和图14的示例及其相应的讨论示出了如何使用包括多个控制平面元件300来提供抵抗故障的逻辑路由器100的实施方案。
图12示出了用于实施高可用性逻辑路由器100的控制平面元件300的配置。如图12所示,三节点控制平面元件集群包括控制平面元件300a、300b、300c。控制平面元件300a是主要控制平面元件,其运行路由处理器600的实例600a,其被指定为主要路由处理器600a。控制平面元件300b运行路由处理器600的实例600b,其被指定为次要路由处理器600b。在该示例中,控制平面元件300c不运行路由处理器600的实例。
每个控制平面元件300a、300b、300c可以分别包括单独的路由器状态数据库602a、602b、602c。路由处理器600a、600b中的每一个在另一路由处理器600b、600a上运行健康检查诊断(600b检查600a,600a检查600b)。如图12所示,主要路由处理器600a可以将控制平面元件300a、300b、300c中的每一个与每个路由器状态数据库602a、602b、602c接口连接。
控制平面元件300a中的路由器状态数据库602a与控制平面元件300b中的路由器状态数据库共享健康检查复制数据。路由器状态数据库602b与控制平面元件300c中的路由器状态数据库602c共享健康检查复制数据。通过这种方式,与主要和次要路由处理器600a、600b的健康相关联的数据被冗余地存储在多个数据库602a、602b、602c上。
在一些实施方案中,主要路由处理器600a在路由器状态数据库602a、602b、602c中检查所需状态。如图12所示,可以在所有集群节点上产生路由器状态数据库602a、602b、602c。此外,可以在内部复制路由器状态数据库602a、602b、602c的数据碎片以用于冗余,并且每个路由处理器600a、600b可以执行内部健康检查以检测故障转移。如图13所示,在对主要路由处理器600a的健康检查失败的情况下,所示的次要路由处理器600b可以成为主要路由处理器,并接管主要路由处理器600a的功能。
图13示出了主要路由器600a的故障以及主要状态到次要路由处理器600b的转移。如图所示,次要路由处理器600b与路由器状态数据库602a、602b和602c中的每一个建立连接,并读取检查点数据以恢复***状态(例如,每个检查点的次要路由处理器600b的状态和/或逻辑路由器100的元件102、104的状态)。因此,次要路由处理器600b接管主要路由处理器600a的角色。通过这种方式,可以重新建立与相邻控制平面元件300a、300c的连接,并且可以顺利重启。例如,一旦***状态已经恢复,则新的主要路由处理器600a的功能可以如上面关于路由处理器600a的功能所描述的那样继续进行。
参照图14,一些实施方案还可包括解决主要控制平面元件300a的故障的措施。主控平面元件发生故障的示例场景如图14所示。
在主要控制平面元件300a发生故障的情况下,响应于在主要路由处理器600a上进行的一个健康检查期间检测到故障,主管次要路由处理器600b的控制平面元件300b可以承担主控平面元件的角色。然后,如图14所示,路由处理器600b将承担主要路由处理器的角色,并与健康路由器状态数据库602b、602c建立连接。路由状态数据库602b、602c可以被配置成在内部处理与主要控制平面元件300a的故障相关联的任何碎片故障转移。
上面关于图1至图14描述的实施例可以提供下面的功能和益处:
·基于织网的Clos的基于现有硅网络装置,诸如JERICHO 2和RAMON类装置。
·自路由织网
·基于单元的高效负载平衡
·端到端调度
·控制平面在外部服务器上运行
·逻辑机箱管理
·单盒外观和感受
·可缩放的冗余路由状态数据库
·所有层的弹性
图15至图18示出了用于实施逻辑路由器100的可选方法。可选方法包括路由底板织网,其使用独立的交换机作为底板的脊单元。底板自身基于经由前板端口拼接的Clos织网。使用下面的主要组件实现路由底板结构:
·第3层(L3)织网端口
·LSoE(以太网链路状态),用于发现织网邻居
·边界网关协议最短路径优先(BGP-SPF)控制平面,用于单元间IP可达性
·用于“交换机端口”发现的BGP-SPF扩展
·至/自远程“交换机端口”的多协议隧道交换(MPLS)隧道设置
要注意的是,在该设计中,LSoE和BGP-SPF是标准化协议,用于基于分解式机箱的逻辑路由器100构建路由底板。下面将详细讨论这种路由底板的设计。
图15示出了使用独立的底板结构来实施的逻辑路由器100的物理连接性。在该实施方案中,中央控制器1500与N个脊单元1502(SU-1至SU-N)接口连接。每个脊单元1502的前板端口中的每一个可以被指定为织网端口。该***还包括M个线路单元1504(LU-N+1至LU-N+M)。线路单元1504的底板端口也可以被指定为织网端口。控制器可以类似地实施联接到脊单元1502的织网端口。N个脊单元1502中的每一个可以使用脊单元1502的织网端口和线路单元1504的织网端口与M个线路单元1504中的每一个接口连接。此外,M个线路单元1504中的每一个可以包括X个前板端口,每一个前板端口被指定为交换机端口。在图15中,使用下面的符号:
·LU:线路单元
·SU:脊单元
·N:脊单元的数量
·M:线路单元的数量
·X:每个线路单元上的交换机端口的数量
·swpA/B:线路单元A上的交换机端口编号B
·fpA/B:单元A上的织网端口编号B(控制器、脊单元或线路单元从0到N+M的编号)。
图15的实施例可以使用与上面关于图1至图14描述的相同的Clos连接性。Clos连接性可以用于分布由用户配置和路由控制平面所产生的内部交换机状态,以及用于需要流经单元1502、1504的运行时间操作数据,以实施独立的底板结构。
由脊单元1502的织网端口与线路单元1504之间的相互连接实施的底板织网提供遍布所有线路单元1504和控制器1500的数据业务数据包传输。MPLS路由织网可以用作遍布所有线路单元1504和控制器织网端口的传输底层。织网可能具有下面的性能中的一些或所有:
·每个线路单元1504织网端口被自动配置为具有专用IP(互联网协议)地址的内部织网VRF(虚拟路由和转发)中的第3层路由端口。
·BGP-SPF用作内部织网路由协议,以在织网VRF内的所有织网端口之间建立第3层可达性。
·每个线路单元1504、脊单元1502和控制器节点1500在其本地织网端口上运行BGP-SPF路由协议的实例。
·LSoE用作发现协议,以发现第3层织网邻居和相应封装。
·LSoE学习的邻居被推入BGP,以通过直接连接的第2层织网端口调用BGP-SPF会话。
·作为结果,在织网中的每个叶-脊连接上建立BGP-SPF同级化(Peering)。
·在每个节点上学习织网拓扑,并经由BGP-SPF计算来建立到每个路由的织网端口的织网-VRF IP可达性。
·进一步设置MPLS传输,并在本文的后面更详细地描述。
包括外部BGP同级化、IGP(内部网关协议)路由协议、ARP和ND(邻居发现)的逻辑路由器100的大多数面向外部的控制平面可以被主管在控制器节点1500上。换言之,除了遍布所有节点1500、1502、1504分布的底板织网控制平面之外,大多数逻辑路由器控制平面功能可以被集中在控制器节点1500上。然而,所示架构将允许特定功能(诸如BFD(双向转发检测)、LLDP(链路层发现协议)、VRRP(虚拟路由器冗余协议,)和LSoE)根据需要在线路单元1504之间分布。单元1502、1504的数据路径可以被相应地编程,以将本地绑定的数据包发送到本地CPU(用于分布式功能)或者将其发送到控制器节点1500(以实施集中式控制平面)。
在控制器节点1500上运行的集中式逻辑路由器控制平面驱动在线路单元1504之间分布的数据平面的编程。一级转发模型被定义为以下中的一种:(a)所有第3层路由在入口线路单元1504上查找完成,以及(b)结果重新写入和出口端口在入口线路单元1504上被解析。所有结果封装重新写入被放置在数据包上,并且将数据包发送到具有结果出口端口信息的底板传输织网上的出口线路单元1504。所有数据包编辑发生在入口线路单元1504。出口线路单元1504简单地在出口端口1504上转发数据包。如上定义的一级转发模型在该逻辑路由器100中的独立的线路单元1504之间进行模拟,以实现在线路单元之间的第3层转发:
·L1重新写入被解析并写入到入口线路单元(LU)1504上
·通过MPLS隧道,将数据包传输到出口LU 1504
·MPLS标签解析出口LU 1504上的出口端口
在一些实施例中,如上所述,所有线路单元1504的前板端口(除了被指定为织网端口的端口外)被指定为外部交换机端口。这些交换机端口中的每一个将表示为逻辑路由器100中的接口。所有逻辑路由器接口将表示为在控制器1500上的数据平面、控制平面和管理平面中以及在所有线路单元1504的数据平面中。例如,将在所有线路单元1504上的数据平面中对表示线路单元3上的端口2的接口“swp3/2”进行编程。在控制器节点1500上主管的管理平面中以及在控制器1500上主管的路由控制平面中也将是可见的。
在一些实施例中,所有路由器接口,包括远程线路单元1504上的路由器接口,在每个线路单元1504上的数据平面中进行编程,以便完成如上定义的线路单元1504之间的一级转发。线路单元1504上的本地接口简单地解析为本地端口。然而,在线路单元1504上的远程接口在数据平面中进行编程,使得将该远程接口输出的数据包发送到远程线路单元1504,以从远程线路单元1504上的相应路由器端口中输出。为此目的,设置底层织网传输隧道,以拼接到线路单元1504的出口的数据路径,并且可以使用覆盖封装来识别出口线路单元1504上的路由器端口。
关于传输隧道和覆盖封装,存在两种选择可以用于此目的:
·纯IP织网传输(IP隧道)和VXLAN(虚拟可扩展LAN)覆盖封装(诸如虚拟网络标识符(VNID))以识别出口端口
·MPLS架构传输(诸如标签交换路径(LSP))和MPLS覆盖内部标签,以识别出口端口
在该架构中可以使用MPLS传输和覆盖。但是,整体架构不排除使用IP传输与VXLAN隧道来实现。
为了改善或优化数据包上的内部标签封装的数量,可以将传输标签和接口标签折叠成单个标签,其既标识物理端口又提供至/自主管物理接口的线路单元1504的传输LSP。该覆盖标签识别用于朝向出口线路单元1504(例如,出口线路卡)和接口的交换的出口流量的出口接口,以及用于需要接入到主管在该接口上运行的路由协议的控制器1500的接口的入口流量的入口接口。为此目的,可以定义两个内部标签分配:
·针对每个本地端口(LC,端口)分配的出口标签,用于从入口LU隧道到远程出口端口,识别交换的流量的出口端口
·针对每个(控制器,端口)分配的入口标签,用于从入口LU隧道到控制器,识别主管目标流量的入口端口
上面的标签情景中的每一个可以在全局范围内,遍布逻辑路由器100内的所有节点1500、1502、1504,并且识别物理端口以及定向LSP。上述标签分配方案实质上导致针对逻辑路由器100内的每个路由器端口分配两个全局标签。为此目的,MPLS标签可以被静态地保留并在交换端口接口发现时被分配,并且在一些实施例中,这些保留的标签将不可用于外部使用。
针对每个线路单元1504的每个本地路由器端口分配的全局范围的标签(在所有逻辑路由器节点1500、1502、1504之间)识别出口路由器端口以及从入口线路单元到主管物理端口的出口线路单元的传输LSP。该标签在逻辑路由器节点1500、1502、15014上进行编程,如下:
·在入口线路单元1504上,该标签是被重新写入在数据包上以从远程接口输出的隧道封装结果的一部分。
·在脊单元1502上,该标签交换到出口线路单元,以相同的出口标签重新写入织网下一路由器(fabric-next-hop)。
·在出口线路单元上,该标签仅指向出口接口(不重新写入数据包)。
图16中示出了该进程。图16中使用了下面的符号:
·L(e,x,y):LU-y上的交换机端口x的出口标签
·L(I,x,y):LU-Y上的交换机端口x的入口标签
·MAC-x:单元X的路由器MAC(机器存取代码)
数据包可以由入口线路单元1504(LU-(N+M))接收。在退出入口线路单元LU-(N+M)之后,根据所示的标签表1600标记数据包,其中包括出口接口(“[12.1.1.2,swp(N+2)/1]->MAC-A”)以及传输LSP,即,到出口接口(“MAC-A->L(e,x,y)+MAC-1,port:fp(N+M)/1->L(e,x,y)+MAC-N,port:fp(N+M)/N”)的隧道路径。将数据包发送到脊单元1502(SU-N)。脊单元SU-N根据标签表1602重新写入数据包,其包括织网下一路由器重新写入(“L(e,x,y)->MAC-N+2,port:fpN/2”)和出口标签。脊单元SU-N将重新写入的数据包转发到出口线路单元1504(LU(N+2)),其根据简单地指向出口接口(L(e,x,y)->swp(N+2)/1)的表1604来转换数据包的标签。
参照图17,全局范围的标签(在所有逻辑路由器节点1500、1502、1504之间)可以分配给每个(控制器、路由器端口),并识别入口路由器端口以及从入口线路单元到控制器卡的传输LSP。该标签在逻辑路由器节点上进行编程,如下:
·在入口线路单元1504上,该标签是隧道封装结果的一部分,其被重新写入在数据包上,以便将数据包***(punt)到控制器中(参见图17中的表1700,位于线路单元LU-(N+M)上)
·在脊单元1502上,该标签仅交换到控制器,以相同的出口标签重新写入织网下一路由器(参见表1702,位于脊单元SU-N上)
·在控制器1500上,该标签识别主机堆栈中的入口接口(参见表1704)
需要将***的数据包注入LINUX内核,使其看起来如同其到达与数据包到达的前板端口相对应的Linux接口上。在独立的***上,主机路径在交换机的本地CPU上运行的LINUX内核中运行,即线路单元1504,其在图17的示例中为线路单元LU-(N+M)。线路单元1504上的ASIC添加***标头(Header),其指示数据包到达哪个入口接口。然后,内核中的BCM中网(Knet)模块将硬件入口接口映射到LINUX接口,并将数据包注入LINUX数据路径。
在所示的架构中,主机数据路径在多个位置运行。在线路单元1504上,可能需要将数据包***到在线路单元1504上运行的BGP LSVR(链路状态矢量路由)实例。如果数据包的目的地是控制器1500上运行的控制平面协议实例,则线路单元1504需要能够将数据包传送到控制器。由于该路径中没有***标头,因此需要识别入口接口并将其封装在数据包自身内。
如前面部分所述,这是使用识别入口接口的唯一标签来实现的。ACL规则可以用于在入口接口上进行匹配,并提供相应的标签和后续的转发链。然而,仅当确实需要将数据包发送到控制器1500时才需要使用该结果。在其它情况下,转发查找应当驱动封装。
图18示出了根据图15至图17的方法来调用(bring up)独立的底板织网的方法。调用底板织网并在启动时自动进行编程,而无需任何明确的用户配置或干预,使得:
·在织网VRF内的所有启用的第3层织网端口之间建立第3层(L3)底板可达性
·至/自在所有逻辑路由器组件:线路单元1504、脊单元1502和控制器1500之间的所有路由器端口设置覆盖传输隧道
如图18所示,用于调用底板织网的方法1800可以包括:将织网配置下载1802到正被管理的每个单元1500、1502、1504。这可包括IP寻址、卡角色、端口角色和端口MPLS标签。方法1800进一步包括:在每个单元1500、1502、1504的织网端口上调用1804L3寻址。方法1800可以进一步包括:在织网端口上调用1806LSoE,其包括发现织网邻居并将以这种方式获取的每个单元的1500、1502、1504邻居数据库推送到控制器1500上的BGP-LSVR。方法1800可以进一步包括:通过BGP-SPF实例,在每个单元1500、1502、1504上执行1808:调用同级化、学习织网拓扑并且在织网VRF中安装织网IP路由。
第3层底板织网的自动调用可以根据以下说明来安排,其中R0表示控制器1500。
具有启动配置的自动配置R0:
假定R0已经被映像,并且管理以太网(ma1)已启动并寻址。R0读取具有下面的启动配置文件(与映像封装在一起):
·拓扑:脊单元、线单元
·向南织网接口的专用寻址
·覆盖接口隧道的MPLS标签
·针对线路单元ma1管理IP地址池
·线路单元和脊单元的ZTP(零接触配置)/启动配置。
调用线路单元:
R0通过从启动配置文件寻址来调用其向南织网接口(图15至图8的拓扑中的脊单元1502和线路单元1504)。
R0运行dhcpd(动态主机配置协议后台程序),因此线路单元1504和脊单元1502的管理以太网mals可以从启动配置文件中所给的池中获取地址。假设单元1502、1504的线卡编号为其所连接的R0端口。R0对单元1502、1504运行ZTP服务。
将启动配置推送到线路单元:
R0将启动配置推送到线路单元1504和脊单元1502。该配置针对每个单元1502、1504识别卡角色;将每个本地端口识别为“织网端口”或“路由器端口”,指定北向织网接口寻址,并为路由器端口覆盖隧道提供MPLS标签(每个端口两个标签)。
然后,单元1502、1504在织网端口上运行LSoE,以确保其按照启动配置所期望的进行连线。LSoE发现第3层织网邻居和相应的封装。按照标准LSoE功能,将通过LSoE学习的信息数据库导出到BGP-SPF。
BGP-SPF同级化被建立在每个线路单元到脊单元织网链路上。在每个单元1502、1504上学习织网拓扑,并经由BGP-SPF计算来建立到每个路由的织网端口的织网-VRF IP可达性。BGP-SPF对织网VRF内具有织网路由的每个本地线路单元/脊单元RIB(路由器信息库)进行编程。此时,所有织网端口IP地址都具有IP可达性。
交换机端口发现和隧道调用:
可以在每个线路单元1504上发现本地路由器端口。将所发现的路由器端口以及所分配的MPLS标签推送到每个线路单元1504上的本地BGP-LSVR实例中。可以进一步增强BGP-SPF,以使其能够携带独立于IP寻址的端口+标签。因此,BGP-SPF可以被配置成计算到逻辑路由器中的每个“交换机端口”的最短路径优先(SPF)。BGP-SPF还可以独立于配置其的用户VRF将这些外部交换机端口并入其织网-VRF拓扑中。每个单元1504上的BGP针对每个接口实例化覆盖MPLS隧道的入口/出口,每个接口经由织网-VRF下一路由器来进行解析。隧道的可达性可以通过织网-VRF下一路由器来解析,并且可以如前所述在每个单元1504上使用所分配的MPLS标签对隧道进行编程。
R0上的用户配置跟随底板织网的调用,并且可以在控制器1500上进行处理。作为该用户配置和控制平面的结果计算的交换机状态可以进一步分布以在一些或所有的线路单元1504之间进行编程。
示例数据包路径
本节使用前面各节中描述的控制节点1500和单元1502、1504的数据路径编程来重温一些常见的数据包路径如何在***中工作。
ARP解析
单元1502、1504上的收集(glean)处理通过在目的地IP地址上的入口L3路由查找来执行,其解析为不完整的下一路由器或子网(收集)路由,其被编程指向PUNT路径。PUNT路径是预先编程的、指向控制器1500的入口接口隧道。入口第2层数据包封装有入口接口标签+重新写入为织网-脊-下一路由器。封装的数据包在织网端口上传输到脊单元1502中的一个。脊单元1502终止于外部的第2层。在脊单元1502上的MPLS标签内查找指向入口接口标签+重新写入为织网-控制器-下一路由器。该信息用于将数据包路由到控制器1500。控制器终止于外部的第2层。控制器1500被编程为执行MPLS标签内查找动作作为POP(接入点),并且识别入口接口上下文。控制器在数据包的目标IP上执行L3路由查找,并且解析为不完整的下一路由器或子网(收集)路由。然后,控制器1500使用下一路由器或子网路由利用入口接口的ARP解析来递送数据包。
ARP请求
控制器1500在入口L3接口上生成广播ARP请求。控制器L3接口解析为出口-接口-隧道端口。广播ARP请求的ARP数据包被封装有出口接口标签+重新写入为织网-脊-下一路由器。封装的数据包在织网端口上传输到脊单元1502中的一个。脊单元1502终止于外部的第2层。在脊单元1502上的MPLS标签内查找指向出口接口标签+重新写入为织网-线路单元-下一路由器。根据MPLES标签内查找,封装的数据包在织网端口上被发送到出口线路单元1504。出口线路单元1504终止于外部的第2层。出口线路单元1504执行MPLS标签内查找,从而在从MPLS标签内查找所识别的出口线路单元的出口接口上进行POP和转发。
ARP应答
可以利用到控制器1500的PUNT路径来对ARP应答数据包进行编程。PUNT路径被预先编程并且指向控制器1500的入口接口隧道。来自线路单元1504的入口L2 ARP数据包可以根据PUNT路径被封装有入口接口标签+重新写入为织网-脊-下一路由器。封装的数据包在织网端口上传输到脊单元1502中的一个。脊单元1502终止于外部的第2层。在脊单元1502上的MPLS标签内查找指向入口接口标签+重新写入为织网-控制器-下一路由器。该信息用于将ARP数据包转发到控制器1500。
控制器1500终止于外部的第2层。控制器1500执行MPLS标签内查找动作并且被编程为POP。控制器1500根据查找动作来识别入口接口环境。将封装在来自线路单元1504的数据包中的内部数据包被识别为ARP数据包,并传递给在控制器1500上运行的ARP模块,其根据地址解析协议(ARP)处理ARP应答。
入口LC->出口LC路由的数据包漫游
入口线路单元1504在数据包的目的地IP上执行入口L3路由查找,并且解析为下一路由器重新写入、L3-出口-接口、L2-出口-接口-隧道端口。数据包利用来自路由查找以及从出口L3接口和L2端口衍生的VLAN编辑的下一路由器重新写入结果而重新写入。导致的第2层数据包封装有出口接口标签+重新写入为织网-脊-下一路由器。封装的数据包在织网端口上根据织网-脊-下一路由器被传输到脊单元1504中的一个。脊单元1504接收所封装的数据包,终止于外部的第2层,并且执行MPLS标签内查找,其指向出口接口标签+重新写入为织网-出口-线路单元-下一路由器。脊单元1504将所封装的数据包传输到由织网-出口-线路单元-下一路由器所引用的出口线路单元1504。出口线路单元1504终止于外部的第2层,执行MPLS标签内查找结果以获得POP,并且在由所封装的数据包引用的出口线路单元1504的出口接口上转发所封装的数据包。
图19是示出示例计算装置1900的框图,其可以用于实施本文公开的***和方法,诸如控制平面元件300、控制器1500或逻辑路由器100的各个元件102、104、1502、1504。
计算装置1900可以用于执行诸如本文所讨论的各个进程。计算装置1900可以用作服务器、客户端或任意其它计算实体。计算装置可以执行本文讨论的各个监控功能,并且可以运行一个或多个应用程序,诸如本文描述的应用程序。计算装置1900可以是诸如以下的各种计算装置中的任意一种:膝上型计算机、笔记本计算机、服务器计算机、手持计算机、平板计算机等。
计算装置1900包括全部联接到总线1912的一个或多个处理器1902、一个或多个存储器装置1904、一个或多个接口1906、一个或多个大容量存储装置1908、一个或多个输入/输出(I/O)装置1910及显示装置1930。处理器1902包括一个或多个处理器或控制器,其运行存储器装置1904和/或大容量存储装置1908中存储的指令。处理器1902还可以包括各个类型的计算机可读介质,诸如高速缓存存储器。
存储器装置1904包括诸如易失性存储器(例如,随机存取存储器(RAM)1914)和/或非易失性存储器(例如,只读存储器(ROM)1916)的各种计算机可读介质。存储器装置1904还可以包括诸如闪速存储器的可重新写入的ROM。
大容量存储装置1908包括诸如磁带、磁盘、光盘、固态存储器(例如,闪速存储器)等的各种计算机可读介质。如图19所示,特定的大容量存储装置是硬盘驱动器1924。大容量存储装置1908中还可包括各种驱动器,以实现从各种计算机可读介质读取和/或写入到各种计算机可读介质。大容量存储装置1908包括可移动介质1926和/或不可移动介质。
I/O装置1910包括允许将数据和/或其它信息输入到计算装置1900或从计算装置1900检索数据和/或其它信息的各个装置。示例I/O装置1910包括光标控制装置、键盘、小键盘、麦克风、监视器或其它显示装置、扬声器、打印机、网络接口卡、调制解调器、镜头、CCD或其它图像捕获装置等。
显示装置1930包括能够向计算装置1900的一个或多个用户显示信息的任意类型的装置。显示装置1930的示例包括监视器、显示终端、视频投影装置等。
接口1906包括允许计算装置1900与其它***、装置或计算环境交互的各个接口。示例接口1906包括任意数量的不同网络接口1920,诸如到以下网络的接口:局域网(LAN)、广域网(WAN)、无线网络和因特网。其它接口包括用户接口1918和***装置接口1922。接口1906还可以包括一个或多个用户接口元件1918。接口1906还可以包括一个或多个***接口,诸如用于打印机、定点装置(鼠标、触控板等)、键盘等的接口。
总线1912允许处理器1902、存储器装置1904、接口1906、大容量存储装置1908、I/O装置1910彼此通信,以及联接到总线1912的其它装置或组件彼此通信。总线1912表示几种类型的总线结构中的一种或多种,诸如***总线、PCI总线、IEEE 1394总线、USB总线等。
出于说明性目的,程序和其它可运行程序组件在本文中被示出为离散块,但是应当理解的是,这种程序和组件可以在不同时间存在于计算装置1900的不同存储组件中并由处理器1902运行。可选地,本文描述的***和过程可以以硬件或者硬件、软件和/或固件的组合来实施。例如,可以对一个或多个专用集成电路(ASIC)进行编程,以执行本文所述的***或过程中的一个或多个。
Claims (20)
1.一种用于实施逻辑路由器的***,所述***包括:
多个分解式网络元件,通过网络联接,且不通过机箱的公共底板彼此联接;以及
控制器,联接到所述多个分解式网络元件,且被编程为配置所述多个分解式网络元件以用作逻辑路由器;
其中所述多个分解式网络元件包括线路单元和脊单元,所述线路单元定义前板端口,所述线路单元通过网络全部联接到所述脊单元;
其中所述控制器被编程为配置所述线路单元中的每个线路单元,使得:
在每个线路单元的前板端口的入口端口上接收数据包;
每个线路单元根据所述数据包确定所述线路单元中的第二线路单元的所述前板端口的出口端口;
每个线路单元利用所述出口端口标记所述数据包,以获得被标记的数据包;并且
每个线路单元通过所述网络传输所述被标记的数据包。
2.根据权利要求1所述的***,其中所述控制器被编程为配置每个线路单元以通过所述网络将所述被标记的数据包穿过隧道传输到所述出口端口。
3.根据权利要求2所述的***,其中所述隧道为多协议隧道交换(MPLS)隧道。
4.根据权利要求1所述的***,其中所述线路单元中的每个线路单元被编程为利用识别所述出口端口的第一全局范围标签来标记所述数据包。
5.根据权利要求4所述的***,其中所述线路单元中的每个线路单元被编程为利用识别到所述出口端口的标签交换路径的第二全局范围标签来标记所述数据包。
6.根据权利要求1所述的***,其中所述线路单元中的每个脊单元被编程为:
从所述每个线路单元接收所述被标记的数据包;
根据存储在所述每个脊单元上的标签表,对所述被标记的数据包进行重新写入,以获得重新写入的数据包;并且
将所述重新写入的数据包转发到所述第二线路单元。
7.根据权利要求1所述的***,其中所述多个分解式网络元件被配置成如同联接到公共底板一样操作。
8.根据权利要求7所述的***,其中所述多个分解式网络元件的每个网络元件被编程为自动地:
执行除每个网络元件之外的、所述多个网络元件的网络元件的发现;并且
配置至除每个网络元件之外的、所述多个分解式网络元件的网络元件的所有端口的覆盖隧道以及来自除每个网络元件之外的、所述多个分解式网络元件的网络元件的所有端口的覆盖隧道。
9.根据权利要求1所述的***,其中所述控制器被编程为,针对所述多个分解式网络元件中的每个网络元件,为每个网络元件选择角色并对每个网络元件进行编程以执行所述角色,所述角色包括用作线路单元或脊单元的功能。
10.根据权利要求1所述的***,其中控制器被编程为:
将织网配置下载到所述多个分解式网络元件的每个网络元件;
调用所述每个网络元件的织网端口上的第3层(L3)寻址;
调用所述每个网络元件的织网端口上通过以太网(LSoE)的链路状态;
激活所述每个网络元件上的模块,以利用除每个网络元件之外的、所述多个分解式网络元件中的所述织网端口调用同级化,习得由所述多个分解式网络元件和所述网络形成的织网拓扑,并安装织网路由。
11.一种用于实施逻辑路由器的方法,所述方法包括:
提供多个分解式网络元件,所述多个分解式网络元件通过网络联接且不通过机箱的公共底板彼此联接,所述多个分解式网络元件包括线路单元和脊单元,所述线路单元定义前板端口,所述线路单元通过网络全部联接到所述脊单元;
提供控制器,所述控制器联接到所述多个分解式网络元件且被编程为配置所述多个分解式网络元件以用作逻辑路由器;
通过所述控制器,对所述多个分解式网络元件进行编程;
通过所述线路单元的第一线路单元执行:
在所述第一线路单元的前板端口的入口端口上接收数据包;
根据所述数据包确定第二线路单元的前板端口的出口端口;
利用所述出口端口标记所述数据包,以获得被标记的数据包;并且
通过所述网络传输所述被标记的数据包。
12.根据权利要求11所述的方法,进一步包括:通过所述第一线路单元,通过所述网络将所述被标记的数据包穿过隧道传输到所述出口端口。
13.根据权利要求12所述的方法,其中所述隧道为多协议隧道交换(MPLS)隧道。
14.根据权利要求11所述的方法,其中利用所述出口端口标记所述数据包包括:利用识别所述出口端口的第一全局范围标签来标记所述数据包。
15.根据权利要求14所述的方法,其中利用所述出口端口标记所述数据包进一步包括:利用识别到所述出口端口的标签交换路径的第二全局范围标签来标记所述数据包。
16.根据权利要求11所述的方法,进一步包括,通过所述脊单元的第一脊单元执行:
从所述第一线路单元接收所述被标记的数据包;
根据存储在所述第一脊单元上的标签表,对所述被标记的数据包进行重新写入,以获得重新写入的数据包;并且
将所述重新写入的数据包转发到所述第二线路单元。
17.根据权利要求11所述的方法,其中所述多个分解式网络元件被配置成如同联接到公共底板一样操作。
18.根据权利要求17所述的方法,进一步包括通过所述多个分解式网络元件的每个网络元件执行:
通过所述网络执行除每个网络元件之外的、所述多个网络元件的网络元件的发现;并且
配置至除每个网络元件之外的、所述多个分解式网络元件的网络元件的所有端口的覆盖隧道以及来自除每个网络元件之外的、所述多个网络元件的网络元件的所有端口的覆盖隧道。
19.根据权利要求11所述的方法,进一步包括:通过所述控制器将执行:
针对所述多个分解式网络元件中的每个网络元件,为每个网络元件选择角色并对每个网络元件进行编程以执行所述角色,所述角色包括用作线路单元或脊单元的功能。
20.根据权利要求11所述的方法,进一步包括,通过所述控制器执行:
将织网配置下载到所述多个分解式网络元件的每个网络元件;
调用所述每个网络元件的织网端口上的第3层(L3)寻址;
调用所述每个网络元件的织网端口上通过以太网(LSoE)的链路状态;以及
激活所述每个网络元件上的模块,以利用除每个网络元件之外的、所述多个分解式网络元件中的网络元件的所述织网端口调用同级化,习得由所述多个分解式网络元件和所述网络形成的织网拓扑,并安装织网路由。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862771407P | 2018-11-26 | 2018-11-26 | |
US62/771,407 | 2018-11-26 | ||
PCT/US2019/063331 WO2020112831A1 (en) | 2018-11-26 | 2019-11-26 | Logical router comprising disaggregated network elements |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113169929A CN113169929A (zh) | 2021-07-23 |
CN113169929B true CN113169929B (zh) | 2022-10-21 |
Family
ID=70770016
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980077363.6A Active CN113169940B (zh) | 2018-11-26 | 2019-11-26 | 包括分解式网络元件的逻辑路由器 |
CN201980077305.3A Active CN113169928B (zh) | 2018-11-26 | 2019-11-26 | 包括分解式网络元件的逻辑路由器 |
CN201980077362.1A Pending CN113168391A (zh) | 2018-11-26 | 2019-11-26 | 包括分解式网络元件的逻辑路由器 |
CN201980077327.XA Active CN113169929B (zh) | 2018-11-26 | 2019-11-26 | 包括分解式网络元件的逻辑路由器 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980077363.6A Active CN113169940B (zh) | 2018-11-26 | 2019-11-26 | 包括分解式网络元件的逻辑路由器 |
CN201980077305.3A Active CN113169928B (zh) | 2018-11-26 | 2019-11-26 | 包括分解式网络元件的逻辑路由器 |
CN201980077362.1A Pending CN113168391A (zh) | 2018-11-26 | 2019-11-26 | 包括分解式网络元件的逻辑路由器 |
Country Status (8)
Country | Link |
---|---|
US (5) | US10992497B2 (zh) |
EP (4) | EP3888309A4 (zh) |
JP (3) | JP7462630B2 (zh) |
KR (4) | KR20210093312A (zh) |
CN (4) | CN113169940B (zh) |
CA (4) | CA3124394A1 (zh) |
TW (3) | TW202037127A (zh) |
WO (4) | WO2020112831A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3888309A4 (en) * | 2018-11-26 | 2022-08-10 | Arrcus Inc. | LOGICAL ROUTER WITH DISAGGREGATED NETWORK ELEMENTS |
US11233691B2 (en) | 2020-04-06 | 2022-01-25 | Cisco Technology, Inc. | Third generation partnership project (3GPP) plug and play (PnP) operation in a hybrid open radio access network (O-RAN) environment |
US11394634B2 (en) * | 2020-04-06 | 2022-07-19 | Vmware, Inc. | Architecture for stretching logical switches between multiple datacenters |
US11258668B2 (en) | 2020-04-06 | 2022-02-22 | Vmware, Inc. | Network controller for multi-site logical network |
US11522754B2 (en) * | 2020-09-15 | 2022-12-06 | Arista Networks, Inc. | Systems and methods for Zero-Touch Provisioning of a switch in intermediate distribution frames and main distribution frames |
US11671357B2 (en) * | 2021-01-06 | 2023-06-06 | Arista Networks, Inc. | Systems and method for propagating route information |
US11842083B2 (en) | 2021-02-03 | 2023-12-12 | Infortrend Technology, Inc. | Storage system architecture with dual storage virtualization controllers and the data access method thereof |
US11630601B2 (en) | 2021-03-02 | 2023-04-18 | Silicon Motion, Inc. | Memory and apparatus for performing access control with aid of multi-phase memory-mapped queue |
US11632692B2 (en) | 2021-04-26 | 2023-04-18 | Arrcus Inc. | Use of IP networks for routing of cellular data packets |
US20220345984A1 (en) * | 2021-04-26 | 2022-10-27 | Arrcus Inc. | Use Of Ip Networks For Routing Of Cellular Data Packets |
US11849381B2 (en) | 2021-04-26 | 2023-12-19 | Arrcus Inc. | Use of IP networks for routing of cellular data packets |
CN114553796B (zh) * | 2022-02-24 | 2023-10-20 | 昆高新芯微电子(江苏)有限公司 | 交换芯片基于cpu reason id实现CoPP的方法和装置 |
CN118158090A (zh) * | 2024-05-11 | 2024-06-07 | 浙商银行股份有限公司 | 云平台宿主机网络链路冗余状态判别方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102804693A (zh) * | 2009-06-26 | 2012-11-28 | 阿瓦雅公司 | 用于在ip网络上实现l2vpn的方法和设备 |
EP2571210A1 (en) * | 2011-09-15 | 2013-03-20 | Ciena Corporation | Virtual core router and switch systems and methods with a hybrid control architecture |
CN103890751A (zh) * | 2011-08-17 | 2014-06-25 | Nicira股份有限公司 | 分布式逻辑l3路由 |
Family Cites Families (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6078590A (en) * | 1997-07-14 | 2000-06-20 | Cisco Technology, Inc. | Hierarchical routing knowledge for multicast packet routing |
US6285679B1 (en) * | 1997-08-22 | 2001-09-04 | Avici Systems, Inc. | Methods and apparatus for event-driven routing |
WO2002017571A1 (en) * | 2000-08-24 | 2002-02-28 | Tiara Networks, Inc. | System and method for connecting geographically distributed virtual local area networks |
JP2002077266A (ja) * | 2000-09-05 | 2002-03-15 | Nec Commun Syst Ltd | 論理ルータ及びそのルーチング情報設定方法 |
US8051199B2 (en) * | 2001-06-08 | 2011-11-01 | The University Of Hong Kong | Self-routing address assignment in packet-switched networks |
JP2003023444A (ja) * | 2001-07-06 | 2003-01-24 | Fujitsu Ltd | 仮想ルータを利用した動的な負荷分散システム |
US7286468B2 (en) | 2002-11-12 | 2007-10-23 | Cisco Technology, Inc. | Routing system and method for synchronizing a routing system with peers after failover |
US7415507B1 (en) * | 2004-02-05 | 2008-08-19 | Cisco Technology, Inc. | Logical routers |
JP4789425B2 (ja) * | 2004-03-31 | 2011-10-12 | 富士通株式会社 | 経路テーブル同期方法、ネットワーク機器および経路テーブル同期プログラム |
US8068408B2 (en) | 2004-11-01 | 2011-11-29 | Alcatel Lucent | Softrouter protocol disaggregation |
US20070014240A1 (en) * | 2005-07-12 | 2007-01-18 | Alok Kumar | Using locks to coordinate processing of packets in a flow |
US7583590B2 (en) | 2005-07-15 | 2009-09-01 | Telefonaktiebolaget L M Ericsson (Publ) | Router and method for protocol process migration |
US20070058657A1 (en) | 2005-08-22 | 2007-03-15 | Graham Holt | System for consolidating and securing access to all out-of-band interfaces in computer, telecommunication, and networking equipment, regardless of the interface type |
CN100505692C (zh) * | 2006-09-19 | 2009-06-24 | 中国人民解放军国防科学技术大学 | 高性能路由器bgp路由协议分布并行实现方法 |
US8391185B2 (en) * | 2007-05-29 | 2013-03-05 | Cisco Technology, Inc. | Method to transport bidir PIM over a multiprotocol label switched network |
US8064469B2 (en) * | 2008-08-08 | 2011-11-22 | Dell Products L.P. | Parallel VLAN and non-VLAN device configuration |
US8369345B1 (en) | 2009-11-13 | 2013-02-05 | Juniper Networks, Inc. | Multi-router system having shared network interfaces |
CN102170385B (zh) * | 2010-02-27 | 2014-01-22 | 华为技术有限公司 | 一种以太树业务中以太网帧的发送方法和运营商边缘设备 |
US10103939B2 (en) * | 2010-07-06 | 2018-10-16 | Nicira, Inc. | Network control apparatus and method for populating logical datapath sets |
US8717895B2 (en) | 2010-07-06 | 2014-05-06 | Nicira, Inc. | Network virtualization apparatus and method with a table mapping engine |
US8488608B2 (en) * | 2010-08-04 | 2013-07-16 | Alcatel Lucent | System and method for traffic distribution in a multi-chassis link aggregation |
US9032014B2 (en) | 2012-02-06 | 2015-05-12 | Sap Se | Diagnostics agents for managed computing solutions hosted in adaptive environments |
US9225549B2 (en) | 2012-08-06 | 2015-12-29 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Multi-chassis link aggregation in a distributed virtual bridge |
US9274843B2 (en) * | 2012-09-14 | 2016-03-01 | Ca, Inc. | Multi-redundant switchable process pooling for cloud it services delivery |
US9137154B2 (en) | 2012-11-29 | 2015-09-15 | Lenovo Enterprise Solutions (Singapore Pte. LTD | Management of routing tables shared by logical switch partitions in a distributed network switch |
US9479427B2 (en) | 2012-12-21 | 2016-10-25 | Dell Products L.P. | System and methods for load placement in data centers |
US8953439B1 (en) | 2012-12-31 | 2015-02-10 | Juniper Networks, Inc. | Separation of control plane functions using virtual machines in network device |
EP2940938B1 (en) * | 2013-02-06 | 2019-11-27 | Huawei Technologies Co., Ltd. | Method and device for establishing multicast data channel in network virtualization system |
US9201837B2 (en) * | 2013-03-13 | 2015-12-01 | Futurewei Technologies, Inc. | Disaggregated server architecture for data centers |
US9270704B2 (en) * | 2013-03-13 | 2016-02-23 | FireMon, LLC | Modeling network devices for behavior analysis |
US9300483B2 (en) | 2013-03-15 | 2016-03-29 | International Business Machines Corporation | Self-routing multicast in a software defined network fabric |
US9785455B2 (en) * | 2013-10-13 | 2017-10-10 | Nicira, Inc. | Logical router |
US9503325B2 (en) * | 2013-11-15 | 2016-11-22 | Cisco Technology, Inc. | Dynamic virtual port instantiation for scalable multitenant network |
US9548896B2 (en) | 2013-12-27 | 2017-01-17 | Big Switch Networks, Inc. | Systems and methods for performing network service insertion |
US9313129B2 (en) * | 2014-03-14 | 2016-04-12 | Nicira, Inc. | Logical router processing by network controller |
EP3624407B1 (en) * | 2014-03-21 | 2023-05-17 | Nicira Inc. | Dynamic routing for logical routers |
US9893988B2 (en) * | 2014-03-27 | 2018-02-13 | Nicira, Inc. | Address resolution using multiple designated instances of a logical router |
US9913198B2 (en) * | 2014-09-10 | 2018-03-06 | Comcast Cable Communications, Llc | Systems and methods for routing data |
CN105515802B (zh) * | 2014-09-22 | 2019-04-12 | 新华三技术有限公司 | 网络虚拟化方法及装置 |
US9853855B2 (en) * | 2014-12-03 | 2017-12-26 | Fortinet, Inc. | Stand-by controller assisted failover |
CN104486124B (zh) * | 2014-12-19 | 2018-09-04 | 盛科网络(苏州)有限公司 | 使用逻辑端口实现多***链路聚合的装置及方法 |
US9787605B2 (en) | 2015-01-30 | 2017-10-10 | Nicira, Inc. | Logical router with multiple routing components |
US20180241723A1 (en) * | 2015-02-25 | 2018-08-23 | Nec Corporation | Interconnection device, management device, resource-disaggregated computer system, method, and medium |
US9787641B2 (en) * | 2015-06-30 | 2017-10-10 | Nicira, Inc. | Firewall rule management |
US9838315B2 (en) * | 2015-07-29 | 2017-12-05 | Cisco Technology, Inc. | Stretched subnet routing |
US9998324B2 (en) * | 2015-09-30 | 2018-06-12 | Nicira, Inc. | Logical L3 processing for L2 hardware switches |
US20170180220A1 (en) * | 2015-12-18 | 2017-06-22 | Intel Corporation | Techniques to Generate Workload Performance Fingerprints for Cloud Infrastructure Elements |
US9883264B2 (en) * | 2015-12-31 | 2018-01-30 | Infinera Corporation | Systems and methods for multilayer peering |
EP3400498B1 (en) * | 2016-01-07 | 2021-07-14 | Vapor Io Inc. | Data center management |
US10819575B2 (en) * | 2016-02-26 | 2020-10-27 | Arista Networks, Inc. | System and method of configuring network elements |
US10462543B2 (en) * | 2016-04-21 | 2019-10-29 | Fujitsu Limited | ODU path protection in a disaggregated OTN switching system |
US10333849B2 (en) * | 2016-04-28 | 2019-06-25 | Nicira, Inc. | Automatic configuration of logical routers on edge nodes |
EP3523721A1 (en) * | 2016-10-05 | 2019-08-14 | Kaleao Limited | Hyperscale architecture |
US11323327B1 (en) * | 2017-04-19 | 2022-05-03 | Juniper Networks, Inc. | Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles |
US10623316B2 (en) * | 2017-04-27 | 2020-04-14 | Mellanox Technologies Tlv Ltd. | Scaling of switching tables with high bandwidth |
US10558648B2 (en) * | 2017-05-23 | 2020-02-11 | International Business Machines Corporation | Service outage time reduction for a planned event in a system |
US10693814B2 (en) * | 2018-09-17 | 2020-06-23 | Fujitsu Limited | Ultra-scalable, disaggregated internet protocol (IP) and ethernet switching system for a wide area network |
EP3888309A4 (en) * | 2018-11-26 | 2022-08-10 | Arrcus Inc. | LOGICAL ROUTER WITH DISAGGREGATED NETWORK ELEMENTS |
-
2019
- 2019-11-26 EP EP19888586.5A patent/EP3888309A4/en active Pending
- 2019-11-26 TW TW108143017A patent/TW202037127A/zh unknown
- 2019-11-26 WO PCT/US2019/063331 patent/WO2020112831A1/en unknown
- 2019-11-26 TW TW108143019A patent/TWI821463B/zh active
- 2019-11-26 WO PCT/US2019/063313 patent/WO2020112817A1/en unknown
- 2019-11-26 TW TW108143021A patent/TWI807136B/zh active
- 2019-11-26 CA CA3124394A patent/CA3124394A1/en active Pending
- 2019-11-26 JP JP2021529414A patent/JP7462630B2/ja active Active
- 2019-11-26 WO PCT/US2019/063229 patent/WO2020112756A1/en unknown
- 2019-11-26 CN CN201980077363.6A patent/CN113169940B/zh active Active
- 2019-11-26 CA CA3120710A patent/CA3120710A1/en active Pending
- 2019-11-26 CN CN201980077305.3A patent/CN113169928B/zh active Active
- 2019-11-26 CA CA3120743A patent/CA3120743A1/en active Pending
- 2019-11-26 KR KR1020217018858A patent/KR20210093312A/ko active Search and Examination
- 2019-11-26 US US16/695,796 patent/US10992497B2/en active Active
- 2019-11-26 KR KR1020217018859A patent/KR20210095889A/ko active Search and Examination
- 2019-11-26 KR KR1020217018857A patent/KR20210095888A/ko active Search and Examination
- 2019-11-26 JP JP2021529416A patent/JP2022509970A/ja active Pending
- 2019-11-26 US US16/696,106 patent/US11082261B2/en active Active
- 2019-11-26 EP EP19888678.0A patent/EP3888313A4/en active Pending
- 2019-11-26 EP EP19888573.3A patent/EP3888308B1/en active Active
- 2019-11-26 CA CA3120746A patent/CA3120746A1/en active Pending
- 2019-11-26 KR KR1020217018860A patent/KR20210095890A/ko active Search and Examination
- 2019-11-26 CN CN201980077362.1A patent/CN113168391A/zh active Pending
- 2019-11-26 US US16/695,913 patent/US11343121B2/en active Active
- 2019-11-26 WO PCT/US2019/063268 patent/WO2020112786A1/en unknown
- 2019-11-26 CN CN201980077327.XA patent/CN113169929B/zh active Active
- 2019-11-26 US US16/696,279 patent/US10965496B2/en active Active
- 2019-11-26 JP JP2021529417A patent/JP2022509645A/ja active Pending
- 2019-11-26 EP EP19889237.4A patent/EP3887962A4/en active Pending
-
2021
- 2021-03-23 US US17/210,218 patent/US11863351B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102804693A (zh) * | 2009-06-26 | 2012-11-28 | 阿瓦雅公司 | 用于在ip网络上实现l2vpn的方法和设备 |
CN103890751A (zh) * | 2011-08-17 | 2014-06-25 | Nicira股份有限公司 | 分布式逻辑l3路由 |
EP2571210A1 (en) * | 2011-09-15 | 2013-03-20 | Ciena Corporation | Virtual core router and switch systems and methods with a hybrid control architecture |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113169929B (zh) | 包括分解式网络元件的逻辑路由器 | |
US11283707B2 (en) | Segment routing with fast reroute for container networking | |
JP7525486B2 (ja) | 分解されたネットワーク要素を含む論理ルータ | |
TWI844586B (zh) | 具有分解式網路元件的邏輯路由系統及其方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |