一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多云环境中基于流的按需策略实施的系统和方法与流程

2021-10-29 20:09:00 来源:中国专利 TAG:多云 策略 实施 按需 引用

多云环境中基于流的按需策略实施的系统和方法
1.相关申请的交叉引用
2.本技术要求于2019年2月28日提交的题为“systems and methods for on

demand flow

based policy enforcement in multi

cloud environments”(多云环境中基于流的按需策略实施的系统和方法)的美国非临时专利申请号16/289,647的权益和优先权,该申请的内容明确通过引用的方式全部并入本文中。
技术领域
3.本技术涉及云计算,更具体地说,涉及多云策略实施。


背景技术:

4.支持因特网的设备的广泛使用对因特网服务和内容产生巨大的需求。我们已经成为互联社会,在这种互联社会中,用户越来越依赖网络服务和内容。这种因特网连接的革命给服务和内容提供商带来了巨大的挑战,他们往往要努力在不降低用户的性能预期的情况下为大量的用户请求提供服务。例如,云提供商(如公有云等)通常需要大型复杂的数据中心来跟上用户的网络和内容需求。这些数据中心一般都配备了服务器群,这些服务器群被配置为托管特定的服务,并且这些数据中心包括许多交换机和路由器,这些交换机和路由器被编程为路由数据中心的流量和实施大量的策略。在许多情况下,特定的数据中心预计要处理数以百万计的流量流,并实施许多安全要求。
5.这些公有云可以被配置在多云环境中(例如,互相交流的多个公有云)。这些多云环境可能存在策略规则的规模问题。当在公有云(如亚马逊网络服务(aws)、微软azure等)以及高规模策略环境(如思科的应用策略基础设施)之间进行整合时,这个问题会以指数方式恶化。因此,云环境之间不同的策略模型和配置限制会大大限制多云实现方式中策略的可扩展性和统一性。例如,在亚马逊网络服务(aws)环境中,可应用于虚拟机(vm)网络接口卡(nic)的策略规则的数量被限制在双向(如出口、入口)300条规则,这可能是相当大的限制,特别是当aws中的虚拟机需要与外部端点(例如,另一个诸如微软的azure公有云之类的云环境或数据中心中的虚拟机,以应用为中心的基础设施(aci)结构中的端点,等等)进行通信时。
6.在多云实现方式中面临的另一个挑战是在公有云中运行容器时。公有云(如aws、azure等)中原生可用的或支持的策略规则的数量通常不足以处理公有云中的容器的操作,导致没有颗粒度的粗略的策略规则被应用。此外,随着在公有云中应用更多的细化策略规则,公有云中的资源可能会很快变得过载,这大大限制了对此类容器的安全和流量分割能力的支持。
附图说明
7.为了描述可以获得本公开上述的及其他优点和特征的方式,将通过参考附图中说明的其具体实施例,对上述简要描述的原理进行更具体的描述。了解到这些附图仅描述本
公开的示例性实施例,因此不应视为对其范围的限制,通过使用附图对本文的原理进行了额外的具体和详细的描述和解释,其中:
8.图1图示了根据一些示例在包括多个公有云的多云结构中进行策略拆分的示例架构;
9.图2图示了根据一些示例的在公有云中确定运行时(runtime)表能力的示例策略拆分;
10.图3a

