掌桥专利:专业的专利平台
掌桥专利
首页

自动策略引擎选择

文献发布时间:2023-06-19 19:28:50


自动策略引擎选择

背景技术

本公开一般涉及网络管理和联网策略的领域。通常,网络可以包括多个互连的网络设备,其中至少一个或多个网络设备实现策略强制执行引擎(policy enforcementengine)。在典型的网络中,多个不同的策略强制执行引擎可以沿着网络路径存在以用于强制执行联网策略来管理网络业务(traffic)。每个策略强制执行引擎可以与不同的性能特性和能力相关联。

附图说明

图1图示了根据本申请的一个方面的包括用于使用统一策略代理(broker)来促进自动策略引擎选择的计算机系统的示例网络环境。

图2图示了根据本申请的一个方面的用于基于统一策略代理来促进自动策略引擎选择的示例系统架构。

图3A图示了根据本申请的一个方面的具有选定的第一组策略引擎的示例网络配置。

图3B图示了根据本申请的一个方面的具有选定的第二组策略引擎的示例网络配置。

图4A呈现了图示根据本申请的一个方面的用于创建统一策略代理的示例过程的流程图。

图4B呈现了图示根据本申请的一个方面的用于基于统一策略代理来执行自动策略引擎选择的示例过程的流程图。

图5图示了根据本申请的一个方面的基于统一策略代理来促进自动策略引擎选择的示例计算机系统。

在附图中,类似的附图标记指代相同的附图元件。

具体实施方式

以下描述被呈现以使得任何本领域技术人员能够制作和实用这些示例并且在特定应用及其要求的上下文中被提供。对所公开的示例的各种修改对本领域技术人员将是明显的,并且本文定义的一般原理可以被应用到其他示例和应用而不偏离本公开的精神和范围。因此,本公开的范围不限于所示出的示例而是应被赋予与本文公开的原理和特征一致的最宽范围。

驻留在网络中的各种网络设备可以被配备有策略强制执行引擎。策略强制执行引擎可以是可以实现一组联网策略的软件组件或硬件组件。例如,访问控制列表(ACL)可以是可以允许用户使用应用编程接口(API)来指定规则以拒绝特定类型的业务的联网策略。另外,联网策略还可以对应于转发规则,例如,基于策略的转发(PBF),或防火墙规则。不同的策略强制执行引擎可以与不同类型的API相关联。例如,一个API可以支持描述或表示策略的某种方式,而另一API可以使用不同的策略表示语言。

每个策略强制执行引擎可以强制执行一个或多个联网策略以用于管理网络业务。例如,沿着网络业务路径的第一网络设备中的一个策略强制执行引擎可以强制执行网络安全策略,并且沿着该网络业务路径的第二网络设备中的另一策略强制执行引擎可以强制执行业务管理策略。换言之,网络交换机中的ACL可以对应于第一策略强制执行引擎,防火墙装置或分布式防火墙中的防火墙规则可以对应于第二策略强制执行引擎。

不同类型的策略强制执行引擎可以与不同的应用编程接口(API)相关联。每种类型的API可以表示具有不同术语的策略。例如,与第一策略强制执行引擎相关联的API可以表示具有特定术语的策略函数,而与第二策略强制执行引擎相关联的另一API可以表示具有不同术语的相似策略函数。尽管沿着网络路径的不同类型的策略强制执行引擎的存在可以向网络管理员提供灵活性,但是利用不同的管理API手动地配置它们可能是困难的且复杂的。这是因为对于用户学习与不同的策略强制执行引擎相关联的不同的术语并且然后手动地配置它们可能是困难的且复杂的。另外,当基于管理API来确定这些强制执行器(或策略强制执行引擎)中的哪些强制执行器(或策略强制执行引擎)适合于给定的网络业务流时,可能有附加的复杂性被涉及。这是因为当配置用于管理网络业务流的策略时用户可能必须考虑复杂的一组属性,例如,网络路径效率、可用的网络设备资源、设备性能以及其他设备相关能力。此外,给定网络中的不同变型,手动地配置策略强制执行引擎可能是困难的任务。

本申请中描述的方面中的一些方面通过提供一种用于经由统一策略代理自动地选择策略强制执行引擎的系统和方法来提供对上述技术问题的技术方案。例如,该系统可以使跨不同的策略强制执行引擎的不同的术语、工作流和能力规范化。该系统可以然后提供跨不同的策略强制执行引擎的一组规范化的工作流,使得该系统可以在可以彼此交互和互补的这些引擎上自动地配置网络策略。换言之,一种系统可以向用户提供使用相同服务组或限定符(例如应用)来创建策略规则的灵活性。该系统可以然后基于监控来将策略类型或强制执行器自动地改变为网络ACL类型强制执行器或分布式防火墙类型强制执行器。响应于选择特定类型的强制执行器,该系统可以确保所创建的策略规则以正确的实现来呈现。具体地,给定用于定义规则的统一语言或API,该系统可以在给定共同的一组能力的情况下在不同的实现(例如,东-西防火墙)之间来回自动地切换。该系统还可以验证该规则可以被应用在新目标强制执行器上,由此允许在不同的强制执行器之间的无缝迁移。

