CN107925617A - 逻辑路由器的路由配置 - Google Patents

逻辑路由器的路由配置 Download PDF

Info

Publication number
CN107925617A
CN107925617A CN201680047244.2A CN201680047244A CN107925617A CN 107925617 A CN107925617 A CN 107925617A CN 201680047244 A CN201680047244 A CN 201680047244A CN 107925617 A CN107925617 A CN 107925617A
Authority
CN
China
Prior art keywords
route
routing
component
router logic
logic
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.)
Granted
Application number
CN201680047244.2A
Other languages
English (en)
Other versions
CN107925617B (zh
Inventor
U·马苏雷卡尔
A·歌利亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nicira Inc
Original Assignee
Nicira Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nicira Inc filed Critical Nicira Inc
Priority to CN202011352640.0A priority Critical patent/CN112437026B/zh
Priority claimed from PCT/US2016/025699 external-priority patent/WO2017027073A1/en
Publication of CN107925617A publication Critical patent/CN107925617A/zh
Application granted granted Critical
Publication of CN107925617B publication Critical patent/CN107925617B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Abstract

一些实施例提供用于在逻辑网络中实现逻辑路由器的方法。在一些实施例中,该方法接收用于逻辑路由器的静态路由的配置,所述逻辑路由器包括具有单独的路由表的若干路由组件。该方法识别路由组件中的哪些需要添加路由到相应的路由表以实现静态路由的配置。该方法将路由添加到所识别的路由组件的相应的单独的路由表。

Description

逻辑路由器的路由配置
背景技术
典型的物理网络包含若干物理路由器以执行L3转发(即,路由)。当第一机器想要将分组发送到位于不同IP子网上的第二机器时,分组被发送到路由器,该路由器使用分组的目的地IP地址以确定分组应当通过路由器的物理接口中的哪一个发送。较大的网络将包含多个路由器,使得如果路由器中的一个发生故障,那么分组可以沿着第一机器与第二机器之间的不同路径路由。
在逻辑网络中,不同子网上的用户定义的数据计算节点(例如,虚拟机)可能也需要彼此通信。在该情况下,租户可以定义包括逻辑交换机和逻辑路由器两者的用于虚拟化的网络。需要用于在数据中心中实现充分地服务这样的虚拟化的逻辑网络的逻辑路由器的方法。
发明内容
一些实施例提供用于在网络中(例如,在数据中心中)实现逻辑路由器的方法。在一些实施例中,该方法由集中管理网络的管理平面执行(例如,在网络控制器中实现)。在一些实施例中,该方法接收逻辑路由器的定义(例如,通过应用编程接口(API)),并且针对逻辑路由器定义多个路由组件。这些路由组件中的每一个被单独地分配路由的集合和逻辑接口的集合。该方法还可以接收用于逻辑路由器的路由的规范以及逻辑路由器到其它逻辑路由器的连接。一些实施例自动地识别接收到的路由应当被推送到哪些路由组件的路由表,以及如何基于与其它逻辑路由器的连接传播路由。
在一些实施例中,针对逻辑路由器定义的若干路由组件包括一个分布式路由组件和若干集中式路由组件。另外,一些实施例的管理平面定义用于处理逻辑路由器内部的组件之间的通信的逻辑交换机(称为中转(transit)逻辑交换机)。分布式路由组件和中转逻辑交换机通过数据中心内的大量机器以分布式方式实现,而集中式路由组件各自在单个机器上实现。一些实施例在各种机器上的受管理转发元件的数据路径中实现分布式组件,而集中式路由组件在它们的单个机器上的VM(或者其它数据计算节点)中实现。其它实施例还在集中式组件的所分配的机器的数据路径中实现它们。
在一些实施例中,集中式组件可以以活动-活动(active)或者活动-备用(standby)模式配置。在活动-活动模式中,所有集中式组件同时充分起作用,并且业务可以使用等价多路径(ECMP)转发原则(跨各种集中式组件平衡业务)通过集中式组件从逻辑网络进入或者外出,只要集中式组件到外部网络的连接性跨组件是相同的。在该模式中,单独的集中式组件中的每一个具有它自己的网络层(例如,IP)地址和数据链路层(例如,MAC)地址用于与外部网络通信。另外,单独的集中式组件中的每一个具有它自己的网络层和数据链路层地址用于连接到中转逻辑交换机,以便将分组发送到分布式路由组件以及从分布式路由组件接收分组。
在一些实施例中,逻辑路由器是两层级逻辑网络结构的一部分。一些实施例的两层级结构包括用于将逻辑网络连接到数据中心外部的网络的单个逻辑路由器(称为提供商逻辑路由器(PLR)并且由例如数据中心的所有者管理),以及连接到单个逻辑路由器并且不单独地与外部网络通信的多个逻辑路由器(称为租户逻辑路由器(TLR)并且由例如数据中心的不同租户管理)。一些实施例只要可能就以活动-活动模式实现PLR,并且仅当针对逻辑路由器配置有状态的服务(例如,NAT、防火墙、负载平衡器等)时才使用活动-备用模式。
对于PLR,一些实施例使得能够与外部网络进行路由交换。PLR的集中式组件中的每一个运行动态路由协议过程以通告逻辑网络的前缀并且接收朝向外部网络的路由。通过集中位于数据中心中和实现逻辑网络的机器上两者的网络控制器的网络控制系统,这些路由被传播到其它集中式组件和分布式路由组件。一些实施例对于直接从外部网络学习的路由以及从自外部网络学习路由的不同的对等集中式组件学习的路由,在集中式组件的路由信息库(RIB)中使用不同的管理度量。因此,相比涉及通过逻辑路由器的对等集中式组件重定向的路由,集中式组件将更喜欢它直接学习的路由。
当逻辑路由器是TLR时,一些实施例不使用集中式组件或者当针对逻辑路由器配置有状态的服务时以活动-备用模式使用两个集中式组件。这两个集中式组件中的每一个具有相同的网络层地址,并且仅活动的组件响应ARP请求。为了连接到PLR,一些实施例还对两个组件中的每一个分配相同的网络层地址(虽然与用于连接到它自己的分布式组件的地址不同)。另外,管理平面定义PLR的分布式组件与TLR的集中式组件之间的中转逻辑交换机。
一些实施例的管理平面另外针对逻辑路由器构造中的每一个(例如,针对分布式组件以及针对每个集中式组件)配置路由表。这些路由表中的路由可以包括基于连接的逻辑交换机的路由、用户输入的静态路由、以及基于其它逻辑路由器的连接的动态路由。例如,通过管理员直接连接到逻辑路由器的任何逻辑交换机将导致分布式组件的路由表中的连接路由,以及用于各种集中式组件的、下一跳为分布式组件的接口的路由。
当用户添加静态路由时,一些实施例提供用于将静态路由添加到各种逻辑路由器组件的各种规则。例如,一些实施例将面向下(downward-facing)的静态路由(下一跳在逻辑网络中)直接添加到分布式组件(其与其它逻辑转发元件(诸如指定的下一跳)接口),同时将再次指向通过集中式组件可到达的分布式组件的接口的路由添加到集中式组件中的每一个。当所配置的静态路由面向上(upward-facing)(下一跳在外部网络中和/或指定与集中式组件中的一个相关的特定输出接口)时,一些实施例(i)根据指定的接口和/或下一跳地址,将路由添加到集中式组件中的一个或多个,以及(ii)通过指定集中式组件中的每一个的接口为下一跳将路由添加到分布式组件。然而,当所配置的静态路由是默认路由时,一些实施例不添加路由到分布式组件,因为管理平面在创建逻辑路由器时已经自动地创建指向集中式组件中的每一个的用于分布式组件路由表的等价默认路由。
而且,当TLR连接到PLR时,一些实施例识别连接到TLR的任何逻辑交换机子网以及哪些应当通告(经由动态路由协议)到外部网络。在该情况下,不是在两个逻辑路由器之间运行动态路由协议,管理平面(其知道两个逻辑路由器配置)而是自动地执行路由交换,同时处理PLR实际上对于它的单独路由组件中的每一个具有单独路由表的事实。因此,管理平面将对于这些逻辑网络的路由添加到(i)分布式路由组件,其中下一跳为连接到PLR的TLR的接口,以及(ii)集中式路由组件中的每一个,其中下一跳为从集中式组件可到达的分布式组件的接口。
前面的发明内容预期用作本发明的一些实施例的简要介绍。它不意味着是在本文档中公开的所有发明主题的介绍或者综述。后面的具体实施方式以及在具体实施方式中参考的附图将进一步描述在发明内容中描述的实施例以及其它实施例。因此,为了理解由本文档描述的所有实施例,需要发明内容、具体实施方式和附图的全面审阅。而且,所请求保护的主题不受发明内容、具体实施方式和附图中的例示性细节所限制,而是由附加的权利要求书定义,因为所请求保护的主题可以在不脱离主题的精神的情况下以其它特定的形式体现。
附图说明
本发明的新颖特征在附加的权利要求书中阐述。然而,出于解释的目的,本发明的若干实施例在下面的附图中阐述。
图1例示逻辑路由器的配置视图,其代表由用户设计的逻辑网络。
图2例示当以分布式方式实现逻辑路由器时图1的逻辑网络的管理平面视图。
图3例示图1的逻辑路由器的物理分布式实现。
图4概念性地例示具有两个层级的逻辑路由器的逻辑网络。
图5例示当逻辑网络中的TLR被完全分布时图4的逻辑拓扑的管理平面视图。
图6例示当逻辑网络中的TLR具有集中式组件时图4的逻辑拓扑的管理平面视图。
图7概念性地例示逻辑网络拓扑的更详细配置,其包括由管理员分配的网络地址和接口。
图8例示由管理平面进行的图7的逻辑拓扑的配置。
图9概念性地例示用于基于用户规范配置PLR的一些实施例的过程。
图10概念性地例示用于基于用户规范配置TLR的一些实施例的过程。
图11概念性地例示用于例示一些实施例的RIB产生规则的逻辑网络配置。
图12概念性地例示由管理平面基于图11中所示的配置产生的逻辑网络。
图13概念性地例示用于处理作为PLR的配置信息输入的向南(south-facing)静态路由的一些实施例的过程。
图14概念性地例示针对PLR配置的静态路由的集合和用于TLR的集合的配置,以及由管理平面基于该配置数据对于PLR的DR和三个SR产生的输出。
图15概念性地例示用于处理作为PLR的配置信息输入的向北(north-facing)路由的一些实施例的过程。
图16概念性地例示当TLR附接到PLR时对于PLR路由构造产生RIB的一些实施例的过程。
图17概念性地例示当新的接口添加到PLR时对于PLR路由构造的RIB产生路由的一些实施例的过程。
图18概念性地例示实现本发明的一些实施例的电子系统。
具体实施方式
一些实施例提供用于在网络中(例如,在数据中心中)实现逻辑路由器的方法。在一些实施例中,该方法由集中管理网络的管理平面执行(例如,在网络控制器中实现)。在一些实施例中,该方法接收逻辑路由器的定义(例如,通过应用编程接口(API)),并且针对逻辑路由器定义多个路由组件。这些路由组件中的每一个被单独地分配路由的集合和逻辑接口的集合。该方法还可以接收用于逻辑路由器的路由的规范以及逻辑路由器到其它逻辑路由器的连接。一些实施例自动地识别接收到的路由应当被推送到哪些路由组件的路由表,以及如何基于与其它逻辑路由器的连接传播路由。
在一些实施例中,针对逻辑路由器定义的若干路由组件包括一个分布式路由组件(本文中称为分布式路由器,或者DR)和若干集中式路由组件(本文中称为服务路由器,或者SR)。另外,一些实施例的管理平面定义用于处理逻辑路由器内部的组件之间的通信的逻辑交换机(称为中转逻辑交换机)。DR和中转逻辑交换机通过数据中心内的大量机器以分布式方式实现,而SR各自在单个机器上实现。一些实施例在各种机器上的受管理转发元件(MFE)的数据路径中实现DR和中转逻辑交换机,而SR在它们的单个机器上的VM(或者其它数据计算节点)中实现。其它实施例还在集中式组件的所分配的机器的数据路径中实现它们。
在一些实施例中,SR可以以活动-活动或者活动-备用模式配置。在活动-活动模式中,所有SR同时充分起作用,并且业务可以使用等价多路径(ECMP)转发原则(跨各种SR平衡业务)通过SR从逻辑网络进入或者外出,只要集中式组件到外部网络的连接性跨组件是相同的。在该模式中,单独的SR中的每一个具有它自己的网络层(例如,IP)地址和数据链路层(例如,MAC)地址用于与外部网络通信。另外,单独的SR中的每一个具有它自己的网络层和数据链路层地址用于连接到中转逻辑交换机,以便将分组发送到分布式路由组件以及从分布式路由组件接收分组。
在一些实施例中,逻辑路由器是两层级逻辑网络结构的一部分。一些实施例的两层级结构包括用于将逻辑网络连接到数据中心外部的网络的单个逻辑路由器(称为提供商逻辑路由器(PLR)并且由例如数据中心的所有者管理),以及连接到单个逻辑路由器并且不单独地与外部网络通信的多个逻辑路由器(称为租户逻辑路由器(TLR)并且由例如数据中心的不同租户管理)。一些实施例只要可能就以活动-活动模式实现PLR的SR,并且仅当针对逻辑路由器配置有状态的服务(例如,NAT、防火墙、负载平衡器等)时才使用活动-备用模式。本文中的讨论主要描述用于PLR的活动-活动模式。
对于PLR,一些实施例使得能够与外部网络进行路由交换。PLR的SR中的每一个运行动态路由协议过程以通告逻辑网络的前缀并且接收朝向外部网络的路由。通过集中位于数据中心中和实现逻辑网络的机器上两者的网络控制器的网络控制系统,这些路由被传播到其它SR和DR。一些实施例对于直接从外部网络学习的路由以及从自外部网络学习路由的不同的对等SR学习的路由,在集中式组件的路由信息库(RIB)中使用不同的管理度量。因此,相比涉及通过逻辑路由器的对等SR重定向的路由,SR将更喜欢它直接学习的路由。
当逻辑路由器是TLR时,一些实施例不使用SR或者当针对逻辑路由器配置有状态的服务时以活动-备用模式使用两个SR。这两个SR中的每一个具有相同的网络层地址,并且仅活动的组件响应ARP请求。为了连接到PLR,一些实施例还对两个组件中的每一个分配相同的网络层地址(虽然与用于连接到它自己的DR的地址不同)。另外,管理平面定义PLR的DR与TLR的SR之间的中转逻辑交换机。
一些实施例的管理平面另外针对逻辑路由器构造中的每一个(例如,针对DR以及针对每个SR)配置路由表。这些路由表中的路由可以包括基于连接的逻辑交换机的路由、用户输入的静态路由、以及基于其它逻辑路由器的连接的动态路由。例如,通过管理员直接连接到逻辑路由器的任何逻辑交换机将导致DR的路由表中的连接路由,以及用于各种SR的、下一跳为DR的接口的路由。
当用户添加静态路由时,一些实施例提供用于将静态路由添加到各种逻辑路由器组件的各种规则。例如,一些实施例将面向下的静态路由(下一跳在逻辑网络中)直接添加到DR(其与其它逻辑转发元件(诸如指定的下一跳)接口),同时将再次指向通过SR可到达的DR的接口的路由添加到SR中的每一个。当所配置的静态路由面向上(下一跳在外部网络中和/或指定与SR中的一个相关的特定输出接口)时,一些实施例(i)根据指定的接口和/或下一跳地址,将路由添加到SR中的一个或多个,以及(ii)通过指定集中式组件中的每一个的接口为下一跳将路由添加到DR。然而,当所配置的静态路由是默认路由时,一些实施例不添加路由到DR,因为管理平面在创建逻辑路由器时已经自动地创建指向SR中的每一个的用于DR路由表的等价默认路由。
而且,当TLR连接到PLR时,一些实施例识别连接到TLR的任何逻辑交换机子网以及哪些应当通告(经由动态路由协议)到外部网络。在该情况下,不是在两个逻辑路由器之间运行动态路由协议,管理平面(其知道两个逻辑路由器配置)而是自动地执行路由交换,同时处理PLR实际上对于它的单独路由组件中的每一个具有单独路由表的事实。因此,管理平面将对于这些逻辑网络的路由添加到(i)DR,其中下一跳为连接到PLR的TLR的接口,以及(ii)SR中的每一个,其中下一跳为从SR可到达的DR的接口。
上面介绍了两层级逻辑路由器配置的概念以及一些实施例的逻辑路由器配置和实现的某些方面。在下文中,章节I关注一些实施例的逻辑路由器的总体高层次设计,而章节II描述各种逻辑路由器组件的配置。章节III然后描述用于这些逻辑路由器组件的路由表配置。最后,章节IV描述实现本发明的一些实施例的电子系统。
I.逻辑路由器和物理实现
下面的讨论描述一些实施例的逻辑路由器的设计以及一些实施例的网络控制器对这样的逻辑路由器的实现。在一些实施例中,逻辑路由器以三种不同的形式存在。这些形式中的第一种是API视图或者配置视图,这是逻辑路由器如何由用户(例如,数据中心提供商或者租户)定义。第二视图是控制平面或者管理平面视图,这是网络控制器如何内部地定义逻辑路由器。最后,第三视图是逻辑路由器的物理实现或者实施,这是逻辑路由器如何在数据中心中实际地实现。即,逻辑路由器是描述用户为逻辑路由器配置的功能(例如,路由、NAT等)的集合的抽象。逻辑路由器然后基于由网络控制器的集合分布到那些机器的指令由数据中心中的各种机器实现,其中指令由网络控制器根据用户提供的配置产生。
在控制平面视图中,一些实施例的逻辑路由器可以包括单个DR以及一个或多个SR中的一者或者两者。在一些实施例中,DR跨越直接耦合到VM或者其它数据计算节点的受管理转发元件(MFE),VM或者其它数据计算节点逻辑地直接或者间接连接到逻辑路由器。一些实施例的DR还跨越逻辑路由器绑定到的网关。在一些实施例中,DR负责逻辑地连接到逻辑路由器的其它逻辑路由器和/或逻辑交换机之间的第一跳分布式路由。一些实施例的SR负责递送没有以分布式方式实现的服务(例如,一些有状态的服务)。
在一些实施例中,逻辑路由器的物理实现总是具有DR(即,用于第一跳路由)。如果(i)逻辑路由器是PLR,并且因此连接到外部物理网络,或者(ii)逻辑路由器配置有不具有分布式实现的服务(例如,在一些实施例中的NAT、负载平衡、DHCP),那么逻辑路由器将具有SR。即使PLR上没有配置有状态的服务,一些实施例在实现中也使用SR以集中化到外部网络的连接。
A.单层级逻辑路由器
图1-3例示分布式逻辑路由器实现的三个不同视图。图1具体地例示配置视图,该配置视图代表由用户设计的逻辑网络100。如所示的,逻辑路由器115是逻辑网络100的一部分,逻辑网络100包括逻辑路由器115以及两个逻辑交换机105和110。两个逻辑交换机105和110各自具有连接到逻辑端口的VM。虽然在这些图中示为VM,但是应当理解,在一些实施例中,其它类型的数据计算节点(例如,命名空间等)可以连接到逻辑交换机。逻辑路由器115还包括连接到外部物理网络120的两个端口。
图2例示逻辑网络100的管理平面视图200。逻辑交换机105和110在该视图中与配置视图相同,但是网络控制器已经创建逻辑路由器115的两个服务路由器205和210,以及分布式路由器215和中转逻辑交换机220。DR 215包括针对逻辑交换机105和110中的每一个的南向(southbound)接口,以及到中转逻辑交换机220的单个北向(northbound)接口(并且通过这个到SR)。SR 205和210各自包括到中转逻辑交换机220的单个南向接口(其用于与DR215通信,以及在某些情况下彼此通信)。每个SR 205和210还对应于逻辑路由器的上行链路端口(其连接到外部网络),因此SR中的每一个具有单个这样的接口。
各种路由器构造205-215的北向和南向接口的详细配置以及它们与中转逻辑交换机220的连接将在下面更详细地描述。在一些实施例中,管理平面对路由器构造205-215中的每一个产生单独的路由信息库(RIB)。即,除了具有在管理/控制平面中创建的单独对象,路由器构造205中的每一个还被看作具有单独路由的单独路由器。
最后,图3例示逻辑路由器100的物理实现。如所示的,耦合到逻辑网络100中的逻辑交换机105和110中的一个的VM中的每一个驻留在主机机器305上。在一些实施例中,在这些主机机器上操作的MFE 310是在主机机器上的超级管理器或者其它虚拟化软件内操作的虚拟交换机(例如,Open vSwitch(OVS)、ESX)。对于由逻辑网络100的VM发送的分组,这些MFE执行第一跳交换和路由以实现逻辑交换机105和110以及逻辑路由器115。MFE 310(或者它们的子集)也可以实现其它逻辑网络的逻辑交换机(和分布式逻辑路由器),如果其它逻辑网络也具有驻留在主机机器305上的VM的话。
两个SR 205和210各自在不同的网关机器315和320上操作。在一些实施例中,网关机器315和320是与机器305相类似的主机机器,但是是托管SR而不是用户VM。在一些实施例中,网关机器315和320各自包括MFE以及SR,以便使MFE为DR 215处理逻辑交换以及路由。例如,从外部网络120发送的分组可以通过网关机器中的一个上的SR路由表路由,并且接着随后通过相同网关上的MFE交换和路由(根据DR路由表)。
在不同实施例中,SR可以在命名空间、虚拟机中实现,或者实现为VRF。在一些实施例中,根据逻辑路由器上是否配置任何有状态的服务(例如,防火墙),SR可以以活动-活动或者活动-备用模式操作。当配置了有状态的服务时,一些实施例仅需要单个活动的SR。在一些实施例中,活动和备用服务路由器具有相同的配置,但是MFE被配置为经由隧道发送分组到活动的SR(或者到具有活动的SR的网关机器上的MFE)。只有当隧道停用时,MFE将向备用网关发送分组。
B.多层级拓扑
前面的示例仅例示单个层级的逻辑路由器。对于具有多个层级的逻辑路由器的逻辑网络,一些实施例可以在每一层次包括DR和SR两者,或者在上层(PLR层级)包括DR和SR而在下层(TLR层级)仅包括DR。图4概念性地例示一些实施例的多层级逻辑网络400,图5和6例示逻辑网络的两个不同管理平面视图。
图4概念性地例示具有两个层级的逻辑路由器的逻辑网络400。如所示的,逻辑网络400在层3层次包括提供商逻辑路由器405和若干租户逻辑路由器410-420。第一租户逻辑路由器410附接有两个逻辑交换机425和430,其中一个或多个数据计算节点耦合到逻辑交换机中的每一个。为了简化,仅示出附接到第一TLR 410的逻辑交换机,但是其它TLR 415-420通常将附接有逻辑交换机(数据计算节点耦合到这些逻辑交换机)。
在一些实施例中,任何数量的TLR可以附接到PLR,诸如PLR405。一些数据中心可能仅具有单个PLR,在数据中心中实现的所有TLR附接到该单个PLR,而其它数据中心可能具有大量的PLR。例如,大的数据中心可能想要对于不同的租户使用不用的PLR策略,或者可能具有太多不同的租户以至于不能将所有TLR附接到单个PLR(因为,例如,PLR的路由表可能变得太大)。PLR的路由表的一部分包括它的TLR的所有逻辑交换机域的路由,所以将大量的TLR附接到一个PLR对于每个TLR仅基于附接到TLR的子网创建若干路由。如图中所示的,PLR405提供到外部物理网络435的连接;一些实施例仅允许PLR提供这样的连接,使得数据中心提供商可以管理该连接。单独的TLR 410-420中的每一个虽然是逻辑网络400的一部分但是被独立地配置(尽管单个租户可以具有多个TLR,如果他们如此选择的话)。
图5和6根据TLR 405是否包括集中式组件例示逻辑网络400的不同可能的管理平面视图。在这些示例中,TLR 405的路由方面总是通过使用DR被分布。然而,如果TLR 405的配置包括有状态的服务的提供,那么TLR的管理平面视图(并且因此物理实现)将包括用于这些有状态的服务的活动和备用SR。
因此,图5例示当TLR 405被完全分布时,逻辑拓扑400的管理平面视图500。为了简化,仅示出第一TLR 410的细节;其它TLR将各自具有它们自己的DR,以及在某些情况下具有SR。如图2中那样,PLR 405包括由中转逻辑交换机525连接在一起的DR 505和三个SR 510-520。除了PLR 405实现内的中转逻辑交换机525之外,管理平面还定义TLR中的每一个与PLR的DR 505之间的单独的中转逻辑交换机530-540。在TLR 410被完全分布的情况下(图5),中转逻辑交换机530连接到实现TLR 410的配置的DR 545。因此,如在2015年1月30日提交的美国临时申请62/110,061中更加详细地解释的,由附接到逻辑交换机425的数据计算节点发送到外部网络中的目的地的分组将通过逻辑交换机425、TLR 410的DR 545、中转逻辑交换机530、PLR 405的DR 505、中转逻辑交换机525以及SR 510-520中的一个的管道处理。在一些实施例中,所有在一些实施例中,中转逻辑交换机525以及530-540的存在和定义对于通过API配置网络的用户(例如,管理员)隐藏,可能的例外是故障排除目的。
图6例示当TLR 405具有集中式组件时(例如,因为对于TLR定义了不能被分布的有状态的服务)逻辑拓扑400的管理平面视图600。在一些实施例中,诸如防火墙、NAT、负载平衡等的有状态的服务仅以集中式方式提供。然而,其它实施例允许这样的服务的一些或者全部被分布。如前面的图一样,为了简化仅示出第一TLR 410的细节;其它TLR可以具有相同定义的组件(DR、中转LS和两个SR)或者仅具有DR(如图5的示例中那样)。PLR 405以与前面的图中相同的方式实现,其中DR 505和三个SR 510由中转逻辑交换机525彼此连接。另外,如前面的示例中那样,管理平面在PLR与TLR中的每一个之间放置中转逻辑交换机530-540。
TLR 410的部分集中式实现包括DR 605以及两个SR 610和615,逻辑交换机425和430附接到DR 605。如在PLR实现中那样,DR和两个SR各自具有到中转逻辑交换机620的接口。在一些实施例中,该中转逻辑交换机用作与交换机525相同的目的。对于TLR,一些实施例以活动-备用方式实现SR,其中SR中的一个被指派为活动并且另一个被指派为备用。因此,只要活动的SR可操作,由附接到逻辑交换机425和430中的一个的数据计算节点发送的分组就将被发送到活动的SR,而不是备用的SR。在一些实施例中,中转逻辑交换机530仅包括单个端口以连接到TLR 410,并且该端口连接到第一SR 610,除非该SR发生故障,并且连接移动到第二SR 615。这样,该连接在图中被示为虚线。
上面的图例示一些实施例的逻辑路由器的管理平面视图。在一些实施例中,管理员或者其它用户通过API提供逻辑拓扑(以及其它配置信息)。该数据提供到管理平面,管理平面(例如,通过定义DR、SR、中转逻辑交换机等)定义逻辑网络拓扑的实现。另外,在一些实施例中,用户将每个逻辑路由器(例如,每个PLR或者TLR)与物理机器的集合(例如,数据中心中的预定义的一组机器)相关联以进行部署。对于纯粹分布式路由器,诸如图5中实现的TLR 405,该物理机器的集合不重要,因为DR跨连同连接到逻辑网络的数据计算节点驻留在主机上的受管理转发元件被实现。然而,如果逻辑路由器实现包括SR,那么这些SR将各自部署在特定的物理机器上。在一些实施例中,该组物理机器是出于托管SR(与附接到逻辑交换机的用户VM或者其它数据计算节点相对)的目的而指派的机器的集合。在其它实施例中,SR与用户数据计算节点并排地(alongside)部署在机器上。
在一些实施例中,逻辑路由器的用户定义包括特定数量的上行链路。如本文中所描述的,上行链路是逻辑拓扑中逻辑路由器的北向接口。对于TLR,它的上行链路连接到PLR(所有上行链路通常连接到相同的PLR)。对于PLR,它的上行链路连接到外部路由器。一些实施例要求PLR的所有上行链路具有相同的外部路由器连接性,而其它实施例允许上行链路连接到外部路由器的不同集合。一旦用户选择一组机器用于逻辑路由器,如果对于逻辑路由器需要SR,那么管理平面将逻辑路由器的上行链路中的每一个分配给所选择的一组机器中的物理机器。管理平面然后在上行链路被分配到的机器中的每一个上创建SR。一些实施例允许多个上行链路分配给相同的机器,在该情况下,机器上的SR具有多个北向接口。
如上所述,在一些实施例中,SR可以实现为虚拟机或者其它容器,或者实现为VRF上下文(例如,在基于DPDK的SR实现的情况下)。在一些实施例中,对于SR的实现的选择可以基于对于逻辑路由器所选择的服务以及哪种类型的SR最佳地提供那些服务。
另外,一些实施例的管理平面创建中转逻辑交换机。对于每个中转逻辑交换机,管理平面将唯一的VNI分配给逻辑交换机,在连接到中转逻辑交换机的SR和DR中的每一个上创建端口,并且对于连接到逻辑交换机的任何SR和DR分派IP地址。一些实施例要求分配给每个中转逻辑交换机的子网在具有大量的TLR的逻辑L3网络拓扑(例如,网络拓扑400)内是唯一的,TLR中的每一个可以具有它自己的中转逻辑交换机。即,在图6中,PLR实现内的中转逻辑交换机525、PLR与TLR之间的中转逻辑交换机530-540、以及中转逻辑交换机620(以及其它TLR中的任何一个的实现内的中转逻辑交换机)各自需要唯一的子网。而且,在一些实施例中,SR可能需要发起到逻辑空间中的VM(例如,HA代理)的连接。为了确保返回业务工作,一些实施例避免使用链路本地IP地址。
一些实施例对多个层级配置中逻辑路由器的连接施加各种限制。例如,虽然一些实施例允许任何数量的层级的逻辑路由器(例如,连接到外部网络的PLR层级,连同大量层级的TLR),但是其它实施例仅允许两层级拓扑(连接到PLR的一个层级的TLR)。另外,一些实施例允许每个TLR连接到仅一个PLR,并且由用户创建的每个逻辑交换机(即,非中转逻辑交换机)仅允许连接到一个PLR或者一个TLR。一些实施例还添加逻辑路由器的南向端口必须各自处于不同子网中的限制。因此,两个逻辑交换机如果连接到相同逻辑路由器则可能不具有相同的子网。最后,一些实施例要求PLR的不同上行链路必须存在于不同的网关机器上。应当理解,一些实施例不包括所有的这些要求,或者可能包括要求的各种不同组合。
II.SR和DR配置
当用户配置逻辑路由器(例如,通过配置它的接口和提供路由)时,该配置被管理平面使用以配置逻辑路由器的SR和DR。例如,图1的逻辑路由器115具有四个接口(两个到逻辑交换机,以及两个上行链路)。然而,图2中它的分布式管理平面实现包括具有三个接口的DR和每个具有两个接口的SR(总共七个接口)。作为逻辑路由器配置的一部分分配给四个接口的IP和MAC地址以及其它配置细节用于产生用于逻辑路由器的各种组件的配置。
另外,作为配置的一部分,一些实施例对逻辑路由器组件中的每一个产生路由信息库(RIB)。即,尽管管理员仅定义单个逻辑路由器,但是一些实施例的管理平面和/或控制平面对DR以及对SR中的每一个产生单独的RIB。对于PLR的SR,在一些实施例中,管理平面初始产生RIB,但是SR的物理实现还运行动态路由协议过程(例如,BGP、OSPF等)以本地补充RIB。
一些实施例在逻辑路由器的RIB中以及因此在它的组件路由器的RIB中包括若干种类型的路由。在一些实施例中,所有路由包括用于确定优先级的管理距离值,其中较大的值指示较低优先级类型的路由(即,如果对于相同的前缀存在两个路由,那么使用具有较低距离值的那个)。如果对于相同前缀的多个路由以相同距离值处于RIB中,那么到这些前缀的业务遍布不同的路由(例如,使用ECMP原则来均匀地平衡业务)。
连接(0):配置在逻辑路由器的端口上的前缀
静态(1):由管理员/用户配置
管理平面内部(10):默认路由-当TLR连接到PLR时,指向PLR的默认路由添加到TLR的RIB;当逻辑交换机连接到TLR时,用户允许子网被重新分布,并且子网没有被NAT,指向子网的TLR的默认路由添加到PLR的RIB
EBGP(20):接下来的四种类型是通过动态路由协议学习的路由
OSPF内部(30)
OSPF外部(110)
IBGP(200)。
应当理解,在一些实施例中,不是所有逻辑路由器都将包括BGP和OSPF路由,并且一些逻辑路由器可以两者都不包括。例如,不包括到外部网络的连接的逻辑路由器可以不使用任何路由协议,并且一些逻辑路由器可以仅运行一种类型的路由共享协议,而不是允许BGP和OSPF两者。
另外,在一些实施例中,PLR的SR(其使用动态路由协议)将从集中式控制器接收的RIB(包含静态、连接和管理平面内部路由)与(经由动态路由协议)从物理路由器学习的路由融合。SR基于这些动态路由的合并本地计算它的FIB以便加快路由收敛,而不是将学习的路由发送回到集中式控制器以用于重新计算。对于DR,一些实施例的集中式控制器向下推送整个RIB,其中本地控制平面计算FIB。
A.DR配置
在一些实施例中,DR总是位于逻辑路由器实现的南向侧(即,面向逻辑网络的数据计算节点,而不是面向外部物理网络)。除非逻辑路由器不具有集中式组件,否则逻辑路由器的上行链路将不对DR进行配置,DR的北向接口代替地耦合到作为逻辑路由器的一部分的中转逻辑交换机。
图7概念性地例示逻辑网络拓扑700的更详细的配置,其包括由管理员分配的网络地址和接口。如所示的,逻辑交换机705和710各自被分配它们自己的子网1.1.1.0/24和1.1.2.0/24,并且附接到逻辑交换机705的所有数据计算节点将具有相应子网中的IP地址。逻辑路由器715具有到第一逻辑交换机705的接口L1,其具有IP地址1.1.1.253,该IP地址是子网1.1.1.0/24中数据计算节点的默认网关。逻辑路由器715还具有到第二逻辑交换机710的第二接口L2,其具有IP地址1.1.2.253,该IP地址是子网1.1.2.0/24中数据计算节点的默认网关。
逻辑路由器715的北向侧具有两个上行链路U1和U2。第一上行链路U1具有IP地址192.168.1.252并且连接到具有IP地址192.168.1.252的第一物理路由器720。第二上行链路U2具有IP地址192.168.2.253并且连接到具有IP地址192.168.2.252的第二物理路由器725。物理路由器720和725实际上不是逻辑网络的一部分,而是将逻辑网络连接到外部网络。虽然在所例示的情况下,上行链路中的每一个连接到单个不同的物理路由器,但是在某些情况下,上行链路中的每一个将连接到若干物理路由器的相同集合。即,U1和U2两者可能都连接到物理路由器720和725两者。一些实施例要求上行链路连接到的外部路由器中的每一个提供相同的连接性,尽管在所例示的示例中不是这样。代替地,第一物理路由器720连接到子网10.0.0.0/8,而第二路由器725连接到子网10.0.0.0/8和11.0.0.0/8两者。
对于具有分布式组件的逻辑路由器,一些实施例如下配置DR。南向接口以与逻辑路由器的南向接口相同的方式配置。这些接口是连接到逻辑拓扑中的逻辑交换机,或者连接到下层逻辑路由器的那些接口(例如,PLR的南向接口可以连接到TLR)。一些实施例的DR被分派单个北向接口,该单个北向接口被分配IP地址和MAC地址。假设逻辑路由器具有一个或多个SR,则DR的北向接口连接到中转逻辑交换机。
基于对DR的各种南向和北向接口配置的子网,DR的RIB被分配连接路由。这些是被配置用于(i)配置在逻辑路由器的DR与SR组件之间的中转逻辑交换机以及(ii)它的南向接口上的任何逻辑交换机的子网。南向接口上的这些逻辑交换机可以是数据计算节点连接到的用户定义的逻辑域,或者位于PLR的DR与连接到PLR的任何TLR之间的中转逻辑交换机。
另外,从逻辑路由器的上行链路外出的任何静态路由包括在DR的RIB中;然而,这些路由被修改使得下一跳IP地址设置为上行链路的SR的地址。例如,静态路由“a.b.c.0/24经由192.168.1.252”(192.168.1.252是外部物理网络路由器的地址)被修改成“a.b.c.0/24经由[SR南向接口的IP]”。另一方面,从逻辑路由器的南向接口外出的静态路由未修改地包括在DR的RIB中。在一些实施例中,对于逻辑路由器的每一个SR,类型管理平面内部的默认路由被添加到DR的RIB。代替地,在其它实施例中,由特定SR学习的动态路由被添加到RIB,其中下一跳IP地址被修改为特定SR的南向接口的IP。这是对默认路由的替代,因为管理平面内部类型否则将具有比由SR学习的动态路由高的优先级。然而,对于TLR,在一些实施例中,SR不运行动态路由协议,所以代替地使用下一跳IP地址指向活动的SR的接口的默认路由。
图8例示由管理平面进行的逻辑拓扑700的配置800。如所示的,逻辑交换机705和710如由用户配置所指示的那样被配置。如前面的示例中那样,逻辑路由器715包括DR 805、两个SR 810和815以及中转逻辑交换机820。DR被分配逻辑路由器705的两个南向接口,该两个南向接口连接到逻辑交换机705和710。中转逻辑交换机被分配子网192.168.100.0/24,这需要满足它在逻辑地连接(直接地或者间接地)到逻辑路由器705的逻辑交换机之间是唯一的要求。三个管理平面路由器构造805-815中的每一个也包括连接到中转逻辑交换机的接口,并且具有中转逻辑交换机的子网中的IP地址。北向接口U1和U2被分配给两个SR 810和815,下面描述它们的配置。
使用上面描述的用于产生RIB的一些实施例的规则,DR 805的RIB包括下面的路由:
1.1.1.0/24输出到L1
1.1.2.0/24输出到L2
192.168.100.0/24输出到DRP1
192.168.1.0/24经由IP1
192.168.2.0/24经由IP2
10.0.0.0/8经由IP1
10.0.0.0/8经由IP2
11.0.0.0/8经由IP2
0.0.0.0/0经由IP1
0.0.0.0/0经由IP2
上面的路由包括三个连接路由,对于连接到DR的逻辑交换机域(1.1.1.0/24、1.1.2.0/24和192.168.100.0/24)。另外,第一上行链路所位于的子网(192.168.1.0/24)经由第一SR 810的南向接口(IP1)到达,而第二上行链路所位于的子网(192.168.2.0/24)经由第二SR 815的南向接口(IP2)到达。另外,用户已经对于逻辑路由器715添加了三个静态路由,管理平面自动地对于DR 805修改它们。具体地,路由包括网络10.0.0.0/8经由任一SR的南向接口,以及网络11.0.0.0/8经由SR2的南向接口。最后,指向这些相同的南向接口的默认路由被包括。由管理平面对于与中转逻辑交换机接口的逻辑路由器构造的端口创建的IP地址IP1、IP2和IP3都在子网192.168.100.0/24中。
B.SR配置
如逻辑路由器的DR一样,管理平面也利用单独的RIB和接口配置逻辑路由器的每一个SR。如上所述,在一些实施例中,PLR和TLR两者的SR可以递送服务(即,超越简单地路由的功能,诸如NAT、防火墙、负载平衡等),并且PLR的SR还提供逻辑网络与外部物理网络之间的连接。在一些实施例中,SR的实现被设计为满足若干目标。第一,实现确保服务可以向外扩展-即,分配给逻辑路由器的服务可以由逻辑路由器的若干SR的任何一个递送。第二,一些实施例以服务策略可以取决于路由决策的这样的方式(例如,基于接口的NAT)配置SR。第三,逻辑路由器的SR具有处理它们之间故障(例如,SR在其上操作的物理机器的故障,到那个物理机器的隧道的故障等)的能力而不需要涉及集中式控制平面或者管理平面(虽然一些实施例允许SR以减少的容量或者以次优方式操作)。最后,SR理想地避免它们当中不必要的重定向。即,SR应当将分组转发到外部物理网络,如果它具有本地这样做的能力的话,在必要时仅将分组转发到不同的SR。当然,SR之间的转发应当避免分组环路。
如图8中所示,每个SR具有连接到驻留在SR与DR之间的中转逻辑交换机820的一个南向接口。另外,在一些实施例中,每个SR具有与逻辑路由器相同数量的北向接口。即,即使仅一个上行链路可以分配到SR在其上操作的物理机器,所有逻辑路由器接口也定义在SR上。然而,这些接口中的一些是本地接口,而它们的一些被称为虚接口。
在一些实施例中,本地北向接口是分组可以通过它直接从SR外出(例如,直接到物理网络)的那些接口。基于分配给SR的上行链路(或者上行链路中的一个)配置的接口是本地接口。另一方面,基于分配给不同SR的逻辑路由器的其它上行链路中的一个而配置的接口称为虚接口。对SR提供虚接口的配置允许第一跳MFE将针对上行链路中的任何一个的分组发送到SR中的任何一个,其中那个SR能够处理分组,即使分组不是去往它的本地接口。一些实施例在SR中的一个处对于虚接口处理分组之后,将分组转发到那个接口为本地的适当SR,以便使另一个SR将分组向外转发到外部物理网络。虚接口的使用还允许管理网络的集中式控制器(或者控制器的集合)将取决于路由决策的服务策略推送到所有SR,由此允许服务由SR中的任何一个递送。
如下面在章节IV中讨论的,在一些实施例中,SR(例如,使用诸如BGP或者OSPF的路由通告协议)与物理网络交换路由信息。该路由交换的一个目标是不管哪个SR朝向物理网络路由分组,路由决策应当总是指向SR的本地接口或者对应于不同SR上的逻辑路由器的上行链路的虚接口。因此,即使当上行链路没有分配给SR,与逻辑路由器上行链路相关联的策略也可以被那个SR应用,从而使得能够向外扩展有状态的服务。在一些实施例中,从对等SR接收的路由将具有比直接从物理下一跳路由器学习的路由大的距离值,由此确保只有当SR不能将分组直接发送到物理网络路由器时,它才将向它的对等SR发送分组。
对于具有一个或多个集中式组件的逻辑路由器,一些实施例如下配置SR。对于北向接口,SR具有与逻辑路由器相同数量的这样的接口,并且这些接口各自继承相应逻辑路由器接口的IP和MAC地址。这些接口的子集被标记为本地接口(上行链路分配给SR的那些接口),而其余的接口被标记为虚接口。在一些实施例中,对于逻辑路由器定义的服务策略同等地推送到所有SR,因为从网络和接口的角度,这些以相同的方式配置。对于特定逻辑路由器端口/上行链路的动态路由配置传送到那个特定上行链路被分配到的SR的本地接口。
如所提到的,每个SR被分配连接到中转逻辑交换机的单个南向接口(也是本地接口),其中每个SR的南向接口连接到相同的中转逻辑交换机。这些南向接口中的每一个的IP地址处于与分配给DR的北向接口(中转逻辑交换机的那个)相同的子网中。一些实施例根据SR处于活动-活动还是活动-备用模式来在SR之间区分IP地址的分配。对于活动-活动模式(即,当所有SR被看作同等用于路由目的),不同的IP和MAC地址分配给所有SR的南向接口。另一方面,在活动-备用模式中,相同的IP用于两个SR的南向接口两者,而接口中的每一个被分配不同的MAC地址。
如上面关于DR的子章节中指示的,用户可以对于逻辑路由器配置静态路由。从上行链路外出的逻辑路由器的静态路由(或者连接路由)被复制到SR的RIB。如果路由通过其外出的上行链路分配给SR,那么这样的路由的距离度量未修改;然而,如果上行链路是SR上的虚接口,那么一些实施例对该度量添加一个值,使得当网络可以到达时,SR将优选从它的本地接口外出的路由,而不通过虚接口将分组重定向到不同的SR。另外,(顶层逻辑路由器的)SR可以学习动态路由并且将这些放置在它们的RIB中(虽然一些实施例本地执行这个,而不涉及集中式控制器)。在一些实施例中,从对等SR学习的动态路由被安装而没有距离度量的这个调整,因为在默认情况下,从IBGP(SR到SR对等)或者OSPF学习的路由的度量大于从EBGP学习的路由的度量。
对于逻辑路由器的每个南向接口,一些实施例将相应网络的路由添加到每个SR的RIB。该路由指向北向DR接口作为它的下一跳IP地址。而且,对于逻辑路由器配置的从南向接口外出的任何其它路由被复制到SR,其中相同的北向DR接口作为下一跳IP地址。
返回到图8的示例,因为逻辑路由器715具有两个上行链路,所以管理平面定义两个服务路由器810和815。第一服务路由器810具有针对U1的本地接口和针对U2的虚接口,其称为U2’。类似地,第二服务路由器815具有针对U2的本地接口和针对第一上行链路U1的虚接口U1’。这些虚接口的功能在上面被描述为这些接口用于将分组重定向到其它SR。这些SR中的每一个被分配具有不同IP和MAC地址的南向接口(当SR处于活动-活动配置时)。IP地址IP1(用于第一SR 810)和IP2(用于第二SR 815)处于子网192.1.100.0/24中,如IP3(DR 805的北向接口)那样。
使用一些实施例的规则,并且假设对于SR启用路由协议(例如,BGP),则第一SR810的RIB将包括下面的路由:
10.0.0.0/8输出到U1经由192.168.1.252,度量20(经由EBGP)
10.0.0.0/8输出到U2’经由192.168.2.252,度量200(经由IBGP)
11.0.0.0/8输出到U2’经由192.168.2.252,度量200(经由IBGP)
192.168.1.0/24输出到U1,度量0(连接)
192.168.100.0/24输出到SRP1,度量0(连接)
1.1.1.0/24经由IP3,度量10(管理平面内部)
1.1.2.0/24经由IP3,度量10(管理平面内部)
类似地,第二SR 815的RIB将包括下面的路由:
10.0.0.0/8输出到U2经由192.168.2.252,度量20(经由EBGP)
10.0.0.0/8输出到U1’经由192.168.1.252,度量200(经由IBGP)
11.0.0.0/8输出到U2经由192.168.2.252,度量20(经由EBGP)
192.168.2.0/24输出到U2,度量0(连接)
192.168.100.0/24输出到SRP2,度量0(连接)
1.1.1.0/24经由IP3,度量10(管理平面内部)
1.1.2.0/24经由IP3,度量10(管理平面内部)
C.管理平面过程
图9概念性地例示用于基于用户规范配置PLR的一些实施例的过程900。在一些实施例中,过程900由管理平面(例如,管理数据中心的网络的集中式控制器处的模块的集合)执行。管理平面执行该配置过程,然后使用控制器的(或者不同网络控制器的)集中式控制平面将数据分布到实现所配置的逻辑路由器的各种主机机器上的各种本地控制平面。
如所示的,过程900通过接收(在905处)PLR的规范开始。PLR的规范基于定义PLR的管理员输入(例如,由数据中心的所有者雇佣的管理员)。在一些实施例中,该规范包括PLR应当提供的任何服务的定义、PLR将以活动-活动模式还是活动-备用模式配置(虽然一些实施例自动地使用活动-活动模式,除非配置了有状态的服务)、对于PLR配置多少上行链路、上行链路的IP和MAC地址、上行链路的L2和L3连接性、PLR的任何南向接口(如果PLR预期用于两层级拓扑则一个接口,如果用户逻辑交换机将在单层级拓扑中直接连接则任何数量的接口)的子网、用于PLR的RIB的任何静态路由、以及其它数据。应当理解,不同的实施例可以在PLR的配置数据中包括所列出的数据或者其它数据的不同组合。
过程900然后使用该配置数据定义(在910处)DR。这假设PLR将不是完全集中式的,在完全集中式的情况下,管理平面不产生DR。对于DR的南向接口,管理平面使用PLR的南向接口配置。即,DR的IP地址和MAC地址是针对逻辑路由器指定的那些。
另外,该过程将对于PLR指定的每个上行链路分配(在915处)给网关机器。如上所述,一些实施例允许(或者要求)用户针对逻辑路由器的SR的位置指定物理网关机器的特定集合。在一些实施例中,该网关机器的集合可能一起处于服务器的特定机架或者一组机架内,或者以其它方式相关,利用隧道连接集合中的所有机器。管理平面然后将上行链路中的每一个分配给所选择的集合中的网关机器中的一个。一些实施例允许多个上行链路被分配给相同的网关机器(只要逻辑路由器不是仅具有以活动-备用模式配置的两个上行链路),虽然其它实施例对于PLR仅允许每个网关机器单个上行链路,而不管是活动-活动还是活动-备用。
在将上行链路分配给网关机器之后,过程900定义(在920处)所选择的网关机器中的每一个上的SR。对于每个SR,该过程使用用于分配给那个网关机器的上行链路的配置作为用于SR的北向接口的配置。该配置信息包括上行链路的IP和MAC地址,以及任何上行链路特定的策略。应当理解,对于在不同的上行链路之间允许并且使用不同的策略和/或L3连接性的情况,一些实施例还在SR上配置虚接口以便如果需要的话重定向分组。
该过程另外定义(在925处)中转逻辑交换机以连接所定义的SR和DR。在一些实施例中,管理平面将唯一的VNI(逻辑交换机标识符)分配给中转逻辑交换机。另外,一些实施例要求分配给中转逻辑交换机的子网在逻辑网络拓扑之间是唯一的。这样,中转逻辑交换机必须使用与直接与PLR接口的任何用户定义的逻辑交换机、以及PLR与连接到PLR的任何TLR之间的所有中转逻辑交换机、这些TLR内的所有中转逻辑交换机、以及连接到这些TLR的任何用户定义的逻辑交换机不同的子网。
接下来,过程900将北向接口分配(在930处)给DR。在一些实施例中,北向接口被分配MAC地址和IP地址(用于在PLR的组件之间内部发送的分组)两者。在一些实施例中,IP地址处于分配给在925处定义的中转逻辑交换机的子网中。中转逻辑交换机的配置包括该MAC地址与它的逻辑端口中的一个的关联。
该过程然后确定(在935处)PLR是否以活动-活动模式(或者活动-备用模式)配置。如上面所提到的,在一些实施例中,该确定由管理员作为PLR的配置设置的一部分而进行。在其它实施例中,管理平面对于PLR自动地以活动-活动配置定义SR,除非设立了有状态的服务(在该情况下,以活动-备用模式定义SR)。
当以活动-备用模式配置PLR时,该过程分配(在940处)两个SR(或者多于两个SR,如果存在多个备用的话)中的每一个的南向接口。在活动-备用情况下,这些南向接口全部具有相同的IP地址,该IP地址处于在操作925处定义的中转逻辑交换机的子网中。尽管两个接口接收相同的IP地址,但是所分配的MAC地址不同,以便区分两者作为由DR路由的北向分组的目的地。
该过程然后分配(在945处)SR中的一个为活动并且SR中的一个为备用。一些实施例随机地进行该确定,而其它实施例试图跨网关机器平衡活动和备用SR的分配,如在美国专利公开2015/0063364中更详细描述的。分配为活动的SR将响应对于南向接口的ARP请求,并且将前缀从它的北向接口通告到外部物理网络。另一方面,备用SR将不响应ARP请求(以便避免接收北向业务),并且将不通告前缀(但是将维持BGP会话以便在活动的SR发生故障的情况下接收来自外部网络的路由)。
最后,过程900对于DR和对于SR中的每一个产生(在950处)单独的RIB。单独的RIB以前面子章节中以及下面在章节V中描述的方式基于配置数据而产生。该过程然后结束。在一些实施例中,管理平面还集中计算FIB,而在其它实施例中,(在主机和网关机器上操作的)本地控制平面执行RIB遍历以产生FIB从而在分组由逻辑路由器组件的实际转发中使用。在任一情况下,RIB基于从外部网络学习的动态路由在SR上更新,并且那个数据经由中央控制器传播到DR。一些实施例的网络控制器进行的FIB的计算在2014年3月14日提交的美国专利申请14/214,545中更详细地描述。
另一方面,当以活动-活动(ECMP)模式配置PLR时,该过程分配(在955处)SR中的每一个的南向接口。在活动-活动情况下,这些南向接口各自被分配在操作925处定义的中转逻辑交换机的子网中的不同IP地址,以及不同的MAC地址。利用不同的IP地址,SR中的每一个可以基于由主机机器中DR管道对于给定分组而选择的IP地址处理北向分组。
接下来,该过程将等级(rank)分配(在960处)给SR。如下面详细描述的,SR在故障切换的情况下使用等级来确定哪个SR将接管发生故障的责任。在一些实施例中,次高等级的SR通过接管发生故障的SR的南向接口以便吸引否则将发送到该发生故障的IP地址的北向业务来对于发生故障的SR进行接管。
最后,该过程对于DR和对于SR中的每一个产生(在965处)单独的RIB。单独的RIB以前面子章节中以及下面在章节IV中描述的方式基于配置数据而产生。该过程然后结束。在一些实施例中,管理平面还集中计算FIB,而在其它实施例中,(在主机和网关机器上操作的)本地控制平面执行RIB遍历以产生FIB从而在分组由逻辑路由器组件的实际转发中使用。在任一情况下,RIB基于从外部网络学习的动态路由在SR上更新,并且那个数据经由中央控制器传播到DR。
上面图9的描述指示管理平面对于PLR(上层级逻辑路由器)产生各种组件的操作。图10概念性地例示用于基于用户规范配置TLR的一些实施例的过程1000。在一些实施例中,过程1000由管理平面(例如,管理数据中心的网络的集中式控制器处的模块的集合)执行。管理平面执行该配置过程,然后使用控制器(或者不同网络控制器)的集中式控制平面将数据分布到实现所配置的逻辑路由器的各种主机机器上的各种本地控制平面。
如所示的,该过程通过接收(在1005处)TLR的规范开始。TLR的规范基于定义TLR的管理员输入(例如,由数据中心的租户雇佣的管理员)。在一些实施例中,该规范包括TLR应当提供的任何服务的定义、TLR应当通过它的上行链路连接到哪个PLR、连接到TLR的任何逻辑交换机、用于TLR的接口的IP和MAC地址、用于TLR的RIB的任何静态路由、以及其它数据。应当理解,不同的实施例可以在TLR的配置数据中包括所列出的数据或者其它数据的不同组合。
过程1000然后确定(在1010处)TLR是否具有集中式组件。在一些实施例中,如果TLR不提供有状态的服务,那么对于TLR不定义SR,并且它仅以分布式方式实现。另一方面,如该图中所示的,当提供有状态的服务时,一些实施例要求活动-备用模式的SR。
当TLR不提供有状态的服务或者以其它方式需要集中式组件时,该过程对于南向和北向接口两者使用逻辑路由器的规范定义(在1015处)DR。DR可以具有大量的南向接口,这取决于定义多少逻辑交换机连接到TLR。另一方面,一些实施例将TLR限制为发送分组到PLR以及从PLR接收分组的单个北向接口。该过程还对于DR产生(在1020处)RIB。DR的RIB将包括如上面描述的那样产生的用于逻辑路由器的所有路由。
另一方面,当TLR提供有状态的服务或者由于其它原因而需要集中式组件时,该过程使用接收到的配置数据定义(在1025处)DR。对于DR的南向接口,管理平面使用TLR的南向接口配置。即,用于每个南向接口的IP地址和MAC地址是对于各种逻辑交换机耦合到的逻辑路由器的端口指定的那些。
另外,该过程将对于TLR指定的上行链路分配(在1030处)给两个网关机器。虽然一些实施例允许TLR以活动-活动模式利用多个上行链路操作,但是过程1000是针对将TLR限制为活动-备用模式下的单个上行链路(也称为路由器链路,因为链路将TLR互连到另一个逻辑路由器)的实施例。如上所述,一些实施例允许(或者要求)用户针对逻辑路由器的SR的位置指定物理网关机器的特定集合。在一些实施例中,该网关机器的集合可能一起处于服务器的特定机架或者一组机架内,或者以其它方式相关,利用隧道连接集合中的所有机器。管理平面然后将上行链路分配给所选择的集合中的网关机器中的两个。
在将上行链路分配给网关机器之后,过程1000定义(在1035处)两个网关机器中的每一个上的SR。对于每个SR,管理平面使用用于单个上行链路的配置作为用于SR的北向接口的配置。因为仅存在一个北向接口,所以该过程将相同的配置应用于两个SR。即,不仅相同的IP地址用于两个北向接口,而且接口上的服务也以相同的方式配置。然而,不同的MAC地址被用于北向接口,以便区分活动和备用SR。
该过程另外定义(在1040处)中转逻辑交换机以连接所定义的SR和DR。在一些实施例中,管理平面将唯一的VNI(逻辑交换机标识符)分配给中转逻辑交换机。另外,一些实施例要求分配给中转逻辑交换机的子网在逻辑网络拓扑之间是唯一的。这样,管理平面必须对中转逻辑交换机分配与和TLR接口的用户定义的逻辑交换机中的任何一个、以及TLR(或者其它TLR)与PLR之间的任何中转逻辑交换机、以及连接到相同PLR的其它TLR内的所有中转逻辑交换机、PLR内的中转逻辑交换机、以及连接到其它TLR的用户定义的逻辑交换机不同的子网。
接下来,该过程将北向接口分配(在1045处)给DR。在一些实施例中,该接口被分配MAC地址和IP地址(用于在TLR的组件之间内部发送的分组)两者。在一些实施例中,IP地址处于分配给940处的中转逻辑交换机的相同子网中。该过程还分配(在1050处)两个SR中的每一个的南向接口。因为这是活动-备用配置,所以这些南向接口具有相同的IP地址,该IP地址处于在操作940处定义的中转逻辑交换机的子网中。尽管两个接口接收相同的IP地址,但是所分配的MAC地址不同,以便区分两者作为由DR路由的北向分组的目的地。
过程1000然后分配(在1055处)SR中的一个为活动并且SR中的一个为备用。一些实施例随机地进行该确定,而其它实施例试图跨网关机器平衡活动和备用SR的分配。分配为活动的SR将响应对于南向(来自该TLR的DR)和北向(来自PLR的DR)接口的ARP请求。另一方面,备用SR将不响应ARP请求(以便避免接收北向或者南向业务)。
接下来,该过程对于DR和对于SR中的每一个产生(在1060处)单独的RIB。单独的RIB以前面子章节中以及下面在章节IV中描述的方式基于配置数据而产生。在一些实施例中,管理平面还集中计算FIB,而在其它实施例中,(在主机和网关机器上操作的)本地控制平面执行RIB遍历以产生FIB从而在分组由逻辑路由器组件的实际转发中使用。在任一情况下,RIB基于从外部网络学习的动态路由在SR上更新,并且那个数据经由中央控制器传播到DR。
不管TLR是否被产生具有或者不具有SR,过程1000定义(在1065处)TLR与它连接到的PLR之间的另一个中转逻辑。该中转逻辑交换机具有唯一的VNI,以及TLR的上行链路IP地址所属的子网。另外,在相同子网中创建PLR的DR上的接口以连接到中转逻辑交换机。该过程然后结束。
应当理解,虽然过程900和1000例示用于执行这些各种操作的具体次序,但是这些过程仅仅是概念性的。在各种不同的实施例中,管理平面可以以各种不同的次序执行实际的操作,或者甚至并行地执行操作的一些。例如,管理平面可以完全在定义SR或者DR之前首先定义中转逻辑交换机,可以在将逻辑路由器组件分配给单独的物理机器之前完整地定义所有逻辑路由器组件,等等。
III.路由表配置
如上面所指示的,在一些实施例中,管理平面接收逻辑路由器配置并且产生(i)每个逻辑路由器的一个或多个逻辑路由器构造以及(ii)每个逻辑路由器构造的路由信息库(RIB)。在各种不同的实施例中,从RIB计算转发信息库(FIB)可以在管理平面或者由集中式或本地控制平面执行。例如,在一些实施例中,RIB被分布到实现SR或者DR的每个机器,并且在那个机器上操作的本地网络控制器执行路由遍历以计算FIB。在本章节中,将更详细地描述一些实施例中用于对于各种逻辑路由器构造产生RIB的规则。路由可以来自逻辑交换机到逻辑路由器的连接、逻辑路由器彼此的连接、或者静态路由的输入(作为逻辑路由器配置的一部分而接收)。
图11概念性地例示将用于例示一些实施例的RIB产生规则的更复杂的逻辑网络配置1100。具体地,逻辑网络配置1100包括PLR1105,PLR 1105附接有逻辑交换机1120,两个TLR 1110和1115也附接到PLR 1105。第一TLR 1110附接有两个逻辑交换机1125和1130,并且第二TLR 1115附接有两个逻辑交换机1135和1140。PLR1105配置有三个上行链路U1-U3,其中U1具有IP地址1.1.3.2并且连接到外部物理路由器端口1.1.3.1。U2具有IP地址1.1.4.2并且连接到相同子网上具有IP地址1.1.4.1和1.1.4.11的两个外部物理路由器。U3处于具有与U2相同的L3连接性的相同子网上,并且具有IP地址1.1.4.21。PLR还具有三个向南接口,一个用于逻辑交换机1120(具有IP地址1.1.0.1,在逻辑交换机1120的子网1.1.0.0/24中),并且D1和D2中的各一个用于TLR 1110和1115。在一些实施例中,将TLR附接到PLR的用户(即,TLR的所有者)不配置该接口。代替地,如在随后图12的管理平面视图中所示。
在一些实施例中,数据中心管理员配置PLR(即,上行链路和它们的连接性),以及第一逻辑交换机1120。第一租户配置第一TLR1110以及它的两个逻辑交换机1125和1130,而第二租户独立地配置第二TLR 1115,以及它的两个逻辑交换机1135和1140。在其它实施例中,单个管理员可以配置整个逻辑网络1100(例如,在企业网络的情况下)。当不同的用户配置不同的逻辑路由器时,一些实施例限制可用于各种逻辑交换机1120-1140的子网以确保如果使IP地址公开(例如,经由上行链路U1-U3通告到外部网络),那么不同的子网用于逻辑交换机中的每一个。一些实施例允许逻辑交换机重复使用子网,只要IP地址没有向外部通告(包括通告到连接到相同PLR的其它TLR)。
图12概念性地例示由管理平面基于图11中所示的配置(由用户通过API输入)产生的逻辑网络1100。在该情况下,TLR 1110和1115都不包括有状态的服务,因此对于TLR不需要SR。如在前面章节中描述的,TLR 1110和1115分别包括DR 1205和1210。逻辑交换机连接到的TLR的向南端口被分配与给予逻辑网络配置1100中的TLR的那些相同的IP地址(在它们的附接的逻辑交换机的子网中)(例如,1.1.5.1,1.1.6.1等)。另外,对于TLR与PLR 1105之间的每个连接,管理平面分配中转逻辑交换机,并且在这些逻辑交换机上分配DR 1205和1210上的向北接口IP地址。在一些实施例中,因为这些中转逻辑交换机中的每一个将仅需要两个地址,管理平面总是从这样的子网的池中分配/31子网,以便避免浪费IP地址空间。在该情况下,第一中转逻辑交换机1215具有子网192.168.10.0/31,而第二中转逻辑交换机1220具有下一个子网192.168.10.2/31。
管理平面还对于PLR 1105定义DR 1225和三个SR 1230-1240(每个上行链路一个)。除了由管理平面定义的第四接口P1之外,DR 1225还具有PLR 1105的三个向南接口(如前面章节中描述的)。该接口P1连接到具有子网169.0.0.0/28的中转逻辑交换机1245,三个SR 1230-1240的向南接口也连接到中转逻辑交换机1245。这四个接口P1-P4依次具有IP地址169.0.0.1、169.0.0.2、169.0.0.3和169.0.0.4。
图13、15、16和17概念性地例示由管理平面(例如,位于集中式网络控制器处)执行以将逻辑路由器配置数据转换成一些实施例的用于PLR的DR和SR的RIB的一些实施例的各种过程。具体地,图13和15描述PLR的不同类型的静态路由的处理,而图16描述处理TLR到PLR的连接以及对PLR构造产生路由的动态路由过程,并且图17描述PLR上的新的逻辑接口(到外部网络的上行链路或者到TLR或逻辑交换机的下行链路)的创建。在一些实施例中,这些过程由管理平面(例如,管理数据中心的网络的集中式控制器处的模块的集合)执行。管理平面执行配置过程,然后使用控制器(或者不同网络控制器)的集中式控制平面将数据分布到实现逻辑路由器构造的各种主机机器上的各种本地控制平面。这些过程将部分地参考图11和12中所示的逻辑网络1100以及图14中所示的路由配置输入和RIB输出而描述。
图13概念性地例示用于处理作为针对PLR(例如,针对PLR1105)的配置信息而输入的向南静态路由的一些实施例的过程1300。如所示的,过程1300通过接收(在1305处)下一跳在逻辑网络中的静态路由而开始。在一些实施例中,利用将要路由的前缀、路由的下一跳(或者网关)、以及在某些情况下路由输出到的接口而输入静态路由。在使用中,具有匹配前缀(并且不匹配具有较长前缀的路由)的目的地IP地址的任何分组将通过给定的接口输出到给定的下一跳地址。当下一跳处于被附接到PLR的逻辑交换机的子网、或者被附接到附接到该PLR的TLR的逻辑交换机的子网中的一个中时,那么路由是下一跳在逻辑网络中的向南路由。
图14概念性地例示针对PLR 1205配置的静态路由的集合1405,并且对于TLR的配置将在下面参考图16描述。该图还示出由管理平面基于该配置数据对DR和三个SR产生的输出1400。该输出包括用于DR 1225的RIB 1410,以及用于三个SR 1230-1240的RIB 1415-1425。如所示的,针对PLR配置的静态路由的集合1405包括向南路由,其指定目的地地址在子网2.2.2.0/24中的所有分组被发送到1.1.0.2(2.2.2.0/24经由1.1.0.2)。该地址属于附接到逻辑交换机1120的VM。
当接收到这样的路由时,过程1300不修改地将路由添加(在1310处)到PLR的DR的RIB。即,添加到DR的RIB的路由的下一跳与在配置数据中指定的下一跳相同。在图14的示例中,所配置的路由2.2.2.0/24经由1.1.0.2不修改地添加到DR的RIB 1410(在RIB中列出的第四个路由)。
过程1300还以DR的向北接口作为下一跳(并且移除任何输出接口)将路由添加到每个SR的RIB。即,对于指定前缀的路由被添加到SR中的每一个(以处理从外部物理网络发送到指定IP地址的分组),其中下一跳是与SR的向南接口连接到相同中转逻辑交换机的DR接口的那个。在逻辑网络1100中,这是接口P1,具有IP地址169.0.0.1。这样,RIB 1415-1425各自具有路由2.2.2.0/24经由169.0.0.1。在将路由添加到PLR的逻辑路由器构造中的每一个的RIB之后,过程1300结束。在一些实施例中,只要SR具有推导递归路由的能力,管理平面就将向南静态路由不修改地添加到SR的RIB,而不是对路由进行修改。在这样的实施例中,在该示例中的管理平面将添加路由2.2.2.0/24经由1.1.0.2,认识到一旦路由被遍历,路由1.1.0.0/24经由169.0.0.1将导致SR的FIB中的正确结果。
鉴于该过程1300用于处理向南静态路由,图15概念性地例示用于处理作为针对PLR(例如,针对PLR 1105)的配置信息而输入的向北路由的一些实施例的过程1500。在一些实施例中,过程1300和1500实际上是单个软件过程的一部分,其中根据由过程做出的关于路由是向南还是向北的决策而执行不同的操作。
如所示的,过程1500通过接收(在1505处)下一跳面向外部物理网络的静态路由而开始。在该情况下,当下一跳是提供逻辑网络的到外部物理网络的连接性的物理路由器的那个时,那么路由是下一跳面向外部物理网络的向北路由。针对PLR配置的静态路由的集合1405包括许多向北路由,包括用于前缀0.0.0.0/0的三个不同路由(即,默认路由)、用于172.16.0.0/16的路由、以及用于10.0.0.0/8的路由。这些路由中的每一个指定属于外部路由器的下一跳(即,1.1.3.1、1.1.4.1和1.1.4.11中的一个)。
该过程然后确定(在1510处)是否对路由指定输出接口。如上面所提到的,在一些实施例中,所配置的静态路由包括下一跳地址,以及在某些情况下逻辑路由器的接口,通过该接口输出正在被路由的目的地地址在子网中的分组。至于在PLR配置数据1405中所示的路由,三个默认路由(用于0.0.0.0/0)指定输出接口。具体地,这些路由指示三个向北接口U1、U2和U3中的每一个的下一跳物理路由器。
当路由指定输出接口时,该过程识别(在1515处)与指定接口相关联的SR。在一些实施例中,如在前面章节中描述的,对于PLR的上行链路中的每一个分配不同的SR。例如,在示例逻辑网络1100中,PLR 1105的上行链路U1、U2和U3分别分配给三个SR 1230、1235和1240。
过程1500然后将路由添加(在1520处)到所识别的SR的RIB。路由没有添加到其它SR中的任何一个,因为将由路由处理的北向分组不应当被发送到其它SR。因此,在图14示例中,路由0.0.0.0/0经由1.1.3.1输出到U1仅添加到拥有输出接口U1的第一SR 1230的RIB1415。类似地,路由0.0.0.0/0经由1.1.4.1输出到U2仅添加到第二SR 1235的RIB 1420,并且路由0.0.0.0/0经由1.1.4.11输出到U3仅添加到第三SR 1240的RIB 1420。
另一方面,如果路由没有指定输出接口,那么该过程识别(在1525处)具有到指定的下一跳的连接性的所有SR。在所有SR具有同等的L3连接性(例如,所有上行链路连接到物理路由器的相同集合)的情况下,那么这将是所有SR。然而,在某些情况下,管理员可以配置具有不同L3连接性的PLR上行链路,在该情况下,SR中的一些可能不具有到特定路由的下一跳的连接性。
该过程然后将路由添加(在1530处)到所识别的SR中的每一个的RIB。PLR配置1405包括没有指定输出接口的两个静态路由。第一个这样的路由是用于前缀172.16.0.0/16,其中下一跳地址是1.1.3.1。在该情况下,仅第一SR 1230具有到下一跳的连接性,所以管理平面将该路由仅添加到该第一SR的RIB 1415。路由不添加到RIB 1420或者1425。另一个路由是用于前缀10.0.0.0/8,其中下一跳是1.1.4.1。上行链路中的两个(U2和U3)具有到该下一跳的连接性,所以路由添加到它们各自的SR 1235和1240的RIB 1420和1425,而不添加到RIB 1415。
除了将路由添加到SR中的一个或多个,在某些情况下,过程1500还将路由添加到DR。具体地,该过程确定(在1535处)路由是否是默认路由。在一些实施例中,默认路由是用于前缀0.0.0.0/0(即,整个IPv4地址空间)的路由。在最长前缀匹配系统中,只有当分组没有匹配路由表中的任何其它路由时才使用这样的路由。如果逻辑网络的终端机器(例如,VM)充当通过因特网访问机器的远程客户端的服务器,那么默认路由将经常用于返回通信。
当路由是默认路由时,过程1500根本不将路由添加到DR,并且结束。这样,在示例中,三个默认路由没有添加到DR。然而,在一些实施例中,作为对PLR产生多个逻辑路由器构造的配置的一部分,管理平面总是将默认路由添加到DR,其发送没有另行匹配的分组到SR中的任何一个(例如,使用ECMP原则)。这样,DR 1225的RIB 1410包括默认路由0.0.0.0/0经由169.0.0.2,169.0.0.3,169.0.0.4(三个SR的向南接口P2-P4的地址)。该路由将分组发送到三个SR中的任何一个。
对于非默认静态路由,该过程对于路由被添加到的每个SR将该路由添加(在1540处)到DR,其中SR的向南接口作为下一跳。过程1500然后结束。例如,路由172.16.0.0/16经由1.1.3.1仅添加到第一SR 1230的RIB 1415。这样,该路由作为172.16.0.0/16经由169.0.0.2(第一SR 1230的向南接口P2的地址)添加到DR 1225的RIB 1410。另一方面,路由10.0.0.0/8经由1.1.4.1添加到RIB 1420和1425。这样,管理平面将具有两个下一跳的路由作为10.0.0.0/8经由169.0.0.3,169.0.0.4添加到DR的RIB 1410。例如,然后,目的地IP地址为10.0.1.1的分组将被发送到SR 1235和1240中的两者之一,这取决于ECMP原则如何被DR实现应用。
如图14中可以看到的,除了静态路由之外,逻辑路由器的各种逻辑路由器构造的RIB还将包括其它路由。这些路由包括连接到路由器构造的各种逻辑交换机的连接路由。例如,DR 1225连接到四个逻辑交换机:三个中转逻辑交换机1215、1220和1245,以及用户创建的逻辑交换机1120。对于这些中的每一个,具有输出接口(而不是下一跳)的路由添加到DR。因此,RIB 1410包括路由1.1.0.0输出到D3(针对用户创建的逻辑交换机),192.168.10.0/31输出到D1和192.168.10.2/31输出到D2(针对PLR与TLR之间的中转逻辑交换机),以及169.0.0.0/28输出到P1(针对PLR内部的中转逻辑交换机)。在一些实施例中,SR具有针对PLR内部的中转逻辑交换机的连接路由(例如,对于相同的RIB 1415,169.0.0.0/28输出到P2)。然而,如该示例中那样,在一些实施例中,SR可能对于它们的外部L2连接性不具有连接路由。然而,当该L2连接性由管理员配置时,其它实施例确实包括这样的连接路由(例如,对于第一SR 1230的RIB 1415,1.1.3.0/24输出到U1,以及对于其它两个SR 1235和1240的RIB1420和1425,1.1.4.0/24输出到U2/U3)。而且,对于每个上行链路接口IP(例如,1.1.3.2、1.1.4.2和1.1.4.21),一些实施例以下一跳是相应SR的南向接口将针对这些特定的“/32”IP地址的路由自动地插入到DR中(即,1.1.3.2/32经由169.0.0.2,1.1.4.2/32经由169.0.0.3,以及1.1.4.21/32经由169.0.0.4)。如所示的,一些实施例还将对于上行链路连接到的子网的路由插入到DR的RIB中,其中下一跳再次为相应SR的南向接口(即,1.1.3.0/24经由169.0.0.2以及1.1.4.0/24经由169.0.0.3,169.0.0.4)。
另外,PLR的逻辑路由构造可以包括由管理平面基于其它逻辑路由器(例如,TLR)的连接动态地产生的路由。图16概念性地例示当TLR附接到PLR时对于PLR路由构造产生RIB的一些实施例的过程1600。因为逻辑路由器配置信息对管理平面(例如,网络控制器的集合)是已知的,所以一些实施例能够避免运行BGP或者类似的动态路由协议以在逻辑网络内交换路由(如上所述,BGP/OSPF仍然可以用于将路由通告到外部物理网络)。
如所示的,过程1600通过接收(在1605处)TLR的北向接口到PLR的南向接口的连接而开始。在一些实施例中,TLR的所有者(例如,数据中心租户)通过管理平面API输入这个作为配置数据。租户可能不需要PLR的接口信息来指定这样的连接。代替地,租户请求连接TLR,并且管理平面自动地创建它们之间的中转逻辑交换机(例如,从可用子网的池中),以及TLR北向接口和PLR南向接口(确保这些接口具有分配给中转逻辑交换机的子网中的IP地址)。在图11的逻辑网络1100中,用户已经将TLR 1110和1115附接到PLR 1105(可能作为单独的动作)。
该过程然后从附接的TLR识别(在1610处)任何路由。TLR将具有对于它的逻辑交换机中的每一个的连接路由。另外,在一些实施例中,TLR还可以包括由用户配置的静态路由。然而,在其它实施例中,TLR用户可能不配置静态路由,或者静态路由不经由动态路由传播到PLR(因为,例如,不同的租户可能对于相同的地址配置不同的路由)。另外,在一些实施例中,租户可以指定是否应当通告它们的逻辑交换机子网(即,这些子网是否将传达到TLR外部(利用其它TLR以南的机器或者利用逻辑网络外部的机器))。在图14的示例中,第一TLR1110通告它的子网1.1.5.0/24和1.1.6.0/24两者,而第二TLR 1115仅通告它的两个子网中的一个,1.1.7.0/24(而不通告1.1.8.0/24)。
过程1600然后将这些路由传播到DR和SR中。如所示的,该过程以下一跳为TLR的北向接口将所识别的路由添加(在1615处)到(PLR的)DR。在示例中,TLR 1110和1115被完全分布,所以这些北向接口属于TLR的DR 1205和1210。因此,PLR的DR 1225的RIB 1410包括下一跳地址为192.168.10.1(DR 1215的北向接口)的、用于1.1.5.0和1.1.6.0的路由,以及下一跳地址为192.168.10.3(DR 1210的北向接口)的、用于1.1.7.0的路由。如果TLR包括有状态的服务,那么SR的北向接口将具有相同的IP地址(以活动-备用模式),并且这将是用于PLR的DR中的路由的下一跳IP地址。
该过程还通过使用(PLR的)DR的北向接口作为下一跳IP地址将所识别的路由添加(在1620处)到(PLR的)每个SR。该过程然后结束。在示例中,RIB 1415-1425中的每一个包括用于1.1.5.0、1.1.6.0和1.1.7.0的路由,全部具有下一跳IP地址169.0.0.1(即,P1的地址)。因此,对于这些子网中的每一个,从外部网络接收的、目的地地址在子网中的分组将从接收SR发送到DR并且随后从DR发送到适当的TLR。
如所提到的,图17概念性地例示当新的接口添加到PLR时对于PLR路由构造的RIB产生路由的一些实施例的过程1700。具体地,该过程涉及连接路由和PLR内部的其它路由(与由过程1600对于TLR连接添加的动态路由相对)。该新的接口可以是新的上行链路或者下行链路(即,逻辑交换机或者到TLR的连接)。
如所示的,该过程通过接收(在1705处)PLR的新的接口而开始。在一些实施例中,PLR的所有者通过管理平面API输入这个作为配置数据。另外,当新的TLR请求连接到PLR时,一些实施例自动地创建下行链路。该过程然后确定(在1710处)接口是否面向外部网络(即,接口是上行链路(面向外部网络)还是下行链路(面向用于TLR连接的逻辑交换机或者中转逻辑交换机)。
当接口是下行链路时,该过程对于接口连接到的子网、以下一跳为DR的向北接口将路由添加(在1715处)到PLR的每一个SR(当然,除了接口本身到DR的连接路由之外)。因此,在图14的示例中,SR RIB 1415-1425中的每一个包括下一跳为169.0.0.1(DR 1225的向北接口)的、对于1.1.0.0/24(逻辑交换机LS1的子网)的路由。
另外,下行链路的创建可以允许管理平面启用先前禁用的静态路由。在一些实施例中,指向不存在的接口的静态路由将为逻辑路由器而存储,但是被禁用(并且因此不作为路由添加到各种逻辑路由器构造的RIB)。当随后创建接口时,过程1700对于每个这样的当前禁用的路由添加(在1720处)(i)路由到DR的RIB以及(ii)相应路由到SR中的每一个的RIB(以下一跳为DR的向北接口)。
另一方面,当新的接口是上行链路(即,它面向外部网络)时,如上所述,过程1700对于上行链路创建(在1725处)新的SR(如果需要的话)。该过程还对于新的接口连接到的子网、以下一跳为SR的向南接口将路由添加(在1730处)到DR。该过程还对于新的上行链路接口的IP地址、以下一跳也为SR的向南接口将路由添加(在1735处)到DR。例如,在图14中,DR具有对于每个接口的路由,1.1.3.2经由169.0.0.2、1.1.4.2经由169.0.0.3以及1.1.4.21经由169.0.0.4。另外,在一些实施例中,DR将具有对于这些接口中的每一个连接到的子网的类似的路由。
最后,对于下一跳在新的接口上的每个路由(例如,指向外部路由器的静态路由),该过程将对于新的接口的路由添加(在1740处)到SR,并且更新DR上的路由。例如,将创建DR上的默认路由以同样指向新的SR的向南接口(具有与指向其它SR的默认路由相等的优先级),并且指向经由新的接口可到达的外部物理路由器接口的外部网络的任何静态路由将具有添加到SR和DR的相应路由(例如,根据过程1500)。
在某些情况下,配置数据可能改变,从而导致管理平面修改各种逻辑路由器构造的RIB。例如,如果TLR上行链路IP地址改变(因为,例如,用于中转逻辑交换机的可用子网的池被修改),那么管理平面将必须修改下一跳在该子网中的DR路由。在一些实施例中,存在基于从TLR通告的子网的任何路由(例如,上面的示例中的路由1.1.5.0经由192.168.10.1)以及对于现在修改的接口的连接路由(例如,上面的示例中的路由192.168.10.0/31输出到D1)。类似地,如果逻辑路由器的内部中转逻辑交换机改变,那么用于那个网络的各种逻辑路由器构造上的连接路由将被修改,并且DR与SR之间的内部路由将被修改(如果向北DR接口和向南SR接口作为该改变的结果而被修改的话)。
另外,管理员可能修改PLR端口的IP地址。当该修改的端口是下行链路(例如,连接到逻辑交换机,诸如示例中的逻辑交换机1120)时,对于那个逻辑交换机的连接路由将自动地被修改。然而,如果存在下一跳在网络中的任何静态路由,那么一些实施例不允许配置修改。代替地,其它实施例在允许配置改变的同时使静态路由无效。
如果被修改的PLR端口是上行链路,那么RIB中自动产生的路由都不需要修改(除非连接路由用于外部L2连接性,并且该连接性改变)。然而,与外部网络对等的BGP可能需要被修改,因为通告到外部路由器的路由的下一跳IP地址将需要被改变。另外,在PLR上配置的静态路由可以发送到SR的新集合。例如,如果第一SR 1230被修改以具有地址1.1.4.4,并且连接到第二和第三外部路由器(地址1.1.4.1和1.1.4.11),那么这将对于静态路由172.16.0.0/16经由1.1.3.1产生问题(将不允许该配置改变或者将使静态路由无效),同时静态路由10.0.0.0/8经由1.1.4.1也将添加到第一SR 1230的RIB 1415。
在操作期间,管理员可以添加或者删除上行链路(以及相应的SR)。当添加上行链路时,管理平面如以上面的方式中所描述的那样将路由添加到DR和新的SR(例如,将默认等价路由添加到DR,并且基于连接到PLR的逻辑交换机或者来自被选择用于路由通告的连接TLR的逻辑交换机添加任何路由)。而且,在一些实施例中,根据上行链路L3连接性,针对PLR配置的静态路由可能需要被添加到新的SR的RIB(以与上面所描述的相同的方式)。当删除上行链路(和SR)时,在一些实施例中,管理平面首先证实没有针对PLR配置将受SR和上行链路的移除影响的基于接口的路由(例如,指定上行链路作为输出接口的路由)。而且,将分组发送到SR的等价默认路由被从DR中移除,内部中转逻辑交换机上的端口被删除,并且导致DR路由指向SR的任何静态路由也被从DR中移除。
IV.电子系统
上述特征和应用的许多作为软件过程而实现,该软件过程指定为记录在计算机可读存储介质(也称为计算机可读介质)上的指令集。当这些指令由一个或多个处理单元(例如,一个或多个处理器,处理器核或者其它处理单元)执行时,它们使处理单元执行在指令中指示的动作。计算机可读介质的示例包括,但不限于,CD-ROM,闪存驱动器、RAM芯片、硬盘驱动器、EPROM等。计算机可读介质不包括无线地或者经由有线连接传递的载波和电子信号。
在本说明书中,术语“软件”意味着包括驻留在只读存储器中的固件或者存储在磁存储装置中的应用,其可以读入到存储器中以用于由处理器处理。而且,在一些实施例中,多个软件发明可以作为较大程序的子部分而实现,同时保留不同的软件发明。在一些实施例中,多个软件发明也可以作为单独的程序实现。最后,一起实现这里描述的软件发明的单独程序的任何组合在本发明的范围内。在一些实施例中,软件程序当被安装以在一个或多个电子系统上操作时定义执行并且进行软件程序的操作的一个或多个特定的机器实现。
图18概念性地例示实现本发明的一些实施例的电子系统1800。电子系统1800可以用于执行上面描述的控制、虚拟化或者操作系统应用中的任何一个。电子系统1800可以是计算机(例如,桌面计算机、个人计算机、平板计算机、服务器计算机、大型机、刀片计算机等)、电话、PDA或者任何其它种类的电子设备。这样的电子系统包括各种类型的计算机可读介质以及用于各种类型的计算机可读介质的接口。电子系统1800包括总线1805、处理单元1810、系统存储器1825、只读存储器1830、永久存储设备1835、输入设备1840和输出设备1845。
总线1805总体地代表通信地连接电子系统1800的大量内部设备的所有系统、外围设备和芯片组总线。例如,总线1805通信地连接处理单元1810与只读存储器1830、系统存储器1825和永久存储设备1835。
从这些各种存储单元,处理单元1810取回要执行的指令和要处理的数据以便执行本发明的过程。在不同实施例中,处理单元可以是单个处理器或者多核处理器。
只读存储器(ROM)1830存储由电子系统的处理单元1810和其它模块需要的静态数据和指令。另一方面,永久存储设备1835是读写存储设备。该设备是即使当电子系统1800关闭时仍存储指令和数据的非易失性存储单元。本发明的一些实施例使用大容量存储设备(诸如磁盘或者光盘以及它相应的盘驱动器)作为永久存储设备1835。
其它实施例使用可移除存储设备(诸如软盘、闪存驱动器等)作为永久存储设备。像永久存储设备1835一样,系统存储器1825是读写存储设备。然而,不像存储设备1835,系统存储器是易失性读写存储器,诸如随机存取存储器。系统存储器存储处理器在运行时间需要的指令和数据中的一些。在一些实施例中,本发明的过程存储在系统存储器1825、永久存储设备1835和/或只读存储器1830中。从这些各种存储单元,处理单元1810取回要执行的指令和要处理的数据以便执行一些实施例的过程。
总线1805还连接到输入设备1840和输出设备1845。输入设备使得用户能够传达信息和选择命令到电子系统。输入设备1840包括字母数字键盘和定点设备(也称为“光标控制设备”)。输出设备1845显示由电子系统产生的图像。输出设备包括打印机和显示设备,诸如阴极射线管(CRT)或者液晶显示器(LCD)。一些实施例包括充当输入和输出设备两者的设备,诸如触摸屏。
最后,如图18中所示,总线1805还将电子系统1800通过网络适配器(未示出)耦合到网络1865。以该方式,计算机可以是计算机网络(诸如局域网(“LAN”)、广域网(“WAN”)或者内联网,或者网络的网络,诸如因特网的一部分。电子系统1800的任何或者全部组件可以与本发明结合使用。
一些实施例包括电子组件,诸如微处理器、将计算机程序指令存储在机器可读或计算机可读介质(替代地称为计算机可读存储介质、机器可读介质或者机器可读存储介质)中的储存器和存储器。这样的计算机可读介质的一些示例包括RAM、ROM、只读紧凑盘(CD-ROM)、可记录紧凑盘(CD-R)、可重写紧凑盘(CD-RW)、只读数字多功能盘(例如,DVD-ROM、双层DVD-ROM)、各种可记录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存(例如,SD卡、迷你SD卡、微型SD卡等)、磁和/或固态硬盘驱动器、只读和可记录Blu-Ray@盘、超密度光盘、任何其它光学或者磁性介质以及软盘。计算机可读介质可以存储由至少一个处理单元可执行的计算机程序并且包括用于执行各种操作的指令集。计算机程序或者计算机代码的示例包括诸如由编译器产生的机器代码,以及由计算机、电子组件或者微处理器使用解释器执行的包括更高层次代码的文件。
虽然上面的讨论主要涉及执行软件的微处理器或者多核处理器,但是一些实施例由一个或多个集成电路(诸如专用集成电路(ASIC)或者现场可编程门阵列(FPGA))执行。在一些实施例中,这样的集成电路执行存储在电路自身上的指令。
如在本说明书中使用的,术语“计算机”、“服务器”、“处理器”、“存储器”全部是指电子或者其它技术设备。这些术语排除人或者多组人。出于说明书的目的,术语显示或者正在显示意指在电子设备上显示。如在本说明书中使用的,术语“计算机可读介质”、“计算机可读媒介”和“机器可读介质”完全地限制于以计算机可读的形式存储信息的有形物理对象。这些术语排除任何无线信号、有线下载信号以及任何其它短暂信号。
本说明书整个涉及包括虚拟机(VM)的计算和网络环境。然而,虚拟机仅仅是数据计算节点(DCN)或者数据计算终端节点(也称为可寻址节点)的一个示例。DCN可以包括非虚拟化的物理主机、虚拟机、在主机操作系统之上运行而不需要超级管理器或者单独操作系统的容器、以及超级管理器内核网络接口模块。
在一些实施例中,VM使用由虚拟化软件(例如,超级管理器、虚拟机监视器等)虚拟化的主机的资源在主机上利用它们自己的客户操作系统进行操作。租户(即,VM的所有者)可以选择哪些应用在客户操作系统之上操作。另一方面,一些容器是在主机操作系统之上运行而不需要超级管理器或者单独客户操作系统的构造。在一些实施例中,主机操作系统使用命名空间将容器彼此隔离并且因此提供在不同容器内操作的不同的多组应用的操作系统层次的分离。该分离类似于在虚拟化系统硬件的超级管理器虚拟化的环境中提供的VM分离,并且因此可以看作隔离在不同容器中操作的不同的多组应用的虚拟化的形式。这样的容器比VM更轻量。
在一些实施例中,超级管理器内核网络接口模块是非VM DCN,其包括具有超级管理器内核网络接口的网络堆栈和接收/传输线程。超级管理器内核网络接口模块的一个示例是作为VMware,Inc.的ESXiTM超级管理器的一部分的vmknic模块。
应当理解,虽然本说明书涉及VM,但是给出的示例可以是任何类型的DCN,包括物理主机、VM、非VM容器和超级管理器内核网络接口模块。事实上,在一些实施例中,示例网络可以包括不同类型的DCN的组合。
虽然已经参考大量特定的细节描述了本发明,但是本领域普通技术人员将认识到,可以在不脱离本发明的精神的情况下以其它特定的形式体现本发明。另外,许多图(包括图9、10、13、15、16和17)概念性地例示过程。这些过程的特定操作可以不按所示出和所描述的确切次序执行。特定的操作可以不在一个连续的操作序列中执行,并且不同的特定操作可以在不同的实施例中执行。而且,过程可以使用若干子过程、或者作为较大的宏过程的一部分而实现。因此,本领域普通技术人员将理解,本发明不是要由前面的例示性细节限制,而是要由附加的权利要求书定义。

Claims (41)

1.一种用于在逻辑网络中实现逻辑路由器的方法,所述方法包括:
接收用于逻辑路由器的静态路由的配置,其中,所述逻辑路由器包括具有单独的路由表的多个路由组件;
识别所述路由组件中的哪些需要添加路由到相应的路由表以实现静态路由的配置;以及
将路由添加到所识别的路由组件的相应的单独的路由表。
2.根据权利要求1所述的方法,其中,所述静态路由的配置包括前缀和下一跳地址。
3.根据权利要求2所述的方法,其中,所述静态路由的配置还包括输出接口。
4.根据权利要求1所述的方法,其中,所述逻辑路由器的所述多个路由组件包括(i)与其它逻辑转发元件接口的分布式路由组件和(ii)与外部物理网络接口的多个集中式路由组件。
5.根据权利要求4所述的方法,其中,所述静态路由包括作为所述逻辑网络中的地址的下一跳地址,其中,所述逻辑路由器的路由组件中的每一个被识别为需要添加路由到相应的路由表。
6.根据权利要求5所述的方法,其中,将路由添加到所识别的路由组件的单独的路由表包括:
将静态路由按所配置的那样添加到分布式路由组件;以及
将对于与所配置的静态路由相同的前缀的路由添加到集中式路由组件中的每一个,所述路由包括所述集中式路由组件连接到的分布式路由组件的接口的下一跳地址。
7.根据权利要求4所述的方法,其中,所述静态路由包括作为所述外部物理网络中的地址的下一跳地址,并且对于所述静态路由不指定输出接口,其中,识别所述路由组件中的哪些需要添加路由到相应的路由表包括识别具有到所述下一跳地址的连接性的集中式组件。
8.根据权利要求7所述的方法,其中,将路由添加到所识别的路由组件的相应的路由表包括将静态路由按所配置的那样添加到具有到所述下一跳地址的连接性的所识别的集中式路由组件中的每一个。
9.根据权利要求8所述的方法,其中:
识别所述路由组件中的哪些需要添加路由到相应的路由表还包括确定所配置的静态路由是否是默认路由;以及
将路由添加到所识别的路由组件的相应的路由表包括仅当所述路由不是默认路由时才将路由添加到分布式路由组件的路由表,每个被添加的路由的下一跳地址是所配置的静态路由被添加到的集中式路由组件的接口的地址。
10.根据权利要求1所述的方法,其中,所述方法由管理所述逻辑路由器的集中式网络控制器执行。
11.根据权利要求10所述的方法,还包括将具有被添加的路由的路由表分布到在实现所述多个路由组件的物理机器上操作的本地网络控制器。
12.根据权利要求1所述的方法,其中,将路由添加到特定的路由表包括添加或者修改所述特定的路由表的条目。
13.一种存储程序的机器可读介质,所述程序在被至少一个处理单元执行时在逻辑网络中实现逻辑路由器,所述程序包括用于以下的指令集:
接收用于逻辑路由器的静态路由的配置,其中,所述逻辑路由器包括具有单独的路由表的多个路由组件;
识别所述路由组件中的哪些需要添加路由到相应的路由表以实现静态路由的配置;以及
将路由添加到所识别的路由组件的相应的单独的路由表。
14.根据权利要求13所述的机器可读介质,其中,所述静态路由的配置包括前缀和下一跳地址。
15.根据权利要求2所述的机器可读介质,其中,所述静态路由的配置还包括输出接口。
16.根据权利要求13所述的机器可读介质,其中,所述逻辑路由器的所述多个路由组件包括(i)与其它逻辑转发元件接口的分布式路由组件和(ii)与外部物理网络接口的多个集中式路由组件。
17.根据权利要求16所述的机器可读介质,其中,(i)所述静态路由包括作为所述逻辑网络中的地址的下一跳地址,(ii)所述逻辑路由器的路由组件中的每一个被识别为需要添加路由到相应的路由表,以及(iii)用于将路由添加到所识别的路由组件的单独的路由表的指令集包括用于以下的指令集:
将静态路由按所配置的那样添加到分布式路由组件;以及
将对于与所配置的静态路由相同的前缀的路由添加到集中式路由组件中的每一个,所述路由包括所述集中式路由组件连接到的分布式路由组件的接口的下一跳地址。
18.根据权利要求16所述的机器可读介质,其中,(i)所述静态路由包括作为所述外部物理网络中的地址的下一跳地址,并且对于所述静态路由不指定输出接口,(ii)用于识别所述路由组件中的哪些需要添加路由到相应的路由表的指令集包括用于识别具有到所述下一跳地址的连接性的集中式组件的指令集,以及(iii)用于将路由添加到所识别的路由组件的相应的路由表的指令集包括用于将静态路由按所配置的那样添加到具有到所述下一跳地址的连接性的所识别的集中式路由组件中的每一个的指令集。
19.根据权利要求18所述的机器可读介质,其中:
用于识别所述路由组件中的哪些需要添加路由到相应的路由表的指令集还包括用于确定所配置的静态路由是否是默认路由的指令集;以及
用于将路由添加到所识别的路由组件的相应的路由表的指令集包括用于仅当所述路由不是默认路由时才将路由添加到分布式路由组件的路由表的指令集,每个被添加的路由的下一跳地址是所配置的静态路由被添加到的集中式路由组件的接口的地址。
20.根据权利要求13所述的机器可读介质,其中,所述程序是管理所述逻辑路由器的集中式网络控制器,所述程序还包括用于将具有被添加的路由的路由表分布到在实现所述多个路由组件的物理机器上操作的本地网络控制器的指令集。
21.根据权利要求13所述的机器可读介质,其中,用于将路由添加到特定的路由表的指令集包括用于添加或者修改所述特定的路由表的条目的指令集。
22.一种用于在逻辑网络中实现逻辑路由器的方法,所述方法包括:
接收将第一逻辑路由器连接到第二逻辑路由器的配置数据,其中,所述第二逻辑路由器包括具有单独的路由表的多个逻辑路由组件;以及
对于针对所述第一逻辑路由器配置的一个或多个路由中的每一个:
将路由添加到所述第二逻辑路由器的分布式路由组件的路由表,被添加的路由具有所述第一逻辑路由器的接口的下一跳地址;以及
将路由添加到所述第二逻辑路由器的一个或多个集中式路由组件中的每一个的路由表,其中被添加的路由的下一跳地址为所述第二逻辑路由器内部的分布式路由组件的接口的地址。
23.根据权利要求22所述的方法,其中,所述第一逻辑路由器是没有连接到任何外部物理网络的租户逻辑路由器,并且所述第二逻辑路由器是连接到外部物理网络的提供商逻辑路由器。
24.根据权利要求22所述的方法,其中,所述配置数据包括通过应用编程接口来自所述第一逻辑路由器的所有者的请求。
25.根据权利要求22所述的方法,其中,所述第一逻辑路由器仅包括单个分布式路由组件并且不包括集中式路由组件。
26.根据权利要求25所述的方法,其中,所述第一逻辑路由器的接口包括所述第一逻辑路由器的分布式路由组件的接口。
27.根据权利要求22所述的方法,其中,所述第一逻辑路由器还包括单个分布式路由组件、活动的集中式路由组件以及备用的集中式路由组件。
28.根据权利要求27所述的方法,其中,所述第一逻辑路由器的接口包括所述活动的集中式路由组件的接口。
29.根据权利要求22所述的方法,其中,仅当所述第一逻辑路由器的所有者指定路由要被通告到所述第一逻辑路由器的外部时,所述路由才被添加到所述第二逻辑路由器的组件的路由表。
30.根据权利要求22所述的方法,其中,所述方法由管理所述第二逻辑路由器的集中式网络控制器执行。
31.根据权利要求30所述的方法,还包括将具有被添加的路由的路由表分布到在实现所述多个路由组件的物理机器上操作的本地网络控制器。
32.根据权利要求22所述的方法,其中,针对所述第一逻辑路由器配置的路由包括基于逻辑交换机到所述第一逻辑路由器的连接而对于所述第一逻辑路由器自动产生的连接路由。
33.根据权利要求22所述的方法,还包括指定集中式路由组件经由动态路由协议将路由通告到外部物理网络。
34.一种存储程序的机器可读介质,所述程序在被至少一个处理单元执行时在逻辑网络中实现逻辑路由器,所述程序包括用于以下的指令集:
接收将第一逻辑路由器连接到第二逻辑路由器的配置数据,其中,所述第二逻辑路由器包括具有单独的路由表的多个逻辑路由组件;以及
对于针对所述第一逻辑路由器配置的一个或多个路由中的每一个:
将路由添加到所述第二逻辑路由器的分布式路由组件的路由表,被添加的路由具有所述第一逻辑路由器的接口的下一跳地址;以及
将路由添加到所述第二逻辑路由器的一个或多个集中式路由组件中的每一个的路由表,其中被添加的路由的下一跳地址为所述第二逻辑路由器内部的分布式路由组件的接口的地址。
35.根据权利要求34所述的机器可读介质,其中,所述第一逻辑路由器是没有连接到任何外部物理网络的租户逻辑路由器,并且所述第二逻辑路由器是连接到外部物理网络的提供商逻辑路由器。
36.根据权利要求34所述的机器可读介质,其中,所述第一逻辑路由器仅包括单个分布式路由组件并且不包括集中式路由组件。
37.根据权利要求36所述的机器可读介质,其中,所述第一逻辑路由器的接口包括所述第一逻辑路由器的分布式路由组件的接口。
38.根据权利要求34所述的机器可读介质,其中,所述第一逻辑路由器还包括单个分布式路由组件、活动的集中式路由组件以及备用的集中式路由组件,其中,所述第一逻辑路由器的接口包括所述活动的集中式路由组件的接口。
39.根据权利要求34所述的机器可读介质,其中,仅当所述第一逻辑路由器的所有者指定路由要被通告到所述第一逻辑路由器的外部时,所述路由才被添加到所述第二逻辑路由器的组件的路由表。
40.根据权利要求34所述的机器可读介质,其中,针对所述第一逻辑路由器配置的路由包括基于逻辑交换机到所述第一逻辑路由器的连接而对于所述第一逻辑路由器自动产生的连接路由。
41.根据权利要求34所述的机器可读介质,其中,所述程序还包括用于指定集中式路由组件经由动态路由协议将路由通告到外部物理网络的指令集。
CN201680047244.2A 2015-08-11 2016-04-01 逻辑路由器的路由配置方法、设备及系统 Active CN107925617B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011352640.0A CN112437026B (zh) 2015-08-11 2016-04-01 逻辑路由器的路由配置方法、设备及系统

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
IN4183CH2015 2015-08-11
IN4183/CHE/2015 2015-08-11
US14/871,968 US10230629B2 (en) 2015-08-11 2015-09-30 Static route configuration for logical router
US14/871,977 US10129142B2 (en) 2015-08-11 2015-09-30 Route configuration for logical router
US14/871,968 2015-09-30
US14/871,977 2015-09-30
PCT/US2016/025699 WO2017027073A1 (en) 2015-08-11 2016-04-01 Route configuration for logical router

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202011352640.0A Division CN112437026B (zh) 2015-08-11 2016-04-01 逻辑路由器的路由配置方法、设备及系统

Publications (2)

Publication Number Publication Date
CN107925617A true CN107925617A (zh) 2018-04-17
CN107925617B CN107925617B (zh) 2020-12-01

Family

ID=57996234

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201680047244.2A Active CN107925617B (zh) 2015-08-11 2016-04-01 逻辑路由器的路由配置方法、设备及系统
CN202011352640.0A Active CN112437026B (zh) 2015-08-11 2016-04-01 逻辑路由器的路由配置方法、设备及系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202011352640.0A Active CN112437026B (zh) 2015-08-11 2016-04-01 逻辑路由器的路由配置方法、设备及系统

Country Status (6)

Country Link
US (4) US10129142B2 (zh)
EP (1) EP3335389B1 (zh)
JP (2) JP6720292B2 (zh)
CN (2) CN107925617B (zh)
AU (2) AU2016307199B2 (zh)
CA (2) CA3139646C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108289064A (zh) * 2018-04-23 2018-07-17 清华大学深圳研究生院 一种数据中心网中混合式负载均衡方法
CN109347742A (zh) * 2018-10-31 2019-02-15 新华三技术有限公司 一种基于pbr的多个下一跳负载分担方法及装置
CN114422280A (zh) * 2021-12-31 2022-04-29 深信服科技股份有限公司 网络部署方法、装置、节点及存储介质

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10348767B1 (en) * 2013-02-26 2019-07-09 Zentera Systems, Inc. Cloud over IP session layer network
US9419855B2 (en) 2014-03-14 2016-08-16 Nicira, Inc. Static routes for logical routers
US9647883B2 (en) 2014-03-21 2017-05-09 Nicria, Inc. Multiple levels of logical routers
US10079779B2 (en) 2015-01-30 2018-09-18 Nicira, Inc. Implementing logical router uplinks
US9985875B1 (en) * 2015-03-31 2018-05-29 Juniper Networks, Inc. Route signalling based resilient application overlay network
US10243848B2 (en) 2015-06-27 2019-03-26 Nicira, Inc. Provisioning logical entities in a multi-datacenter environment
US10129142B2 (en) 2015-08-11 2018-11-13 Nicira, Inc. Route configuration for logical router
US10075363B2 (en) 2015-08-31 2018-09-11 Nicira, Inc. Authorization for advertised routes among logical routers
US10095535B2 (en) 2015-10-31 2018-10-09 Nicira, Inc. Static route types for logical routers
US10382529B2 (en) 2016-01-29 2019-08-13 Nicira, Inc. Directed graph based span computation and configuration dispatching
US10153973B2 (en) 2016-06-29 2018-12-11 Nicira, Inc. Installation of routing tables for logical router in route server mode
US10554549B1 (en) * 2016-08-05 2020-02-04 Cisco Technology, Inc. DCI stitching for data center overlays
US10454758B2 (en) 2016-08-31 2019-10-22 Nicira, Inc. Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP
US10341236B2 (en) 2016-09-30 2019-07-02 Nicira, Inc. Anycast edge service gateways
US10616347B1 (en) * 2016-10-20 2020-04-07 R&D Industries, Inc. Devices, systems and methods for internet and failover connectivity and monitoring
US10277535B2 (en) * 2017-03-31 2019-04-30 Hewlett Packard Enterprise Development Lp Network switch systems including logical switches
US10757004B2 (en) * 2017-04-12 2020-08-25 Nicira, Inc. Routing domain identifier assignment in logical network environments
US10243846B2 (en) 2017-05-15 2019-03-26 Nicira, Inc. Defining routing domain for distributed packet processing
US10432513B2 (en) * 2017-07-14 2019-10-01 Nicira, Inc. Asymmetric network elements sharing an anycast address
US10623322B1 (en) * 2017-09-15 2020-04-14 Juniper Networks, Inc. Dynamic prefix list for route filtering
CN110932876B (zh) * 2018-09-19 2022-12-02 华为技术有限公司 一种通信系统、方法及装置
US10931560B2 (en) 2018-11-23 2021-02-23 Vmware, Inc. Using route type to determine routing protocol behavior
US10797998B2 (en) 2018-12-05 2020-10-06 Vmware, Inc. Route server for distributed routers using hierarchical routing protocol
US10938788B2 (en) 2018-12-12 2021-03-02 Vmware, Inc. Static routes for policy-based VPN
US10999196B2 (en) * 2019-02-25 2021-05-04 Vmware, Inc. Global replication mode for overlay runtime state migration
DE102019114309A1 (de) * 2019-05-28 2020-12-03 Beckhoff Automation Gmbh Verfahren zum Routen von Telegrammen in einem Automatisierungsnetzwerk, Datenstruktur, Automatisierungsnetzwerk und Netzwerkverteiler
EP3979573A4 (en) * 2019-07-05 2022-06-08 Mitsubishi Electric Corporation RELAY DEVICE AND NETWORK SYSTEM
JP2021016067A (ja) * 2019-07-11 2021-02-12 富士ゼロックス株式会社 中継システム、中継装置及びプログラム
US11374817B2 (en) * 2020-04-06 2022-06-28 Vmware, Inc. Determining span of logical network element
US11394634B2 (en) 2020-04-06 2022-07-19 Vmware, Inc. Architecture for stretching logical switches between multiple datacenters
US11088902B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Synchronization of logical network state between global and local managers
US11777793B2 (en) 2020-04-06 2023-10-03 Vmware, Inc. Location criteria for security groups
US11088919B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Data structure for defining multi-site logical network
US11343283B2 (en) 2020-09-28 2022-05-24 Vmware, Inc. Multi-tenant network virtualization infrastructure
US11469987B2 (en) 2020-09-30 2022-10-11 Vmware, Inc. Incremental and parallel routing domain computation
US20220239627A1 (en) * 2021-01-22 2022-07-28 Vmware, Inc. Managing internet protocol (ip) address allocation to tenants in a computing environment
US11843536B1 (en) 2023-01-18 2023-12-12 Bank Of America Corporation Systems, methods, and apparatuses for determining data routing in an electronic environment
CN116595285B (zh) * 2023-07-19 2024-04-16 深圳复临科技有限公司 一种路由生成方法、装置、计算机设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1442987A (zh) * 2001-10-05 2003-09-17 三星电子株式会社 用于大规模并行路由器的冗余机制协议
US7107356B2 (en) * 2001-03-07 2006-09-12 Lucent Technologies Inc. Translator for enabling logical partitioning of a network switch
CN102780605A (zh) * 2011-05-13 2012-11-14 中国科学院声学研究所 一种域间出口路径动态选择方法及系统
CN103947164A (zh) * 2011-10-14 2014-07-23 谷歌公司 半集中式路由
CN104335553A (zh) * 2012-03-30 2015-02-04 诺基亚通信公司 用于分布式网关的集中式ip地址管理
EP2838244A2 (en) * 2013-08-14 2015-02-18 Nicira, Inc. Providing services for logical networks
US9032095B1 (en) * 2004-01-06 2015-05-12 Juniper Networks, Inc. Routing device having multiple logical routers

Family Cites Families (337)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0737921B1 (en) 1990-09-17 2000-06-28 Cabletron Systems, Inc. System and method for modelling a computer network
US5742760A (en) 1992-05-12 1998-04-21 Compaq Computer Corporation Network packet switch using shared memory for repeating and bridging packets at media rate
SE9402059D0 (sv) 1994-06-13 1994-06-13 Ellemtel Utvecklings Ab Sätt och anordning vid telekommunikation
US5751967A (en) 1994-07-25 1998-05-12 Bay Networks Group, Inc. Method and apparatus for automatically configuring a network device to support a virtual network
US5550816A (en) 1994-12-29 1996-08-27 Storage Technology Corporation Method and apparatus for virtual switching
US6418324B1 (en) 1995-06-01 2002-07-09 Padcom, Incorporated Apparatus and method for transparent wireless communication between a remote device and host system
US6035105A (en) 1996-01-02 2000-03-07 Cisco Technology, Inc. Multiple VLAN architecture system
US6108304A (en) 1996-03-08 2000-08-22 Abe; Hajime Packet switching network, packet switching equipment, and network management equipment
JPH09307587A (ja) 1996-05-09 1997-11-28 Fujitsu Ltd 交換機
US6456624B1 (en) 1997-10-29 2002-09-24 Enterasys Networks, Inc. Network address resolve blocker
JP3609256B2 (ja) 1998-05-19 2005-01-12 株式会社日立製作所 ネットワーク管理装置,ノード装置及びネットワーク管理システム
US6424659B2 (en) 1998-07-17 2002-07-23 Network Equipment Technologies, Inc. Multi-layer switching apparatus and method
US6584102B1 (en) 1998-12-21 2003-06-24 At&T Corp. Communication network apparatus and method
US6950428B1 (en) 1998-12-30 2005-09-27 Hewlett-Packard Development Company, L.P. System and method for configuring adaptive sets of links between routers in a system area network (SAN)
JP2000244567A (ja) 1999-02-23 2000-09-08 Hitachi Ltd ルータネットワーク管理方法
US6914907B1 (en) 1999-08-05 2005-07-05 Alcatel Canada Inc. Method and apparatus for providing multi-cast transmissions using a distributed router
US7020697B1 (en) 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US6963585B1 (en) 1999-10-21 2005-11-08 International Business Machines Corporation Method and system for establishing a virtual path capability in a frame relay network
US6680934B1 (en) 1999-12-02 2004-01-20 Nortel Networks Limited System, device and method for expediting control flow in a communication system
US6977924B1 (en) 1999-12-22 2005-12-20 Alcatel Control and distribution protocol for a portable router framework
US8204082B2 (en) 2000-06-23 2012-06-19 Cloudshield Technologies, Inc. Transparent provisioning of services over a network
US20020093952A1 (en) 2000-06-30 2002-07-18 Gonda Rumi Sheryar Method for managing circuits in a multistage cross connect
US7389358B1 (en) 2000-09-13 2008-06-17 Fortinet, Inc. Distributed virtual system to support managed, network-based services
US7225270B2 (en) 2000-10-17 2007-05-29 Cisco Technology, Inc. Selective diversion and injection of communication traffic
JP4225681B2 (ja) 2000-12-06 2009-02-18 富士通株式会社 仮想閉域網構築方法及び装置並びに中継装置
US7260648B2 (en) 2001-01-25 2007-08-21 Ericsson, Inc. Extension of address resolution protocol (ARP) for internet protocol (IP) virtual networks
US6999454B1 (en) 2001-02-09 2006-02-14 Nortel Networks Limited Information routing system and apparatus
US6785843B1 (en) 2001-02-23 2004-08-31 Mcrae Andrew Data plane restart without state change in a control plane of an intermediate network node
US7209439B2 (en) 2001-03-20 2007-04-24 Mci, Llc Pool-based resource management in a data network
US7069337B2 (en) 2001-03-20 2006-06-27 Mci, Inc. Policy-based synchronization of per-class resources between routers in a data network
US7102996B1 (en) 2001-05-24 2006-09-05 F5 Networks, Inc. Method and system for scaling network traffic managers
US7483411B2 (en) 2001-06-04 2009-01-27 Nec Corporation Apparatus for public access mobility LAN and method of operation thereof
US7881208B1 (en) 2001-06-18 2011-02-01 Cisco Technology, Inc. Gateway load balancing protocol
US7126944B2 (en) 2001-07-05 2006-10-24 Intel Corporation Routing packets across multiple forwarding elements
US7630358B1 (en) 2001-07-09 2009-12-08 Sable Networks, Inc. Mechanism for implementing multiple logical routers within a single physical router
JP2003069609A (ja) 2001-08-23 2003-03-07 Fujitsu Ltd 仮想私設網サービスを提供するシステム
US7277383B2 (en) 2001-10-05 2007-10-02 Samsung Electronics Co., Ltd. Redundancy mechanization protocol for a massively parallel router
JP3879471B2 (ja) 2001-10-10 2007-02-14 株式会社日立製作所 計算機資源割当方法
US7194553B2 (en) 2001-10-16 2007-03-20 Microsoft Corporation Resolving virtual network names
US7447197B2 (en) 2001-10-18 2008-11-04 Qlogic, Corporation System and method of providing network node services
US7200144B2 (en) 2001-10-18 2007-04-03 Qlogic, Corp. Router and methods using network addresses for virtualization
US7133365B2 (en) 2001-11-02 2006-11-07 Internap Network Services Corporation System and method to provide routing control of information over networks
EP1331793A1 (en) 2002-01-24 2003-07-30 Alcatel Canada Inc. Method for distributing aggregate route information
US7801155B2 (en) 2002-03-01 2010-09-21 Verizon Business Global Llc Resource allocation in virtual routers
US6941487B1 (en) 2002-03-07 2005-09-06 Riverstone Networks, Inc. Method, system, and computer program product for providing failure protection in a network node
JP3904968B2 (ja) 2002-04-19 2007-04-11 日本電信電話株式会社 Vpnシステムおよびルータ
US7197572B2 (en) 2002-05-06 2007-03-27 Qlogic, Corporation System and method for implementing logical switches in a network system
US6907039B2 (en) 2002-07-20 2005-06-14 Redback Networks Inc. Method and apparatus for routing and forwarding between virtual routers within a single network element
JP3801129B2 (ja) 2002-10-09 2006-07-26 日本電気株式会社 ルータパラメータ設定システム及びその方法
US20040073659A1 (en) 2002-10-15 2004-04-15 Carl Rajsic Method and apparatus for managing nodes in a network
US20040098505A1 (en) 2002-11-20 2004-05-20 Clemmensen Daniel G. Forwarding system with multiple logical sub-system functionality
US7224668B1 (en) 2002-11-27 2007-05-29 Cisco Technology, Inc. Control plane security and traffic flow management
JP3689083B2 (ja) 2002-12-10 2005-08-31 株式会社東芝 ネットワークシステム及びノード装置
JP4157409B2 (ja) 2003-03-31 2008-10-01 富士通株式会社 仮想パス構築装置および仮想パス構築方法
US7283473B2 (en) 2003-04-10 2007-10-16 International Business Machines Corporation Apparatus, system and method for providing multiple logical channel adapters within a single physical channel adapter in a system area network
EP1625489A2 (en) 2003-04-21 2006-02-15 Netcell Corp. Disk array controller with reconfigurable data path
US7792987B1 (en) 2003-04-21 2010-09-07 Juniper Networks, Inc. Supporting virtual private networks using a first network topology for forwarding and a subset of the first network topology or a smaller topology for signaling
US7710874B2 (en) 2003-06-04 2010-05-04 International Business Machines Corporation System and method for automatic management of many computer data processing system pipes
JP4278445B2 (ja) 2003-06-18 2009-06-17 株式会社日立製作所 ネットワークシステム及びスイッチ
US7356818B2 (en) 2003-06-24 2008-04-08 International Business Machines Corporation Virtual machine communicating to external device without going through other virtual machines by using a list of IP addresses managed only by a single virtual machine monitor
US7463579B2 (en) 2003-07-11 2008-12-09 Nortel Networks Limited Routed split multilink trunking
US20050018669A1 (en) 2003-07-25 2005-01-27 International Business Machines Corporation Infiniband subnet management queue pair emulation for multiple logical ports on a single physical port
US7697527B2 (en) 2003-07-30 2010-04-13 Nortel Networks Limited Method and apparatus for direct frame switching using frame contained destination information
US8776050B2 (en) 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US7366181B2 (en) 2003-09-06 2008-04-29 Fujitsu Limited Virtual private network (VPN) with channelized ethernet over sonet (EoS) interface and method
US7342916B2 (en) 2003-09-10 2008-03-11 Intel Corporation Method, apparatus and system for optimizing routing of mobile IP packets
WO2005038599A2 (en) 2003-10-14 2005-04-28 Raptor Networks Technology, Inc. Switching system with distributed switching fabric
US8009556B2 (en) 2003-10-17 2011-08-30 Ip Infusion, Inc. System and method for providing redundant routing capabilities for a network node
US7555002B2 (en) 2003-11-06 2009-06-30 International Business Machines Corporation Infiniband general services queue pair virtualization for multiple logical ports on a single physical port
US8146148B2 (en) 2003-11-19 2012-03-27 Cisco Technology, Inc. Tunneled security groups
US8095640B2 (en) 2003-12-12 2012-01-10 Alcatel Lucent Distributed architecture for real-time flow measurement at the network domain level
US7450598B2 (en) 2003-12-15 2008-11-11 At&T Intellectual Property I, L.P. System and method to provision MPLS/VPN network
US7478173B1 (en) 2003-12-18 2009-01-13 Wmware, Inc. Method and system for sharing a network connection in a virtual computer system
US7391771B2 (en) 2004-01-23 2008-06-24 Metro Packet Systems Inc. Method of sending information through a tree and ring topology of a network system
EP1745631A1 (en) 2004-05-12 2007-01-24 Alcatel Automated containment of network intruder
US8422500B2 (en) 2004-07-02 2013-04-16 Rockstar Consortium Us Lp VLAN support of differentiated services
US7787360B2 (en) 2004-07-23 2010-08-31 Cisco Technology, Inc. System and method for preserving multicast data forwarding during control failures in a router
DE602004011928T2 (de) 2004-08-02 2009-02-12 Alcatel Lucent Verfahren zur Steuerung einer gemeinsamen genutzten Ressource durch verschiedene Manager
US7706302B2 (en) 2004-09-14 2010-04-27 Alcatel Lucent Optimization of routing forwarding database in a network processor
GB2419703A (en) 2004-10-29 2006-05-03 Hewlett Packard Development Co Isolated virtual overlay infrastructures each having an interface to control interaction with others
US9014181B2 (en) 2004-11-01 2015-04-21 Alcatel Lucent Softrouter separate control network
US8068408B2 (en) 2004-11-01 2011-11-29 Alcatel Lucent Softrouter protocol disaggregation
US8458467B2 (en) 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
JP2008524916A (ja) 2004-12-21 2008-07-10 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 通信システムにおけるパケットフローに関する装置及び方法
JP2008527772A (ja) 2004-12-31 2008-07-24 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー コネクションレス通信トラフィックのためのコネクション型通信スキーム
JP4733399B2 (ja) 2005-01-28 2011-07-27 株式会社日立製作所 計算機システム、計算機、ストレージ装置及び管理端末
US8254285B2 (en) 2005-02-25 2012-08-28 Ip Infusion, Inc. Hardware abstraction layer
US7936770B1 (en) 2005-03-08 2011-05-03 Enterasys Networks, Inc. Method and apparatus of virtual class of service and logical queue representation through network traffic distribution over multiple port interfaces
US20060203774A1 (en) 2005-03-10 2006-09-14 Nokia Corporation System, method and apparatus for selecting a remote tunnel endpoint for accessing packet data services
WO2006099296A2 (en) 2005-03-10 2006-09-21 Nexthop Technologies, Inc. Flexible, scalable, wireless data forwarding and mobility for secure wireless networks
FR2883437B1 (fr) 2005-03-16 2007-08-03 Wavestorm Sarl Dispositif et procede de communication dans un reseau
CN1301096C (zh) 2005-03-21 2007-02-21 北京正大绿洲医药科技有限公司 一种用于补益肺肾的虫草滴丸及其制备方法
US7414975B2 (en) 2005-03-24 2008-08-19 Ixia Protocol stack
JP4016998B2 (ja) 2005-06-22 2007-12-05 ヤマハ株式会社 通信装置およびプログラム
US7802000B1 (en) 2005-08-01 2010-09-21 Vmware Virtual network in server farm
US8149737B2 (en) 2005-08-09 2012-04-03 Motorola Solutions, Inc. Method and system for data transmission in a wireless network
US8799431B2 (en) 2005-08-15 2014-08-05 Toutvirtual Inc. Virtual systems management
US8300636B2 (en) * 2005-09-16 2012-10-30 Acme Products, Inc. Method and system of routing media packets in a network device
JP2007135109A (ja) 2005-11-11 2007-05-31 Hitachi Ltd 仮想ネットワーク管理方法、仮想ネットワーク管理プログラム、仮想ネットワーク管理システムおよび仮想ネットワーク管理手段
US8441919B2 (en) 2006-01-18 2013-05-14 Cisco Technology, Inc. Dynamic protection against failure of a head-end node of one or more TE-LSPs
US8619771B2 (en) 2009-09-30 2013-12-31 Vmware, Inc. Private allocated networks over shared communications infrastructure
US8838756B2 (en) 2009-07-27 2014-09-16 Vmware, Inc. Management and implementation of enclosed local networks in a virtual lab
US7839847B2 (en) 2006-05-08 2010-11-23 Cisco Technology, Inc. Methods and apparatus providing VPN traffic matrix construction
US7953089B1 (en) 2006-05-16 2011-05-31 Cisco Technology, Inc. Systems and methods for multicast switching in a private VLAN
US8060875B1 (en) 2006-05-26 2011-11-15 Vmware, Inc. System and method for multiple virtual teams
JP4714081B2 (ja) 2006-06-01 2011-06-29 アラクサラネットワークス株式会社 ネットワーク接続装置
US7706303B2 (en) 2006-06-26 2010-04-27 Cisco Technology, Inc. Port pooling
US7643482B2 (en) 2006-06-30 2010-01-05 Sun Microsystems, Inc. System and method for virtual switching in a host
US7916682B2 (en) 2006-07-14 2011-03-29 Symbol Technologies, Inc. Wireless switch network architecture implementing layer 3 mobility domains
DE602006004338D1 (de) 2006-08-04 2009-01-29 Alcatel Lucent Vorrichtung, Modul und Verfahren zur Leitweglenkung für ein Zugangsnetz
US20080059556A1 (en) 2006-08-31 2008-03-06 Egenera, Inc. Providing virtual machine technology as an embedded layer within a processing platform
US7643488B2 (en) 2006-09-29 2010-01-05 Nortel Networks Limited Method and apparatus for supporting multiple customer provisioned IPSec VPNs
US7996835B2 (en) 2006-10-10 2011-08-09 International Business Machines Corporation System, method and program for managing communication with multiple configurations for virtual machine
US7792097B1 (en) 2006-10-25 2010-09-07 Cisco Technology, Inc. Static, dynamic and intelligent VRF routing for services traffic
JP5244332B2 (ja) 2006-10-30 2013-07-24 株式会社日立製作所 情報システム、データ転送方法及びデータ保護方法
US7987506B1 (en) 2006-11-03 2011-07-26 Cisco Technology, Inc. Methods and systems for dynamically updating a routing table in a virtual private network
US7826482B1 (en) 2006-11-17 2010-11-02 Juniper Networks, Inc. Service-specific forwarding in an LDP-RSVP hybrid network
US8223668B2 (en) 2006-12-14 2012-07-17 Rockstar Bidco Lp Method and apparatus for exchanging routing information and the establishment of connectivity across multiple network areas
US7738457B2 (en) 2006-12-20 2010-06-15 Oracle America, Inc. Method and system for virtual routing using containers
CN100579072C (zh) 2006-12-22 2010-01-06 华为技术有限公司 一种在ip设备之间进行通信的方法和系统
US20080159301A1 (en) 2006-12-29 2008-07-03 De Heer Arjan Arie Enabling virtual private local area network services
US20080189769A1 (en) 2007-02-01 2008-08-07 Martin Casado Secure network switching infrastructure
EP2109965B1 (en) 2007-02-02 2015-04-08 Groupe Des Ecoles Des Telecommunications (GET) Institut National Des Telecommunications (INT) Autonomic network node system
US8259720B2 (en) 2007-02-02 2012-09-04 Cisco Technology, Inc. Triple-tier anycast addressing
US7796594B2 (en) 2007-02-14 2010-09-14 Marvell Semiconductor, Inc. Logical bridging system and method
US8055789B2 (en) 2007-03-27 2011-11-08 Amazon Technologies, Inc. Configuring intercommunications between computing nodes
US8111707B2 (en) 2007-12-20 2012-02-07 Packeteer, Inc. Compression mechanisms for control plane—data plane processing architectures
US8594085B2 (en) 2007-04-11 2013-11-26 Palo Alto Networks, Inc. L2/L3 multi-mode switch including policy processing
WO2008128194A2 (en) 2007-04-12 2008-10-23 Rutgers, The State University Of New Jersey System and method for controlling a file system
US7903655B2 (en) 2007-04-19 2011-03-08 Hewlett-Packard Development Company, L.P. Marked packet forwarding
US7948874B2 (en) 2007-05-24 2011-05-24 World Wide Packets, Inc. Transitioning a virtual interface from one tunnel to another tunnel
US8031633B2 (en) 2007-08-13 2011-10-04 Honeywell International Inc. Virtual network architecture for space data processing
US8528070B2 (en) 2007-09-05 2013-09-03 Hewlett-Packard Development Company, L.P. System and method for secure service delivery
US8798056B2 (en) 2007-09-24 2014-08-05 Intel Corporation Method and system for virtual port communications
US7751329B2 (en) 2007-10-03 2010-07-06 Avaya Inc. Providing an abstraction layer in a cluster switch that includes plural switches
JP5427181B2 (ja) 2007-10-03 2014-02-26 ヴァーテラ テクノロジー サーヴィシズ インコーポレイテッド 仮想化アプリケーション加速化インフラストラクチャ
US8848544B2 (en) 2007-11-08 2014-09-30 Cisco Technology, Inc. Event correlation using network data flow simulation over unmanaged network segments
US7984123B2 (en) 2007-12-10 2011-07-19 Oracle America, Inc. Method and system for reconfiguring a virtual network path
US8199750B1 (en) 2007-12-18 2012-06-12 World Wide Packets, Inc. Communicating with a control plane using a forwarding information format and control plane processing of packets devoid of a virtual switch identifier
US8194674B1 (en) 2007-12-20 2012-06-05 Quest Software, Inc. System and method for aggregating communications and for translating between overlapping internal network addresses and unique external network addresses
US9432213B2 (en) 2007-12-31 2016-08-30 Rpx Clearinghouse Llc IP forwarding across a link state protocol controlled ethernet network
GB2458154B (en) 2008-03-07 2012-06-27 Hewlett Packard Development Co Routing across a virtual network
GB2459433B (en) 2008-03-07 2012-06-06 Hewlett Packard Development Co Distributed network connection policy management
GB2458157B (en) 2008-03-07 2012-04-25 Hewlett Packard Development Co Virtual machine liveness check
US8155028B2 (en) 2008-03-17 2012-04-10 Alcatel Lucent Method and apparatus for providing full logical connectivity in MPLS networks
ES2429121T3 (es) 2008-03-20 2013-11-13 Telefonaktiebolaget L M Ericsson (Publ) Método y aparato para comunicación de paquetes de datos entre redes locales
US8146147B2 (en) 2008-03-27 2012-03-27 Juniper Networks, Inc. Combined firewalls
US8429739B2 (en) 2008-03-31 2013-04-23 Amazon Technologies, Inc. Authorizing communications between computing nodes
US20090252173A1 (en) 2008-04-03 2009-10-08 Rangaprasad Sampath Method For Improving Efficiency Of Redundancy Protocols
US20110032843A1 (en) 2008-04-10 2011-02-10 Oktavian Papp Setting up a virtual private network using virtual lan identifiers
US8339959B1 (en) 2008-05-20 2012-12-25 Juniper Networks, Inc. Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane
US8195774B2 (en) 2008-05-23 2012-06-05 Vmware, Inc. Distributed virtual switch for virtualized computer systems
US8849971B2 (en) 2008-05-28 2014-09-30 Red Hat, Inc. Load balancing in cloud-based networks
WO2009147674A1 (en) 2008-06-03 2009-12-10 Ethos Networks Ltd. Automatic signaling method and device for telecommunication services
US8160063B2 (en) 2008-06-09 2012-04-17 Microsoft Corporation Data center interconnect and traffic engineering
US8027260B2 (en) 2008-07-23 2011-09-27 Verizon Patent And Licensing Inc. Mixed integer programming model for minimizing leased access network costs
US7885276B1 (en) 2008-09-30 2011-02-08 Emc Corporation Isolating network traffic in multi-tenant virtualization environments
US7962647B2 (en) 2008-11-24 2011-06-14 Vmware, Inc. Application delivery control module for virtual network switch
US8055770B2 (en) 2008-12-15 2011-11-08 At&T Intellectual Property I, L.P. Method and apparatus for providing network virtualization
US8271775B2 (en) 2008-12-17 2012-09-18 Cisco Technology, Inc. Layer two encryption for data center interconnectivity
US8392496B2 (en) 2008-12-19 2013-03-05 Watchguard Technologies, Inc. Cluster architecture for network security processing
US8331362B2 (en) 2008-12-30 2012-12-11 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US8255496B2 (en) 2008-12-30 2012-08-28 Juniper Networks, Inc. Method and apparatus for determining a network topology during network provisioning
US8054832B1 (en) 2008-12-30 2011-11-08 Juniper Networks, Inc. Methods and apparatus for routing between virtual resources based on a routing location policy
US7995483B1 (en) 2009-01-20 2011-08-09 Juniper Networks, Inc. Simultaneously testing connectivity to multiple remote maintenance endpoints of the same maintenance association
US20100192225A1 (en) 2009-01-28 2010-07-29 Juniper Networks, Inc. Efficient application identification with network devices
US7948986B1 (en) 2009-02-02 2011-05-24 Juniper Networks, Inc. Applying services within MPLS networks
EP2399363B1 (en) 2009-02-19 2019-05-29 Huawei Technologies Co., Ltd. System and method for point to multipoint inter-domain multiprotocol label switching traffic engineering path calculation
US8213336B2 (en) 2009-02-23 2012-07-03 Cisco Technology, Inc. Distributed data center access switch
EP2408155A4 (en) 2009-03-09 2015-01-28 Nec Corp OPENFLOW COMMUNICATION SYSTEM AND OPENFLOW COMMUNICATION METHOD
US8265075B2 (en) 2009-03-16 2012-09-11 International Business Machines Corporation Method and apparatus for managing, configuring, and controlling an I/O virtualization device through a network switch
EP2804350B1 (en) 2009-04-01 2019-07-24 Nicira, Inc. Method and apparatus for implementing and managing virtual switches
WO2010121216A1 (en) 2009-04-17 2010-10-21 Viasat, Inc. System, method and apparatus for providing end-to-end layer 2 connectivity
US8589919B2 (en) 2009-04-28 2013-11-19 Cisco Technology, Inc. Traffic forwarding for virtual machines
US8027354B1 (en) 2009-04-29 2011-09-27 Cisco Technology, Inc. Network consolidation for virtualized servers
US8867349B2 (en) 2009-05-18 2014-10-21 Cisco Technology, Inc. Regulation of network traffic in virtual private networks
US8229484B2 (en) 2009-06-11 2012-07-24 Genesys Telecommunications Laboratories, Inc. System and methods for integrating short message service messaging with contact center applications
US20100318609A1 (en) 2009-06-15 2010-12-16 Microsoft Corporation Bridging enterprise networks into cloud
US9210065B2 (en) 2009-06-22 2015-12-08 Alcatel Lucent Providing cloud-based services using dynamic network virtualization
US8644188B1 (en) 2009-06-25 2014-02-04 Amazon Technologies, Inc. Providing virtual networking functionality for managed computer networks
US20110032830A1 (en) 2009-08-06 2011-02-10 Jacobus Van Der Merwe Live Router Migration
US8339994B2 (en) 2009-08-27 2012-12-25 Brocade Communications Systems, Inc. Defining an optimal topology for a group of logical switches
US8619779B2 (en) 2009-09-30 2013-12-31 Alcatel Lucent Scalable architecture for enterprise extension in a cloud topology
US20110085557A1 (en) 2009-10-08 2011-04-14 Brocade Communications Systems, Inc. Partitioning of Switches and Fabrics into Logical Switches and Fabrics
US8599864B2 (en) 2009-10-08 2013-12-03 Brocade Communications Systems, Inc. Transit switches in a network of logical switches
EP2497234B1 (en) 2009-11-02 2018-09-19 Marvell World Trade Ltd. Network device and method based on virtual interfaces
US8442048B2 (en) 2009-11-04 2013-05-14 Juniper Networks, Inc. Methods and apparatus for configuring a virtual network switch
US7937438B1 (en) 2009-12-07 2011-05-03 Amazon Technologies, Inc. Using virtual networking devices to manage external connections
US9036504B1 (en) 2009-12-07 2015-05-19 Amazon Technologies, Inc. Using virtual networking devices and routing information to associate network addresses with computing nodes
US20110134931A1 (en) 2009-12-08 2011-06-09 Jacobus Van Der Merwe Virtual router migration
US8705513B2 (en) 2009-12-15 2014-04-22 At&T Intellectual Property I, L.P. Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks
US8331371B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
US8325730B2 (en) 2009-12-17 2012-12-04 Amazon Technologies, Inc. Distributed routing architecture
US8224971B1 (en) 2009-12-28 2012-07-17 Amazon Technologies, Inc. Using virtual networking devices and routing information to initiate external actions
US7953865B1 (en) 2009-12-28 2011-05-31 Amazon Technologies, Inc. Using virtual networking devices to manage routing communications between connected computer networks
JP5323674B2 (ja) 2009-12-28 2013-10-23 日本電信電話株式会社 DNS(DomainNameSystem)登録装置、VPN(VirtualPrivateNetwork)間接続管理システム、広域DNS装置、DNS登録プログラム、広域DNSプログラム、DNS登録方法、及びVPN間接続管理方法
US7991859B1 (en) 2009-12-28 2011-08-02 Amazon Technologies, Inc. Using virtual networking devices to connect managed computer networks
US8345688B2 (en) 2010-02-23 2013-01-01 Google Inc. System and method for managing flow of packets
KR101121853B1 (ko) 2010-03-02 2012-03-22 연세대학교 산학협력단 패킷 전달 시스템 및 방법
US8612627B1 (en) 2010-03-03 2013-12-17 Amazon Technologies, Inc. Managing encoded multi-part communications for provided computer networks
US8259571B1 (en) 2010-03-26 2012-09-04 Zscaler, Inc. Handling overlapping IP addresses in multi-tenant architecture
US8224931B1 (en) 2010-03-31 2012-07-17 Amazon Technologies, Inc. Managing use of intermediate destination computing nodes for provided computer networks
JP5450227B2 (ja) 2010-04-16 2014-03-26 日本電信電話株式会社 トラヒック制御指示装置、トラヒック制御指示プログラム、トラヒック制御指示システム、及びトラヒック制御指示方法
US8504718B2 (en) 2010-04-28 2013-08-06 Futurewei Technologies, Inc. System and method for a context layer switch
US8625616B2 (en) 2010-05-11 2014-01-07 Brocade Communications Systems, Inc. Converged network extension
EP2567512B1 (en) 2010-05-03 2016-04-13 Brocade Communications Systems, Inc. Virtual cluster switching
US8989186B2 (en) 2010-06-08 2015-03-24 Brocade Communication Systems, Inc. Virtual port grouping for virtual cluster switching
US8407366B2 (en) 2010-05-14 2013-03-26 Microsoft Corporation Interconnecting members of a virtual network
US8724456B1 (en) 2010-05-19 2014-05-13 Juniper Networks, Inc. Network path selection for multi-homed edges to ensure end-to-end resiliency
JP5617137B2 (ja) 2010-05-28 2014-11-05 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 仮想レイヤ2およびそれをスケーラブルにするための機構
US8374183B2 (en) 2010-06-22 2013-02-12 Microsoft Corporation Distributed virtual network gateways
US8559324B1 (en) 2010-06-29 2013-10-15 Amazon Technologies, Inc. Network routing metering
CN103270736B (zh) 2010-06-29 2016-08-10 华为技术有限公司 一种网络设备
US9014054B2 (en) 2010-06-29 2015-04-21 Futurewei Technologies, Inc. Layer two over multiple sites
US8239572B1 (en) 2010-06-30 2012-08-07 Amazon Technologies, Inc. Custom routing decisions
US9680750B2 (en) 2010-07-06 2017-06-13 Nicira, Inc. Use of tunnels to hide network addresses
US8717895B2 (en) 2010-07-06 2014-05-06 Nicira, Inc. Network virtualization apparatus and method with a table mapping engine
US8964528B2 (en) 2010-07-06 2015-02-24 Nicira, Inc. Method and apparatus for robust packet distribution among hierarchical managed switching elements
TWI421791B (zh) 2010-07-16 2014-01-01 Univ Nat Taiwan Science Tech 物流網路之運輸商選擇方法
US8456984B2 (en) 2010-07-19 2013-06-04 Ciena Corporation Virtualized shared protection capacity
US8565108B1 (en) 2010-09-28 2013-10-22 Amazon Technologies, Inc. Network data transmission analysis
US8416709B1 (en) 2010-09-28 2013-04-09 Amazon Technologies, Inc. Network data transmission analysis management
US8631122B2 (en) 2010-11-29 2014-01-14 Viralheat, Inc. Determining demographics based on user interaction
US8769494B2 (en) 2010-12-14 2014-07-01 Microsoft Corporation Globally sound and consistent configuration management for distributed datacenter components
US9001827B2 (en) 2010-12-17 2015-04-07 Big Switch Networks, Inc. Methods for configuring network switches
US10142218B2 (en) 2011-01-14 2018-11-27 International Business Machines Corporation Hypervisor routing between networks in a virtual networking environment
US8665739B2 (en) 2011-03-16 2014-03-04 Juniper Networks, Inc. Packet loss measurement at service endpoints of a virtual private LAN service
US9043452B2 (en) 2011-05-04 2015-05-26 Nicira, Inc. Network control apparatus and method for port isolation
JP5824911B2 (ja) 2011-06-29 2015-12-02 富士通株式会社 情報処理装置、情報処理プログラムおよび管理方法
WO2013020126A1 (en) 2011-08-04 2013-02-07 Midokura Pte. Ltd. System and method for implementing and managing virtual networks
CN106850444B (zh) 2011-08-17 2020-10-27 Nicira股份有限公司 逻辑l3路由
AU2012296330B2 (en) 2011-08-17 2016-03-17 Nicira, Inc. Hierarchical controller clusters for interconnecting different logical domains
US9167501B2 (en) 2011-08-29 2015-10-20 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G packet core in a cloud computer with openflow data and control planes
US8856518B2 (en) 2011-09-07 2014-10-07 Microsoft Corporation Secure and efficient offloading of network policies to network interface cards
US8606105B2 (en) 2011-09-15 2013-12-10 Ciena Corporation Virtual core router and switch systems and methods with a hybrid control architecture
US9185056B2 (en) 2011-09-20 2015-11-10 Big Switch Networks, Inc. System and methods for controlling network traffic through virtual switches
US8751614B2 (en) 2011-10-11 2014-06-10 Telefonaktiebolaget L M Ericsson (Publ) Providing virtualized visibility through routers
US9154433B2 (en) 2011-10-25 2015-10-06 Nicira, Inc. Physical controller
US8745177B1 (en) 2011-11-01 2014-06-03 Edgecast Networks, Inc. End-to-end monitoring and optimization of a content delivery network using anycast routing
WO2013074855A1 (en) 2011-11-15 2013-05-23 Nicira, Inc. Control plane interface for logical middlebox services
JP2014534789A (ja) 2011-11-29 2014-12-18 アマゾン・テクノロジーズ・インコーポレーテッド 直接ネットワークピアリングを管理するためのインターフェース
FR2986012B1 (fr) 2012-01-20 2017-12-01 Saint Gobain Ct Recherches Cuve d'electrolyse.
JP2013157855A (ja) * 2012-01-31 2013-08-15 Nec Corp 仮想ネットワークの接続方法、仮想ネットワーク接続装置およびプログラム
US8660129B1 (en) 2012-02-02 2014-02-25 Cisco Technology, Inc. Fully distributed routing over a user-configured on-demand virtual network for infrastructure-as-a-service (IaaS) on hybrid cloud networks
US9130869B2 (en) 2012-02-09 2015-09-08 Telefonaktiebolaget L M Ericsson (Publ) Methods of redirecting network forwarding elements and related forwarding elements and controllers
US8923296B2 (en) 2012-02-23 2014-12-30 Big Switch Networks, Inc. System and methods for managing network packet forwarding with a controller
US8705536B2 (en) 2012-03-05 2014-04-22 Telefonaktiebolaget L M Ericsson (Publ) Methods of operating forwarding elements including shadow tables and related forwarding elements
US8856339B2 (en) 2012-04-04 2014-10-07 Cisco Technology, Inc. Automatically scaled network overlay with heuristic monitoring in a hybrid cloud environment
US8923149B2 (en) 2012-04-09 2014-12-30 Futurewei Technologies, Inc. L3 gateway for VXLAN
US9225635B2 (en) 2012-04-10 2015-12-29 International Business Machines Corporation Switch routing table utilizing software defined network (SDN) controller programmed route segregation and prioritization
US9021066B1 (en) 2012-04-13 2015-04-28 Juniper Networks, Inc. Providing A-priori information about implication of operator interaction with network device
EP2672668B1 (en) 2012-06-06 2018-09-26 Juniper Networks, Inc. Facilitating the operation of a virtual network by predicting a failure
US8953441B2 (en) 2012-06-06 2015-02-10 Juniper Networks, Inc. Re-routing network traffic after link failure
WO2013184941A1 (en) 2012-06-06 2013-12-12 Huawei Technologies Co., Ltd. Method of seamless integration and independent evolution of information-centric networking via software defined networking
US8750288B2 (en) 2012-06-06 2014-06-10 Juniper Networks, Inc. Physical path determination for virtual network packet flows
US8972602B2 (en) 2012-06-15 2015-03-03 Citrix Systems, Inc. Systems and methods for using ECMP routes for traffic distribution
US9451056B2 (en) 2012-06-29 2016-09-20 Avaya Inc. Method for mapping packets to network virtualization instances
CN103546381B (zh) 2012-07-12 2017-06-09 华为技术有限公司 基于内部网关协议创建双向组播分发树的方法、装置及系统
US9094459B2 (en) 2012-07-16 2015-07-28 International Business Machines Corporation Flow based overlay network
US9172557B2 (en) 2012-08-17 2015-10-27 International Business Machines Corporation Load balancing overlay network traffic using a teamed set of network interface cards
US9563480B2 (en) 2012-08-21 2017-02-07 Rackspace Us, Inc. Multi-level cloud computing system
US11074025B2 (en) 2012-09-03 2021-07-27 Semiconductor Energy Laboratory Co., Ltd. Display device and method for manufacturing the same
US9454392B2 (en) 2012-11-27 2016-09-27 Red Hat Israel, Ltd. Routing data packets between virtual machines using shared memory without copying the data packet
US9535871B2 (en) 2012-11-27 2017-01-03 Red Hat Israel, Ltd. Dynamic routing through virtual appliances
US9363172B2 (en) 2012-11-27 2016-06-07 Red Hat Israel, Ltd. Managing a configurable routing scheme for virtual appliances
US9036639B2 (en) 2012-11-29 2015-05-19 Futurewei Technologies, Inc. System and method for VXLAN inter-domain communications
US9197596B2 (en) 2012-12-18 2015-11-24 Dell Products, Lp System and method to use common addresses on a management controller without conflict
EP2957080B1 (en) 2013-02-12 2020-06-10 Hewlett-Packard Enterprise Development LP Network control using software defined flow mapping and virtualized network functions
CN104009929B (zh) 2013-02-21 2019-01-18 中兴通讯股份有限公司 一种管理虚拟路由器的方法及物理路由器
US20140269299A1 (en) 2013-03-14 2014-09-18 Hewlett-Packard Development Company, L.P. Network controller normalization of network traffic
US9210074B2 (en) 2013-05-03 2015-12-08 Alcatel Lucent Low-cost flow matching in software defined networks without TCAMs
US9203738B2 (en) 2013-05-21 2015-12-01 Cisco Technology, Inc. Optimal forwarding for trill fine-grained labeling and VXLAN interworking
US9471356B2 (en) 2013-06-12 2016-10-18 Dell Products L.P. Systems and methods for providing VLAN-independent gateways in a network virtualization overlay implementation
US20140376550A1 (en) 2013-06-24 2014-12-25 Vmware, Inc. Method and system for uniform gateway access in a virtualized layer-2 network domain
US9325630B2 (en) 2013-07-05 2016-04-26 Red Hat, Inc. Wild card flows for switches and virtual switches based on hints from hypervisors
WO2015000173A1 (zh) 2013-07-05 2015-01-08 华为技术有限公司 建立隧道的方法、分配标签的方法、设备及网络系统
US9130775B2 (en) 2013-07-10 2015-09-08 Cisco Technology, Inc. Support for virtual extensible local area network segments across multiple data center sites
WO2015015787A1 (ja) 2013-07-30 2015-02-05 日本電気株式会社 制御装置、管理装置、制御方法、管理方法、および、プログラム
US9819505B2 (en) 2013-08-20 2017-11-14 Cisco Technology, Inc. Group bundling priority dissemination through link-state routing protocol in a network environment
US9654390B2 (en) 2013-09-03 2017-05-16 Cisco Technology, Inc. Method and apparatus for improving cloud routing service performance
US9503371B2 (en) 2013-09-04 2016-11-22 Nicira, Inc. High availability L3 gateways for logical networks
US9577845B2 (en) 2013-09-04 2017-02-21 Nicira, Inc. Multiple active L3 gateways for logical networks
US9491094B2 (en) 2013-09-25 2016-11-08 Cisco Techonology, Inc. Path optimization in distributed service chains in a network environment
US9444721B2 (en) 2013-09-30 2016-09-13 Juniper Networks, Inc. Two-part metric for link state routing protocols
US20150098475A1 (en) 2013-10-09 2015-04-09 International Business Machines Corporation Host table management in software defined network (sdn) switch clusters having layer-3 distributed router functionality
US10063458B2 (en) 2013-10-13 2018-08-28 Nicira, Inc. Asymmetric connection with external networks
US9374294B1 (en) 2013-11-05 2016-06-21 Cisco Technology, Inc. On-demand learning in overlay networks
US9385925B1 (en) 2013-12-16 2016-07-05 Amazon Technologies, Inc. Anycast route detection
US20150172156A1 (en) 2013-12-18 2015-06-18 Cisco Technology, Inc. Detecting end hosts in a distributed network environment
US10009287B2 (en) 2013-12-26 2018-06-26 Huawei Technologies Co., Ltd. Hierarchical software-defined network traffic engineering controller
US9548896B2 (en) 2013-12-27 2017-01-17 Big Switch Networks, Inc. Systems and methods for performing network service insertion
WO2015100656A1 (zh) 2013-12-31 2015-07-09 华为技术有限公司 一种实现虚拟机通信的方法和装置
US9473414B2 (en) 2014-02-06 2016-10-18 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for supporting packet prioritization at a data network
US9749214B2 (en) 2014-02-26 2017-08-29 Futurewei Technologies, Inc. Software defined networking (SDN) specific topology information discovery
US9313129B2 (en) 2014-03-14 2016-04-12 Nicira, Inc. Logical router processing by network controller
US9590901B2 (en) 2014-03-14 2017-03-07 Nicira, Inc. Route advertisement by managed gateways
US9419855B2 (en) 2014-03-14 2016-08-16 Nicira, Inc. Static routes for logical routers
US9647883B2 (en) 2014-03-21 2017-05-09 Nicria, Inc. Multiple levels of logical routers
US9503321B2 (en) 2014-03-21 2016-11-22 Nicira, Inc. Dynamic routing for logical routers
EP3624407B1 (en) 2014-03-21 2023-05-17 Nicira Inc. Dynamic routing for logical routers
US9716687B2 (en) 2014-06-19 2017-07-25 Cisco Technology, Inc. Distributed gateways for overlay networks
CN105471740B (zh) 2014-07-09 2018-10-12 新华三技术有限公司 基于软件定义网络的网关迁徙处理方法及装置
EP3207667B1 (en) 2014-10-14 2021-09-29 Sony Semiconductor Solutions Corporation System and method for distributed flow state p2p setup in virtual networks
US9948472B2 (en) 2014-10-22 2018-04-17 Juniper Networks, Inc. Protocol independent multicast sparse mode (PIM-SM) support for data center interconnect
US9819574B2 (en) 2014-11-07 2017-11-14 Cisco Technology, Inc. Concerted multi-destination forwarding in a joint TRILL fabric and VXLAN/IP fabric data center
US10171559B2 (en) 2014-11-21 2019-01-01 Cisco Technology, Inc. VxLAN security implemented using VxLAN membership information at VTEPs
US9787573B2 (en) 2014-12-31 2017-10-10 Juniper Networks, Inc. Fast convergence on link failure in multi-homed Ethernet virtual private networks
US10079779B2 (en) 2015-01-30 2018-09-18 Nicira, Inc. Implementing logical router uplinks
CN105991430B (zh) 2015-03-05 2022-01-14 李明 跨多个自治网络系统的数据路由
US10038628B2 (en) 2015-04-04 2018-07-31 Nicira, Inc. Route server mode for dynamic routing between logical and physical networks
US9634934B2 (en) 2015-05-08 2017-04-25 Cisco Technology, Inc. Dynamic host configuration protocol relay in a multipod fabric
US9800497B2 (en) 2015-05-27 2017-10-24 Cisco Technology, Inc. Operations, administration and management (OAM) in overlay data center environments
US11204791B2 (en) 2015-06-30 2021-12-21 Nicira, Inc. Dynamic virtual machine network policy for ingress optimization
WO2017027073A1 (en) 2015-08-11 2017-02-16 Nicira, Inc. Route configuration for logical router
US10129142B2 (en) 2015-08-11 2018-11-13 Nicira, Inc. Route configuration for logical router
US10075363B2 (en) 2015-08-31 2018-09-11 Nicira, Inc. Authorization for advertised routes among logical routers
US10165093B2 (en) 2015-08-31 2018-12-25 Cisco Technology, Inc. Generating segment routing conduit in service provider network for routing packets
US10270687B2 (en) 2015-09-07 2019-04-23 Citrix Systems, Inc. Systems and methods for dynamic routing on a shared IP address
US10361972B2 (en) 2015-09-23 2019-07-23 Citrix Systems, Inc. Systems and methods to support VXLAN in partition environment where a single system acts as multiple logical systems to support multitenancy
US10095535B2 (en) 2015-10-31 2018-10-09 Nicira, Inc. Static route types for logical routers
US9800433B2 (en) 2015-12-16 2017-10-24 At&T Intellectual Property I, L.P. Method and apparatus for providing a point-to-point connection over a network
US10237142B2 (en) 2016-04-04 2019-03-19 Nicira, Inc. Troubleshooting virtual network reachability
CN105791412A (zh) 2016-04-04 2016-07-20 合肥博雷电子信息技术有限公司 一种大数据处理平台网络架构
US10454877B2 (en) 2016-04-29 2019-10-22 Cisco Technology, Inc. Interoperability between data plane learning endpoints and control plane learning endpoints in overlay networks
US10153973B2 (en) 2016-06-29 2018-12-11 Nicira, Inc. Installation of routing tables for logical router in route server mode
US10819678B2 (en) 2016-08-24 2020-10-27 British Telecommunications Public Limited Company Data network address sharing between multiple elements associated with a shared network interface unit
US10454758B2 (en) 2016-08-31 2019-10-22 Nicira, Inc. Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP
US10341236B2 (en) 2016-09-30 2019-07-02 Nicira, Inc. Anycast edge service gateways
US10382321B1 (en) 2017-03-28 2019-08-13 Juniper Networks, Inc. Aggregate link bundles in label switched paths
US10432513B2 (en) 2017-07-14 2019-10-01 Nicira, Inc. Asymmetric network elements sharing an anycast address
US10623322B1 (en) 2017-09-15 2020-04-14 Juniper Networks, Inc. Dynamic prefix list for route filtering
US11032183B2 (en) 2017-10-06 2021-06-08 Nicira, Inc. Routing information validation in SDN environments
US10771590B2 (en) 2018-03-07 2020-09-08 Ciena Corporation Systems and methods for intelligent routing and content placement in information centric networks
US10673757B2 (en) 2018-06-05 2020-06-02 Arista Networks, Inc. System and method of a data processing pipeline with policy based routing
US10931560B2 (en) 2018-11-23 2021-02-23 Vmware, Inc. Using route type to determine routing protocol behavior
US10797998B2 (en) 2018-12-05 2020-10-06 Vmware, Inc. Route server for distributed routers using hierarchical routing protocol
US10938788B2 (en) 2018-12-12 2021-03-02 Vmware, Inc. Static routes for policy-based VPN

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107356B2 (en) * 2001-03-07 2006-09-12 Lucent Technologies Inc. Translator for enabling logical partitioning of a network switch
CN1442987A (zh) * 2001-10-05 2003-09-17 三星电子株式会社 用于大规模并行路由器的冗余机制协议
US9032095B1 (en) * 2004-01-06 2015-05-12 Juniper Networks, Inc. Routing device having multiple logical routers
CN102780605A (zh) * 2011-05-13 2012-11-14 中国科学院声学研究所 一种域间出口路径动态选择方法及系统
CN103947164A (zh) * 2011-10-14 2014-07-23 谷歌公司 半集中式路由
CN104335553A (zh) * 2012-03-30 2015-02-04 诺基亚通信公司 用于分布式网关的集中式ip地址管理
EP2838244A2 (en) * 2013-08-14 2015-02-18 Nicira, Inc. Providing services for logical networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
R. FERNANDO等: "Service Chaining using Virtual Networks with BG P;d raft-f m一bess-service-chaffning一01.txt", 《INTERNET-DRAFT》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108289064A (zh) * 2018-04-23 2018-07-17 清华大学深圳研究生院 一种数据中心网中混合式负载均衡方法
CN108289064B (zh) * 2018-04-23 2021-07-27 清华大学深圳研究生院 一种数据中心网中混合式负载均衡方法
CN109347742A (zh) * 2018-10-31 2019-02-15 新华三技术有限公司 一种基于pbr的多个下一跳负载分担方法及装置
CN114422280A (zh) * 2021-12-31 2022-04-29 深信服科技股份有限公司 网络部署方法、装置、节点及存储介质
CN114422280B (zh) * 2021-12-31 2023-11-07 深信服科技股份有限公司 网络部署方法、装置、节点及存储介质

Also Published As

Publication number Publication date
JP7033287B2 (ja) 2022-03-10
US20170048130A1 (en) 2017-02-16
AU2016307199B2 (en) 2020-04-09
US10230629B2 (en) 2019-03-12
EP3335389B1 (en) 2021-05-26
US20210029028A1 (en) 2021-01-28
JP6720292B2 (ja) 2020-07-08
CN112437026B (zh) 2023-04-18
JP2020167715A (ja) 2020-10-08
CA2994810C (en) 2022-01-04
AU2020204224B2 (en) 2022-01-27
AU2016307199A1 (en) 2018-04-05
US20170048129A1 (en) 2017-02-16
US20190199625A1 (en) 2019-06-27
US10129142B2 (en) 2018-11-13
CN107925617B (zh) 2020-12-01
EP3335389A1 (en) 2018-06-20
CA3139646C (en) 2024-02-27
CN112437026A (zh) 2021-03-02
JP2018523422A (ja) 2018-08-16
US10805212B2 (en) 2020-10-13
US11533256B2 (en) 2022-12-20
CA3139646A1 (en) 2017-02-16
CA2994810A1 (en) 2017-02-16
AU2020204224A1 (en) 2020-07-16

Similar Documents

Publication Publication Date Title
CN107925617A (zh) 逻辑路由器的路由配置
US11425021B2 (en) Authorization for advertised routes among logical routers
US20220329461A1 (en) Transitive routing in public cloud
US10491466B1 (en) Intelligent use of peering in public cloud
CN112640369B (zh) 在公共云中智能地使用对等的方法、设备和机器可读介质
CN107210959A (zh) 具有多个路由部件的逻辑路由器
CN109644157A (zh) 使用底层任播vtep ip的边缘节点集群网络冗余和快速收敛
CN106165358B (zh) 用于逻辑路由器的动态路由
CN107534578A (zh) 用于逻辑网络与物理网络之间的动态路由的路由服务器模式
CN103890751B (zh) 逻辑l3路由
CN106576075A (zh) 虚拟分布式路由环境中的进入ecmp
CN107771384A (zh) 虚拟分布式路由环境中的中间逻辑接口
CN104081692B (zh) 用于FCoE融合结构的网络设备、方法和装置
CN107111509A (zh) 用于计算机网络中的虚拟机迁移的方法
WO2017027073A1 (en) Route configuration for logical router

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