具有数据流分类功能性的入口网关

申请号 CN202280046991.X 申请日 2022-04-28 公开(公告)号 CN117652133A 公开(公告)日 2024-03-05
申请人 艾维卓斯系统公司; 发明人 R·朗格莱;
摘要 描述了一种用于提供数据流的基于网络策略的路由的计算机化方法。在获得与传入数据流相关联的属性之后,第一网关被配置为基于与传入数据流相关联的属性来确定一个或多个网络策略,并且基于一个或多个网络策略来分配分类标识符。分类标识符被配置为影响通过至少一个 云 网络的路由路径,其中分类标识符被封装到传入数据流的内容中,以生成用于通过至少一个云网络从源路由到目的地的分类数据流。
权利要求

1.一种用于提供数据流的基于网络策略的路由的计算机化方法,包括:
获得与传入数据流相关联的属性;
基于与传入数据流相关联的属性来确定一个或多个网络策略;
基于所述一个或多个网络策略分配分类标识符,其中所述分类标识符被配置为影响通过至少一个网络的路由路径;和
将所述分类标识符封装到所述传入数据流的内容中,以生成用于通过所述至少一个云网络从源路由到目的地的分类数据流。
2.根据权利要求1所述的计算机化方法,其中,所述源是第一云实例,并且所述目的地是第二云实例。
3.根据权利要求2所述的计算机化方法,其中,所述第一云实例部署在第一公共云网络内,并且所述第二云实例部署在不同于所述第一公共云网络的第二公共云网络内。
4.根据权利要求1所述的计算机化方法,其中,获得与传入数据流相关联的属性包括基于与接收传入数据流的入口网关相关联的特性获得与数据流相关联的静态属性。
5.根据权利要求4所述的计算机化方法,其中,与所述数据流相关联的静态属性包括入口网关的位置,所述入口网关的位置对应于作为所述数据流的源操作的云实例的位置。
6.根据权利要求1所述的计算机化方法,其中,获得与传入数据流相关联的属性包括获得与数据流相关联的动态属性,所述数据流基于(i)与传入数据流的源相关联的网络地址和(ii)与源相关联的属性之间的映射而获得。
7.根据权利要求1所述的计算机化方法,其中,所述一个或多个网络策略的确定至少包括标识与所述属性相关的一个或多个网络策略。
8.根据权利要求1所述的计算机化方法,其中,所述一个或多个网络策略的确定包括通过确定所述传入数据流是否包括所述属性中的第一选择属性来进行决策树分析,基于以所述第一选择属性为特征的传入数据流来确定所述传入数据流与第一网络策略相关联,以及针对标识与特定网络策略相关联的数据流的属性执行迭代分析。
9.根据权利要求1所述的计算机化方法,其中,分配分类标识符包括标识对应于被确定为与传入数据流相关联的一个或多个网络策略的分类标识符。
10.根据权利要求2所述的计算机化方法,进一步包括:
基于封装到传入数据流的内容中的分类标识符,确定哪个或哪些通信链路供在将数据流从第一网关路由到第二网关中使用。
11.根据权利要求10所述的计算机化方法,进一步包括:
在所述第二网关接收到所述数据流后,移除所述分类标识符并将所述数据流的内容定向到所述第二云实例。
12.根据权利要求11所述的计算机化方法,其中,所述第一云实例是第一虚拟专用云网络的部分,并且所述第二云实例是第二虚拟专用云网络的部分。
13.根据权利要求12所述的计算机化方法,其中,所述第一虚拟专用云网络部署在第一公共云网络内,并且所述第二虚拟专用云网络部署在不同于所述第一公共云网络的第二公共云网络内。
14.一种计算平台,包括:
控制器;和
通信地耦合到所述控制器的第一虚拟专用云网络,所述第一虚拟专用云网络包括至少第一网关,所述第一网关被配置为向传入数据流分配分类标识符,
其中,所述第一网关被配置为(i)获得与所述传入数据流的数据流相关联的属性,(ii)基于与所述数据流相关联的属性确定一个或多个网络策略,(iii)基于所述一个或多个网络策略分配分类标识符,所述分类标识符被配置为影响通过至少一个云网络的路由路径,以及(iv)将所述分类标识符封装到所述数据流的内容中,以生成用于从所述第一网关路由到第二网关的分类数据流。
15.根据权利要求14所述的计算平台,其中,所述第一虚拟专用云网络的所述第一网关通信地耦合到作为所述数据流的源操作的第一云实例。
16.根据权利要求15所述的计算平台,其中,所述第一虚拟专用云网络部署在第一公共云网络内,而所述第二网关实现在部署在不同于所述第一公共云网络的第二公共云网络内的第二虚拟专用云网络内。
17.根据权利要求14所述的计算平台,其中,所述属性包括基于与所述第一网关相关联的特性的与所述数据流相关联的一个或多个静态属性。
18.根据权利要求17所述的计算平台,其中,与所述数据流相关联的所述一个或多个静态属性包括所述第一网关的位置,所述第一网关的位置对应于作为所述数据流的源操作的云实例的位置。
19.根据权利要求17所述的计算平台,其中,所述属性进一步包括从(i)与数据流的源相关联的网络地址和(ii)与源相关联的属性之间的映射获得的与数据流相关联的一个或多个动态属性。
20.根据权利要求14所述的计算平台,其中,所述第一网关被配置为通过至少标识与所述属性相关的一个或多个网络策略来确定一个或多个网络策略。
21.根据权利要求14所述的计算平台,其中,所述第一网关进一步被配置为基于封装到所述数据流的内容中的所述分类标识符来确定哪个或哪些通信链路供在将所述数据流从所述第一网关路由到所述第二网关中使用。
22.根据权利要求21所述的计算平台,进一步包括:
在由所述第二网关接收到所述数据流后,移除所述分类标识符并将所述数据流的内容定向到作为所述数据流的目的地操作的第二云实例。