3b图示了根据一些示例的拆分规则,该拆分规则被应用于图1所示的示例架构中配置的不同公有云上的端点之间的流;
11.图4图示了根据一些示例的在多云结构中进行策略拆分的示例方法;
12.图5图示了根据一些示例的示例网络设备;并且
13.图6图示了根据一些示例的示例计算设备架构。
具体实施方式
14.下面将详细讨论本公开的各种实施例。虽然讨论了具体实现方式,但应该理解,这只是为了说明问题。相关领域的技术人员将认识到,在不脱离本公开的精神和范围的情况下,可以使用其他组件和配置。
15.综述
16.本公开的其他特征和优点将在接下来的描述中阐述,部分特征和优点将从描述中显而易见,或者可以通过实践本文公开的原理而了解。通过所附权利要求中特别指出的工具和组合,可以实现和获得本公开的特征和优点。本公开的这些和其他特征将从以下描述和所附权利要求中变得更加明显,或者可以通过实践本文所阐述的原理来了解。
17.本文公开了用于多云环境中按需、基于流的策略实施、拆分和整合的系统、方法和非暂时性计算机可读介质。在一些示例中,系统、方法和计算机可读介质可以沿着流的路径在节点上为该流分配规则和安全策略。至少一些节点可以包括多云环境中一个或多个路由域、虚拟私有云和/或网络结构上的端点和路由器(它们可以作为“策略代理”发挥作用)。在一些示例中,多云环境中的路由器和虚拟私有云可以配置为中枢辐条拓扑结构,并可以被托管在与多云环境相关联的一个或多个云或结构上。一个或多个云或结构可以包括,例如,公有云、私有云、本地部署(on

premise)站点等,并且多云环境可以扩展到多个云和/或结构,例如公有云和/或私有云。
18.还公开了用于策略部署和实施的系统、方法和非暂时性计算机可读介质,可包括:发现从第一云环境中的第一端点(例如,虚拟机、服务器、容器、网络接口、计算设备等)到第二云环境中的第二端点的路径,确定与该路径中的节点子集相关联的运行时策略表能力,基于运行时策略表能力针对从第一端点到第二端点的流量确定策略实施(例如,策略分配和实施),在该路径中的一组节点上部署策略,并将策略应用(例如,实施)到在第一云环境中的第一端点和第二云环境中的第二端点之间传输的数据。在某些情况下,发现路径可以包括确定沿该路径的多个节点。这些节点可以包括,例如,路由器(例如,虚拟路由器、物理路由器等)、交换机、端点(例如,虚拟机、容器、服务器、网络接口等)和/或沿该路径的具有联网能力的任何其他设备或元件。
19.在一些情况下,通过对节点的策略表能力进行运行时检查可以确定策略表能力。
此外,在一些示例中,确定策略实施和部署策略可以基于运行时检查,并且可以包括从多个节点中确定要安装一个或多个策略的节点,对照通往端点的路径中的路由表运行第二端点的目的地地址,并且确定与该目的地地址、通往端点的路径和/或端点相关联的最宽子网。在一些情况下,策略的安装可以包括将策略与最宽子网相关联,该最宽子网与第一端点和第二端点之间的流量相关联。被部署在沿路径的节点处的策略可以包括一个或多个过滤器,这些过滤器允许从第一端点到第二端点的针对一个或多个端口的通信。策略和/或过滤器可以与合约相关联,该合约被配置用于与第一端点相关联的第一端点组(epg)和/或其他策略构造,和/或用于与第二端点相关联的第二epg和/或其他策略构造。
20.在一些情况下,策略的安装可以包括安装针对最宽子网启用(例如,允许)流量的策略。在一些示例中,策略可以安装在第一端点、第二端点或路径中的节点处。在一些实例中,策略分配和实施可以包括被安装在第一端点处的漏斗式实施(例如,粗略或广泛策略的实施、细化策略的实施、从粗略到细化或从细化到粗略的策略的实施)。
21.在一些情况下,系统、方法和非暂时性计算机可读介质可以在节点处安装一个或多个过滤器,这些过滤器在包括第一端点的第一端点组与包括第二端点的第二端点组之间的合约中,只允许从第一端点到第二端点的、针对一个或多个指定端口的流量。
22.在一些情况下,系统、方法和非暂时性计算机可读介质可以确定被安装在第一端点、第二端点和/或一个或多个节点处的一个或多个策略的年龄;并且响应于策略的年龄大于阈值年龄,移除该策略。
23.示例实施例的描述
24.所公开的技术解决了本领域对多云环境中弹性策略实施和策略整合的需求。尽管多云环境中的任何特定云提供商施加了具体的策略限制,本文提出的方法可以跨不同的云或数据中心环境整合策略规则,并支持跨不同的云或数据中心环境进行策略拆分或分配。例如,本文的方法可以针对跨多个云和网络环境的流量来部署和/或实施策略,而不考虑任何云和网络环境所设置的活跃规则的限制。因此,本文的方法可以在多云环境中跨多个云和网络环境提供增加的策略可扩展性、统一性、灵活性和颗粒度。
25.在一些情况下,本文的方法可以基于流量的流来按需部署和/或实施这种策略。例如,本文的方法可以基于数据包头部和/或数据包信息(例如,与数据包相关的源地址、与数据包相关的目的地地址、与数据包相关的协议、与数据包相关的源端口、与数据包相关的目的地端口等)动态地部署和/或实施策略。这样,本文的方法同样可以提高策略和实施的可扩展性、灵活性、颗粒度、效率、统一性等,并可以改善云间的整合。
26.下面的公开内容将对本技术进行如下描述。讨论从多云环境中的策略拆分、分配和实施的概述开始。讨论继续进行,描述了多云环境中策略拆分、分配和整合的示例架构,如图1

