CN115136561A - 多架构云网络中用于共享服务的vrf隔离 - Google Patents
多架构云网络中用于共享服务的vrf隔离 Download PDFInfo
- Publication number
- CN115136561A CN115136561A CN202180016105.4A CN202180016105A CN115136561A CN 115136561 A CN115136561 A CN 115136561A CN 202180016105 A CN202180016105 A CN 202180016105A CN 115136561 A CN115136561 A CN 115136561A
- Authority
- CN
- China
- Prior art keywords
- data packet
- endpoint group
- network
- router
- vrf
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Abstract
通过利用共享服务的多云结构来维护用于网络路径的虚拟路由和转发(VRF)隔离的技术。多云结构的第一网络的路由器从第一网络中的源端点组接收第一数据分组,并将第一数据分组转发到服务端点组。服务端点组可以将第一数据分组转发到多云结构的第二网络的目的端点组。服务端点组可以从目的端点组接收第二数据分组,并将第二数据分组转发到路由器。基于(i)服务端点组的标识或(ii)源端点组的地址中的一者,可以识别VRF,并且可以由路由器使用VRF将第二数据分组转发到源端点组。
Description
相关申请的交叉引用
本专利申请要求于2020年2月24日提交的序列号为16/799,476的美国实用专利申请的优先权,该申请通过引用的方式全部并入本文。
技术领域
本公开总体上涉及通过多云结构(该多云结构利用共享服务(例如,应用负载平衡器(ALB)))来维护用于网络路径的虚拟路由和转发(Virtual Routing and Forwarding,VRF)的隔离。
背景技术
随着具有互联网可访问性的设备的扩散和使用的持续增加,对互联网服务和内容的需求也同样持续增加。互联网服务和内容的提供商不断扩展所需的计算资源,以服务不断增长的用户需求,而不会低于用户性能预期。例如,提供商通常利用大型和复杂的数据中心来管理来自用户的网络和内容需求。数据中心通常包括托管支持服务和内容的工作负载的服务器群,并且还包括网络设备(例如,交换机和路由器),以通过数据中心路由流量并实施安全策略。
通常,这些数据中心的网络是以下两种类型中的一者:由实体(例如,企业或组织)拥有的私有网络(例如,本地网络);以及由云提供商拥有的公共云网络,这些云提供商提供计算资源供用户购买。通常,企业将拥有、维护和运营本地计算资源网络,以为用户或客户提供因特网服务和/或内容。然而,如上所述,在保持用户的可接受的性能的同时满足对计算资源日益增长的需求可能变得困难。因此,私有实体经常从公共云提供商购买或以其他方式订购计算资源和服务的使用。例如,云提供商可以在公共云上创建虚拟私有云(本文中也称为“私有虚拟网络”),并将虚拟私有云或网络连接到本地网络,以增加企业的可用的计算资源和能力。因此,企业可以将其私有的、或本地网络的数据中心与托管在公共云上的远程的、基于云的数据中心互连,从而扩展其私有网络。
然而,由于本地网络和公共云网络通常由不同的实体开发和维护,因此本地网络和公共云网络中的数据中心之间的策略管理和配置参数缺乏统一性。这种缺乏一致性会(通过例如无法应用一致的策略、配置参数、路由模型等)显著限制企业将其本地网络与公共云网络集成的能力。各种实体已开发出软件定义网络(SDN)和数据中心管理解决方案,可以将企业或组织的意图从其本地网络转换到其虚拟私有云网络中,以用于跨多云结构或环境部署的应用程序或服务。因此,这些多云SDN解决方案必须不断适应本地网络和公共云网络中发生的变化,同时保持企业或组织的业务和用户意图,用来自公共云网络的计算资源补充其本地网络。
例如,管理数据中心的本地网络的企业经常隔离和分割他们的本地网络,以提高其本地网络的可扩展性、韧性和安全性。为了满足实体对隔离和分割的需求,可以例如使用经隔离的虚拟网络(该经隔离的虚拟网络可以被用于将端点容器化,以允许跨EPG中的端点应用个体化路由模型、策略模型等)将本地网络中的端点分组到端点分组(EndpointGrouping,EPG)中。通常,EPG或其他虚拟的端点分组中的每个子网都与地址范围相关联,该地址范围可以在用于控制子网路由的路由表中被定义。由于实施了大量路由表来通过本地网络路由流量,管理本地网络的实体利用虚拟路由和转发(VRF)技术,使得VRF路由表的多个实例能够存在于一个路由器中,并且同时工作。因此,实体的本地网络中的EPG的子网与各自的VRF路由表相关联,并且路由器能够同时存储和利用VRF路由表的多个实例。
插入云网络和/或在云网络之间的服务(例如,亚马逊网络服务(AWS)中的应用负载均衡器(Application Load Balancer,ALB))基于跨AWS虚拟私有云(VPC)中的网页服务器的统一资源定位器(URL)分配应用流量。然而,流量的来源应该来自唯一的IP地址,因为在数据分组进入ALB的那一刻,VRF分段就丢失了。插入服务时的VRF分段丢失是不可接受的,并且同时,源自跨多个VRF的重叠子网的流量是需要支持的。
附图说明
下文参照附图进行了详细描述。在附图中,附图标记最左边的(一个或多个)数字表示该附图标记首次出现的图。在不同的图中使用相同的附图标记表示相似或相同的项目。附图中描绘的系统不是按比例绘制的,并且附图中的组件可以彼此不是按比例绘制的。
图1A和1B示出了示例架构的系统图,该示例架构用于通过利用VRF技术的多云结构来维持用于网络路径的隔离和分割;
图2A-2C示意性地示出了其中插入了服务的多云结构中的数据分组的示例数据流;
图3示出了示例方法的流程图,该示例方法用于通过利用虚拟路由和转发(VRF)技术的多云结构来维持用于网络路径的隔离和分割;
图4示出了计算系统图,该图说明了可以被用于实现本文所公开的技术的方面的数据中心的配置;
图5是计算机架构图,该图示出了说明性的计算机硬件架构,该架构用于实现可以被用于实现本文所提出的各种技术的各个方面的服务器设备。
具体实施方式
概览
本公开描述了一种通过利用共享服务(例如,应用负载平衡器(ALB))的多云结构来维护用于网络路径的虚拟路由和转发(VRF)隔离的方法。因为返回路由器的第二数据分组(该第二数据分组与原始的第一数据分组相关联)的源地址始终是共享服务,所以需要一种机制来识别第二数据分组的VRF。因此,该方法可以包括多云结构的第一网络的路由器,该多云结构包括从第一网络中的源端点组接收第一数据分组的两个或更多个网络。在配置中,多云结构可以包括一个或多个云网络以作为网络。此外,在配置中,多云结构可以包括一个或多个本地网络以作为网络。路由器可以将第一数据分组转发给服务端点组。服务端点组可以将第一数据分组转发到目的端点组。服务端点组可以从目的端点组接收第二数据分组,并将第二数据分组转发给路由器。基于(i)服务端点组的标识或(ii)源端点组的地址中的一者,可以识别虚拟路由和转发实例VRF。至少部分地基于识别VRF,由路由器使用VRF将第二数据分组转发到源端点组。
另外,该方法可以包括创建与源端点组的地址和目的端点组的地址匹配的访问列表。可以在路由器处接收到来自源端点组的第一数据分组时,创建访问列表。基于与源端点组的地址和目的端点组的地址匹配的访问列表,可以创建识别VRF的路由映射。该方法还可以包括:由路由器将目的端点组的地址与源端点组匹配。匹配可以在路由器处从服务端点组接收到第二数据分组时发生。至少部分地基于将目的端点组的地址与源端点组匹配,可以识别VRF。至少部分地基于识别VRF,可以由路由器使用VRF将第二数据分组转发到源端点组。
在配置中,服务端点组可以是第一服务端点组。因此,该方法可以另外包括提供第二服务端点组。在配置中,第一服务端点组或第二端点组中的一者或两者可以是服务链。在配置中,基于具有第一服务端点组和第二端点组,识别VRF可以包括:基于路由器是从第一服务端点组接收到第二数据分组还是从第二服务端点组接收到第二数据分组来识别VRF。此外,该方法可以包括:确定第二数据分组是否来自服务链并基于服务链(从该服务链接收第二数据分组)的服务来识别VRF。
此外,可以由具有非暂时性计算机可读介质的系统和/或设备来实施本文所描述的技术,该非暂时性计算机可读介质存储计算机可执行指令,当一个或多个处理器执行这些指令时,执行上述方法。
示例性实施例
如上所述,企业和其他组织可以拥有、维护和操作用于用户或客户(并且还用于支持运行其组织的内部计算需求)的计算资源的本地网络。然而,由于难以在保持用户的可接受的性能的同时满足对计算资源日益增长的需求,这些企业可能会从公共云提供商以其他方式订购计算资源和服务的使用。例如,云提供商可以在公共云上创建虚拟私有云(本文中也称为“私有虚拟网络”),并将虚拟私有云或网络连接到本地网络,以增加企业的可用的计算资源和能力。因此,企业可以将其私有的、或本地网络的数据中心与托管在公共云上的远程的、基于云的数据中心互连,从而扩展其私有网络。
然而,本地网络和公共云网络之间在跨各个维度(例如,策略管理、配置参数等)上缺乏一致性,这种一致性的缺乏可能会(通过例如无法应用一致的策略、配置参数、路由模型等)显著限制企业将其本地网络与公共云网络集成的能力。已经开发了各种SDN解决方案,以将企业或组织的意图从其本地网络转换为其虚拟私有云网络,以用于跨多云结构或环境部署的应用或服务。例如,思科的软件定义网络和数据中心管理解决方案(以应用为中心的基础设施(Application-Cenric Infrastructure,ACI))为用于多云环境的自动化网络连接、一致的策略管理和简化操作提供了全面的解决方案。思科云ACI(Cisco CloudACI)解决方案允许企业将其本地网络扩展到各种公共云,例如,亚马逊网页服务(AmazonWeb Services,AWS)、谷歌云(Google Cloud)、微软Azure(Microsoft Azure)等。思科云ACI解决方案(例如,通过定义云间策略、提供具有完全故障域隔离和变更域隔离的可扩展架构,并确保问题无法级联和关闭整个分布式环境)提供了一种用于互连和管理多个区域和/或站点的架构方法。
当试图将数据中心的本地网络与数据中心的公共云网络互连时,SDN解决方案(例如,思科云ACI)面临各种挑战。例如,云提供商可能会对联网配置和策略、路由和策略模型施加不同的限制,和/或对其公共云施加其他限制。这些限制可能不同于已开发其数据中心的本地网络的企业所实施的限制或权限。然而,为了将本地网络与公共云网络互连,多云结构空间中的SDN解决方案通常必须调和这些差异,以跨公共云网络无缝扩展本地网络。
作为示例,公共云网络中的VPC通常需要连接到路由器,以便在公共云网络的VPC中的端点和本地网络中的端点(或其他设备)之间路由流量。SDN解决方案试图(例如,通过使用由公共云网络提供商给予的解决方案)将本地网络和公共云网络之间的这种连接自动化。例如,AWS提供了中转网关(Transit Gateway,TGW),以用于将此连接自动化。通常,TGW(或者只是网关)包括连接到多个VPC的分布式路由器。网关无需建立从每个VPC到路由器的VPN连接,而是能够将多个VPC连接到单个网关,并将它们的本地网络连接到单个网关。将VPN连接到每个VPC是一项繁琐且成本高昂的工作,而中转网关提供从本地网络到AWS公共云中的多个VPC的单一连接,该连接与VPN连接相比具有相对较高的带宽。
虽然由于各种原因,这些网关是有利的,但是在跨多云架构自动化互连时,使用这些网关的不同限制是SDN控制器需要解决的表面问题。例如,网关可能要求连接到特定网关的每个VPC没有重叠的子网。换句话说,连接到给定网关的所有VPC可能需要具有不重叠的唯一地址空间或范围,例如无类别域间路由(Classless Inter-domain Routing,CIDR)块。然而,管理本地网络的企业通常会定义具有重叠的地址空间(例如,重叠的前缀)的地址范围,例如VRF。事实上,VRF的优点之一是允许重叠子网,同时为网络路径提供分割和隔离。此外,SDN解决方案可以采用路由器,这些路由器使用隧道连接到具有网络覆盖(例如,虚拟可扩展本地接入网络(Virtual Extensible Local Aceess Network,VxLAN))的本地网络,该网络覆盖将VRF信息保存在多云结构中的分组中。但是,公共云网络(例如,AWS)提供的网关可能不支持覆盖功能以保存数据分组中的VRF信息。
在配置中,可以将共享服务插入到网络中的一者(例如,AWS)。这种共享服务可以是例如以应用负载平衡器(ALB)的形式。ALB是负载平衡应用程序层(开放系统互连(OpenSystem Interconnection,OSI)模型的第七层)流量的关键组件。在ACI环境中,ALB作为服务被插入到两个EPG之间。
通常,在ALB接收到请求之后,ALB按优先级顺序评估规则,以确定应用哪个规则来选择规则动作的目标组。路由是针对每个目标组独立地被执行的。在这种情况下,当流量到达ALB时,源VRF分段详细信息丢失。ACI环境为ALB的策略驱动服务插入、自动化和供应提供了一种方法。当在本地网络和云网络之间或在两个云站点之间扩展这种自动配置时,云限制可能会阻止在不同VRF中使用相同的源IP地址。
因此,在配置中,当将第一数据分组从本地网络发送到包括云服务路由器(CloudServices Router,CSR)的虚拟路由器(这些虚拟路由器具有用于发送EPG的源地址和用于ALB的目的地址)时,ALB被视为EPG。传入的第一数据分组还包括用于云网络处的目标目的EPG的目的地址。然后可以经由适当的TGW将第一数据分组从ALB发送到目标目的EPG。
然而,当第一数据分组作为第二数据分组(例如,第一数据分组已经被处理)从目的EPG返回,以返回到本地网络时,第二数据分组与ALB的目的地址一起被发送。ALB根据网络地址转换(Network Address Translation,NAT)规则为第二数据分组提供资源,并在第二数据分组上放置目的地址。所有的第二数据分组在进入CSR之前都具有相同的源地址,例如,所有的第二数据分组都具有ALB的源地址。由于ALB的下一站是CSR,因此当第二数据分组进入CSR时,现在需要一种机制来识别第二数据分组的VRF,并使用正确的重写/目标视觉网络索引(Visual Networking Index,VNI)来执行VxLAN封装。
由于CSR中的第二数据分组的源地址始终是ALB,因此需要一种机制来识别第二数据分组的VRF。因此,在配置中,当由CSR接收第一数据分组时,在CSR上制定基于策略的路由(Policy-Based Routing,PBR)规则,以根据源IP地址和目的IP地址设定传入的第一数据分组的VRF。因此,维护与来自本地网络的传入分组的源IP地址和目的IP地址相匹配的访问列表。维护基于本地网络处的传入数据分组的源IP地址识别VRF的路由映射。
当CSR从ALB接收到用于路由回到本地网络的数据分组(例如,来自云网络的第二数据分组)时,可以基于第二数据分组的目的地址、利用路由映射来识别VRF,该目的地址是第一数据分组的源地址。一旦识别出第二数据分组的VRF,就可以以两种方式中的一种方式将第二数据分组转发到本地网络。可以使用VxLAN封装经由VRF转发第二数据分组,以将第二数据分组从CSR自动路由到本地网络的本地主干。在没有VxLAN封装的情况下,可以在云CSR和本地网络IP终止设备之间为每个VRF创建隧道接口,分组将从该隧道接口直接前往该特定VRF上的ACI叶,然后到达原始源端点组EPG(例如,第二数据分组的目的EPG)。现在将在下面参考附图更全面地描述本公开的某些实施方式和示例,在附图中示出了各个方面。然而,可以以许多不同的形式实施各个方面,并且各个方面不应被解释为限于本文阐述的实现方式。本公开涵盖本文所述的实施例的变体。贯穿全文,相似的数字表示相似的元素。
图1A和图1B示出了示例架构的系统图,该示例架构用于通过利用VRF技术的多云结构来维持用于网络路径的隔离和分割。在该示例中,多云架构100可以包括:由一个或多个本地数据中心104组成的本地网络102、由一个或多个云数据中心108和112组成的公共云网络106和110(例如,分别为区域1和区域2)。数据中心104、108和112可以包括用于支持工作负载、虚拟机、容器等以及联网设备(例如,交换机、路由器、网关等)的任何类型的数据中心容纳端点(例如,服务器),以用于根据指定的路由模型、安全策略等促进网络102、106和110中的流量通信。在配置中,以至少类似于公共云网络106的方式配置公共云网络110。
在本示例中,本地网络102可以实施特定的SDN或数据中心解决方案(例如,Cisco的ACI),而公共云108和110可以实施不同的云解决方案(例如,Amazon的AWS、Microsoft的Azure、Google云等)。一般而言,网络102、106和110的安全策略和网络配置可以由以下项来管理:与相应云提供商相关联的一个或多个控制器、和/或用于多云解决方案的SDN控制器(例如,ACI应用策略基础设施控制器(APIC)和/或多站点APIC)。APIC和/或另一个SDN控制器通常用于管理站点,而不管该站点是本地102还是云网络106和/或110。公共云网络106和110中的联网配置和策略可以具有各种路由和策略模型或方案,以及由云提供商施加的不同限制。例如,云提供商可以施加限制,这些限制将由相关公共云支持的安全策略的数量限制在远低于在本地数据中心104处实施的由数据中心解决方案支持的策略的规模。因此,当思科的ACI解决方案与公有云解决方案(例如,亚马逊的AWS)集成时,公有云的限制可能会对ACI解决方案施加不必要的限制,并创建不一致的策略模型。
因此,多云结构100还可以包括:与公共云网络106(例如,云APIC)中的云控制器114通信的多站点控制器116(例如,多站点APIC)、以及在本地网络102和公共云网络110中的控制器。多站点控制器116可以与控制器一起工作,以在本地网络102和公共云网络106和110两者上管理以及实施策略和配置。多站点控制器116可以(例如通过转换)在本地网络102和公共云网络106和110中实现相同的策略模型,这可以基于特定的SDN或数据中心解决方案(例如,Cisco的ACI)。例如,多站点控制器116可以在本地网络102以及公共云网络106和110中实施VRF、EPG和相关策略。这样的策略可以由多站点控制器116进行协调,该多站点控制器116具有在本地网络102中的控制器以及在公共云网络106和110中的云控制器(例如,云网络106中的云控制器114)。因此,虽然没有在图1A和1B中示出,但是公共云网络106和110可以包括VRF。
如图所示,公共云网络106可以包括虚拟私有云(VPC)130A、130B、130C和130N,这些虚拟私有云代表公共云网络106上的私有网络,并且可以与如本文所述的本地网络102以及公共云网络110互连。VPC 130可以在公共云网络106上托管应用和资源,以供本地网络102使用。
VPC 130A、130B、130C和130N可以包括端点组(Endpoint Group,EPG)135,该端点组135包括公共云网络106上的多个端点(未示出)。例如,VPC 130A可以包括EPG 135A,VPC130B可以包括EPG 135B,并且VPC 130N可以包括EPG 135N。EPG 135可以包括虚拟/逻辑和/或物理端点(例如,VM、软件容器、物理服务器等)。
往来于VPC 130A、130B、130C和130N的流量可以经由路由器136、138、140和142进行路由,这些路由器可以包括被包括在公共云网络106中的虚拟云路由器等。路由器136、138、140和142可以充当VPC 130A、130B、130C和130N的入口点和出口点,并且不但可以将VPC 130A、130B、130C和130N相互互连,而且可以通过网关124A-124N中的一者将VPC 130A、130B、130C和130N互连到外部设备或网络(例如,本地网络102和公共云网络110)。
如上所述,公共云网络106和/或110可以向订购使用其计算资源的用户提供服务。作为一个具体的例子,AWS可以提供中转网关(Transit Gateway,TGW),该中转网关是网络中转枢纽(例如,在虚拟机、容器、裸机等上运行的集中式虚拟路由器)。TGW可以作为一个枢纽将多个VPC 130互连,并控制如何为VPC 130路由流量。TGW可以允许来自中央网关的单个连接代表多个VPC 130进行连接,而不是使用针对每个VPC 130的各个VPN将VPC 130连接到本地网络102和/或公共云网络110。因此,网关124A-124N可以包括TGW或类似的网关,该TGW或类似的网关能够以中心辐射型模型连接到多个VPC,由于本地网络102和公共云网络110只需要连接到网关124(而不需要经由VPN连接到每个单独的VPC),这简化了管理并降低了运营成本。
公共云网络106(和110)可以包括一个或多个路由器118A-118N,这些路由器被配置为与本地网络102和公共云网络110通信。路由器118可以包括:硬件路由器、和/或包括云服务路由器(CSR)(例如,Cisco CSRlkV路由器)的虚拟路由器,该路由器118使用VxLAN或以太网VPN(EVPN)上的其他可用网络覆盖(例如,EVPN-VXLAN架构)来封装数据分组,以在数据分组的分组报头中携带VRF信息。以这种方式,路由器118可以向本地网络102、公共云网络110等发送以及从本地网络102、公共云网络110等接收包括VRF信息的数据分组。如本文将进一步讨论的,在配置中,为了维持VRF隔离,VPC 120之下的每个路由器118的维持访问列表126和对应的路由映射128。如将在本文中进一步讨论的,访问列表126和对应的路由映射128允许在配置中维持VRF隔离,在该配置中,VPC 120之下路由器118包括插入服务(例如,应用负载平衡器144)。在配置中,由路由器118维护和存储访问列表126和路由映射128。
通常,路由器118A-118N可以通过路由器118提供公共云网络106、本地网络102和公共云网络110之间的互连。路由器118可以包括用于建立BGP会话的BGP扬声器或代理。在一些实现中,路由器118支持或实现每隔一个区域(例如,本地网络102和公共云网络110)的两个控制平面会话(例如,BGP会话),以实现冗余和区域间连接。在其他实施方式中,路由器118可以支持或实施每隔一个区域的或多或少的控制平面会话。例如,路由器118可以支持或实施:一个或多个其他网络(例如,本地网络102和/或公共云网络110)的单个控制平面会话、或一个或多个其他区域(例如,本地网络102和/或公共云网络110)的多于两个控制平面会话。
路由器118可以包括CSR路由器(例如,Cisco CSRlkV路由器),并且可以配备有足够的容量来存储和管理公共云108的所有路由。此外,路由器可以支持或实现与数据平面路由器或网关124的集群122的内部控制平面会话(例如,BGP会话),以交换和管理公共云网络106的路由信息。
图1B图示了多云结构100中的本地网络102的示例架构的系统图。可以根据由本地网络102实现的特定SDN或数据中心解决方案(例如,Cisco的ACI)来配置本地网络102,可以经由一个或多个控制器(例如,诸如APIC之类的控制器155)来实现和/或管理本地网络102。控制器155可以管理本地网络102中的元件(例如,交换机(例如,叶交换机、主干交换机)、路由器(例如,物理的或虚拟的网关或路由器等)、端点(例如,VM、软件容器、虚拟设备、服务器、应用、服务链、工作负载等))和/或本地网络102中的任何其他元件(物理的和/或虚拟的/逻辑的)的安全策略和互连性。例如,本地网络102可以包括主干交换机156和叶交换机158,该主干交换机156和叶交换机158被配置为向本地网络102中的VM 160提供网络连接。在该示例中,控制器155可以管理由主干交换机156、叶交换机158和VM 160处理的流量的安全策略和互连性。
控制器155可以配置EPG 162、164、166和168,EPG 162、164、166和168可以用于管理和实施端点组(例如,VM 160)的策略和配置。EPG(例如,162、164、166和168)是包含直接地或间接地连接到网络(例如,本地网络102)的端点(例如,VM、软件容器、虚拟设备、服务器、应用、服务链、工作负载等)的管理对象。每个EPG(162、164、166和168)可以包括一组端点。例如,EPG 162、164、166和168可以包括VM 160。
EPG 162、164、166和168中的端点(例如,VM 160)可以具有某些属性(例如,地址、位置、身份、前缀、功能、应用服务等),并且可以是物理的和/或虚拟的。因此,EPG是基于一个或多个共同因素的此类端点的逻辑分组。可以用于将端点分组到通用EPG中的非限制性示例因素包括:通用安全要求、通用VM移动性要求、通用QoS(服务质量)设定、OSI模型的通用L4-L7(OSI模型的第4层到第7层)服务等,EPG(例如,162、164、166和168)可以跨越多个交换机并且可以与相应的桥接域(Bridge Domain,BD)相关联。在一些方面,EPG中的端点成员资格可以是静态的或动态的。
EPG 162、164、166和168可以包含各自的端点成员资格,并且可以表示基于如前所述的不同的、各自的因素的不同的EPG(例如,逻辑分组)。例如,EPG 162可以表示被配置为网页服务器(例如,WEB-EPG)的端点(例如,VM 160)的逻辑分组,EPG 164可以表示被配置为数据库服务器(例如,DB-EPG)的端点(例如,VM 160)的逻辑分组,而EPG 166可以表示被配置为特定应用服务器(例如,APP.A-EPG)的端点(例如,VM 160)的逻辑分组。控制器155可以为每个EPG 162、164、166和168配置特定策略(例如,合同、过滤器、要求等)。例如,此类策略或合同可以定义哪些EPG可以相互通信以及哪些类型的流量可以在EPG 162、164、166和168之间传递。
控制器155还可以配置VRF实例(134A、134B、134C和134N),这些VRF实例提供不同的地址域,这些地址域用作私有网络并且在VRF之间隔离流量。VRF 136A-N可以包括各种相应的对象(例如,端点(例如,VM 160)、EPG(例如,162、164、166和168)等)。例如,EPG 162可以驻留在VRF 134A中,EPG 164可以驻留在VRF 134B中,EPG 166可以驻留在VRF 134C中,EPG 168可以驻留在VRF 134N中。
控制器155可以与MSC 116一起工作,以在本地网络102以及公共云网络106和110中实施VRF 134和相关联的策略。可以由多站点控制器116与本地网络102中的控制器155和公共云网络106和110中的云控制器114对这样的策略进行协调。
参考图2A-2C,如前所述,一项服务(例如,应用负载平衡器(ALB)202(例如,ALB144a、144b))可以沿着以下路径被插入:在本地网络102和公共云网络106和110中的一者之间的路径、或者在公共云网络106和公共云网络110之间的路径。在配置中,ALB 202被插入公共云网络(例如,公共云网络106和/或公共云网络110)的VPC 204之下(例如,VPC 120a、120b之下)。在图2A-2C的示例中,在描述中使用本地网络102和公共云网络106。
在配置中,当将第一数据分组206从本地网络102发送到公共云网络106的VPC 204之下的云服务路由器(CSR)208(该云服务路由器(CSR)208具有对应于发送在本地网络102中的EPG(例如,EPG 135中的一者)的源IP地址210、以及用于ALB 202的目的IP地址)时,ALB202被视为EPG。传入的第一数据分组206还包括在公共云网络106的VPC 130处的用于目标目的EPG的目标目的IP地址。然后可以经由适当的TGW(例如,网关124)将第一数据分组206从ALB 202发送到目的EPG。
然而,参考图2B,当第一数据分组206为第二数据分组212(例如,第一数据分组206已被处理)从目的EPG返回,以返回到本地网络102时,第二数据分组212与以下项一起被发送:ALB 202的目的IP地址、以及目标目的IP地址218。ALB 202基于网络地址转换(NAT)规则重新获取第二数据分组212的资源,并将目标目的IP地址218放在第二数据分组212上。目标目的IP地址218与源IP地址210相同。由于ALB 202的下一跳是CSR 208,所以当第二数据分组212进入CSR 208时,需要一种机制来识别第二数据分组212的VRF 134,并使用正确的重写/目标视觉网络索引(Visual Networking Index,VNI)来执行VxLAN封装。
因此,在配置中,当CSR 206接收到第一数据分组206时,在CSR 208上制定基于策略的路由(Policy-based Routing,PBR)规则,以基于源EPG的源IP地址(地址210)来设定传入的第一数据分组206的适当VRF 134。在配置中,还可以包括目的EPG(ALB 202)的目的IP地址。因此,维护访问列表214(例如,访问列表126a、126b),该访问列表214列出了来自本地网络102的传入的分组的源IP地址210(以及可能的目的IP地址)。基于访问列表214,创建并维护路由映射216,该路由映射216基于在本地网络102处的以下项来识别VRF 134:传入的数据分组206的源IP地址210、以及目的IP地址(例如,ALB 202的IP地址)。在配置中,由CSR208维护和存储访问列表214和路由映射216。
当CSR 208从ALB 202接收到用于路由回本地网络102的数据分组(例如,来自云网络106的第二数据分组212)时,可以基于第二数据分组212的目标目的IP地址210(该目标目的IP地址210曾经是第一数据分组206的源地址210),利用路由映射216来识别适当的VRF134。一旦第二数据分组212的VRF 134被识别,第二数据分组212可以以两种方式中的一种方式被转发到本地网络102处的适当EPG。可以使用VxLAN封装经由VRF 134转发第二数据分组212,以将第二数据分组212从CSR 208自动路由到本地网络102的本地主干156。在没有VxLAN封装的情况下,可以在云CSR 208和本地网络IP扇区终止设备之间创建每个VRF 134的隧道接口,第二数据分组将从该隧道接口直接前往特定的VRF 134上的ACI叶158,然后到达原始源EPG 162、164、166或168(例如,第二数据分组212的目的EPG)。
如图2C所示,第二ALB 220可以被包括在VPC 204之下。因此,在配置中,可以为每组非重叠子网(例如,VPC 130A和VPC 130b)提供一个ALB。因此,任何时候,如果子网有重叠,可以旋转另一个ALB来为针对每一组不重叠的子网的数据分组提供服务。因此,ALB 220可以接收CSR 208(该CSR 208作为其用于离开公共云网络106的流量的下一跳)的单独接口,即,每个ALB在CSR 208(该CSR 208作为其下一跳)中具有唯一的接口,以便唯一地识别第二数据分组212的VRF 134(即使子网有重叠)。例如,由CSR 208将去往VPC 130a的第一数据分组206路由到ALB 202,而由CSR 208将去往VPC 130b的第一数据分组206路由到ALB220。当从VPC 130a发送相应的第二数据分组212时,第二数据分组212被路由到ALB 120,而从VPC 130b发送的相应的第二数据分组212被路由到ALB 220。基于由CSR 208接收到的第二数据分组212是来自ALB 202还是来自ALB 220,可以选择适当的VRF 134以用于路由到本地网络102。在这样的配置中,可以不包括访问列表214和相应的路由映射216。
图3图示了示例方法300的流程图,并且图示了至少部分地由(如图1A、1B和2A-2C所描绘的)多云结构100中的一个或多个设备执行的功能的方面。本文中关于图3描述的逻辑操作可以被实现为:(1)作为在计算系统上运行的一系列计算机实现的动作或程序模块、和/或(2)作为计算系统内的互连机器逻辑电路或电路模块。
本文中描述的各种组件的实现是取决于计算系统的性能和其他要求的选择问题。因此,本文中描述的逻辑操作被(不同地)称为操作、结构设备、动作、或模块。可以在软件、固件、专用数字逻辑以及它们的任何组合中实现这些操作、结构设备、动作和模块。还应理解,可以执行比图3所示以及本文的描述更多或更少的操作。这些操作也可以并行执行,或者以与本文描述的那些顺序不同的顺序执行。也可以由除特定识别的组件之外的组件执行这些操作中的一些操作或全部操作。尽管本公开中描述的技术参考了特定组件,但在其他示例中,可以通过更少的组件、更多的组件、不同的组件或组件的任何配置来实现这些技术。
图3示出了示例方法300的流程图,该示例方法300用于通过利用共享服务(例如,应用负载平衡器(ALB)的多云结构来维持用于网络路径的虚拟路由和转发(VRF)隔离和分割。在一些示例中,方法300可以由包括一个或多个处理器和一个或多个存储计算机可执行指令的非暂时性计算机可读介质的系统执行,这些计算机可执行指令在被一个或多个处理器执行时,导致一个或多个处理器执行方法300。
在302处,包括两个或更多个网络的多云结构的第一网络的路由器从第一网络中的源端点组接收第一数据分组。在304处,路由器将第一数据分组转发到服务端点组。
在306处,由服务端点组将第一数据分组转发到第二网络中的目的端点组。在308处,服务端点组从目的端点组接收第二数据分组。在310处,由服务端点组将第二数据分组转发到路由器。
在312处,基于以下项中的一者来识别虚拟路由和转发实例(VRF):(i)服务端点组的标识、或(ii)源端点组的地址。在314处,至少部分地基于识别VRF,路由器使用VRF,由路由器将第二数据分组转发到源端点组。
图4是示出了数据中心400的配置的计算系统图,其可以用于实施本文公开的技术的方面。图4中所示的示例数据中心400包括用于提供计算资源的若干服务器计算机402A-402F(其在本文中可以被称为单个“服务器计算机402”(单数时)或多个“服务器计算机402”(复数时))。在一些示例中,资源和/或服务器计算机602可以包括或对应于本文描述的EP132和/或EPG 135、168。类似地,数据中心400可以对应于以下项中的一个或多个:本地数据中心104、云数据中心108(站点1)、和/或云数据中心112(站点2)。
服务器计算机402可以是标准塔式、机架式或刀片式服务器计算机,其被适当地配置以提供本文所述的计算资源。如上所述,云计算网络102提供的计算资源可以是数据处理资源,例如VM实例或硬件计算系统、数据库集群、计算集群、存储集群、数据存储资源、数据库资源、联网资源等。一些服务器402还可以被配置成执行能够实例化和/或管理计算资源的资源管理器。例如,在VM实例的情况下,资源管理器可以是管理程序或被配置成允许在单个服务器计算机402上执行多个VM实例的另一种类型的程序。数据中心400中的服务器计算机402也可以被配置成提供网络服务和其他类型的服务。
在图4所示的示例数据中心400中,适当的LAN 408也用于互连服务器计算机402A-402F。应理解,本文描述的配置和网络拓扑已经被大大简化,并且可以利用更多的计算系统、软件组件、网络和联网设备来互连本文公开的各种计算系统并提供上述功能。适当的负载平衡设备或其他类型的网络基础设施组件也可以用于平衡数据中心400之间、每个数据中心400中的每个服务器计算机402A-402F之间以及潜在地在每个服务器计算机402中的计算资源之间的负载。应理解,参考图4描述的数据中心400的配置仅仅是说明性的,并且可以利用其他实施方式。
在一些示例中,每一个服务器计算机402可以执行一个或多个(例如,跨服务器402的集合或集群提供的)支持服务或应用的虚拟资源。每个服务器计算机402上的虚拟资源可以支持单个应用或服务或者多个应用或服务(用于一个或多个用户)。
在某些情况下,云计算网络106和110可以永久或按需提供计算资源,例如应用容器、VM实例和存储。在其他类型的功能中,云计算网络提供的计算资源可以用于实施上述各种服务。由云计算网络提供的计算资源可以包括各种类型的计算资源,例如像应用容器和VM实例的数据处理资源、数据存储资源、联网资源、数据通信资源、网络服务等。
由云计算网络提供的每种类型的计算资源可以是通用的或者可用于多种特定配置。例如,在许多不同的配置中,数据处理资源可以用作物理计算机或VM实例。VM实例可以被配置成执行应用,包括web服务器、应用服务器、媒体服务器、数据库服务器、上述的一些或全部网络服务和/或其他类型的程序。数据存储资源可以包括文件存储设备、块存储设备等。云计算网络还可以被配置成提供本文未具体提及的其他类型的计算资源。
在一个实施例中,由云计算网络提供的计算资源可以由一个或多个数据中心400(其在本文中可以被称为单个“数据中心400”(单数时)或多个“数据中心400”(复数时))启用。数据中心400是用于容纳和操作计算机系统和相关联的组件的设施。数据中心400通常包括冗余和备用电源、通信、冷却和安全系统。数据中心400也可以位于地理上不同的位置。下文将参考图4描述可以用于实施本文公开的技术的数据中心400的一个说明性实施例。
图5示出了能够执行用于实施上述功能的程序组件的服务器计算机402的示例计算机架构。图5所示的计算机架构示出了传统的服务器计算机、工作站、台式计算机、膝上型计算机、平板计算机、网络设备、电子阅读器、智能手机或其他计算设备,并且该计算机架构可以用于执行本文提出的任何软件组件。在一些示例中,服务器计算机402可以对应于本文描述的物理设备或资源。
服务器计算机402包括基板502或“主板”,其为印刷电路板,可以通过系统总线或其他电气通信路径连接多个组件或设备。在一个说明性配置中,一个或多个中央处理单元(“CPU”)504结合芯片组506操作。CPU 504可以是执行服务器计算机402的操作所必需的算术和逻辑运算的标准可编程处理器。
CPU 504通过操纵开关元件从一个分立的物理状态转换到下一个状态来执行操作,这些开关元件区分并改变这些状态。开关元件通常包括保持两个二进制状态之一的电子电路,例如触发器,以及基于一个或多个其他开关元件的状态的逻辑组合提供输出状态的电子电路,例如逻辑门。这些基本的开关元件可以被组合以创建更复杂的逻辑电路,包括寄存器、加法器-减法器、算术逻辑单元、浮点单元等等。
芯片组506提供CPU 504与基板502上的其余组件和设备之间的接口。芯片组506可以提供到RAM 508的接口,RAM 508用作服务器计算机402中的主存储器。芯片组506还可以提供到例如只读存储器(“ROM”)510或非易失性RAM(“NVRAM”)的计算机可读存储介质的接口,该ROM 510或NVRAM用于存储帮助启动服务器计算机402和在各种组件和设备之间传输信息的基本例程。ROM 510或NVRAM也可以根据本文描述的配置存储服务器计算机402的操作所需的其他软件组件。
服务器计算机402可以通过网络(例如网络408)使用与远程计算设备和计算机系统的逻辑连接在网络化环境中操作。芯片组506可以包括通过NIC 512(例如千兆以太网适配器)提供网络连接的功能。NIC 512能够通过网络408将服务器计算机402连接到其他计算设备。应理解,多个NIC 512可以存在于服务器计算机402中,将计算机连接到其他类型的网络和远程计算机系统。
服务器计算机402可以连接到为计算机提供非易失性存储的存储设备518。存储设备518可以存储操作系统520、程序522和数据,它们在本文中已经更详细地描述。存储设备518可以通过连接到芯片组506的存储控制器514连接到服务器计算机402。存储设备518可以由一个或多个物理存储单元组成。存储控制器514可以通过串行连接SCSI(“SAS”)接口、串行高级技术连接(“SATA”)接口、光纤通道(“FC”)接口或用于在计算机和物理存储单元之间物理连接和传输数据的其他类型的接口与物理存储单元对接。
服务器计算机402可以通过转换物理存储单元的物理状态在存储设备518上存储数据,以反映所存储的信息。在本说明书的不同实施例中,物理状态的具体转换可以取决于各种因素。这些因素的示例可以包括但不限于用于实施物理存储单元的技术、存储设备518是否被表征为主存储或辅助存储等。
例如,服务器计算机402可以通过存储控制器514发出指令,将信息存储至存储设备518,以改变磁盘驱动单元中特定位置的磁特性、光学存储单元中特定位置的反射或折射特性,或固态存储单元中特定电容器、晶体管或其他分立元件的电气特性。在不脱离本描述的范围和精神的情况下,物理介质的其他变换是可能的,提供前述示例只是为了便于描述。服务器计算机402还可以通过检测物理存储单元内一个或多个特定位置的物理状态或特性来从存储设备518读取信息。
除了上述大容量存储设备518之外,服务器计算机402可以访问其他计算机可读存储介质以存储和检索信息,例如程序模块、数据结构或其他数据。本领域技术人员应理解,计算机可读存储介质是提供数据的非暂时性存储并且可以由服务器计算机402访问的任何可用介质。在一些示例中,由云计算网络和/或其中包括的任何组件执行的操作可以由类似于服务器计算机402的一个或多个设备支持。换句话说,由云计算网络102和/或其中包括的任何组件执行的一些或全部操作可以由在基于云的布置中操作的一个或多个计算机设备402来执行。
作为示例而非限制,计算机可读存储介质可以包括以任何方法或技术实施的易失性和非易失性、可移动和不可移动介质。计算机可读存储介质包括但不限于RAM、ROM、可擦除可编程ROM(“EPROM”)、电可擦除可编程ROM(“EEPROM”)、闪存或其他固态存储器技术、光盘ROM(“CD-ROM”)、数字多功能盘(“DVD”)、高清DVD(“HD-DVD”)、蓝光或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或者可以用于以非暂时性方式存储所需信息的任何其他介质。
如上简述,存储设备518可以存储用于控制服务器计算机402的操作的操作系统520。根据一个实施例,操作系统包括LINUX操作系统。根据另一实施例,操作系统包括来自华盛顿州雷蒙德市的微软公司的服务器操作系统。根据进一步的实施例,操作系统可以包括UNIX操作系统或其变体之一。应理解,也可以利用其他操作系统。存储设备518可以存储服务器计算机402利用的其他系统或应用程序和数据。
在一个实施例中,存储设备518或其他计算机可读存储介质被编码有计算机可执行指令,当该计算机可执行指令被加载至服务器计算机402时,将计算机从通用计算系统转换为能够实施本文所述实施例的专用计算机。如上所述,这些计算机可执行指令通过指定CPU 504如何在状态之间转换来转换服务器计算机402。根据一个实施例,计算机402可以访问存储计算机可执行指令的计算机可读存储介质,这些计算机可执行指令当由计算机402执行时,执行以上参考图1-图4描述的各种过程。计算机402还可以包括计算机可读存储介质,该计算机可读存储介质上存储有用于执行本文描述的任何其他计算机实施的操作的指令。
服务器计算机402还可以包括一个或多个输入/输出控制器516,用于接收和处理来自多个输入设备(例如键盘、鼠标、触摸板、触摸屏、电子笔或其他类型的输入设备)的输入。类似地,输入/输出控制器516可以向输出设备(例如计算机监视器、平板显示器、数字投影仪、打印机或其他类型的输出设备)提供输出。应当理解,服务器计算机402可以不包括图5所示的所有组件,可以包括图5未明确示出的其他组件,或者可以利用与图5所示完全不同的架构。
服务器计算机402可以支持虚拟化层,例如在服务器计算机402上执行的一个或多个虚拟资源。在一些示例中,虚拟化层可以由管理程序支持,该管理程序提供在服务器计算机402上运行的一个或多个虚拟机来执行本文描述的功能。虚拟化层通常可以支持执行至少部分本文描述的技术的虚拟资源。
尽管本公开针对特定示例进行了描述,但应理解,本公开的范围不限于这些特定示例。由于为适应特定的操作要求和环境而进行的其他修改和变化对于本领域技术人员来说是显而易见的,因此本公开不限于为了公开的目的而选择的示例,而是涵盖了不脱离本公开的真实精神和范围的全部变化和修改。
尽管本申请描述了具有特定结构特征和/或方法动作的实施例,但应理解,权利要求不必限于所述的特定特征或动作。相反,具体特征和动作仅仅是落入本申请的权利要求范围内的一些说明性的实施例。
Claims (18)
1.一种方法,包括:
在第一网络中的路由器处,从所述第一网络中的源端点组接收第一数据分组;
由所述路由器将所述第一数据分组转发到服务端点组;
由所述服务端点组将所述第一数据分组转发到第二网络中的目的端点组;
在所述服务端点组处,接收来自所述目的端点组的第二数据分组;
由所述服务端点组将所述第二数据分组转发到所述路由器;
基于(i)所述服务端点组的标识或(ii)所述源端点组的地址中的一者,识别虚拟路由和转发实例(VRF);以及
至少部分地基于识别所述VRF,由所述路由器使用所述VRF将所述第二数据分组转发到所述源端点组。
2.根据权利要求1所述的方法,其中,由所述路由器向所述源端点组转发所述第二数据分组包括:
在所述路由器处接收到来自所述源端点组的所述第一数据分组时,创建与所述源端点组的所述地址和所述目的端点组的所述地址匹配的访问列表;
基于与所述源端点组的所述地址和所述目的端点组的所述地址匹配的所述访问列表,创建识别所述VRF的路由映射;
在所述路由器处接收到来自所述服务端点组的所述第二数据分组时,至少部分地基于所述源端点组的所述地址,由所述路由器匹配所述访问列表中的所述源端点组的所述地址;
至少部分地基于所述匹配所述访问列表中的所述源端点组的所述地址,识别所述VRF;以及
至少部分地基于识别所述VRF,由所述路由器使用所述VRF将所述第二数据分组转发到所述源端点组。
3.根据权利要求2所述的方法,其中,由所述路由器使用所述VRF将所述第二数据分组转发到所述源端点组包括:
基于虚拟可扩展本地接入网络(VxLAN)封装,由所述路由器将所述第二数据分组自动转发到所述源端点组。
4.根据权利要求2所述的方法,其中,由所述路由器使用所述VRF向所述源端点组转发所述第二数据分组包括:
在所述第一网络和所述第二网络之间创建隧道接口;
从所述路由器经由所述隧道接口将所述第二数据分组转发到所述第二网络;以及
使用所述VRF将所述第二网络中的所述第二数据分组转发到所述源端点组。
5.根据任一前述权利要求所述的方法,其中,所述第一网络是云网络,并且所述第二网络是本地网络。
6.根据任一前述权利要求所述的方法,其中,所述服务端点组为第一服务端点组,并且所述方法还包括:
提供第二服务端点组;
其中,识别所述VRF包括基于所述路由器是否从所述第一服务端点组或所述第二服务端点组接收所述第二数据分组来识别所述VRF。
7.一种系统,包括:
一个或多个处理器;以及
一种或多种非暂时性计算机可读介质,存储计算机可执行指令,当由所述一个或多个处理器执行所述计算机可执行指令时,使所述一个或多个处理器:
在路由器处,从第一网络中的源端点组接收第一数据分组;
由所述路由器将所述第一数据分组转发到服务端点组;
由所述服务端点组将所述第一数据分组转发到第二网络中的目的端点组;
在所述服务端点组处,接收来自所述目的端点组的第二数据分组;
由所述服务端点组将所述第二数据分组转发到所述路由器;
基于(i)所述服务端点组的标识或(ii)所述源端点组的地址中的一者,识别虚拟路由和转发实例(VRF);以及
至少部分地基于识别所述VRF,由所述路由器使用所述VRF将所述第二数据分组转发到所述源端点组。
8.根据权利要求7所述的系统,其中,由所述路由器将所述第二数据分组转发到所述源端点组包括:
在所述路由器处接收到来自所述源端点组的所述第一数据分组时,创建与所述源端点组的所述地址和所述目的端点组的所述地址匹配的访问列表;
基于与所述源端点组的所述地址和所述目的端点组的所述地址匹配的所述访问列表,创建识别所述VRF的路由映射;
在所述路由器处接收到来自所述服务端点组的所述第二数据分组时,至少部分地基于所述源端点组的所述地址,由所述路由器匹配所述访问列表中的所述源端点组的所述地址;
至少部分地基于所述匹配所述访问列表中的所述源端点组的所述地址,识别所述VRF;以及
至少部分地基于识别所述VRF,由所述路由器使用所述VRF将所述第二数据分组转发到所述源端点组。
9.根据权利要求8所述的系统,其中,由所述路由器使用所述VRF将所述第二数据分组转发到所述源端点组包括:
基于虚拟可扩展本地接入网络(VxLAN)封装,由所述路由器将所述第二数据分组自动转发到所述源端点组。
10.根据权利要求8所述的系统,其中,由所述路由器使用所述VRF向所述源端点组转发所述第二数据分组包括:
在所述第一网络和所述第二网络之间创建隧道接口;
从所述路由器经由所述隧道接口将所述第二数据分组转发到所述第二网络;以及
使用所述VRF将所述第二网络中的所述第二数据分组转发到所述源端点组。
11.根据权利要求7至10中任一项所述的系统,其中,所述第一网络是云网络,并且所述第二网络是本地网络。
12.根据权利要求7至11中任一项所述的系统,其中,所述服务端点组为第一服务端点组,并且当由所述一个或多个处理器执行所述计算机可执行指令时,使所述一个或多个处理器:
提供第二服务端点组;
其中,识别所述VRF包括基于所述路由器是否从所述第一服务端点组或所述第二服务端点组接收所述第二数据分组来识别所述VRF。
13.一种或多种非暂时性计算机可读介质,存储计算机可执行指令,当由所述一个或多个处理器执行所述计算机可执行指令时,使所述一个或多个处理器:
在路由器处,从第一网络中的源端点组接收第一数据分组;
由所述路由器将所述第一数据分组转发到服务端点组;
由所述服务端点组将所述第一数据分组转发到第二网络中的目的端点组;
在所述服务端点组处,接收来自所述目的端点组的第二数据分组;
由所述服务端点组将所述第二数据分组转发到所述路由器;
基于(i)所述服务端点组的标识或(ii)所述源端点组的地址中的一者,识别虚拟路由和转发实例(VRF);以及
至少部分地基于识别所述VRF,由所述路由器使用所述VRF将所述第二数据分组转发到所述源端点组。
14.根据权利要求13所述的一种或多种非暂时性计算机可读介质,其中,由所述路由器将所述第二数据分组转发到所述源端点组包括:
在所述路由器处接收到来自所述源端点组的所述第一数据分组时,创建与所述源端点组的所述地址和所述目的端点组的所述地址匹配的访问列表;
基于与所述源端点组的所述地址和所述目的端点组的所述地址匹配的所述访问列表,创建识别所述VRF的路由映射;
在所述路由器处接收到来自所述服务端点组的所述第二数据分组时,至少部分地基于所述源端点组的所述地址,由所述路由器匹配所述访问列表中的所述源端点组的所述地址;
至少部分地基于所述匹配所述访问列表中的所述源端点组的所述地址,识别所述VRF;以及
至少部分地基于识别所述VRF,由所述路由器使用所述VRF将所述第二数据分组转发到所述源端点组。
15.根据权利要求14所述的一种或多种非暂时性计算机可读介质,其中,由所述路由器使用所述VRF将所述第二数据分组转发到所述源端点组包括:
基于虚拟可扩展本地接入网络(VxLAN)封装,由所述路由器将所述第二数据分组自动转发到所述源端点组。
16.根据权利要求14所述的一种或多种非暂时性计算机可读介质,其中,由所述路由器使用所述VRF向所述源端点组转发所述第二数据分组包括:
在所述两个或更多个网络中的所述第一网络和第二网络之间创建隧道接口;
从所述路由器经由所述隧道接口将所述第二数据分组转发到所述第二网络;以及
使用所述VRF将所述第二网络中的所述第二数据分组转发到所述源端点组。
17.根据权利要求13至16中任一项所述的一种或多种非暂时性计算机可读介质,其中,所述第一网络是云网络,并且所述第二网络是本地网络。
18.根据权利要求13至17中任一项所述的一种或多种非暂时性计算机可读介质,其中,所述服务端点组为第一服务端点组,并且当由所述一个或多个处理器执行所述计算机可执行指令时,使所述一个或多个处理器:
提供第二服务端点组;
其中,识别所述VRF包括基于所述路由器是否从所述第一服务端点组或所述第二服务端点组接收所述第二数据分组来识别所述VRF。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/799,476 | 2020-02-24 | ||
US16/799,476 US20210266255A1 (en) | 2020-02-24 | 2020-02-24 | Vrf segregation for shared services in multi-fabric cloud networks |
PCT/US2021/016621 WO2021173318A1 (en) | 2020-02-24 | 2021-02-04 | Vrf segregation for shared services in multi-fabric cloud networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115136561A true CN115136561A (zh) | 2022-09-30 |
Family
ID=74798084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180016105.4A Pending CN115136561A (zh) | 2020-02-24 | 2021-02-04 | 多架构云网络中用于共享服务的vrf隔离 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210266255A1 (zh) |
EP (1) | EP4111647A1 (zh) |
CN (1) | CN115136561A (zh) |
WO (1) | WO2021173318A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11496437B2 (en) * | 2020-04-06 | 2022-11-08 | Vmware, Inc. | Selective ARP proxy |
US11805101B2 (en) | 2021-04-06 | 2023-10-31 | Vmware, Inc. | Secured suppression of address discovery messages |
CN114726774B (zh) * | 2022-04-08 | 2023-06-23 | 安超云软件有限公司 | 用于云平台的服务链实现的方法、装置及基于云平台的系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102215160A (zh) * | 2010-04-07 | 2011-10-12 | 中兴通讯股份有限公司 | 数据通信系统及方法 |
US20110314119A1 (en) * | 2010-06-18 | 2011-12-22 | Deepak Kakadia | Massively scalable multilayered load balancing based on integrated control and data plane |
EP3399703A1 (en) * | 2017-05-05 | 2018-11-07 | Huawei Technologies Co., Ltd. | Method for implementing load balancing, apparatus, and network system |
CN109474713A (zh) * | 2018-11-13 | 2019-03-15 | 杭州数梦工场科技有限公司 | 报文转发方法和装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7590115B1 (en) * | 2004-08-30 | 2009-09-15 | Juniper Networks, Inc. | Exchange of control information for virtual private local area network (LAN) service multicast |
US7720994B2 (en) * | 2005-01-13 | 2010-05-18 | Cisco Technology, Inc. | Method for suppression of multicast join/prune messages from extranet receivers |
US20070153707A1 (en) * | 2006-01-04 | 2007-07-05 | Pascal Thubert | Ad hoc network formation and management based on aggregation of ad hoc nodes according to an aggregation hierarchy |
US8259612B2 (en) * | 2006-06-09 | 2012-09-04 | Cisco Technologies, Inc. | Method of routing multicast traffic |
US20150124824A1 (en) * | 2013-11-05 | 2015-05-07 | Cisco Technology, Inc. | Incast drop cause telemetry |
US9894031B2 (en) * | 2014-08-27 | 2018-02-13 | Cisco Technology, Inc. | Source-aware technique for facilitating LISP host mobility |
US10819630B1 (en) * | 2016-04-20 | 2020-10-27 | Equinix, Inc. | Layer three instances for a cloud-based services exchange |
US10320672B2 (en) * | 2016-05-03 | 2019-06-11 | Cisco Technology, Inc. | Shared service access for multi-tenancy in a data center fabric |
US10355944B2 (en) * | 2016-10-31 | 2019-07-16 | Riverbed Technology, Inc. | Minimally invasive monitoring of path quality |
US10892986B2 (en) * | 2017-03-27 | 2021-01-12 | Arista Networks, Inc. | Efficient algorithm to eliminate redundant specific prefixes in forwarding information base using trie |
US10623264B2 (en) * | 2017-04-20 | 2020-04-14 | Cisco Technology, Inc. | Policy assurance for service chaining |
CN113595913B (zh) * | 2018-11-02 | 2023-02-14 | 华为技术有限公司 | 报文转发的方法、发送报文的装置和接收报文的装置 |
-
2020
- 2020-02-24 US US16/799,476 patent/US20210266255A1/en not_active Abandoned
-
2021
- 2021-02-04 CN CN202180016105.4A patent/CN115136561A/zh active Pending
- 2021-02-04 EP EP21708860.8A patent/EP4111647A1/en active Pending
- 2021-02-04 WO PCT/US2021/016621 patent/WO2021173318A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102215160A (zh) * | 2010-04-07 | 2011-10-12 | 中兴通讯股份有限公司 | 数据通信系统及方法 |
US20110314119A1 (en) * | 2010-06-18 | 2011-12-22 | Deepak Kakadia | Massively scalable multilayered load balancing based on integrated control and data plane |
EP3399703A1 (en) * | 2017-05-05 | 2018-11-07 | Huawei Technologies Co., Ltd. | Method for implementing load balancing, apparatus, and network system |
CN109474713A (zh) * | 2018-11-13 | 2019-03-15 | 杭州数梦工场科技有限公司 | 报文转发方法和装置 |
Non-Patent Citations (1)
Title |
---|
"《Cisco Application Centric Infrastructure Best Practices Guide》", pages 31 - 167, Retrieved from the Internet <URL:http://www.cisco.com> * |
Also Published As
Publication number | Publication date |
---|---|
EP4111647A1 (en) | 2023-01-04 |
US20210266255A1 (en) | 2021-08-26 |
WO2021173318A1 (en) | 2021-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11831611B2 (en) | Virtual private gateway for encrypted communication over dedicated physical link | |
US11082258B1 (en) | Isolation and segmentation in multi-cloud interconnects | |
EP3932041B1 (en) | Remote smart nic-based service acceleration | |
US20200293180A1 (en) | Stage upgrade of image versions on devices in a cluster | |
US11451467B2 (en) | Global-scale connectivity using scalable virtual traffic hubs | |
US11863591B2 (en) | On-demand security policy provisioning | |
EP2859444B1 (en) | Elastic enforcement layer for cloud security using sdn | |
US9407501B2 (en) | Provisioning services in legacy mode in a data center network | |
US9712386B1 (en) | Grouping routing resources for isolated virtual network traffic management | |
US9692729B1 (en) | Graceful migration of isolated virtual network traffic | |
US11336573B2 (en) | Service chaining in multi-fabric cloud networks | |
CN115136561A (zh) | 多架构云网络中用于共享服务的vrf隔离 | |
JP2015534320A (ja) | ポリシーベースのデータセンタネットワーク自動化を提供するシステムおよび方法 | |
US20210320817A1 (en) | Virtual routing and forwarding segregation and load balancing in networks with transit gateways | |
US10742554B2 (en) | Connectivity management using multiple route tables at scalable virtual traffic hubs | |
US11588749B2 (en) | Load balancing communication sessions in a networked computing environment | |
CN117941324A (zh) | 共有子网内的多播 | |
US20240048485A1 (en) | Specifying routes to enable layer-2 mobility in hybrid-cloud environments | |
EP4262150A1 (en) | Layer-3 policy enforcement for layer-7 data flows | |
US11888736B2 (en) | Service chaining in fabric networks | |
US20240137314A1 (en) | Service chaining in fabric networks | |
US20240073127A1 (en) | Data sovereignty and service insertion in multisite network fabric | |
US20230269275A1 (en) | Implementing policy based on unique addresses or ports |
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 |