说明书全文

具有数据流分类功能性的入口网关

[0001] 相关申请的交叉引用
[0002] 本申请要求No.17/727,884美国申请的优先权权益,该美国申请要求2021年4月30日提交的No.63/182,686美国临时专利申请的优先权,这两个申请的全部内容通过引用并入本文。

技术领域

[0003] 本公开的实施例涉及联网领域。更具体地,本公开的一个实施例涉及网络基础设施,其可靠地将属于云实例的应用关联到在云网络上传播的数据流。

背景技术

[0004] 在过去几年中,云计算提供了基础设施即服务(IaaS),其中资源作为公共云网络的部分提供,并使其作为服务对租户可访问。这些服务之一允许租户运行驻留在公共云网络内的软件组件(例如,诸如虚拟服务器虚拟机实例)。因此,该软件功能性的迁移导致虚拟专用云网络(VPC)的增加使用,虚拟专用云网络(VPC)即按需可配置的共享资源池,其在公共云网络内分配,并在使用资源的不同组织或其他实体(下文中称为“用户”)之间提供一定程度的隔离。然而,公共云网络资源的增加使用量导致了更大的数据流量,并添加了对云网络管理的复杂性。
[0005] 最近,已经开发和部署了具有独立于选择的一个或多个公共云提供商来监视和管理云联网的能的一些软件平台。例如,一个软件平台以控制器和一组网关为特征,所述控制器和一组网关被部署为VPC的软件组件并且彼此通信地耦合。对于该软件平台,控制器和网关可以被配置为支持云网络上的数据流传输(例如,数据分组的路由),其中与数据流相关联的分组从源(例如,第一应用)被路由到目的地(例如,第二应用)。
[0006] 对于该常规的网络架构,由于增加的云复杂性,变得非常难以确定地辨别哪些应用与网络上传播的数据流相关,以便确定如何处理数据流来满足该应用的不同要求。照惯例,每个应用被分配包括在数据流的每个分组中的互联网协议(IP)地址。然而,随着IP地址变得越来越短暂,它们在标识作为数据流的源的应用中的使用变得越来越不可靠。换句话说,由于云网络内由IP地址标识的资源呈指数级增长,这些IP地址将需要变得更短暂,并且因此,依赖IP地址进行源标识将随着时间推移变得更不可靠。
[0007] 此外,随着数据流量的量值逐步扩大,由于越来越多的企业将软件组件迁移到云网络中,每个网关用来监视和管理数据流量的路由所需要的操作复杂性也相应地增加。该操作复杂性可能源于对更频繁地更新路由配置的改变的需要,这是耗时的并且破坏正在进行的通信。随着更多的公司他们的联网运营迁移到公共云网络,网络的汇聚(稳定化)和避免作为公共云网络的部分部署的VPC内的数据通信中断是必要的。下面描述并且需要一种通过基于策略的路由和更准确的数据流来实现网络汇聚的技术。附图说明
[0008] 本发明的实施例在附图的各图中以示例的方式而非限制的方式图示,在附图中相同的附图标记指示相似的元件,并且在附图中:
[0009] 图1是执行基于策略的数据流分类的云网络基础设施的示例性实施例;
[0010] 图2A是图1的云网络基础设施的更详细的表示。
[0011] 图2B是图1的云网络基础设施生成类ID(ClassID)的操作的逻辑表示。
[0012] 图2C是示例性决策树结构,其图示了与被分析的数据流相关联的一个或多个网络策略的确定。
[0013] 图3A是图2A的入口网关的逻辑架构的第一示例性实施例。
[0014] 图3B是图2A的入口网关的逻辑架构的第二示例性实施例。
[0015] 图4是示出了图2A‑2B的入口网关的一般逻辑操作的示例性实施例。
[0016] 图5是在对作为部署在不同虚拟专用云网络(VPC)中的云实例的部分的应用之间传输的数据流进行分类中,贯穿图1的云网络基础设施的可操作性的示例性实施例的流程图的流程图。