具体地,该系统可以自动地监控网络以获取与不同策略模型(或API)相关联的信息,这些不同策略模型(或API)与网络中的相应策略强制执行引擎相关联。换言之,该系统可以获取关于策略模型中的每个策略模型如何创建策略、定义策略并定义策略规则等的信息。基于该信息,该系统可以创建在统一策略模型与不同策略模型之间的映射。这样的统一策略模型可以经由用户接口提供用于配置和管理具有不同的策略模型的不同的策略强制执行引擎的统一API。

在本申请中描述的另一方面中,该系统可以动态地监控该网络以获取与该网络和驻留在该网络中的网络设备相关的一组属性。这些属性可以包括不同能力、性能特性、业务强制执行选项、与相应的策略强制执行引擎相关联的资源可用性、路径效率等。该系统可以基于统一策略模型(或统一API)和该一组属性来自动地选择一个或多个策略强制执行引擎从而以得到针对给定网络业务流的优化的策略强制执行的方式来强制执行给定的一组策略规则。

短语“策略强制执行引擎”是指网络设备中可以强制执行一组策略规则的软件和/或硬件组件。

短语“策略强制执行引擎”和“强制执行器”在本申请中可互换使用。

系统架构

图1图示了根据本申请的一个方面的包括用于使用统一策略代理来促进自动策略引擎选择的计算机系统的示例网络环境。在图1中示出的示例中,环境100示出驻留在网络126中的一组网络设备或网络装置,例如网络设备110-114。网络设备110-114(例如网络交换机)可以基于对应的策略强制执行引擎来实现联网策略。这些联网策略可以包括当某些匹配标准被满足时可以被应用于分组的一组转发规则。

例如,一个网络设备可以支持ACL类型策略强制执行引擎,而另一网络设备可以支持防火墙类型策略强制执行引擎。另外,防火墙类型的策略强制执行引擎可以具有与ACL类型的策略强制执行引擎相似的策略相关功能性。然而,每个策略强制执行引擎可以与其自己类型的API(例如,API 116-120)相关联。换言之,当与用于相似策略函数的另一API相比较时与策略强制执行引擎相关联的API,可以包括用于策略函数的不同术语和表示,例如,策略函数可以与策略、策略强制执行选择(允许、拒绝、驳回等)、策略规则、业务规范等相关联。

手动地管理和配置与特定API相关联的这些不同的策略强制执行引擎可以是复杂的且困难的。这是因为用户可能必须具有跨针对不同的且相似的策略函数的不同策略强制执行引擎使用的不同术语的知识。此外,用户可能必须具有在网络设备处的能力、可用计算和存储器资源、以及沿着网络路径的路径效率的知识,以能够配置合适的策略强制执行引擎来以具有期望性能属性的高效方式传递网络流。

本申请中描述的一个方面可以通过提供用于可以促进对策略强制执行引擎的自动选择的统一策略代理来提供对上述技术问题的技术方案。具有自动策略引擎选择106的统一策略代理可以促进经由用户接口104利用统一API对不同策略强制执行引擎的管理。例如,实现元件106的计算机系统102可以提供单个控制点以使用统一或单个的一组策略定义和结构元件来配置跨不同策略强制执行引擎的各种类型的策略。此外,具有自动策略引擎选择106的统一策略代理可以在除了提供统一API以外,还可以适应跨策略强制执行引擎存在的差异,例如不同能力、性能特性、业务强制执行选项、资源可用性等。

此外,元件106可以经由与显示设备124相关联的用户接口(UI)104提供统一API122以配置和管理不同策略强制执行引擎。在本申请的一个方面中,系统102可以经由图形用户接口向用户108提供关于不同策略可以针对跨多个策略强制执行引擎的给定网络业务流如何被强制执行的可视化。元件106还可以基于一个或多个属性来确定和选择一组强制执行器,该一个或多个属性例如是在网络设备处的可用计算资源、由给定网络业务流采取的可能网络路径的效率、被添加到网络业务的时延等。因此,元件106可以使用统一策略代理来促进对策略强制执行引擎的自动选择,而无需用户手动地做出这样的选择来确保在给定网络业务流和策略的情况下的优化的策略强制执行。下面参考图2-图5描述具有自动策略引擎选择106的统一策略代理的操作。

