CN107534568A - 用于网络策略的合成约束 - Google Patents

用于网络策略的合成约束 Download PDF

Info

Publication number
CN107534568A
CN107534568A CN201580079010.1A CN201580079010A CN107534568A CN 107534568 A CN107534568 A CN 107534568A CN 201580079010 A CN201580079010 A CN 201580079010A CN 107534568 A CN107534568 A CN 107534568A
Authority
CN
China
Prior art keywords
network strategy
constraint
synthesis
network
end points
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
CN201580079010.1A
Other languages
English (en)
Other versions
CN107534568B (zh
Inventor
李正根
Y.图纳
S.巴纳杰
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of CN107534568A publication Critical patent/CN107534568A/zh
Application granted granted Critical
Publication of CN107534568B publication Critical patent/CN107534568B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

网络策略中的每个网络策略规定在端点组之间允许的通信的至少一个特性,端点组中的每个端点组包括至少一个端点。根据包括在网络策略中的合成约束来合并网络策略。

Description

用于网络策略的合成约束
背景技术
网络可以用于在各种端点之间传送数据。网络可以包括用于沿着端点之间的相应路径转发数据的互连设备(例如路由器、交换机等)。另外,可以用部署在网络中的服务功能框来实现各种服务功能,其中服务功能可以应用在沿着网络中的路径传送的数据分组上。
附图说明
关于以下各图描述了一些实现。
图1A-1D是根据一些示例的图,该图表示可以被提供以管理网络中的通信的对应的不同的示例网络策略。
图2是根据一些实现的示例过程的流程图。
图3是根据一些示例的从输入策略图合成(compose)合成策略图的示意图,该输入策略图包括表示不同合成约束的边类型。
图4A-4B是图示根据一些实现的合并网络策略以形成合成的网络策略的示例的图。
图5是根据一些实现的合并图合成器的示例系统的框图。
图6是根据一些实现的示例布置的框图,该示例布置包括合并图合成器的系统和合并运行时间控制器的系统。
图7是根据一些实现的合并策略编辑器的示例系统的框图。
具体实施方式
可以提供网络策略以用于管理网络中数据的通信。如这里所使用的,术语“网络”可以指设备和路径的布置,其允许端点之间的通信。端点的示例包括服务器、虚拟机、客户端设备、子网、终端用户等。在某些情况下,在存在彼此耦合的多个网络的示例中,网络也可以被认为是端点。更一般地,端点可以是网络策略应用于的最小抽象单元。
网络策略可以规定(specify)在端点组(EPG)之间允许的通信的至少一个特性,其中每个端点组(EPG)包括一个或多个端点。可以由网络策略规定的特性的示例包括:用于相应EPG之间的通信的端口号,应用于在相应EPG之间传送的数据的一个或多个服务功能,和/或其它特性。端口号可以指传输控制协议(TCP)端口号。换句话说,网络策略可以规定在处理数据(例如数据分组)时网络的一部分的行为。数据分组的处理可以包括转发数据分组、(诸如通过改变数据分组的报头的值、丢弃数据分组等)修改数据分组、应用服务功能,和/或其它类型的处理。
可以由服务功能框实现的服务功能的示例包括用以均衡跨多个设备的数据通信负载的负载均衡、保护服务(诸如防火墙保护、入侵检测、网络授权或认证等)、网络地址转换(用以将数据分组的地址在第一地址和第二地址之间转换),和/或其它服务功能。服务功能框可以指被配置成执行相应服务功能的硬件设备或程序(机器可读或机器可执行指令)。
不同的网络策略可以由相应的不同的策略编写器(writer)提供。策略编写器的示例可以包括网络管理员、服务提供商、网络运营商、应用开发者、云基础结构的租户等。云基础结构可以指通过网络对租户(其是能够选择性地访问云资源的用户)的设备可用的资源(包括处理资源、存储资源和/或其它资源)的布置。网络策略也可以由诸如控制程序、应用、网络服务等的自动化实体提供。因此,策略编写器可以指能够提供网络策略的任何实体(人、机器或程序)。
在一些示例中,网络策略可以由在软件定义的联网(SDN)的背景下的多个不同的策略编写器提供。SDN可以指用于使用软件(或更一般地,机器可读或机器可执行指令)实现计算机联网环境以控制网络中的联网资源的配置和分配的技术。在这样的网络中,硬件资源(例如路由器、交换机、服务器等)或虚拟网络和计算资源(例如虚拟层2/层3(L2/L3)网络、虚拟机)可被编程以根据各种策略编写器的网络策略来分配联网和计算资源。
可以使用各种不同的编程语言中的任何编程语言来表达网络策略。在一些示例中,如在本公开中所论述的,可以使用图来表示网络策略。
随着由策略编写器提供的独立网络策略的数目增加,由于网络策略之间的可能冲突,网络中通信的管理可能变得更加复杂。假定来自相应策略编写器的网络策略的集合,可以通过合并网络策略来产生合成的网络策略。合并网络策略可能涉及在计及网络策略之间的任何冲突时组合网络策略。为了将多个网络策略恰当地合并成合成的网络策略(被称为网络策略合成的过程),首先确定对在制定相应网络策略时的相应策略编写器的意图的理解。手动合并网络策略(特别是大量网络策略)可能是时间和劳动密集的,并且可能导致网络策略的不正确合成或者与策略编写器的意图不一致的合成的网络策略的产生。
根据本公开的一些实现,可以在网络策略中规定合成约束,其中合成约束捕捉关于由对应的网络策略所允许的通信的策略编写器的相应意图。可以规定许多不同的合成约束,并且这些合成约束可以用在在执行网络策略合成时标识和解决网络策略之间的冲突中。在本公开的一些实现中,合成约束可以使用策略图中的表示对应的网络策略的不同类型的边来表示。
策略图(或更简单地为“图”)可以包括表示相应EPG的顶点,并且顶点之间的边表示EPG之间的允许的通信(或更具体地,EPG的端点之间的通信)。EPG可以指一组任意可寻址的端点或者一组可以执行共同的逻辑作用或共享共同的属性(也被称为“标签”)的端点。EPG包括满足为EPG规定的成员资格谓词的端点。成员资格谓词可以被提供作为标签(具有给定标签的任何端点都是给定EPG的成员)。一般地,成员资格谓词可以被通过标签而提供为布尔表达式——例如,如果包含端点的至少一个给定标签的布尔表达式评估为真,则该端点是相应EPG的成员。
端点可使用因特网协议(IP)地址、媒体访问控制(MAC)地址、虚拟局域网(VLAN)标识符和/或其它类型的地址来寻址。
可以在运行时间动态地分配和改变端点属性(标签),以使得相应端点在不同的EPG之间改变成员资格。响应于端点从第一EPG到第二EPG改变成员资格,可以在端点的通信上应用的网络策略可以从(与第一EPG相关联的)第一网络策略变成(与第二EPG相关联的)第二网络策略。结果,随着端点属性随时间过去而改变,改变端点属性可以使得不同的网络策略被动态地分配给端点。
图1A-1D图示了用于表示相应示例网络策略的策略图(或更简单地为“图”)的示例。图1A是表示由管理员为企业的部门提供的第一示例网络策略的图。图1A的图包括表示IT部门(第一EPG)的IT顶点和表示工程部门(第二EPG)的ENGG顶点。IT顶点与ENGG顶点之间的边指示:允许从IT部门的任何端点到工程部门的任何端点的使用规定的协议端口号(图1A的示例中的22、23或5900)的业务。
图1B是表示web应用管理员提供的第二示例网络策略的图。图1B的图包括部门顶点(表示包括企业的部门的第一EPG)、Web顶点(表示包括一个或多个Web应用的第二EPG)和DB顶点(表示包括一个或多个数据库第三EPG)。图1B的图中的部门顶点与Web顶点之间的边规定:允许从任何部门使用该示例中的端口80访问Web应用的业务,并且还规定:业务将使用负载均衡器(LB)服务功能框进行负载均衡。Web顶点与DB顶点之间的边规定:允许从Web应用到数据库层的使用该示例中的端口3306的业务。图1B的图还示出从DB顶点到其自身的边,该边允许数据库层内的数据库使用该示例中的端口7000与另一个数据库通信。
图1C是表示用于基于域名系统(DNS)的安全保护的由SDN应用提供的第三示例网络策略的图。图1C的图包括具有NML顶点(表示包括具有“正常”安全状态的端点的EPG)的第一图模型102,该NML顶点通过具有深度分组检查(DPI)服务功能框的边连接到DNS顶点(包括一个或多个DNS服务器的EPG)。第一图模型102规定:如果业务使用端口53则允许从NMLEPG到DNS EPG的业务,并进一步规定:DPI将被应用在业务上。
图1C的图进一步包括具有QN顶点(表示包括具有“隔离”状态的端点的EPG)的第二图模型104,该QN顶点通过边连接到RMD顶点(表示包括一个或多个安全补救服务器的EPG)。在第二图模型104中的边上的“*”指示指示:允许从QN EPG到RMD EPG的业务用于任何端口号。由图1C的图表示的网络策略规定:当执行(多个)DNS服务器的DNS查找时,来自具有“正常”安全状态的网络端点的DNS业务由DPI服务功能框检查。由图1C的图表示的网络策略还规定:具有“隔离”状态的网络端点仅可以将它们的(任何类型的)的业务发送到RMD EPG中的安全补救服务器。
图1D是表示由数据中心管理员提供的第四示例网络策略的图。图1D的图包括第一图模型106和第二图模型108。第一图模型106规定:从因特网(由因特网顶点表示)进入到数据中心(由DC顶点表示)中的业务可以使用任何端口号(由“*”指示),并且将穿过防火墙(FW)服务功能框(其提供防火墙保护)和字节计数器(BC)服务功能框(其对数据的字节的数目进行计数)。另外,第一图模型106包括边,该边包括从DC顶点到其自身的字节计数器(BC)服务功能框,其规定:数据中心内的业务还遍历BC服务功能框。
第二图模型108允许监视在数据中心中的端点之间的业务(在示例中的端口9099上)。
虽然在图1A-1D中描绘了表示相应示例网络策略的示例策略图,但要注意:可以存在由其它策略图表示的其它网络策略。
图1A-1D中所示的示例网络策略中的每个规定访问控制白名单(ACL),其在规定的条件被满足时向其它实体授予特定的实体访问权限。图1A-1D中的每个策略图的边因此可以被称为访问控制白名单边,其提供访问控制白名单规则。另外,图1B-1D表示规定服务功能链接的网络策略,在该网络策略中,一个或多个服务功能被包括在边中以应用于数据。
如以上进一步指出的,可以在运行时间给端点动态地分配标签,使得端点从一个EPG移动到另一个EPG。例如,当网络监视器检测到服务器发布对已知恶意因特网域的DNS查询时,被分配标签NML(“正常”状态)的服务器随后可以被重新标注QN(“隔离”状态)。
因此,策略图(诸如图1A-1D中描绘的策略图中的任何)可以表示根据端点的随时间过去的状态改变而动态地应用于每个端点的一个或多个网络策略的集合。此外,要注意:仅响应于网络策略中的改变,诸如在添加、修改或去除网络策略时,执行将由图表示的网络策略合成为合成的网络策略。响应于端点的成员资格从一个EPG变成另一个EPG,不必执行网络策略的合成。代之以,运行时间系统仅必须执行为每个端点查找和应用相应网络策略的相对轻量的操作,这取决于端点的当前EPG成员资格。
图1A-1D中所示的图中的每个包括有向边,该有向边规定从源EPG中的任何端点到目的地EPG中的任何端点的允许的通信。每个边可以与分类器相关联,该分类器匹配数据分组的分组报头字段以确定将应用相应网络策略(例如访问控制白名单规则)。例如,在图1A中,与IT顶点和ENGG顶点之间的边相关联的分类器确定分组的分组报头字段的值是否指示:分组的源是IT部门中的端点,分组的目的地是工程部门中的端点,并且使用端口号22、23或5900。换句话说,分类器将分组的分组报头字段(例如源地址字段、目的地址字段、端口号字段)的值与相应网络策略的对应值(例如源地址值、目的地址值、端口号值)比较以确定是否满足边的匹配条件。如果满足如由分类器确定的边的匹配条件,则允许分组从IT部门端点到工程部门端点的传送。
在一些实现中,按照默认,不允许在不具有关联的边的EPG之间的通信。
网络策略的访问控制白名单规则可以是状态性的,使得也允许在建立的连接(例如TCP连接)上的反向业务。
虽然图1A-1D描绘了相应EPG顶点对之间的单个边,但要注意:可能存在从第一EPG顶点到第二EPG顶点的多个有向边,其中每个边与相应的不同分类器相关联。
在本公开的一些示例中,可以规定两个一般类型的边。访问控制白名单边被描绘为实线(诸如图1A、1B或1C中的实线),并且描述了EPG之间允许的通信。条件边被描绘为虚线(诸如在因特网顶点与DC顶点之间的虚线以及从图1D中的DC顶点到自身的虚线),并且当且仅当条件边的匹配条件与另一个策略图中的访问控制白名单边的匹配条件重叠时,条件边可以规定服务功能链(包括一个或多个服务功能框)的条件应用。换句话说,如果存在另一个网络策略,则应用第一EPG和第二EPG之间的(第一网络策略的)条件边的服务功能链,所述另一个网络策略规定:在与第一网络策略相同的条件下,允许第一与第二EPG之间的通信。
例如,在图1D中,从因特网EPG到DC EPG的条件边规定:如果另一个策略图包含允许从因特网EPG到DC EPG的通信的访问控制白名单边,则图1D的服务功能链(包括FW服务功能框和BC服务功能框)应用在至少由图1D的网络策略和其它策略图的网络策略组成的合成的网络策略中。
在一些示例实现中,服务功能框可以表示采用分组作为输入并且返回零个或更多个分组的集合的抽象功能。在这样的实现中,网络编程语言可以用于描述服务功能框的功能、行为和属性。在各种实现中,可以使用Pyretic网络编程语言。Pyretic可以使用真实的IP/MAC地址来实现网络程序。可以扩展Pyretic以编写关于逻辑EPG参数(例如指示Web EPG的IP地址的“web.ip”)的程序/策略。可以由Pyretic程序提供的功能的示例包括丢弃功能(以丢弃分组)、转发功能(以转发分组)等。
图2是根据一些实现的可以由策略合成器执行的过程的流程图。策略合成器(在202处)接收网络策略,其中每个网络策略规定EPG之间允许的通信的至少一个特性,并且每个EPG包括至少一个端点。在一些实现中,策略合成器接收是相应网络策略的表示的策略图。
策略合成器(在204处)根据包括在网络策略中的合成约束来合并网络策略。在一些实现中,可以通过组合表示相应网络策略的策略图来执行合并网络策略。
根据本公开的一些实现,合成约束可以包括以下各项:
•规定必须允许相应EPG之间的通信的合成约束。
•规定可以允许相应EPG之间的通信的合成约束。
•规定要阻止相应EPG之间的通信的合成约束。
•被包括在第一网络策略中并且规定当且仅当另一个网络策略规定允许相应EPG之间的通信时至少一个服务功能被有条件地应用于相应EPG之间的通信的合成约束。
基于包括在策略图中的合成约束,策略合成器能够将多个独立地规定的策略图(表示相应网络策略)组合成相干合成策略。要注意:策略合成器还能够还合并服务功能框的链,如下面进一步论述的。
图3是示意图,描绘了由图合成器304(其是以上论述的策略合成器的示例)将来自相应策略编写器的输入策略图302(表示相应网络策略)合成为合成策略图306。可以包括在管理特定源EPG(S)与特定目的地EPG(D)之间的通信的输入策略图302中的合成约束可由相应不同边类型308、310、312和314表示。
边类型308(包括具有双实线的箭头)表示规定必须允许源EPG(S)与目的地EPG(D)之间的通信的合成约束。边类型310(包括具有单实线的箭头)表示规定可以允许源EPG与目的地EPG之间的通信的合成约束。边类型312(包括具有交叉通过箭头的对角线的箭头)表示规定要阻止源EPG与目的地EPG之间的通信的合成约束。边类型314(包括虚线箭头并且具有至少一个服务功能框,例如FW框)表示被包括在第一网络策略中并且规定当且仅当另一个网络策略规定允许源EPG与目的地EPG之间的通信时将至少一个服务功能有条件地应用于源EPG与目的地EPG之间的通信的合成约束。
在一些实现中,必须边(边类型308)或可以边(边类型310)覆盖(override)条件边(边类型314),而阻止边(边类型312)覆盖可以边(边类型310)。覆盖第二网络策略的条件边的第一网络策略的必须边或可以边可以指允许源EPG与目的地EPG之间的通信,经由第二网络策略的条件边的服务功能链(包括一个或多个服务功能框)的应用。阻止边覆盖可以边可以指根据第一网络策略来阻止源EPG与目的地EPG之间的通信,即使第二网络策略允许源EPG与目的地EPG之间的通信。
基于分配给第一和第二网络策略的等级或分配给第一和第二网络策略的策略编写器的等级,解决第一网络策略中的必须边与第二网络策略中的阻止边之间的冲突。例如,如果第一网络策略被分等级高于第二网络策略,则第一网络策略的必须边覆盖第二网络策略的阻止边,使得即使第二网络策略规定要阻止这样的通信,也按照第一网络策略来允许源EPG与目的地EPG之间的通信。在前述示例中,因为已经忽略第二网络策略,所以第二网络策略被认为是丢弃的网络策略。丢弃的网络策略可以被报告给目标实体,诸如策略编写器或一些其它实体。
在其它情况下,如果第一和第二网络策略的等级相同,则第一与第二网络策略之间的冲突仍然未解决。在这样的情况下,未解决的冲突可以被报告给目标实体,诸如策略编写器或者用于解决、修正和可能重新提交的其它实体。
在将输入策略图302合成为考虑由边类型308、310、312和314表示的合成约束的合成策略图306之后,提供用于源EPG与目的地EPG之间的通信的结果图316,该结果图316具有带有单实线的箭头以指示允许源EPG与目的地EPG之间的通信。虽然在图3中未示出,但要注意:边类型314的FW服务功能框可以被添加到结果图316,以指示要在合成策略图306中应用FW服务功能。
除了规定如以上论述的合成约束之外,还可以规定服务链约束。在一些实现中,可以存在若干不同类型的服务链约束。第一类型服务链约束可以设置对服务功能框的行为的约束,该服务功能框被添加到从组合输入策略图的服务功能链产生的结果服务功能链。例如,第一类型服务链约束可以设置对相应服务功能框可以对分组执行的分组报头字段修改和分组丢弃操作的约束。由图合成器304执行的合成分析可以检查将特定的服务功能框添加到给定的服务链是否将违反由正被合成在一起的输入策略图给出的第一类型服务链约束。
以下的表格1示出用于从源EPG到目的地EPG的通信的示例第一类型服务链约束。
表1的第一类型服务链约束指示:被添加到使用端口80边的从源EPG到目的地EPG的边的服务功能框不能丢弃分组,而是被允许将差分服务代码点(DSCP)分组字段修改成特定值的规定集合中的值(例如表格1中的16、18、20)。作为示例,从第一输入策略图的源EPG到目的地EPG的边可以依次包括三个服务功能框(框A、B、C),这意味着当第一输入策略图与第二输入策略图组合时,可以将第二输入策略图的服务功能框添加到从源EPG到目的地EPG的边中的四个位置之一。四个位置包括:(1)框A之前的位置,(2)框A与B之间的位置,(3)框B与C之间的位置,以及(4)框C之后的位置。一个或多个第一类型服务链约束适用于可以被添加到四个可能位置之一的(多个)服务功能框。
第二类型服务链约束可以规定对已经存在于从源EPG到目的地EPG的边上的给定的服务功能框的改变特性的约束。服务功能框的改变特性指示是否可以以某种方式改变(例如丢弃或修改)服务功能框。第二类型服务链约束的示例包括:(1)规定可以还是不可以丢弃给定的服务功能框的服务链约束,以及(2)规定可以还是不可以修改给定的服务功能框的服务链约束。如果第二类型服务链约束规定不可以丢弃给定的服务功能框,则给定的服务功能框必须仍然在合成策略图中的从源EPG到目的地EPG的边上(即,不能从该边去除)。类似地,如果第二类型服务链约束规定不可以修改给定的服务功能框,则不可以改变在从源EPG到目的地EPG的边上的给定的服务功能框。
虽然仅论述两个类型的服务链约束,但要注意:可以存在附加或替代类型的服务链约束。
在本公开的一些其它实现中,也可以在从源EPG到目的地EPG的边上规定原子子链。原子子链包括至少两个服务功能框,并且不允许在原子子链中插入另一个服务功能。原子子链的服务功能框可以共享(多个)共同的第二类型约束;换句话说,(多个)第二类型约束以原子子链的粒度与原子子链相关联,而不是单独地与原子子链中的服务功能框相关联。
在一些示例中,可以使用诸如Prolog之类的约束语言或另一个语言来规定服务链约束。
在其它实现中,可以提供特殊的合成约束以规定:去往或来自特定EPG的业务必须遵循给定的网络策略的特定行为。例如,可以在第一网络策略中用“排他”标志来标记特定EPG,这防止另一个网络策略覆盖第一网络策略,其规定去往或来自特定EPG的业务遵循特定行为。例如,在图1C的模型104中,QN EPG可以用排他标志来标记,以防止其它网络策略阻碍图1C的网络策略的策略编写器将所有业务从隔离的端点重定向到补救服务器的意图。
下面描述根据一些实现的如由图合成器304执行的策略图合成。图合成器304的使用允许策略编写器独立地规定它们的网络策略,并将合成过程委派给图合成器304。在一些示例中,图合成器304可以产生合成策略图,该合成策略图:1)满足由输入策略图表示的网络策略的最大集合而不违反网络策略的合成约束,以及2)仅包括互斥的EPG。通过仅包括互斥的EPG(换句话说,没有两个EPG共享任何共同的端点),运行时间系统可以确定对于给定的端点唯一的EPG,使得关联的网络策略(与唯一的EPG相关联)可以应用于给定的端点。
要注意:如果特定端点不是任何EPG的部分,则不允许特定端点的通信。
在执行策略图合成时,图合成器304组合EPG,并且合并网络策略。因为EPG可以具有重叠的端点成员资格(通过可以被分配给相应端点的标签的标签空间而被规定为任意布尔表达式),所以图合成器304能够将输入EPG分离成不相交的EPG的等效集合。图合成器304还可以计算等效于输入网络策略中的边的并集的有向边,除了这样做将违反合成约束的情况之外。
图4A描绘将由图合成器304组合的两个示例策略图P1和P2(表示相应网络策略)。策略图P1具有图模型402,该图模型402规定:营销EPG中的端点被允许访问客户关系管理(CRM)EPG(包括一个或多个CRM服务器)。营销顶点与CRM顶点之间的边规定:将使用端口7000,并且负载均衡(LB)服务功能框将应用在营销EPG与CRM EPG之间的业务上。
策略图P1还包括另一个图模型404,其包括根据非营销EPG与CRM EPG之间的阻止边类型(图3中的边类型312)的边。阻止边类型规定:阻止非营销EPG中的端点(不在营销EPG中的端点)到CRM EPG的业务。
策略图P2规定:雇员EPG的端点可以使用端口80、334和7000访问服务器EPG的端点,并且业务穿过防火墙(FW)服务功能。要注意:营销EPG的端点是雇员EPG的子集,并且CRMEPG的端点是服务器EPG的子集。还要注意:策略图P1的端口范围(端口7000)是策略图P2的端口范围(端口80、334、7000)的子集。结果,策略图P1的EPG和端口范围被策略图P2中的EPG和端口范围完全包含。
因为策略图P1的EPG和端口范围由策略图P2中的EPG和端口范围完全包含,所以可以通过将P1优先于P2而天然地合成策略图P1和P2的访问控制白名单规则,但是这将不正确地允许非营销EPG端点的业务到达CRM EPG的端点。另外,可以假设服务功能链的预期顺序是FW被LB跟随,使得图合成将必须考虑该预期顺序。
通过使用策略图P1中的图模型404,策略图P1的策略编写器的意图——要阻止非营销雇员的端点到CRM服务器的业务,可以由图合成器304捕捉和考虑。要注意:因为P1阻止非营销雇员到CRM服务器的业务,所以策略图P1和P2的访问控制白名单规则冲突,而P2允许从所有雇员(包括非营销雇员)到所有服务器(包括CRM服务器)的业务。通过在策略图P1中包括由图模型404表示的合成约束,可以通过利用策略图P1中的合成约束覆盖允许非营销雇员访问CRM服务器P2的策略来解决冲突,该策略图P1阻止非营销雇员到CRM服务器的业务。
图4B中示出基于组合策略图P1和P2的示例合成策略图。在图4B的合成策略图中,{雇员-营销}顶点表示由非营销雇员组成的EPG,并且{服务器-CRM}顶点表示由非CRM服务器组成的EPG。此外,在图4B的合成策略图中,营销EPG与CRM EPG之间的FW-LB链的顺序符合FW和LB服务功能的预期顺序。
在将策略图P2的服务功能链(包括FW)与策略图P1的服务功能链(包括LB)组合时,为了提供图4B的合成策略图的营销EPG与CRM EPG之间的FW-LB链,图合成器304可以通过对基于框的分组处理功能的分析来检测服务功能框之间的依赖关系而确定服务功能框的适当顺序。检测的依赖关系用于确定有效的排序。
此外,在形成由图合成器304产生的合成策略图中的服务功能链时,图合成器304还考虑如以上论述的任何服务链约束,其中每个服务链约束可以设置对在合成策略图中添加的服务功能框的行为的约束。
图5是根据一些实现的系统500的框图。系统500可以包括计算机或多个计算机的布置。系统500包括(一个或多个)处理器502,其可以耦合到(一个或多个)非瞬时机器可读或计算机可读存储介质504。处理器可以包括微处理器、微控制器、物理处理器模块或子系统、可编程集成电路、可编程门阵列或者另一个物理控制或计算设备。
(一个或多个)存储介质504可以存储图合成器304,图合成器304可以被实现为可在(多个)处理器502上执行以实行如以上论述的各种任务(包括在图2、3和4A-4B中描绘的那些)的机器可读指令。
图6是包括系统500(其中图合成器304是可执行的)和运行时间系统600的布置的框图,该运行时间系统600能够从系统500接收由图合成器304产生的合成的网络策略(其可以以合成策略图的形式)。要注意:运行时间系统600可以从图合成器304接收多个网络策略。
运行时间系统600包括(一个或多个)处理器602,其可以耦合到(一个或多个)非瞬时机器可读或计算机可读存储介质604。(一个或多个)存储介质604可以存储运行时间控制器606,该运行时间控制器606可以被实现为可在(多个)处理器602上执行以实行各种任务的机器可读指令。
例如,运行时间控制器606能够将高级合成策略图(由图合成器304提供)再现成低级设备配置(诸如网络中的交换机的配置)以实施相应的网络策略。在一些示例中,低级配置可以被表达为使用SDN控制器实施的OpenFlow(开放流)规则,该SDN控制器是运行时间控制器606的示例。
SDN控制器可以根据OpenFlow协议来操作,如在由开放联网基金会提供的OpenFlow交换机规范中描述的那样。从合成策略图导出的OpenFlow规则可以用于配置通信网络的交换机中的流表。交换机使用其(一个或多个)流表来确定交换机将如何处理和转发分组。
在其它示例中,运行时间控制器606可以从接收的用于配置网络中的交换机或其它类型的通信设备的合成策略图导出其它类型的网络控制规则。
图7是根据一些实现的系统700的框图。系统700可以包括计算机或多个计算机的布置。系统700包括(一个或多个)处理器702,其可以耦合到(一个或多个)非瞬时机器可读或计算机可读存储介质704。(一个或多个)存储介质704可以存储策略编辑器606,该策略编辑器606可以被实现为可在(多个)处理器702上执行以允许策略编写器创建网络策略的机器可读指令,所述网络策略诸如以包括如以上论述的合成约束和/或服务链约束的策略图的形式。
策略编辑器606可以定义用于EPG之间的通信的网络策略。策略编辑器606可以在网络策略中包括合成约束(和/或服务链约束),其中合成约束供用在将网络策略与至少另一个网络策略合并时。
策略编辑器606可以呈现用户界面(诸如图形用户界面)以允许策略编写器创建网络策略。
数据和指令被存储在相应存储设备中,相应存储设备被实现为一个或多个非瞬时计算机可读或机器可读存储介质。存储介质包括不同形式的存储器,包括:半导体存储器设备,诸如动态或静态随机存取存储器(DRAM或SRAM)、可擦除和可编程只读存储器(EPROM)、电可擦除和可编程只读存储器(EEPROM)以及闪存;磁盘,诸如固定盘、软和可去除盘;其它磁介质,包括磁带;光学介质,诸如光盘(CD)或数字视频盘(DVD);或者其它类型的存储设备。要注意:以上论述的指令可以被提供在一个计算机可读或机器可读存储介质上,或者可以被提供在分布在可能具有复数个节点的大型系统中的多个计算机可读或机器可读存储介质上。这样的一个或多个计算机可读或机器可读存储介质被认为是物品(或制品)的部分。物品或制品可以指任何制造的单个组件或多个组件。一个或多个存储介质可以位于运行机器可读指令的机器中,或者位于远程站点处,可以通过网络从该远程站点下载机器可读指令以用于执行。
在前述的描述中,阐述众多细节以提供对本文中公开的主题的理解。然而,实现可以在没有这些细节中的一些的情况下实践。其它实现可包括来自以上论述的细节的修改和变化。意图所附权利要求书覆盖这样的修改和变化。