3所示。随后将描述用于多云环境中的策略拆分、分配和整合的示例方法,如图4所示。讨论的最后是对示例网络设备(如图5所示)以及示例计算设备架构(如图6所示)的描述,它们包括适合执行网络和计算操作的示例硬件组件。本公开内容现在转向对多云环境中的策略拆分和管理的概述讨论。
27.多云环境可以包括多个云、专用网络、结构和/或数据中心,如思科的以应用为中心的基础设施(aci)、思科的aci随时随地解决方案、(一个或多个)aws虚拟私有云、azurre虚拟网络(vnet)等。此外,多云环境可以针对多个网络云、结构和/或数据中心(例如,一个
或多个云站点和/或本地部署数据中心)中的工作负载管理网络、安全和服务。多云环境可以将端点和/或与端点相关的策略分组到端点的组或集合中,和/或将端点和/或与端点相关的策略与策略构造(如端点组(epg)、安全组(sg)等)相关联,并将策略规则或合约应用于相应的端点组或集合(例如epg、sg等)和/或策略构造。
28.组或策略构造(如epg或sg)可以包括多个云、(一个或多个)结构和/或(一个或多个)本地部署数据中心中的端点。这种组或策略构造可用于针对跨多云环境的来自端点的流量(包括从公有云、本地部署数据中心和/或网络结构到一个或多个不同公有云、本地部署数据中心和/或网络结构的流量)实施策略规则或合约。策略规则和网络配置可以由与多云环境相关的一个或多个控制器管理,例如一个或多个云控制器(例如,思科的应用策略基础设施控制器(apic),多站点控制器(msc)或多站点协调器(mso)等)。
29.如前所述,一些公有云中的网络配置和策略可能存在(一个或多个)云提供商所施加的各种限制或限定。这种限制可能包括对(一个或多个)云提供商所支持或允许的策略规则的数量的限制。在某些情况下,这样的策略规则限制可能远远低于数据中心、结构和/或(一个或多个其他站点、云、结构和/或数据中心所实现的)策略解决方案或模型所支持的策略的规模。例如,思科的aci支持数十万条策略规则,其中可包括128k的合约规则、64k的ip地址和4k的每叶交换机的epg,而亚马逊的aws针对每端点将策略规则限制为300条。
30.因此,当多个公有云环境在多云环境中被整合在一起和/或当思科的aci解决方案与一个或多个公有云解决方案(如aws)整合时,公有云的限制可能会降低整个多云环境的策略可扩展性,并将可针对与该公有云相关的流量而被部署和/或实施的策略的数量降低到远低于其他网络环境和/或多云环境中的路由域(例如,数据中心、结构、公有云、虚拟专用网络、本地部署站点等)所实现和/或支持的策略数量。这可能会造成安全漏洞和限制,中断流量流和/或通信,并降低多云环境中流量实施的灵活性、颗粒度和可扩展性。此外,不同的云提供商和数据中心或结构解决方案往往实现不同的策略模型。不同的策略模型可能会导致多云环境中的策略模型不一致,并可能会限制或阻止多云环境中的策略整合和统一性。
31.在一些示例中,云上的策略规则可以应用于目的地端点和第四层(l4)端口。目的地端点可以基于组(例如,epg、sg等)或地址(例如,ip地址或前缀)来被指代、指派和/或分类。虽然对端点进行分组有助于扩展策略规则,但这种策略规则往往不能应用于不同网络环境(例如,数据中心、结构、云环境等)上的端点。此外,鉴于多云环境中的一些云提供商和数据中心或结构解决方案可能会实现不同的策略模型和/或构造,驻留在不同网络环境(例如,不同的结构、数据中心、云、虚拟专用网络、路由域、虚拟路由和转发(vrf)实例、路由域等)中的端点可能无法被指派到或分组到相同的组和/或相同类型的组(例如,相同的epg)中,这又会限制策略的可扩展性、集成、颗粒度、灵活性和统一性。
32.此外,当云主机实例运行多个应用时,可能很快就会达到云提供商所施加的策略规则限制。例如,假设多云环境包括aws云上的虚拟专用网络(vpc),并且在aws云上的云主机上有5个容器在运行,并且这5个容器是端口映射的。如果网络运营商针对与每个容器和端口相关的流量实施策略,这些策略将很快接近aws的300条规则限制。为了说明问题,在这个示例中,当针对与主机通信的仅25个外部端点或ip实现策略时,将很快达到或接近aws的300条规则限制:25个ip
×
5个tcp(传输控制协议)端口
×
2个方向。虽然有基于前缀的规则
可以帮助解决这种规模限制,但当组策略需要应用于个体ip地址(例如,/32ip)时,这种策略限制就变得很严重。然而,在某些情况下,为了支持微分割或计算基于标签的分组,/32ip地址可能是必要的,在这种情况下,ip子网和策略基本上是解耦的。
33.此外,对于多云互联,一个或多个公有云可能不提供或不支持第二层(l2)延伸。在多云环境(或任何具有不同路由域的网络环境)中,这进而意味着策略规则需要被应用在第三层(l3)构造上,然后,如上所述,云提供商的资源规模限制使这些策略规则变得非常受限。另外,云提供商可能经常限制该云上的路由域(如虚拟私有云或网络)可用的网络地址数量,从而进一步限制了多云环境中针对与该云相关的流量的策略和路由规模。
34.为了克服某些公有云和/或结构或数据中心解决方案所带来的规模限制,本文的方法可以在多云环境中跨节点拆分和分配策略,并以临时或按需的方式为特定流应用策略,而不受诸如aws或azurre安全组之类的云原生构造的限制。可以在端点、路由器(例如,云服务路由器(csr),如思科的csr 1000v等)或运行在网络设备(如路由器)上的策略引擎或代理(可以是基于软件或虚拟机的策略代理)上实现策略。正如本文所使用的,规则、策略和合约可以互换使用。
35.图1图示了用于多云结构中按需、基于流的策略实施、扩展和整合的示例架构100。架构100可以包括第一公有云102(例如,站点a)和第二公有云104(例如,站点b)。每个公有云(如102、104等)可以拥有或托管互连的专用网络106、108、110a、110b、110c、112a、112b、112c等。
36.架构100可以包括多站点控制器114(例如,多站点apic),该多站点控制器与公有云102、104上的云控制器116、118(例如,云apic)和本地部署站点144(例如,aci结构)上的控制器146(例如,apic)进行通信。多站点控制器114(“msc”)与云控制器116、118和控制器146合作,以管理和实现公有云102、104和本地部署站点144上的策略和配置。多站点控制器114可以在公有云102、104两者以及本地部署站点144上实现相同的策略模型,本地部署站点144可以包括,例如,专用网络、私有云、私有数据中心、专用网络结构等。例如,多站点控制器114可以在公有云102、104和本地部署站点144上实现epg和/或epg策略。这种策略可以由多站点控制器114与公有云102、104中的云控制器116、118以及本地部署站点144中的控制器146来被协调。
37.本地部署站点144可以基于本地部署站点144所使用的数据中心或结构解决方案来实现策略模型。例如,在某些情况下,本地部署站点144可以实现思科的aci,以针对本地部署站点144上的流量和端点配置、管理和应用不同策略。在一些示例中,本地部署站点144可以针对本地部署站点144中的特定端点和/或流量应用epg。在某些情况下,epg可以是由本地部署站点144、多站点控制器114和控制器116、118、146实现的构造,它允许将特定的规则应用于特定的流量或端点。epg可以作为针对相关流量和/或端点的虚拟防火墙、过滤器和/或策略组。在某些情况下,本地部署站点144可以托管专用网络(如虚拟路由和转发(vrf)实例),以提供网络和/或流量隔离。专用网络(例如,vrf)可以托管一些各自的端点和应用,并可以具有指派给它们的特定的策略和寻址信息。在某些情况下,epg可以遵循白名单模型,该模型支持定义允许或许可规则,以允许与这些允许或许可规则相关的流量。
38.每个公有云(例如,102、104)也可以原生地实现不同的策略模型,并且可以有自己的一组要求(例如,策略要求、可扩展性要求等),这些要求可以不同于多站点控制器114、云
控制器116、118、控制器146和/或本地部署站点144所支持或实现的那些。公有云102、104上的策略模型和要求可以取决于云提供商。例如,aws可以实现安全组并施加300个规则的限制。如下面进一步描述的,本文的方法可以整合并扩展公有云所施加的策略模型及要求和与多站点控制器114、云控制器116、118、控制器146和/或本地部署站点144相关的策略模型和要求,以便应用一致的策略模型并提高示例架构100中整体实现的可扩展性。
39.公有云可以包括专用网络106、108、110a