图2图示了根据本申请的一个方面的用于基于统一策略代理来促进自动策略引擎选择的示例系统架构。在图2中示出的示例中,系统架构200可以包括计算机系统202,计算机系统202具有用于配置和管理与网络240中的网络设备相关联的不同策略强制执行引擎的具有自动策略引擎选择106的集成控制器或统一策略代理。网络240可以包括一组互连的网络设备,例如222、228和234。网络240中的至少两个或更多个网络设备可以包括策略强制执行引擎。例如,网络设备222、228和234可以分别包括策略强制执行引擎226、232和236。

具有自动策略选择(UAPS)206的统一策略代理可以包括网络监控模块210,网络监控模块210可以实现监控机制以提供对与网络240相关联的各种属性的宽广可见性,各种属性例如为:运行在服务器上的虚拟联网基础设施;可以有助于确定由网络业务采取的路径的其他种类的数据;与服务器、网络设备相关联的配置信息,以及与虚拟联网相关联的其他配置信息。

网络监控模块210还可以监控并取回:与驻留在网络中的网络设备中的能力和资源可用性相关联的信息;基于沿着网络路径的不同策略强制执行引擎的与该网络路径的效率相关的信息等。例如,支持ACL类型策略强制执行引擎的网络交换机可以提供有限资源能力,然而支持防火墙类型策略强制执行引擎的网络装置可以支持大量策略规则,例如大约千或百万量级的策略规则,并且因此可以提供增强的资源能力。此外,网络监控模块210可以取回可以提供端到端可见性的网络信息,例如,监控由网络业务采取的路径以使得UAPS206能够应用特定策略规则。例如,UAPS 206可以针对给定网络业务流确定沿着在第一主机上的第一虚拟机与第二主机上的第二虚拟机之间的路径存在的不同类型的策略强制执行引擎。UAPS 206可以然后选择沿着该网络路径的一个或多个策略强制执行引擎以应用用于管理从第一虚拟机穿越到第二虚拟机的网络业务的特定策略规则。网络监控模块210可以不限于监控上述属性,而且还可以扩展到提供对虚拟机联网栈和其他网络属性的可见性,其可以提供对网络环境的改进的视角以确定策略强制执行引擎的优化的选择。

此外,网络监控模块210可以用作传感器以监控网络和网络设备中的实况变化,即,动态的且实时的变化。换言之,网络监控模块210可以监控网络以取回对于自动地选择一个或多个策略强制执行引擎以提供优化的策略强制执行所期望的信息。优化的策略强制执行可以指示由所选择的策略强制执行引擎强制执行一组策略规则可以引起在资源利用、路径效率、涉及的时延以及其他性能特性方面的优化的性能。例如,UAPS 206可以在一些性能标准被满足时提供优化的性能。性能标准可以涉及确保由一个策略强制执行引擎强制执行策略规则与由另一策略强制执行引擎强制执行的另一策略规则不冲突;确保沿着针对给定网络业务流的网络路径的不同策略强制执行引擎之中的对一个或多个策略规则的分配引起改进的路径效率;确保由所选择的策略强制执行引擎添加的时延的量低于时延阈值等。

每个策略强制执行引擎具有其自己的用户接口和API。例如,策略强制执行引擎226、232和236可以分别与API 224、230和238相关联。与策略强制执行引擎226相关联的API224可以使用用于定义策略函数的特定术语,例如策略规则、业务规范、强制执行选择,例如允许、拒绝、驳回等。与策略强制执行引擎232相关联的API 230可以使用用于相似策略函数的不同术语。在现有系统中,用户可以应用策略强制执行引擎特定的API来配置策略强制执行引擎。换言之,期望用户了解跨用于不同策略强制执行引擎上的相似策略函数的不同API使用的不同术语和定义以能够配置策略强制执行引擎。

此外,由于多样的API的集合,用户可能发现弄明白与不同策略强制执行引擎相关联的不同策略函数如何与彼此交互和/或相互关联是困难且复杂的。理解沿着网络路径存在的不同策略强制执行引擎之间的这样的相互关联可以与确保策略强制执行引擎的操作与彼此不冲突相关。换言之,用户可以配置第一网络设备中的ACL类型策略强制执行引擎以允许网络业务被转发到第二网络设备。如果第二网络设备是防火墙装置,则用户可能必须确保防火墙类型策略强制执行引擎不被配置为阻挡网络业务。