Claims (15)

1.一种方法,包括:
由包括处理器的系统接收网络策略,网络策略中的每个网络策略规定在端点组之间允许的通信的至少一个特性,端点组中的每个端点组包括至少一个端点;以及
由系统根据包括在网络策略中的合成约束来合并网络策略,合成约束包括规定必须允许相应端点组之间的通信的第一合成约束。
2.根据权利要求1所述的方法,其中合并包括:
解决网络策略中的包括第一合成约束的第一网络策略与网络策略中的包括合成约束中的另一个合成约束的第二网络策略之间的冲突。
3.根据权利要求1所述的方法,其中根据其合并网络策略的合成约束进一步包括规定要阻止相应端点组之间的通信的第二合成约束。
4.根据权利要求3所述的方法,其中合并包括:
基于第一和第二网络策略的等级或第一和第二网络策略的策略编写器的等级,解决网络策略中的包括第一合成约束的第一网络策略与网络策略中的包括第二合成约束的第二网络策略之间的冲突。
5.根据权利要求3所述的方法,其中根据其合并网络策略的合成约束进一步包括第三合成约束,所述第三合成约束被包括在第一网络策略中并且规定至少一个服务功能要在第二网络策略规定允许集合的相应端点组之间的通信时被有条件地应用于集合的相应端点组之间的通信。
6.根据权利要求5所述的方法,其中合并包括:
解决网络策略中的包括第一合成约束的第三网络策略与网络策略中的包括第二合成约束的第一网络策略之间的冲突,其中通过用第三网络策略覆盖第一网络策略来解决冲突。
7.根据权利要求5所述的方法,其中根据其合并网络策略的合成约束进一步包括规定可以允许相应端点组之间的通信的第四合成约束。
8.根据权利要求1所述的方法,进一步包括:
将网络策略中的每个网络策略表示为图;以及
使用相应端点组之间的不同类型的边来表示图中的合成约束。
9.根据权利要求1所述的方法,其中合并进一步基于服务功能框约束,所述服务功能框约束规定对被添加到端点组之间的路径的至少一个服务功能框的行为的约束,所述至少一个服务功能框应用服务功能。
10.根据权利要求9所述的方法,其中合并进一步基于第二服务功能框约束,所述第二服务功能框约束规定对存在于端点组之间的路径上的至少一个服务功能框的改变特性的约束。
11.根据权利要求10所述的方法,其中第二服务功能框约束与原子子链相关联,所述原子子链包括存在于端点组之间的路径上的所述至少一个服务功能框。
12.一种系统,包括:
至少一个处理器,以:
接收表示相应网络策略的图,网络策略中的每个网络策略规定在端点组之间允许的通信的至少一个特性,端点组中的每个端点组包括至少一个端点,其中图中的第一图包括表示第一合成约束的第一类型的边,所述第一合成约束规定要阻止相应端点组之间的通信,并且图中的第二图包括表示与第一合成约束不同的第二合成约束的第二不同类型的边;以及
将图组合成表示合成的网络策略的合成图,其中组合根据包括在网络策略中的合成约束,合成约束包括由第一类型的边表示的第一合成约束和由第二类型的边表示的第二合成约束。
13.根据权利要求12所述的系统,其中第二合成约束规定必须允许相应端点组之间的通信。
14.根据权利要求12所述的系统,其中合成约束进一步包括第三合成约束,所述第三合成约束被包括在第一网络策略中并且规定至少一个服务功能要在第二网络策略规定允许集合的相应端点组之间的通信时被有条件地应用于集合的相应端点组之间的通信。
15.一种包括存储指令的至少一个非瞬时机器可读存储介质的物品,所述指令在执行时使得系统:
定义用于端点组之间的通信的网络策略,端点组中的每个端点组包括至少一个端点;以及
在网络策略中包括合成约束,合成约束供用在网络策略与至少另一个网络策略合并时,并且合成约束规定必须允许端点组之间的通信。
CN201580079010.1A 2015-05-15 2015-05-15 用于网络策略的合成约束 Expired - Fee Related CN107534568B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/030973 WO2016186605A1 (en) 2015-05-15 2015-05-15 Composition constraints for network policies