c、112a

c,它们代表被托管在公有云上的私有路由域或网络(例如,虚拟私有云(vpc)、虚拟网络(vnet)等)。专用网络可以在公有云上托管应用和资源,供其他云或网络(如本地部署站点144)使用。在某些情况下,专用网络可以代表、对应或转换为本地部署站点144中的虚拟路由和转发(vrf)实例。
40.公有云102、104上的专用网络110a

c、112a

c可以经由专用网络106、108被互连(例如,彼此之间、与其他公有云、与本地部署站点144等)。在这个示例中,专用网络106、110a

c被配置为中枢辐条式拓扑结构,其中专用网络106作为中枢并且专用网络110a

c作为辐条。其他的互连和拓扑结构也是可行的,并在本文中已设想到。
41.专用网络110a

c、112a

c可以包括各自的虚拟网关128a

c、130a

c,它们分别使专用网络110a

c、112a

c与专用网络106、108互连,并将流量送入和送出专用网络110a

c、112a

c。在某些情况下,虚拟网关128a

c、130a

c可以例如是被部署在公有云上的虚拟机,更具体地说,是被部署在运行各自的网络服务(例如wan或网络网关服务)的每个专用网络110a

c、112a

c上的虚拟机。在其他示例中,虚拟网关128a

c、130a

c可以是云服务路由器(csr)或任何其他类型的路由设备或组件。专用网络110a

c、112a

c还可以托管各自的端点132

142,这些端点连接到各自的虚拟网关128a

c、130a

c,以与各自的专用网络110a

c、112a

c之外的设备和应用(例如专用网络106、108)通信。每个专用网络110a

c、112a

c可以托管任何数量的端点,并且特定专用网络上的多个端点可以有类似或不同的属性。
42.在这个示例中,专用网络110a上的端点(ep)132与安全组120a相关联(其他ep可以与未显示的一个或多个其他安全组相关联)。安全组可以是由公有云102、104实现的安全构造,此安全构造允许将特定规则应用于与安全组相关的流量和/或端点。在某些情况下,安全组可以作为针对相关流量和/或端点的虚拟防火墙、过滤器和/或策略组。在某些情况下,端点132

142和/或安全组120a

c、122a

c可以遵循白名单模型,该白名单模型支持定义允许或许可规则,以允许与这些允许或许可规则相关的流量。
43.专用网络106、108(例如,中枢)可以包括一个或多个路由器124a

c、126a

c。路由器124a

c、126a

c可以是(例如)云服务路由器(csr),并且可以实现策略代理或引擎,该策略代理或引擎被配置为存储和实施策略以及执行本文所述的其他功能。路由器124a

c、126a

c可以(直接或间接)连接到专用网络110a

c、112a

c上的虚拟网关128a

c、130a

c,以分别在专用网络106、108与专用网络110a

c、112a

c之间路由流量。每个路由器124a

c、126a

c可以具有通往每个虚拟网关128a

c、130a

c的路由,从而可以分别与每个虚拟网关128a

c、130a

c通信。然而,在某些情况下,每个路由器124a

c、126a

c可以只向虚拟网关128a

c、130a

c的子集通告路由图,以限制特定路由器将为哪些虚拟网关提供服务(例如,与其通信、为其路由流量等),以增加可扩展性。
44.在某些情况下,路由器可以是部署在公有云中的虚拟机上的虚拟路由器。此外,路由器可以包括策略引擎或软件,如下面进一步解释的那样,使路由器能够针对与专用网络
(106、108、110a

c、112a

c等)相关的流量应用策略,而不一定依赖云原生对象或构造(如安全组)并且不受与公有云相关的云提供商所施加的具体要求或限制的限制。在某些情况下,路由器可以包括被配置为将特定策略应用于特定流量和/或地址(例如,ip地址或前缀)的基于软件或虚拟机的策略引擎。因此,路由器可以作为路由器和策略代理的双重身份(double

up)。
45.路由器124a

c、126a

c可以被配置为基于多种因素可弹性或动态地扩展。例如,路由器可以基于个体云端点(例如ep 132

142)或一组端点的策略规模和带宽要求进行可弹性扩展。作为另一个示例,路由器可以按路由域(例如,vrf、vpc、vnet等)、路由器上的带宽可用性等进行扩展。
46.在许多情况下,运行时策略的数量在公有云中可能会受到限制。例如,公有云aws具有300个策略的限制。也就是说,公有aws云对可以并发活动的策略数量有设定的限制。当来自一个公有云的端点(如虚拟机)需要与另一个公有云(或私有云)和/或本地部署站点中的外部端点(如虚拟机)进行通信时,这些限制可能相当具有限制性。在一些示例中,为了应对这些限制,策略规则可以在不同网络(例如,公有云102、公有云104、本地部署站点144等)上的端点之间的路径中的节点之间被拆分,如图1