随着网络环境中的不同类型的策略强制执行引擎的增加并且其中每个策略强制执行引擎具有其自己的接口和API,可以使策略强制执行引擎的手动配置和管理变得困难且复杂。例如,由于不同类型的策略强制执行引擎可以沿着端到端物理或逻辑网络存在,因此用户可能必须前往这些基础设施中的每个基础设施并理解哪些类型的策略可以与彼此相互关联使得沿着与网络业务相关联的网络路径应用均匀且一致的策略强制执行。

统一策略模型模块212可以提供可以经由用户接口204被应用以配置和管理部署在网络环境中的不同类型的策略强制执行引擎的统一API,由此使得用户能够使用单个控制点或统一API与不同类型的策略强制执行引擎交互。UAPS 206可以应用统一策略模型模块212以将针对相似策略函数的不同描述或表示转译为统一描述。

换言之,利用统一API和单个用户接口,用户可以配置和管理不同类型的策略强制执行引擎而没有学习和理解跨不同API使用的不同术语的负担。具体地,统一策略模型模块212可以基于由网络监控模块210获取的信息来将与不同策略强制执行引擎及其相应API相关联的不同术语转换成统一术语,即,将不同术语转译为统一表示。

例如,统一策略模型模块212可以获取针对网络环境中的不同网络设备所配置的已有策略定义(其中每个网络设备提供不同策略强制执行引擎)并且可以创建在统一策略模型和与相应策略强制执行引擎相关联的不同策略模型之间的映射。这样的统一策略模型可以用于经由用户接口提供用于配置和管理不同策略强制执行引擎的统一API。换言之,统一策略模型模块212可以创建针对执行相似策略函数的各种策略强制执行引擎的统一对象模型。此外,统一策略模型模块212还可以适应和保留不同策略强制执行引擎之中存在的相关差异中的一些差异,例如,性能特性、业务强制执行选项、能力等。

统一策略模型模块212可以提供的统一策略代理,该统一策略代理可以使得用户能够使用单个控制点或统一API来配置和管理不同策略强制执行引擎。然而,用户可能必须了解复杂的一组属性,例如,网络路径效率、可用网络设备资源、设备性能、以及其他能力,以配置和管理不同策略强制执行引擎。此外,给定网络中的潜在变化,手动地执行该配置可以是困难的。在本申请的一个方面中,UAPS 206还可以包括可以自动地配置和管理网络240中可用的不同策略强制执行引擎的机制。例如,UAPS 206可以应用策略引擎选择模块214以自动地分析由网络监控模块210取回的信息,例如,与在网络设备处可用的资源(例如,存储器的量)相关的信息、沿着网络路径的时延、沿着该网络路径的虚拟机、给定沿着该网络路径的不同策略强制执行引擎的路径效率等。

在一个方面中,策略引擎选择模块214可以基于从网络监控模块210和统一策略模型模块212获取的信息来确定沿着针对给定网络业务流的网络路径存在的不同类型的策略强制执行引擎。例如,针对给定网络业务流,网络路径可以在一端包括防火墙类型策略强制执行引擎并且另一端可以不包括这样的防火墙类型的策略强制执行引擎,在这样的情况下,策略引擎选择模块214可以确定网络业务可以穿越的其他策略强制执行引擎并且选择一个或多个策略强制执行引擎来提供期望的策略强制执行。

在另一示例中,网络业务可以穿越包括ACL类型策略强制执行引擎和防火墙类型策略强制执行引擎的特定网络路径。在这样的情况下,策略引擎选择模块214可以基于由网络监控模块210和统一API取回的信息来确定防火墙类型的强制执行器适用于给定类型的网络业务和业务流。

在另一示例中,当用户指定层2级别的网络业务时,策略引擎选择模块214可以选择ACL类型的强制执行器而不是防火墙类型的强制执行器,这是因为防火墙网络装置可以支持来自联网概念的层3。

此外,策略引擎选择模块214可以基于由网络监控模块210取回的多样属性来选择一个或多个策略强制执行引擎,以确保给定网络业务流以具有期望性能属性的高效方式来被传递。因此,策略引擎选择模块214可以应用不同因素来选择针对给定网络业务流的合适强制执行器。

在另一示例中,当存在关于虚拟机的大量移动时,例如,虚拟机在数据中心中从一个主机迁移到另一个主机,现有系统可以常常发现难以跟踪这样的移动。在本申请的一个方面中,策略引擎选择模块214可以应用(由网络监控模块210)从网络得出的不同网络属性以确定虚拟机的当前位置,并且可以然后应用与部署在虚拟化主机上的策略强制引擎相关联并且适用于给定虚拟机的的合适策略规则。因此,UAPS206可以动态地对给定网络环境中发生的变化做出反应。换言之,UAPS206可以取决于网络中的动态变化和虚拟机的移动而将针对给定策略的强制执行点从一个位置动态地移动到另一个位置。强制执行点可以对应于网络设备接口,在该网络接口处可以使用策略强制执行引擎来强制执行给定策略。例如,在网络交换机中,ACL类型策略强制执行引擎可以强制执行对应于网络交换机接口(例如,对应于交换机端口)的ACL类型策略。通常,联网策略可以被创建并应用于网络设备接口,其中接口表示物理强制执行点。