具体实施方式

[0017] 描述了针对以基于策略的数据流量管理方案为基础的改进的云网络基础设施的系统和方法的实施例。云网络基础设施支持网络设备之间的数据流(例如,消息或一系列消息)的基于策略的路由。在本文中,被称为网关的第一网络设备被配置为与控制器一起操作,以将分类标识符分配给在云网络基础设施上传播的每个数据流。分类标识符(在下文中是“类ID”)标识数据流的类型,其中这样的标识以哪个用户定义的网络策略(或者两个或更多个网络策略的哪个组)包括关于数据流转发的要求为依据,所述要求由与数据流的源和/或目的地相关联的某些属性以及流本身的属性来满足。在本文中,类ID可以对应于确定的网络策略(例如,每个类ID和对应的网络策略之间的一对一映射),或者类ID可以对应于网络策略的某个组(组合)。对类ID的使用将在应用和它们在云网络上传播的数据流以及数据流本身的上下文之间提供更可靠的关联。
[0018] 云网络基础设施的一个实施例可以包括在公共云网络内维护的软件组件的集合,其中这些软件组件作为(i)在云网络边缘的虚拟专用云网络(在下文中是“边缘VPC”)和(ii)支持数据流量从一个VPC传播到另一个(在下文中是“转接VPC”)的虚拟专用云网络来操作。在本文中,根据该实施例,第一边缘VPC可以包括通信地耦合到一个或多个云实例的至少一个网关(在下文中是“入口网关”)。每个云实例可以支持一个或多个基于云的应用。第二边缘VPC可以包括通信地耦合到一个或多个不同的云实例的至少一个网关(在下文中是“出口网关”)。入口网关和出口网关可以经由一个或多个对等通信链路通信地耦合到部署在转接VPC内的(例如,两个或更多个)网关集(下文中是“转接网关”),所述一个或多个对等通信链路根据安全网络协议(诸如,例如互联网协议安全(IPSec)隧道)进行操作。可以根据唯一的无类域间路由(CIDR)路由地址来访问这些网关中的每一个,以通过网络传播消息。
[0019] 如下所述,每个入口网关被配置为基于与数据流相关联的属性将类ID分配给传入数据流,该数据流符合并由此满足由特定用户(例如,公司、联盟等)的管理员为云网络基础设施定义的一个或多个网络策略的某些要求。在本文中,网络策略通常指定期望的状态,其可以由管控网络设备之间的数据流(消息)转发的需求的集合来表示。这些网络设备可以是物理网络设备或虚拟网络设备(例如,作为特定网络设备操作的软件构造)。
[0020] 在本文中,根据本公开的一个实施例,类ID可以被表示为24位或32位值,其可以被分配有“本地”粒度(例如,类ID仅与该通信会话的相邻网络设备之间的数据流的片段有关),或者可以被分配有“全局”粒度(例如,类ID是唯一的,并且与遍及私有云网络的任何通信的特定数据流有关)。“全局”类ID降低了流分析(例如,对特定消息的传播进行采样)的复杂性,并且改进了总体网络效率,因为类ID的改变率减弱,从而降低了控制器为解决类ID改变而进行的网关配置改变的频率,并且这将在下文中讨论。
[0021] 根据本公开的该实施例,与数据流相关联的属性可以至少部分基于静态属性和动态属性。假设入口网关与作为数据流的源的云实例的应用共处一地,则可以从与入口网关相关联的信息中明确与数据流相关联的静态属性。静态属性的示例可以包括但不被限制或限定于基于位置的属性(例如,相同的云区域、相同的云地带、相同的地理位置,诸如国家、州、城市、社区或其他地理区域、相同的云提供商等)。相反,动态属性可以诸如通过使用数据流的源地址作为对地址到属性映射数据存储的索引从数据流的内容中获得,如下所述。
[0022] 作为另一个示例,可以通过决策树结构来确定类ID,该决策树结构可以基于哪个网络策略或网络策略的组合与和数据流相关联的某些属性最密切相关来分配结果类ID。替代地,类ID可以在控制器级,其中与每个应用相关联的数据流被分类,并且控制器向每个入口网关提供IP地址到类ID的映射表。独立于类ID确定过程的类型,类ID的数量可以对应于网络策略的数量,使得类ID仅当与特定网络策略相关联的需求改变时才改变。
[0023] 与负载均衡的全网状网络系统架构的一个实施例逻辑关联的另外细节在下面描述:
[0024] 实例子网:边缘VPC可以支持多个实例子网,使得来自特定实例子网的云实例的数据流被转发到选择的入口网关。
[0025] 云实例:软件组件的集合,被配置为在云网络内接收传入数据流(一个或多个消息)和/或传输传出数据流。作为说明性示例,云实例可以由虚拟web服务器、由虚拟web服务器处理的多个应用以及由虚拟web服务器维护的数据库组成。对于这种和其他配置,云实例可以生成(和传输)不同类型的数据流,取决于数据流的属性对所述不同类型的数据流不同地分类。例如,由作为在web服务器上操作的应用中的第一应用的备份代理发起的数据流将与作为与相同云实例相关联的多个应用之一的浏览器应用相比被不同地分类。
[0026] 网关:可以在一个或多个VPC中部署多个网关,以控制从云实例(包括源应用)到云实例(包括目的应用)的数据流的路由。具有相似的逻辑架构,网关可以基于它们在云网络内的位置/可操作性而被不同地标识。“入口”网关被配置为与包括应用的云实例交互,而“转接”网关被配置为进一步协助定向到另一边缘VPC内的入口网关的数据流(例如,一个或多个消息)的传播。
[0027] IPSec隧道:在网关之间建立的安全的对等通信链路,其中网关可以位于相同VPC内或者位于不同的相邻VPC内。对等通信链路通过被称为“互联网协议安全性”(IPSec)的安全网络协议套件来保护。关于全网状网络部署的一个实施例,作为说明性示例,在边缘VPC可以包括“M”个网关(例如,M≥1)并且相邻(转接)VPC具有N个网关(N≥1)的情况下,可以在边缘VPC和转接VPC之间创建M×N个IPSec隧道。这些IPSec隧道在网关中由虚拟隧道接口(VTI)表示,并且隧道状态由VTI状态表示。
[0028] 网关路由:在网关路由表中,网关和隧道终止的IP可寻址目的地(例如,另一个网关、内部部署(on‑prem)计算设备等)之间的路由路径例如由VTI标识,可以至少部分地由在入口网关处生成的类ID来管控。可以至少部分地基于对与数据流量相关联的某些信息(例如,5元组‑源IP地址、目的地IP地址、源端口、目的地端口、选择的传输协议)进行的分析来进一步管控路由路径。如果任何IPSec隧道状态被改变或禁用(或重新激活),则可以从关于所选择路由路径的终止点的考虑中移除(或添加)对应的VTI。
[0029] I.术语
[0030] 在下面的描述中,某些术语用于描述本发明的特征。在某些情形下,术语“逻辑”、“组件”和“设备”中的每一个都代表被配置为执行一个或多个功能的硬件、软件或其组合。作为硬件,逻辑(或组件/设备)可以构成控制逻辑,其可以包括具有数据处理或存储功能性的电路系统。这样的控制电路系统的示例可以包括但不被限制或限定为处理器(例如,微处理器、一个或多个处理器内核微控制器、控制器、可编程阵列、专用集成电路等)、无线接收器、发射器和/或收发器、半导体存储器或组合逻辑。
[0031] 替代地或者与上述硬件电路系统组合,逻辑(或组件/设备)可以是一个或多个软件模形式的软件。(一个或多个)软件模块可以包括可执行应用、应用编程接口(API)、子例程、函数、过程、小应用、小服务程序、例程、源代码、共享库/动态加载库或一个或多个指令。(一个或多个)软件模块可以被编码为处理器,即虚拟处理器。
[0032] (一个或多个)软件模块可以存储在任何类型的合适的非暂时存储介质或暂时存储介质(例如,电、光、声或其他形式的传播信号,诸如载波、红外信号或数字信号)中。非暂时性存储介质的示例可以包括但不被限制或限定为可编程电路;半导体存储器;非永久性存储器,诸如易失性存储器(例如,任何类型的随机存取存储器“RAM”);永久性存储装置,诸如非易失性存储器(例如,只读存储器“ROM”、电源支持的RAM、闪存、相变存储器等)、固态驱动器硬盘驱动器、光盘驱动器或便携式存储器设备。作为软件,该逻辑可以作为存储在永久性存储装置中的固件来操作。
[0033] 术语“计算机化的”通常表示任何对应的操作由与软件组合的硬件来执行。
[0034] 术语“网关”可以被解释为虚拟或物理网络设备。例如,作为说明性示例,网关可以对应于软件组件形式的虚拟网络设备,诸如基于虚拟机(VM)的数据路由组件,其被分配了与包括网关的VPC相关联的IP地址范围内的私有IP地址。该网关允许云服务提供商(CSP)和企业在包括公共网络(例如因特网)的虚拟和物理网络之间使能数据中心和云网络流量路由。替代地,在一些实施例中,网关可以对应于物理网络设备,诸如通信地耦合到网络并被分配了硬件(MAC)地址和IP地址的电子设备。
[0035] 术语“云网络基础设施”通常指代基于与公共云网络相关联的硬件对特定软件的执行而生成的软件组件(例如,实例)的组合。每个软件组件(或软件组件的组合)可以构成与公共云网络相关联的虚拟网络资源,诸如虚拟交换机、虚拟网关等。
[0036] 术语“消息”通常指代具有规定格式并根据合适的递送协议传输的信息。因此,每个消息可以是一个或多个分组、或具有规定格式的任何其他比特序列的形式。“数据流”通常指代从云网络内维护的源(例如,第一应用实例或其他软件组件)向目的地(例如,第二应用实例或其他软件组件)传输的一个或多个消息。
[0037] 术语“通信链路”可以被解释为两个或更多个网络设备之间的物理或逻辑通信路径。例如,作为物理通信路径,可以使用以电线、光纤、线缆、总线迹线或使用红外、射频(RF)的无线信道形式的有线和/或无线互连。作为逻辑通信路径,通信链路可以是应用编程接口(API)或其他软件构造,其提供在逻辑表示中构成两个网络设备的两个软件组件之间的信息传送。
[0038] 最后,如本文使用的术语“或”和“和/或”应被解释为包含性的,或者意指任何一个或任何组合。作为示例,“A、B或C”或者“A、B和/或C”意指“以下各项中的任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或动作的组合以某种方式固有地相互排斥时,才将出现该定义的例外。
[0039] 由于本发明易受许多不同形式的实施例影响,因此本公开旨在应被认为是本发明原理的示例,并且不是旨在将本发明限制于所示出和描述的特定实施例。
[0040] II.通用系统架构
[0041] 参考图1,云网络基础设施110的示例性实施例,其部署在公共云网络100内,并且对与特定企业相关联的用户可访问。在本文中,云网络基础设施110包括虚拟专用云网络(VPC)的集合,其支持驻留在不同VPC中的一个或多个云实例之间的可靠通信。云网络基础设施110可以被配置为作为负载均衡的全网状网络来操作,如在2020年10月23日提交的题为“Active Mesh Network System and Method”的美国专利申请No.17/079,399中所描述的,其全部内容通过引用并入本文。
[0042] 根据本公开的该实施例,如所示出的,云网络基础设施110可以被配置为支持经由第三VPC(在下文中是“转接VPC”)140通信地耦合在一起的第一VPC(在下文中是“第一边缘VPC”)120和第二边缘VPC130之间的通信。尽管为了清楚起见,在图1中图示了两个边缘VPC 120和130,但是设想云网络基础设施110可以部署附加的边缘VPC和多个转接VPC。
[0043] 如所示出的,第一边缘VPC 120被配置有一个或多个实例子网150(在下文中是“子网”),其中这些实例子网150中的每一个可以包括一个或多个云实例。如所示出的,实例子网150内的每个云实例(例如,云实例155)被配置为与类分配路由逻辑160交换数据流。类分配路由逻辑160可以被配置为(i)分析来自云实例的传入数据流165(例如,一个或多个消息)的内容(例如,数据、元信息等),(ii)将分类标识符(类ID)170分配给数据流165,以及(iii)将类ID 170封装到与数据流165相关联的消息(或每个消息)中。
[0044] 在本文中,根据本公开的一个实施例,分析数据流165的内容以标识与数据流165相关联的某些属性167。基于这些属性167,类分配路由逻辑160可以确定针对这种类型的数据流165的用户定义的网络策略180。类ID 170以哪个网络策略180(以及其要求)与数据流165的标识属性167相关(并被其满足)为依据。此后,用于将类ID 170封装到与数据流165相关联的(一个或多个)消息中的封装方案可以取决于云网络基础设施110所支持的传输协议,这产生了分类数据流175。一般而言,类ID 170可以被封装到(一个或多个)消息中的每一个的IPSec报头中,以形成分类数据流175。
[0045] 转接VPC 140通过不同的网关转发分类数据流175,其中转发可能受到类ID 170影响。作为第二边缘VPC 130的组件的重新路由逻辑185可以被配置为从分类数据流175中移除类ID 170,并将原始传输的数据流165的内容定向到作为由第二边缘VPC 130支持的实例子网195的部分的目标目的地云实例190。
[0046] 现在参考图2A,示出了云网络基础设施110的示例性实施例的更详细的表示,该云网络基础设施110包括经由转接VPC 140通信地耦合的第一边缘VPC 120和第二边缘VPC 130。在本文中,第一边缘VPC 120被配置有(一个或多个)实例子网150,其中实例子网150内的云实例155被配置为与类分配路由逻辑160交换数据流,即在第一边缘VPC 120中维护的(例如,两个或更多个)网关集2001‑200M(M≥2)中的网关。在本文中,这些网关2001‑200M被称为“入口网关”2001‑200M。
[0047] 更具体地,用于云网络基础设施110的控制器115被配置为通过使用VPC路由表210来管理(一个或多个)实例子网150和入口网关集2001‑200M之间的通信,该VPC路由表210最初被配置为标识哪个入口网关2001...或200M负责与哪个实例子网150或云实例进行交互。根据本公开的一个实施例,每个云实例可以包括作为虚拟资源共同操作的多个软件组件。
例如,如上所述,云实例155可以对应于被配置为执行多个应用205的虚拟web服务器,其中这些应用205可以生成和输出不同类型的数据流165。
[0048] 仍然参考图2A,根据本公开的一个实施例,云网络基础设施110可以通过将部署在第一边缘VPC 120内的入口网关集2001‑200M对等到可以被称为“转接网关”2201‑220N的部署在转接VPC 140内的网关集2201‑220N(N≥2)来实现。为了便于说明,入口网关集2001‑200M被表示为第一入口网关2001和第二入口网关2002,尽管可以在边缘VPC 120内部署三个或更多个入口网关。类似地,转接网关集2201‑220N的第一级由第一转接网关2201和第二转接网关2202表示,尽管可以在转接VPC 140内部署三个或更多个转接网关。
[0049] 如所示出的,入口网关2001被配置用于经由对等通信链路230与转接网关2201‑2202通信。特别地,根据本公开的一个实施例,入口网关(例如,入口网关2001)可以经由多个活动对等通信链路通信地耦合到每个转接网关2201‑2202。类似地,如出于说明目的所示,转接网关2201‑2202可以经由对等通信链路232和/或经由对等通信链路234在第二边缘VPC 
130中维护的网关集2401‑240P(P≥2)通信地耦合到其他转接网关(例如,转接网关2203‑
2204)。在本文中,这些网关2401‑240P被称为“出口网关”2401‑2402。此外,对等通信链路230、
232和/或234可以构成密码安全隧道,诸如IPSec隧道。IPSec隧道230、232和234的管理可以通过由相应网关2001‑2002、2201‑2204和2401‑2402中的每一个维护的网关路由表(未示出)来实现。
[0050] 关于操作,第一边缘VPC 120被配置有一个或多个实例子网150,其包括包含云实例155的多个云实例。云实例155被配置为向入口网关2001提供数据流165。入口网关2001被配置为分析数据流165的内容,并向其分配类ID 170。类ID 170以来自网络策略250组中的哪个网络策略包括与传入数据流165的属性具有高度相关性的要求为依据。例如,根据本公开的一个实施例,类ID 170可以至少部分基于来自用户定义的网络策略250组中的哪个网络策略180由与数据流165的属性相关的要求组成。
[0051] 更具体地,如在图2A‑2B二者中所示,在制定网络策略250和接收传入数据流165之后,入口网关2001被配置为通过确定数据流165的属性167来分析数据流165的内容。这些属性167可以包括静态属性260和动态属性265。
[0052] 根据本公开的一个实施例,基于入口网关2001和云实例155二者的共同定位,静态属性260可以从与入口网关2001相关联的属性中可获得。静态属性260的示例可以包括与云实例155的位置相关联的信息,云实例155包括数据流165的源应用,所述云实例155的位置将是与入口网关2001相同的位置(例如,云提供商、云区域、云地带、地理位置,诸如国家、州、城市、社区或其他子区域)。通过由控制器115提供的IP地址到属性的映射270,动态属性265可以可用于入口网关2001。映射270标识可以适用于源应用的属性。这些属性可以包括但不被限制或限定于在表A中阐述的以下属性:
[0053] 表A
[0054]
[0055] 此后,可以至少部分基于这些属性260和265中的一些或全部的值来确定类ID 170。
[0056] 根据本公开的其他实施例,可以至少部分地通过决策树分析来确定类ID 170,该决策树分析将特定属性的值与将表示与网络策略要求的相关性的决策相关联。作为说明性示例,图2C中示出了供在确定与数据流165相关联的一个或多个网络策略中使用的决策树结构280。在本文中,决策树结构280可以以基于特定属性的存在(或不存在)和/或这些属性的值的决策285为特征。对于该说明性示例,第一决策290的结果可以标识数据流165与第一网络策略291相关联或者服从第二决策292。类似地,基于第二决策292,产生标识数据流165与第二网络策略293相关联或者服从第三决策294的结果。在标识与数据流165相关联的网络策略后,入口网关2001可以分配对应于数据流165的属性与之高度相关的网络策略或网络策略组的类ID。
[0057] 如上所述,将类ID 170封装到数据流165中以产生分类数据流175的方式可以取决于云网络基础设施110所支持的传输协议。例如,在数据流165构成一个或多个基于UDP的IP分组的情况下,可以用分类数据流175的消息的封装部分(例如,具有封装的安全协议“ESP”报头的消息体、具有Wireguard报头的消息体等)来实现类ID 170。
[0058] 返回参考图2A,转接VPC 140通过不同的转接网关2201‑2204转发分类数据流175,其中转发可能受到类ID 170影响。例如,类ID 170可以用于确定在将分类数据流路由到出口网关2401中使用哪个通信链路232。附加地,转接网关2201‑2204中的每一个可以被配置为至少部分地基于类ID 170来进行过滤操作,以代替依赖源或目的地IP地址的常规防火墙技术。作为示例,转接网关(例如,转接网关2201)可以通过消除超过特定大小(以字节为单位)、超过特定突发大小或突发长度、超过带宽阈值、构成完全禁止传输的特定类型的数据流(或者到特定应用或到特定边缘VPC)等的数据流来进行流量限制操作。
[0059] 作为第二边缘VPC 130的组件的出口网关2401负责从分类数据流165中移除类ID 170,并将数据流165的内容定向到作为由第二边缘VPC 130支持的子网195的部分的目标目的地云实例190。
[0060] III.通用网关架构
[0061] 现在参考图3A,示出了入口网关2001的逻辑架构的第一示例性实施例。在本文中,入口网关2001包括接口300、控制逻辑310、队列320和非暂时性存储介质(例如,数据存储)330。数据存储330具有队列监视和选择逻辑340、类ID分析逻辑350、消息重新配置逻辑360和网络策略250。入口网关2001被配置为经由接口300接收数据流165(例如,一个或多个消息),并生成与数据流165相关联的类ID 170,以作为数据流165的部分从接口300传输。
[0062] 如所示出的,队列320可以是传入队列322和/或传出队列324。例如,在经由接口300接收之后,在由类ID分析逻辑350进行分析之前,与数据流165相关联的内容可以暂时维持在传入队列322内。传出队列324也可以用作等待从入口网关2001传输的分类数据流175的暂时性存储装置。可以根据分类优先级来构造传出队列324,其中可以基于所分配的类ID来区分分类数据流175的传输的优先级。一般而言,排队策略可以至少部分基于分配给数据流165的类ID。
[0063] 更具体地,由控制逻辑310(例如,一个或多个处理器)执行的队列监视和选择逻辑340可以检测与传入队列322内的数据流165相关联的内容的存储,并相应地向类ID分析逻辑350发信号。类ID分析逻辑350被配置为(i)确定哪个网络策略250适用于数据流165,以及(ii)根据所确定的网络策略分配类ID 170。例如,可以通过基于数据流165的属性167确定网络策略250的哪些要求与这些属性167相关来选择类ID 170。类ID 170可以对应于具有与数据流165的属性最佳相关的要求的网络策略或网络策略组。
[0064] 附加地,消息重新配置逻辑360适于将类ID 170适当地封装到数据流165中,以生成分类数据流175,用于定向到目标云实例的传输。附加地,消息重新配置逻辑360可以包括路由预测逻辑,以选择特定的转接网关和通信链路来接收分类数据流。这样的选择可以至少部分基于封装到分类数据流175中的类ID 170。例如,分类数据流175可以被路由到特定的转接网关2202,该特定的转接网关2202被配置有特定数据流所需要的特定安全策略(例如,在分类数据流175是信用卡信息的情况下,转接网关2202支持支付卡行业数据安全标准“PCI DSS”)。
[0065] 在消息重新配置逻辑360的上述操作的同时(例如,至少在时间上部分重叠)或之后,由控制逻辑310执行的队列监视和选择逻辑340可以基于与数据流165相关联的类ID 170选择一个传出队列324。可以为传出队列324分配一定的优先级,使得可以在与另一个类ID相关联的分类数据流175之前传输与特定类ID相关联的分类数据流175。
[0066] 参考图3B,示出了入口网关2001的逻辑架构的第二示例性实施例。在本文中,入口网关2001包括接口300、控制逻辑310、队列320和非暂时性存储介质(例如,数据存储)330,如在图3A中图示。然而,代替类ID分析逻辑350,数据存储330包括与属性到网络策略数据存储385、网关特性数据存储(用于静态属性)390和网络策略到类ID数据存储395相组合操作的类ID分配逻辑380。在本文中,类ID分配逻辑380被配置为通过至少访问来自网关特性数据存储390的静态属性和来自数据流165的内容的动态属性,从网络策略250中确定适用于数据流165的网络策略180。总的来说,某些属性(例如,静态、动态或静态和动态属性的组合)可以用于确定哪些网络策略250适用于数据流165。此后,类ID分配逻辑380访问网络策略到类ID数据存储395,以确定与源自云实例155的数据流165相关联的类ID 170。当然,作为替代实施例(未示出),类ID分配逻辑380可以简单地基于属性到类ID的关系访问规定的表。
[0067] 现在参考图4,示出了图2A的入口网关2001的一般逻辑操作的示例性实施例。在本文中,入口网关2001包括类ID确定逻辑400(例如,类ID分析逻辑350或类ID分配逻辑380以及所需要的资源);路由预测逻辑420;流量限制器逻辑440;和队列选择逻辑460。在本文中,传入数据流165由类ID确定逻辑400接收,基于哪个(或哪些)网络策略适用于数据流165,类ID确定逻辑400将类ID分配给数据流165。类ID被封装在数据流165内,以生成分类数据流175。分类数据流175被提供给路由预测逻辑420。
[0068] 路由预测逻辑420被配置为确定特定的转接网关和对应的通信链路,以接收分类数据流175,用于路由到目标应用。该确定可以至少部分地基于作为分类数据流175的部分而包括的所选择的类ID 170。流量限制器逻辑440被配置为接收分类数据流175,并通过过滤控制分类数据流的传播来“整形”流量。队列选择逻辑460确定哪些传出队列324接收分类数据流175,尤其是当不同的输出队列324被分配不同的优先级时。
[0069] IV.操作流
[0070] 现在参考图5,图5是在对作为部署在不同虚拟专用云网络(VPC)中的云实例的部分的应用之间传输的数据流进行分类时,遍及图1云网络基础设施的可操作性的示例性实施例的流程图。在本文中,根据本公开的一个实施例,数据流由第一虚拟网络设备接收(框500)。第一虚拟网络设备捕获与数据流相关联的上下文信息,即与数据流相关联的属性(框
510)。这些属性可以定向到数据流所源自的源应用,诸如位置属性、工作负载属性、身份属性或如表A中标识的其他属性。
[0071] 基于这些属性,第一虚拟网络设备确定适合于数据流的所选属性的网络策略(或网络策略组),并且基于所确定的网络策略(或网络策略组),选择数据流的分类标识符(类ID)(框520和530)。此后,类ID被封装到数据流的一部分中,以形成分类数据流(框540)。第一虚拟网络设备输出分类数据流,在被源应用作为接收数据流的目标的应用接收之前,其他虚拟网络设备对该分类数据流执行动作(框550)。这些动作可以包括但不被限制或限定于至少部分基于类ID的预测路由、差分服务(例如,服务质量“QoS”或安全性)、流量限制(例如,过滤等)。
[0072] 在不脱离本公开的精神的情况下,本发明的实施例可以以其他特定形式体现。所描述的实施例在所有方面都仅被认为是说明性的,而不是限制性的。
QQ群二维码
意见反馈