3所示。
47.如图1所示,当第一公有云102中的端点(例如,132

136)想要与第二公有云104中的端点(例如,138

142)(和/或与本地部署站点144中的端点)通信时,可以首先发现公有云(和/或本地部署站点144)之间的路径140。在一些示例中,可以基于流(例如,基于数据包头部)按需或动态地发现针对该流的路径140,并且路径140被用于确定在哪里和/或如何为该流拆分策略规则和实施,如本文所述。路径140可以包括公有云和/或本地部署站点144内的一个或多个节点,例如,入口端点(例如138)、路由器124a

c、126a

c中的一些、出口端点(例如虚拟机132)。路径140一般将通过网络150(例如,因特网、隧道等)。在一些示例中,从出口端点到入口端点可以有多个节点。
48.图2图示了在多站点结构(例如,100)中用于策略拆分和确定运行时策略表能力的示例实现方式200。为了简化说明,并且不受限制,图2示出了示例的出口端点132和入口端点138,以及发现的路径140(如图1所示)的节点(例如,124a、126a)。当路径140与相应的节点一起被确定时,可以确定针对这些节点的运行时策略表能力。运行时策略表能力是节点所具有的用于激活或实现策略的能力(例如,基于活跃的策略、节点存储或实现策略的能力、新的或未指派的策略等)。
49.在这个示例中,ep 132向控制器116报告205其运行时策略表能力。在一些示例中,虚拟网关128a可以直接向控制器116传输运行时策略表能力。在其他示例中,虚拟网关128a可以经由专用网络106(例如,中枢/辐条模型)传输运行时策略表能力。路由器124a可以直接向控制器116报告210运行时策略表能力。ep 138向控制器118报告215其运行时策略表能力。在一些示例中,虚拟网关130a可以直接向控制器118传输运行时策略表能力。在其他示例中,虚拟网关130a可以经由专用网络108(例如,中枢/辐条模型)传输运行时策略表能力。路由器126a可以直接向控制器118报告220运行时策略表能力。
50.响应于从路径140中的节点接收运行时策略表能力,控制器116、118可以将运行时策略表能力传输到msc 114。在某些情况下,运行时策略表能力可以定期被发送到msc。然后,msc 114可以确定路径140中的节点,这些节点有能力为从ep 132到ep 138的流量安装
或实现策略规则。例如,被配置在ep 132和138之间的策略可以包括针对与ep 132相关的端点组和与ep 138相关的端点组之间的流量定义规则的合约。
51.基于收到的运行时策略表能力,msc 114可以在路径140中不同的节点之间拆分要被应用于ep 132和ep 138之间的流量的策略规则。在示例中,路由器124a

c可以具有不同级别的能力(用于安装和/或激活一定数量的策略规则)。msc 114可以确定路由器124b、124c比路由器124a被更多地利用和/或针对新策略比路由器124a具有更少的当前或未来的能力,并且可以通过路由器124a或在路由器124a上分配或安装至少一些针对从ep 132到ep 138的流量的策略规则(例如,合约)。鉴于路由器124b、124c和路由器124a之间的能力差异,在这个示例中,msc 114可以选择在路由器124a上安装或激活比路由器124b和/或路由器124c更多的策略,或者可以决定不在路由器124b和/或路由器124c上安装或激活任何策略,而是在路由器124a和路径140上的一个或多个节点上分配针对该特定流的所有策略。
52.如图3a