策略引擎选择模块214可以选择沿着针对给定网络业务流和策略的高效路径的一个或多个强制执行器。例如,用户可以期望在驻留在它们相应的虚拟化主机上的虚拟机的两个特定组的之间的通信。在这样的情况下,用户可以创建合适的策略以实现在这些虚拟机的组之间的这种通信,并且策略引擎选择模块214可以确定哪个强制执行点强制执行给定策略将是最优的。

在一个示例中,给定与虚拟化主机相关联的虚拟机,UAPS 206可以确定给定策略应当在哪个交换机端口被应用。然而,如果UAPS 206确定沿着针对给定网络业务流的网络路径存在防火墙网络装置,并且连接到虚拟化主机的网络交换机不提供防火墙类型的策略,则UAPS206可以在防火墙网络装置处应用给定策略而不是在网络交换机处应用。

在本申请的一个方面中,用户可以创建要被应用的策略并且例如经由用户接口204将这些策略提供给UAPS 206。UAPS 206可以然后确定最佳强制执行点以将这些策略发送到针对给定网络业务流的网络环境中。

配置模块216可以基于统一API 208来分别在网络设备222、228和234上配置策略强制执行引擎,即,226、232和236。例如,响应于策略选择模块214选择策略强制执行引擎(例如,与网络设备228相关联的策略强制执行引擎232)用于强制执行给定策略,配置模块216可以将基于统一API 208的API命令发送给对应的网络设备以在网络设备228处维护的策略查找表中添加给定策略。在另一示例中,如果策略强制执行引擎要被解激活,则配置模块216可以发送API命令以编辑或移除对应策略查找表中的条目,使得包括该策略强制执行引擎的网络设备不用作应用给定策略的强制执行点。

在本申请的一个方面中,UAPS 206可以应用统一策略模型模块212以将统一API命令转换为特定于策略强制执行引擎的API命令。

图3A图示了根据本申请的一个方面的具有选定的第一组策略引擎的示例网络配置。图3A中示出的示例图示了具有网络策略可以被强制执行的多个强制执行点的简单网络配置。网络ACL可以被配置在一个或多个交换机(例如,网络交换机302-306)上。换言之,网络交换机302-306可以分别与ACL类型策略强制执行引擎318-322相关联。防火墙规则可以被配置在防火墙网络装置308上,即与防火墙类型策略强制执行引擎324相关联。这些策略强制执行引擎可以具有不同属性。例如,交换机ACL可能通常数目有限但是可以具有非常低的时延,并且防火墙装置可以具有大得多的资源约束但是可能具有较高的时延。因此,某些网络业务流可以穿越具有不同能力的强制执行器。

参考图3A,网络交换机302和网络306可以具有一组ACL能力,而网络交换机304可以具有在可用资源和性能特性方面的不同的一组能力。给定这样的网络环境或配置(通常,网络环境是复杂的并且可以包括大量互连的网络设备),可能期望的是,确定最优的一组强制执行器以用于给定网络业务流(例如,从服务器310到服务器314)。从UAPS 316到网络设备302-308的点划线指示UAPS 316可以监控、配置和管理不同策略强制执行引擎。

本申请中描述的一个方面提供自动化UAPS 316,自动化UAPS 316可以针对其属性而查询网络交换机302-306和防火墙网络装置308相关联的强制执行器(或者可以使那些属性编码在UAPS 316中)。此外,给定要对其提供强制执行的网络业务流,UAPS 316可以以高效方式配置强制执行器以传递具有期望性能属性的给定网络业务流。在该示例中,UAPS316可以确定针对第一网络业务流,最优选项可以是在网络交换机302和网络交换机306上应用ACL,即,应用ACL类型策略强制执行引擎318和322。这是因为,UAPS 316可以确定沿着针对第一网络业务流的网络路径的策略强制执行引擎318和322可以使用稀少资源(网络交换机ACL)但是将提供非常低的时延流。

图3B图示了根据本申请的一个方面的具有选定的第二组策略引擎的示例网络配置。图3B中示出的示例与图3A中的示例网络配置相似。从UAPS 344到网络设备330-336的点划线指示UAPS 344可以监控、配置和管理不同策略强制执行引擎。UAPS 344可以确定,针对第二网络业务流,高效路径可以是引导业务通过防火墙网络装置336以通过应用策略强制执行引擎352来提供期望的策略强制执行。