Publications (2)

Publication Number Publication Date
CN107534568A true CN107534568A (zh) 2018-01-02
CN107534568B CN107534568B (zh) 2021-06-29

Family

ID=57318918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580079010.1A Expired - Fee Related CN107534568B (zh) 2015-05-15 2015-05-15 用于网络策略的合成约束

Country Status (4)

Country Link
US (1) US20180139096A1 (zh)
EP (1) EP3295608A4 (zh)
CN (1) CN107534568B (zh)
WO (1) WO2016186605A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016072996A1 (en) 2014-11-06 2016-05-12 Hewlett Packard Enterprise Development Lp Network policy graphs
US11038896B2 (en) * 2015-06-02 2021-06-15 Dipankar Dasgupta Adaptive multi-factor authentication system with multi-user permission strategy to access sensitive information
US10355983B2 (en) * 2016-05-09 2019-07-16 Cisco Technology, Inc. Traceroute to return aggregated statistics in service chains
US10812342B2 (en) 2017-04-28 2020-10-20 Hewlett Packard Enterprise Development Lp Generating composite network policy
US20180351806A1 (en) * 2017-05-31 2018-12-06 Cisco Technology, Inc. Intent specification checks for inconsistencies
US10944793B2 (en) * 2017-06-29 2021-03-09 Juniper Networks, Inc. Rules-based network security policy modification
US10637740B2 (en) * 2017-07-07 2020-04-28 Howard Pfeffer Apparatus and methods for management, configuration and provisioning of communication devices in a distributed access architecture
US10567384B2 (en) 2017-08-25 2020-02-18 Hewlett Packard Enterprise Development Lp Verifying whether connectivity in a composed policy graph reflects a corresponding policy in input policy graphs
CN107666412B (zh) * 2017-11-20 2019-07-02 电子科技大学 服务功能链的虚拟网络功能部署方法
US10623299B2 (en) 2018-04-28 2020-04-14 Hewlett Packard Enterprise Development Lp Reduced topologies
US11218508B2 (en) * 2018-06-27 2022-01-04 Cisco Technology, Inc. Assurance of security rules in a network
US11374979B2 (en) * 2019-06-25 2022-06-28 Hewlett Packard Enterprise Development Lp Graph-based policy representation system for managing network devices
US11570109B2 (en) * 2021-04-28 2023-01-31 Cisco Technology, Inc. Software-defined service insertion for network fabrics
CN113438208B (zh) * 2021-06-03 2022-08-26 新华三技术有限公司 报文处理方法、装置及设备
US11516088B1 (en) * 2021-10-28 2022-11-29 Microsoft Technology Licensing, Llc Network configuration verification in computing systems

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101720079A (zh) * 2009-06-19 2010-06-02 中兴通讯股份有限公司 网元策略融合网络中的业务接入方法及策略融合系统
CN102573024A (zh) * 2010-12-28 2012-07-11 微软公司 基于灵活策略的网络决策
CN103248521A (zh) * 2013-04-28 2013-08-14 华为技术有限公司 一种业务策略规则配置的方法、装置及通信系统
US8693344B1 (en) * 2011-09-27 2014-04-08 Big Switch Network, Inc. Systems and methods for generating packet forwarding rules based on network policy
CN103795644A (zh) * 2014-01-27 2014-05-14 福建星网锐捷网络有限公司 策略表表项配置方法、装置及系统
US9003478B2 (en) * 2011-09-30 2015-04-07 Oracle International Corporation Enforcement of conditional policy attachments

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910028B2 (en) * 2001-07-27 2005-06-21 International Business Machines Corporation Conflict-handling assimilator service for exchange of rules with merging
US7152157B2 (en) * 2003-03-05 2006-12-19 Sun Microsystems, Inc. System and method for dynamic resource configuration using a dependency graph
US8933937B2 (en) * 2010-01-22 2015-01-13 Microsoft Corporation Visualizing a layered graph using edge bundling
US20130124567A1 (en) * 2011-11-14 2013-05-16 Helen Balinsky Automatic prioritization of policies
US9565194B2 (en) * 2012-10-19 2017-02-07 Mcafee, Inc. Utilizing a social graph for network access and admission control
WO2016072996A1 (en) * 2014-11-06 2016-05-12 Hewlett Packard Enterprise Development Lp Network policy graphs

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101720079A (zh) * 2009-06-19 2010-06-02 中兴通讯股份有限公司 网元策略融合网络中的业务接入方法及策略融合系统
CN102573024A (zh) * 2010-12-28 2012-07-11 微软公司 基于灵活策略的网络决策
US8693344B1 (en) * 2011-09-27 2014-04-08 Big Switch Network, Inc. Systems and methods for generating packet forwarding rules based on network policy
US9003478B2 (en) * 2011-09-30 2015-04-07 Oracle International Corporation Enforcement of conditional policy attachments
CN103248521A (zh) * 2013-04-28 2013-08-14 华为技术有限公司 一种业务策略规则配置的方法、装置及通信系统
CN103795644A (zh) * 2014-01-27 2014-05-14 福建星网锐捷网络有限公司 策略表表项配置方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KAVEH FAYAZBAKHSH ET AL.: "Enforcing Network-Wide Policies in the Presence of Dynamic Middlebox Actions using FlowTags", 《THE 11TH USENIX SYMPOSIUM ON NETWORKED SYSTEMS DESIGN AND IMPLEMENTATION》 *