b中的环境300、350所示,msc 114可以将待激活的策略规则335、340传送到云控制器116、118。在某些情况下,msc 114也可以将待激活的策略规则传输给控制器146。然后,云控制器116可以将一个或多个策略规则传送345、350到通往ep 132的路径中的选定节点(例如,124a、132),这取决于如前所述的网络配置。云控制器118可以将一条或多条策略规则传送355、360到通往ep 138的路径中的选定节点(例如,126a、138),这取决于如前所述的网络配置。可以根据一种或多种拆分方案(例如,基于漏斗(例如,从细颗粒度到粗颗粒度或反之亦然)、基于vrf或专用网络的分配、基于带宽的分配、节点能力等),将策略规则分配给专用网络106、110a、108、112a和/或本地部署站点144中的特定节点。
53.可以根据特定流的路径上的节点的运行时策略表能力来执行策略拆分。例如,如图3b所示,如果ep 132与ep 138和ep 140两者交谈,则ep之间的共同策略(例如,安全壳(secure shell)等)可以部署在(一个或多个)中枢或基础设施专用网络(例如,106、108)上,因为(一个或多个)中枢或基础设施专用网络可以实现最高共同标准的策略。在一些示例中,粗略的策略可以安装在入口专用网络(例如108)上,而更细的(例如delta)策略可以进一步沿着路径安装,例如以漏斗的方式安装。例如,参照图3a,对于从ep 132到ep 138的流量以及驻留在专用网络112a中和/或与对应于sg 122a的epg相关联的额外端点(未显示),粗略的策略可以与该epg相关联并被安装在专用网络108中的路由器126a处,该路由器可以处理去往和来自ep 138和额外端点的流量。
54.在类似的示例中并参考图3b,对于从ep 132到ep 138和140的流量,可以在专用网络108中的路由器126a和126b上安装粗略的策略,因为ep 138和140由该专用网络108中的不同路由器126a、126b提供服务。在一些示例中,可以在路由器126a、126b上安装粗略(或共同)规则和/或delta规则,以将流分别路由(并将适用的策略实施)到ep 138和ep 140(例如,以漏斗的方式)。在其他示例中,粗略的规则可以安装在路由器126a、126b上,针对ep 138和140的delta规则可以安装在虚拟网关130a、130b和/或ep 138、140上。在一些示例中,粗略的策略规则可以是适用于最宽子网或前缀边界或者与之相关的规则,该最宽子网或前缀边界包括与该规则相关的目的地端点的地址。在一些示例中,delta策略规则可以是适用于较窄的子网(相比于来自粗略策略规则的最宽可能子网或前缀)或个体端点或者与之相关的规则,并且可以应用于与delta策略规则相关的流量和/或端点。
55.所应用的拆分策略规则也可以具有相关的定时器。定时器可以具有相关的阈值时
间,在此阈值时间内,拆分的策略规则可以过时并被清理(例如,移除)。由于公有云(如aws和azure)具有策略限制,所以确保移除过时的策略规则是有利的,这样就可以启用新的策略。
56.如本文所说明的,这些方法允许策略在起于端点的路径中的节点之间被拆分,从而绕过原生云资源限制,如aws的300规则的限制。所公开的方案可以在最小限度地增加端点的规则数量的情况下实现这一点,同时提供通过路径上的其他节点(例如,路由器124、126、128、130)的更大的可扩展性。
57.在一些情况下,节点126a、126b、126c处的策略规则可以处理或包括用于专用网络108的cidr内的流量的epg规则,而安装在ep 138、140处的策略规则可以包括用于与ep 138和140相关的流量的更小的一组规则。一些规则可以根据路由聚合方案被拆分或分配,该路由聚合方案将策略映射到与这些策略相关的经聚合路由(例如,最宽前缀)。
58.在描述了示例系统和概念之后,本公开现在转向图4中说明的示例方法400。这里概述的步骤是示例并且可以以其任何组合实现,包括排除、增加或修改某些步骤的组合。
59.在步骤405,该方法可以发现从第一公有云(例如,102)中的第一端点(例如,虚拟机等)到第二公有云(例如,104)中的第二端点(例如,虚拟机)的路径。该路径可以包括沿路径的一个或多个节点,包括端点和沿路由的路由器等。在一些示例中,第一云(例如,站点a)中的第一虚拟机可以启动与第二云(例如,站点b)中的第二虚拟机的通信。虚拟机之间的路径可以从第一虚拟机,通过辐条虚拟专用网络(例如,110)中的虚拟网关(例如,128)和中枢虚拟专用网络(例如,126)中的路由器(例如,126),到达与中枢专用网络(例如,126)连接的辐条虚拟专用网络(例如,112)中的虚拟网关(例如,130),最后到第二公有云(例如,104)中的第二虚拟机。
60.在步骤410,发现的路径中的节点可以提供它们各自的运行时策略表能力。例如,路径中的虚拟机、路由器等可以向它们各自的云控制器发送其运行时策略表的能力。例如,路由器可以向相关的云控制器发送用于安装或实现策略规则的总能力和/或剩余能力。为了说明这一点,特定的路由器在达到其y数量规则的能力(例如,300条规则的限制)之前,可以有能力实现x数量的规则。在这个示例中,路由器可以向相关的云控制器报告它具有针对y数量规则的总能力和/或针对x数量规则的剩余能力(除了那些已经在路由器上安装或实现的规则之外)。然后,云控制器(来自每个公有云)可以将每个节点的运行时策略表的能力传送到msc 114。
61.在步骤415,可以根据节点的运行时策略表的能力来拆分路径的策略实施。在收到路径中的节点的运行时策略表的能力时,msc 114可以确定哪些节点应该针对与第一和第二端点(和/或相关epg)相关的流量流安装或实现策略。msc 114还可以确定哪些策略和/或多少策略(如果有的话)应该被部署或实现在每个节点上。因此,与第一和第二端点相关联的流的策略规则可以被分配在如下的节点上:这些节点被确定为有可用的能力来实现针对该流的策略规则。此外,策略可以根据它们所安装到的节点来配置。在某些情况下,策略实施是在入口处或出口处。在其他具有策略拆分的示例中,策略实施根据可用资源被分配在入口和出口路径上,如上所述。
62.在可选的步骤420(该步骤不一定在每次部署拆分策略规则期间运行),策略可以过时和被清理。例如,在策略规则被激活的阈值时段(例如5分钟等)之后,可以从(一个或多
个)节点中移除策略规则。在其他示例中,在策略被利用或不活跃的阈值时段之后,可以移除策略规则。
63.在方法400的一些实现方式中,msc 114可以管理用于将端点映射(和/或分类)到特定epg的策略或逻辑,并且可以管理相应的规则,以例如限制与其他epg和外部端点的通信。例如,当端点(如虚拟机或相关的网络接口)变得活跃或部署在公有云102中时,公有云102上的控制器116可以检测虚拟机并将其与一个或多个epg相关联。在某些情况下,控制器116可以为虚拟机上的接口启用流日志,而不是将规则推送给虚拟机。
64.当虚拟机启动到另一个虚拟机的流时,控制器116会触发本文所述的基于流的按需策略拆分和实施。触发器可以包括流的详细信息,包括流的目的地地址。控制器116可以在与控制器116相关的云站点(例如,102)内查找目的地vm,如果找到目的地vm,控制器116可以取回与一个或多个epg相对应的安全组(例如,120),该一个或多个epg与目的地vm相关联。如果目的地虚拟机不在云站点中,控制器116分层查找msc114,它可以将请求转发给多云环境中的其他控制器(例如,118,146)。如果端点位于其他站点之一中的epg后面,控制器可以取回相应的epg。然后,控制器查找与原点和目的地端点相关联的epg之间的合约规则,并根据与epg相关联的规则为端点创建规则。
65.在某些情况下,控制器可以针对与原点和目的地端点相关的流创建过时缓存,并根据流日志信息更新该缓存。当缓存过时和/或达到过时阈值时,控制器可以从规则所安装到的(一个或多个)节点中移除这些规则。
66.在一些实现方式中,方法400可以将标签指派给流,并根据端点之间的流聚合路由和/或epg。例如,可以将标签指派给每个消费者/提供者流。控制器(例如,114、116、118、146)可以检查标签和针对每标签指派的规则,并找到跨标签的共同规则和特定规则。控制器可以将共同的规则提取到聚合标签和/或规则中,并基于聚合标签和特定标签以及基于本文所述的策略放置技术来实施规则。
67.例如,控制器可以将特定规则在入口端点(拆分为出站规则)与出口端点(拆分为入站规则)之间进行拆分,并将共同规则卸载到中间或中转节点上,如中枢或基础设施专用网络106、108上的路由器124、126。聚合标签可以在路由器的查找中被实施,以取回相关的策略组(例如,epg)。在某些情况下,查找可以基于路由器中地址(例如,ip)到sgt(安全组标签)的映射。在其他示例中,可以实现其他类型的查找,例如基于数据包头部细节的查找。这些查找可以识别本地部署站点144中对应于特定流和/或通信端点的(一个或多个)epg。在某些情况下,如果隧道头部(例如i

vxlan、vxlan

gpo等)支持的话,可以在数据包帧中传输组和/或流量标签(例如epg标签、流标签等)。在某些情况下,数据包中的epg标签可以成为epg分类和/或对类似epg进行分组的功能,这些类似epg在流的路径中具有共同的规则。
68.在一些实现方式中,可以根据与流相关的一组规则(例如,与源地址、目的地地址等相关的规则)的合并,将策略分组到相关流的路径中的(一个或多个)特定节点,以节约资源。例如,为了消费诸如dns(动态命名系统)这样的共享服务,可能有许多epg消费来自dns epg的合约,该dns epg可能在不同站点中具有多个端点。在这个示例中,可能更有效率的是,将dns epg固定在路径中的一个或多个云路由器上,使所有其他epg通过一组规则与dns epg通信。可以对路由进行操作,使朝向dns epg端点的流量结束,或通过路径上的特定节点被路由。同样,如果有范围广泛的规则,如规定任何epg可以在特定端口(如tcp端口)上在一
个路由域(如vrf、vpc等)内与任何其他epg通信的规则,范围规则可以合并在一个或多个节点中。
69.虽然已经针对第一和第二公有云之间的通信(和相关的策略实施)描述了方法400,但是应该理解,方法400(和/或方法400中的任何步骤)可以类似地适用于多结构或多云环境(例如100)中任何类型的云、数据中心、结构和/或网络之间的通信(和相关的策略实施)。例如,方法400(和/或方法400中的任何步骤)可以类似地适用于本地部署站点(例如144)和一个或多个公有云(例如102、104)之间或任何数量的云(私有和/或公有)、本地部署站点、结构、数据中心等之间的通信(和相关策略实施)。为了说明的目的,在方法400中描述的第一公有云和第二公有云是作为非限制性示例提供的。
70.本公开内容现在转向图5和图6,图5和图6说明了示例网络设备和计算设备,如交换机、路由器、客户端设备等。
71.图5说明了适合于实现策略拆分和实施操作,以及交换、路由和其他网络操作的示例网络设备500。网络设备500包括中央处理单元(cpu)504、接口502和连接510(例如,pci总线)。当在适当的软件或固件的控制下行动时,cpu 504负责执行数据包管理、错误检测和/或路由功能。cpu 504优选地在软件的控制下完成所有这些功能,该软件包括操作系统和任何适当的应用软件。cpu 504可以包括一个或多个处理器508,例如来自intel x86系列微处理器的处理器。在某些情况下,处理器508可以是用于控制网络设备500的操作的专门设计的硬件。在某些情况下,存储器506(例如,非易失性ram、rom等)也构成cpu 504的一部分。然而,有许多不同的方式可以将存储器耦合到系统中。
72.接口502通常以模块化接口卡(有时称为“线卡”)的形式提供。一般来说,它们控制网络上数据包的发送和接收,有时还支持与网络设备500一起使用的其他外围设备。可以提供的接口包括以太网接口、帧中继接口、电缆接口、dsl接口、令牌环接口等。此外,可以提供各种非常高速的接口,如快速令牌环接口、无线接口、以太网接口、千兆以太网接口、atm接口、hssi接口、pos接口、fddi接口、wifi接口、3g/4g/5g蜂窝接口、can bus、lora等。一般来说,这些接口可以包括适合与适当媒体通信的端口。在某些情况下,它们还可以包括独立的处理器,在某些情况下,还包括易失性ram。独立处理器可以控制诸如数据包交换、媒体控制、信号处理、加密处理和管理等通信密集型任务。通过为通信密集型任务提供独立的处理器,这些接口允许主微处理器504有效地执行路由计算、网络诊断、安全功能等。
73.尽管图5所示的系统是本技术的一个具体的网络设备,但它绝不是唯一能够实现本技术的网络设备架构。例如,经常使用一种具有处理通信以及路由计算等的单一处理器的架构。此外,其他类型的接口和媒体也可以与网络设备500一起使用。
74.无论网络设备的配置如何,它可以采用一个或多个存储器或存储器模块(包括存储器506),这些存储器或模块被配置为存储用于通用网络操作和用于本文所述的漫游、路由优化和路由功能的机制的程序指令。例如,程序指令可以控制操作系统和/或一个或多个应用的操作。一个或多个存储器也可以被配置为存储表,如移动性绑定、注册和关联表等。存储器506还可以保存各种软件容器和虚拟化执行环境和数据。
75.网络设备500还可以包括能够被配置为执行路由和/或交换操作的专用集成电路(asic)。asic可以通过连接510与网络设备500中的其他组件通信,以交换数据和信号,并协调网络设备500的各种类型的操作,例如,路由、交换和/或数据存储操作。
76.图6图示了计算系统架构600,其中系统的组件使用连接605(例如总线)彼此进行电通信。示例性系统600包括处理单元(cpu或处理器)610和系统连接605,该连接使各种系统组件(包括系统存储器615,如只读存储器(rom)620和随机存取存储器(ram)625)与处理器610耦合。系统600可以包括与处理器610直接连接、接近或集成为处理器610的一部分的高速存储器的缓存。系统600可以将数据从存储器615和/或存储设备630复制到缓存612,以便处理器610快速访问。通过这种方式,缓存可以提供性能提升,避免处理器610在等待数据时出现延迟。这些和其他模块可以控制或被配置为控制处理器610来执行各种动作。其他的系统存储器615也可供使用。存储器615可以包括具有不同性能特征的多种不同类型的存储器。处理器610可以包括任何通用处理器和被配置为控制处理器610的硬件或软件服务(如存储在存储设备630中的服务1 632、服务2 634和服务3 636),并且处理器610可以包括软件指令被纳入实际的处理器设计中的专用处理器。处理器610可以是完全自包含的计算系统,包含多个核心或处理器、总线、存储器控制器、缓存等。多核处理器可以是对称的或不对称的。
77.为了使用户能够与计算设备600互动,输入设备645可以代表任何数量的输入机制,例如用于说话的麦克风、用于手势或图形输入的触摸感应屏幕、键盘、鼠标、运动输入、语音等等。输出设备635也可以是本领域技术人员已知的若干输出机制中的一个或多个。在某些情况下,多模态系统可以使用户能够提供多种类型的输入来与计算设备600通信。通信接口640一般可以支配和管理用户输入和系统输出。对操作任何特定的硬件安排没有限制,因此本文基本特征可以随着改进的硬件或固件安排被开发出来而很容易地被替换为该改进的硬件或固件安排。
78.存储设备630是非易失性存储器,并且可以是可存储计算机可访问的数据的硬盘或其他类型的计算机可读介质,如磁带、闪存卡、固态存储器设备、数字多功能磁盘、磁带盒、随机存取存储器(ram)625、只读存储器(rom)620以及其混合体。
79.存储设备630可以包括用于控制处理器610的服务632、634、636。设想到其他硬件或软件模块。存储设备630可以连接到系统连接605。在一个方面,执行特定功能的硬件模块可以包括存储在计算机可读介质中的软件组件,该软件组件与必要的硬件组件(如处理器610、连接605、输出设备635等)相联系以执行该功能。
80.为了解释清楚,在某些情况下,本技术可以被表述为包括单独的功能块,包括构成设备、设备组件、以软件体现的方法中的步骤或例程,或硬件和软件的组合的功能块。
81.在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的电缆或无线信号。然而,当提到时,非暂时性计算机可读存储介质明确地排除了诸如能量、载波信号、电磁波和信号本身的介质。
82.根据上述示例的方法可以使用计算机可执行指令来实现,这些指令存储在计算机可读介质上或以其他方式可从计算机可读介质获得。这种指令可以包括,例如,导致或以其他方式配置通用计算机、专用计算机或专用处理设备以执行某种功能或一组功能的指令和数据。可以通过网络访问所使用的计算机资源的一部分。计算机可执行指令可以是(例如)二进制文件、中间格式指令(如汇编语言)、固件或源代码。可用于存储根据所述示例的方法期间所使用的指令、信息和/或创建的信息的计算机可读介质的示例包括磁性或光学盘、闪存、提供有非易失性存储器的usb设备、联网存储设备等。
83.实现根据这些公开内容的方法的设备可以包括硬件、固件和/或软件,并可以采取各种各样的形状因子。这种形式因子的典型示例包括膝上型计算机、智能手机、小形式因子个人计算机、个人数字助理、机架式设备、独立设备等。本文所述的功能也可以体现在外围设备或附加卡中。作为进一步的示例,这样的功能也可以在不同芯片或在单一设备中执行的不同过程之间被实现在电路板上。
84.指令、传达这些指令的媒介、执行这些指令的计算资源以及支持这些计算资源的其他结构是提供这些公开内容中所描述的功能的手段。
85.尽管各种示例和其他信息被用来解释所附权利要求范围内的各个方面,但是不应当根据这些示例中的特定特征或安排来暗示对权利要求的限制,因为普通技术人员将能够使用这些示例来推导出各种各样的实现方式。此外,尽管一些主题可能已经用特定于结构特征和/或方法步骤的示例的语言被描述,但是应当理解,所附权利要求中定义的主题不一定限于这些描述的特征或动作。例如,这种功能可以以不同的方式分布,或在本文中识别的部件以外的其他部件中执行。而是,所描述的特征和步骤是作为所附权利要求的范围内的系统和方法的组成部分的示例而被公开的。
86.阐述集合中的“至少一个”的权利要求语言表示此集合中的一个成员或此集合中的多个成员满足权利要求。例如,阐述“a和b中的至少一个”的权利要求语言意味着a、b、或a和b。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