取决于给定网络业务流、相关性能特性以及可用资源,(图3B中的)UAPS 344和(图3A中的)UAPS 316可以创建复杂的且相互关联的配置。UAPS(316和344)还可以对变化的网络特性自动地做出反应并且可以在适当的情况下修改策略配置以满足网络环境中的这些动态变化。手动地执行上述任务可以是复杂的、耗时的且困难的,因此UAPS(316和244)使用统一策略代理来促进对策略强制执行引擎的自动选择。

图4A呈现了图示根据本申请的一个方面的用于创建统一策略代理的示例过程的流程图。现在参考图4A中的流程图400,在操作期间,系统可以动态地监控网络(操作402)以捕获与不同策略强制执行引擎相关联的信息。基于该监控,系统可以接收与网络中的不同策略强制执行引擎相关联的配置信息(操作404)。

系统可以基于配置信息来学习与跨网络中的不同策略强制执行引擎的一组相似策略定义对应的不同表示(操作406)。系统还可以学习与不同能力的组对应的不同表示,该一组不同能力与相应策略强制执行引擎相关联。系统然后可以将该一组策略规则的不同表示转换为统一表示以创建统一策略模型(操作408)。例如,系统可以将与该一组相似策略定义对应的不同表示映射到统一表示。系统然后可以将与不同能力的组对应的不同表示映射到多个统一表示,由此保留不同策略强制执行引擎之中存在的有用差异。系统可以基于不同映射来创建统一策略模型或统一策略代理,由此经由用户接口向用户提供统一API。这样的转换可以是受期望的,使得系统可以经由用户接口应用统一策略模型以配置不同策略强制执行引擎(操作410),操作然后返回。

图4B呈现了图示根据本申请的一个方面的用于基于统一策略代理来执行自动策略引擎选择的示例过程的流程图。本申请中描述的一个方面可以提供自动策略选择引擎,该自动策略选择引擎可以基于统一策略代理来自动选择沿着网络路径存在的一个或多个策略强制执行引擎而无需用户手动地选择这些策略强制执行引擎。

参考图4B中的流程图430,系统可以动态地监控给定网络(操作432)并且可以接收与该网络相关联的一组属性(操作434)。例如,该一组属性可以包括网络相关属性和网络设备相关属性。网络设备相关属性可以包括在网络设备处可用的存储器的量、在该网络设备处的处理资源能力、由与该网络设备相关联的策略强制执行引擎支持的策略规则的数目、该网络设备可添加到网络流的时延的量。网络相关属性可以包括由给定网络业务流采取的可能网络路径的效率、沿着可能网络路径存在的不同类型的策略强制执行引擎、以及可以与考虑中的一个或多个虚拟机相关联的主机的当前位置。这些网络设备相关属性和网络相关属性可以与确定以下相关:强制执行点是否可以在沿着由给定网络业务流采取的网络路径的一个或多个网络设备处被启用,以及启用强制执行点是否可以引起针对给定的一组策略规则的优化的策略强制执行。

系统可以基于一组属性和统一策略模型来确定对一个或多个给定策略规则向不同网络设备的分配以用于由对应的策略强制执行引擎强制执行(操作436)。系统可以基于图4A中描述的过程来创建统一策略模型。系统然后可以确定策略规则的这样的分配是否引起优化的策略强制执行(操作438)。例如,沿着针对给定网络流的网络路径的第一网络设备可以支持ACL类型策略强制执行引擎,并且沿着该网络路径的第二网络设备可以支持防火墙类型策略强制执行引擎。防火墙类型策略强制执行引擎可以包括像ACL类型策略强制执行引擎中那样的相似功能性。系统可以基于该一组属性来确定哪种类型的策略强制执行引擎可以被激活或被解激活以达成优化的策略强制执行。

例如,系统可以应用的该一组属性可以包括由给定业务流采取的可能网络路径、可以沿着该网络路径存在的不同类型的基础设施、沿着网络路径存在的不同类型的策略强制执行引擎、资源限制(例如ACL类型策略强制执行引擎可以提供的ACL的数目)等。在一个示例中,系统可以选择防火墙类型的策略强制执行引擎,如果该选择是以最优效率沿着网络路径应用策略规则的最佳选项的话。系统可以做出这样的选择,因为防火墙类型策略强制执行引擎可以提供大量存储资源以适应大的策略规则组。在另一示例中,该系统可以利用策略强制执行规则的第一子集来配置ACL类型策略强制执行引擎并且利用策略规则的第二子集来配置防火墙类型的策略强制执行引擎。