Also Published As

Publication number Publication date
CN107534568B (zh) 2021-06-29
EP3295608A1 (en) 2018-03-21
US20180139096A1 (en) 2018-05-17
WO2016186605A1 (en) 2016-11-24
EP3295608A4 (en) 2018-04-25

Similar Documents

Publication Publication Date Title
CN107534568A (zh) 用于网络策略的合成约束
CN112219382B (zh) 网络中的安全规则的保证
US11888603B2 (en) Assurance of security rules in a network
CN110741603B (zh) 拓扑探测器
CN110754064B (zh) 网络结构中的路由信息的验证
CN110692227B (zh) 识别网络意图形式对等性失败中的冲突规则
US20210144069A1 (en) Shim layer for extracting and prioritizing underlying rules for modeling network intents
CN110710159B (zh) 用于网络配置和故障排除的方法、系统、设备和介质
US11044273B2 (en) Assurance of security rules in a network
CN110785965B (zh) 对结构中配置的正确部署执行网络保证检查的系统和方法
US11038743B2 (en) Event clustering for a network assurance platform
CN110785963B (zh) 从网络收集网络模型和节点信息
CN110710161B (zh) 生成网络的设备级逻辑模型
EP3269087B1 (en) Adding metadata associated with a composite network policy
CN112470431A (zh) 使用自动布尔学习的网络的模型的合成
CN110741602B (zh) 响应于网络意图形式对等性失败的事件生成
CN110800259B (zh) 跨以应用为中心的维度的分布式故障代码聚合
WO2017014769A1 (en) Providing a composite network policy
Zaborovsky et al. Access control model and algebra of firewall rules

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210629