当系统确定操作438中的条件被满足时,该系统可以激活已经被选择用于应用所分配的策略规则的策略强制执行引擎(操作440)并且该操作返回。激活策略强制执行引擎可以涉及将一个或多个API命令发送给策略强制执行引擎以将所分配的策略规则添加到策略查找表。在一个方面中,系统可以应用统一策略代理以生成特定于策略强制执行引擎的一个或多个API命令。换言之,当生成一个或多个API命令时,该系统可以将统一表示转换为策略强制执行引擎特定表示。当系统确定操作438中的条件未被满足时,该系统可以解激活可能对优化的策略强制执行没有做出贡献的一个或多个策略强制执行引擎(操作442)并且该操作返回。解激活策略强制执行引擎可以涉及将一个或多个API命令发送给策略强制执行引擎以从策略查找表移除一个或多个策略规则。

用于促进自动策略引擎选择的计算机系统

图5图示了根据本申请的一个方面的基于统一策略代理来促进自动策略引擎选择的示例计算机系统。在该示例中,计算机系统500可以包括处理器502、存储器504、存储设备506。计算机系统500可以耦合到外围输入/输出(I/O)用户设备516,例如,显示设备508、键盘510以及指点设备512。存储设备506可以存储用于操作系统518、自动策略引擎选择系统520、以及数据532的指令。数据532可以包括由本公开中描述的方法和/或过程期望作为输入或生成为输出的任何数据。计算机系统500可以经由一个或多个网络接口耦合到网络514。

在本申请的一个方面中,自动策略引擎选择系统522可以包括指令,该指令当由处理器502执行时可以使计算机系统500执行本公开中描述的方法和/或过程。自动策略引擎选择系统520可以包括用于经由一个或多个网络接口将网络分组发送给网络514中的其他节点的通信模块522。通信模块522还可以经由一个或多个网络接口从网络514中的其他网络节点接收/获取网络分组。自动策略引擎选择系统520还可以包括用于实现用于监控网络514和驻留于网络514中的网络设备的网络监控模块524的指令。此外,网络监控模块524可以应用通信模块522以接收与正被监控的网络514相关联的配置信息和一组属性。

自动策略引擎选择系统520可以包括统一策略模块526以确定一组策略定义的统一表示。换言之,与网络514中的相应网络设备相关联的策略强制执行引擎可以使用特定API来配置,即,不同的策略强制执行引擎可以利用不同的API来配置。每个API可以包括一组策略定义的不同表示或描述。例如,与第一策略强制执行引擎相关联的第一API可以提供策略定义(例如,策略规则)的第一表示,而与第二策略强制执行引擎相关联的第二API可以提供相似策略规则的第二表示。通常,网络可以包括多个策略强制执行引擎和多个API。利用不同的API来配置这样的策略强制执行引擎可以是复杂的且困难的。

自动策略引擎选择系统520可以应用统一策略模块526以将跨网络中的不同策略强制执行引擎的策略定义的这些不同表示转换成统一表示或统一API。换言之,统一策略模块526可以生成:在相似策略定义的不同表示与统一策略表示之间的第一类型的映射;以及在策略强制执行引擎的不同能力的一组不同表示与一组统一表示之间的第二类型的映射,而不是将这样的能力差异映射到单个统一表示。第一类型的映射提供针对相似策略函数的不同表示的统一表示,而第二类型的映射保留存在于不同的策略强制执行引擎之中的能力(例如,性能特性、业务强制执行选项等)的差异。这样的统一API可以与可以被应用以配置不同的策略强制执行引擎的统一策略代理对应。

自动策略引擎选择系统520可以应用策略引擎选择模块528以基于统一策略代理和该一组属性来确定:将策略规则的给定子集分配给网络514中的一个或多个策略强制执行引擎以用于强制执行是否将引起优化的策略强制执行。策略引擎选择模块528然后可以选择策略强制执行引擎用于强制执行给定策略规则的对应子集。配置模块530可以配置所选择的策略强制执行引擎使得它们可以强制执行所分配的策略规则。在一个方面中,当沿着网络路径的策略强制执行引擎未被选择时,配置模块530可以以策略强制执行引擎不强制执行给定策略规则的未分配子集的方式配置它。

本申请中描述的一个方面可以提供一种用于促进自动策略引擎选择的系统和方法。在操作期间,该系统可以监控包括一组网络设备的网络。该系统可以基于监控来接收与网络相关联的一组属性。至少两个网络设备被配备有用于强制执行一个或多个给定策略规则的不同的策略强制执行引擎。该系统可以应用统一策略模型,以基于该一组属性来确定对一个或多个给定策略规则向第一策略强制执行引擎和第二策略强制执行引擎的分配以提供优化的策略强制执行。该系统然后可以基于分配来选择第一策略强制执行引擎和第二策略强制执行引擎中的一个或两个强制执行引擎。该系统可以激活所选择的一个或两个策略强制执行引擎以用于强制执行一个或多个给定策略规则。

在关于该方面的一个变型中,该一组属性包括以下一个或多个网络设备相关的属性:在相应网络设备处可用的存储器的量;在该网络设备处的处理资源能力;由与该网络设备相关联的策略强制执行引擎支持的策略规则的数目;以及被添加到给定网络业务流的时延。

在关于该方面的一个变型中,该一组属性包括以下一个或多个网络设备相关的属性:由给定网络业务流采取的可能网络路径的效率;沿着该可能网络路径的不同类型的策略强制执行引擎;以及与一个或多个虚拟机对应的一个或多个主机的(多个)当前位置。

在关于该方面的一个变型中,该系统可以基于该一组属性来创建统一策略模型,其包含:在控制器处从驻留在网络中的一组网络设备接收配置信息,其中至少两个网络设备被配备有不同的策略强制执行引擎,其中每个策略强制执行引擎与不同的应用编程接口(API)相关联,其中该API提供相似策略函数的不同表示;基于配置信息来确定与一组相似策略函数对应的不同表示;以及执行从与该一组相似策略函数对应的的不同表示到单个统一表示的第一映射。

在关于该方面的一个变型中,该系统可以基于配置信息来确定与跨策略强制执行引擎的一组不同能力对应的不同表示。该系统可以执行从与该一组不同能力对应的不同表示到多个统一表示的第二映射。此外,该系统可以基于第一映射和第二映射来创建包括第一统一表示和一组统一表示的统一API。该系统可以然后应用统一API以配置和管理该网络中的不同的策略强制执行引擎。

在关于该方面的一个变型中,该系统可以通过以下操作来激活所选择的一个或两个策略强制执行引擎以用于强制执行一个或多个给定策略规则:基于该分配来将一个或多个命令发送给所选择的(多个)策略强制执行引擎以在与对应的网络设备相关联的策略查找表中添加该一个或多个给定策略规则。

在关于该方面的一个变型中,该系统可以通过以下操作来应用统一策略模型,以基于一组属性来确定对一个或多个给定策略规则向第一策略强制执行引擎和第二策略强制执行引擎的分配以用于提供优化的策略强制执行:基于该一组属性和该给定策略规则来确定,将第一策略规则分配给第一策略强制执行引擎以及将第二策略规则分配给第二策略强制执行引擎引起优化的策略强制执行,其中该优化的策略强制执行指示由对应的策略强制执行引擎强制执行该给定策略规则满足一个或多个性能标准。

在关于该方面的一个变型中,性能标准可以包括以下一项或多项:由一个策略强制执行引擎强制执行第一策略规则与由另一策略强制执行引擎强制执行第二策略规则不冲突;在沿着针对给定网络业务流的网络路径的不同的策略强制执行引擎之中对一个或多个策略规则的分配提供改进的路径效率;以及由所选择的策略强制执行引擎添加的时延的量低于时延阈值。

在另一变型中,该系统可以响应于确定由策略强制执行引擎强制执行至少一个策略规则不提供优化的策略强制执行,使该策略强制执行引擎停止强制执行该策略规则。

在另一变型中,该系统可以通过将一个或多个API命令发送给策略强制执行引擎以从对应的网络设备中的策略查找表移除该策略规则来从强制执行策略规则解激活策略强制执行引擎。

具体实施方式部分中描述的方法和过程可以被体现为代码和/或数据,其可以被存储在如以上所描述的计算机可读存储介质中。当计算机系统读取并执行被存储再计算机可读存储介质上的代码和/或数据时,计算机系统执行被体现为数据结构和代码并被存储在计算机可读存储介质内的方法和过程。

此外,以上描述的方法和过程可以被包括在硬件模块或装置中。硬件模块或装置可以包括但不限于ASIC芯片、现场可编程门阵列(FPGA)、在特定时间执行特定软件模块或一段代码的专用或共享处理器、以及现在已知或稍后开发的其他可编程逻辑器件。当硬件模块或装置被激活时,它们执行被包括在它们之内的方法和过程。

各方面的前述描述已经出于说明和描述的目的而被呈现。它们不旨在为穷举性的或将本公开的范围限制于所公开的形式。因此,许多修改和变型对本领域从业人员而言将是明显的。

技术分类

06120115926445