CN109076028B - 异构软件定义网络环境中的微分段 - Google Patents

异构软件定义网络环境中的微分段 Download PDF

Info

Publication number
CN109076028B
CN109076028B CN201780025777.5A CN201780025777A CN109076028B CN 109076028 B CN109076028 B CN 109076028B CN 201780025777 A CN201780025777 A CN 201780025777A CN 109076028 B CN109076028 B CN 109076028B
Authority
CN
China
Prior art keywords
endpoint
network
group
endpoints
attribute
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.)
Active
Application number
CN201780025777.5A
Other languages
English (en)
Other versions
CN109076028A (zh
Inventor
普拉文·杰因
穆尼什·麦塔
沙鲁巴·杰因
杨一斌
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN109076028A publication Critical patent/CN109076028A/zh
Application granted granted Critical
Publication of CN109076028B publication Critical patent/CN109076028B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

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

Abstract

异构软件定义网络中的微分段可以通过以下操作来执行:基于相应属性将与第一虚拟化环境相关联的端点分类到相应端点组中并且基于相应属性将与第二虚拟化环境相关联的端点分类到相应安全组中。每个相应端点组可以对应于具有相同属性的相应安全组。每个相应端点组和对应安全组可以与定义用于处理相关联流量的规则的相应策略模型相关联。相应安全组中的每一者可以用来生成相应网络属性端点组,其可以包括相应安全组中的那些端点的网络地址。每个相应网络属性端点组可以继承与相应安全组对应的相应端点组的策略模型。端点之间的流量随后可以基于各种分类和相关联规则被处理。

Description

异构软件定义网络环境中的微分段
技术领域
本技术涉及实施软件定义网络,并且更具体地,涉及采用异构软件定义解决方案和主机的数据中心中的微分段。
背景技术
微分段可以通过将数据中心分成较小的保护区域并且隔离与各种保护区域相关联的流量来大大提高数据中心网络中的安全性。例如,管理员可以用防火墙保护从数据中心的一个分段行进到另一分段的流量(东西流量)。因此,这限制了攻击者在数据中心中横向移动的能力。此外,不仅可以在网络分段的周边处而且可以在应用层之间且甚至在层内的装置之间供应安全服务。利用这样精细粒度的控制,微分段可以允许网络破坏被包括在小故障域中,以保护数据中心的其余部分的完整性。
现代数据中心可以部署不同的软件定义网络(SDN)解决方案,诸如思科以应用为中心的基础设施(ACI)和VMWARE NSX。数据中心还可以部署不同种类的主机或管理程序,诸如VMWARE ESX/ESXI、WINDOWS HYPER-V以及裸金属物理主机。不幸的是,不同管理程序、服务器以及SDN平台中的很多并不能充分地互操作。因此,异构数据中心中的微分段极大地受限。
附图说明
为了描述可以获得本公开的上述和其他优点及特征的方式,将参考附图中示出的具体实施例来呈现上文简要描述的原理的更具体描述。应理解,这些附图仅仅描绘本公开的示例性实施例,并且因此不应视为限制其范围,通过使用附图来更具体更详细地描述和说明本文中的原理,在附图中:
图1示出示例异构数据中心的图解;
图2示出用于微分段的属性端点组和安全组的示例列表;
图3示出用于异构数据中心中的微分段的示例方法;
图4示出示例网络装置;以及
图5A和图5B示出示例***实施例。
具体实施方式
下文详细地论述本公开的各种实施例。尽管论述了具体实施方式,但应理解,这仅仅是出于说明目的。相关领域的技术人员将认识到,在不脱离本公开的精神和范围的情况下,可以使用其他部件和配置。
概述
本发明的方面在独立权利要求中陈述,并且优选特征在从属权利要求中陈述。一个方面的特征可以单独地应用于每个方面或者与其他方面结合。
本公开的额外特征和优点将在下文的描述中列出,并且部分将从描述中显而易见,或者可以通过实践本文中公开的原理而学习到。本公开的特征和优点可以借助于所附权利要求书中特别指出的仪器和组合来实现并获得。本公开的这些和其他特征将从以下描述和所附权利要求书中更充分地显而易见,或者可以通过实践本文中列出的原理而学习到。
本文中列出的方法可以用来在异构网络环境中执行微分段。当前的网络和数据中心通常包括不同类型的软件定义网络(SDN)解决方案(例如,思科ACI、VMWARE NSX等)、主机(例如,VMWARE ESXI、WINDOWS HYPER-V、裸金属主机等),以及虚拟交换元件(例如,思科应用虚拟交换机、VSPHERE分布式交换机等)。不幸的是,不同的SDN、主机或虚拟交换元件之间并不支持微分段。因此,异构网络中的微分段极大地受限。有利地,本文中列出的方法实现跨不同类型的SDN、主机、虚拟交换元件和/或任何其他虚拟化环境或元件的微分段。
公开了用于异构网络中的微分段的***、方法以及计算机可读存储介质。一种示例方法可以包括基于与相应端点组相关联的相应属性而将网络中的第一组端点中的每一者分类到相应端点组中。第一组端点可以与第一类型的虚拟化环境相关联。虚拟化环境可以包括SDN环境、一种类型的虚拟主机(例如,一种类型的管理程序)、一种类型的虚拟交换元件或装置(例如,思科应用虚拟交换机)等。
所述方法还可以包括针对相应端点组来定义第一相应策略模型,所述第一相应策略模型包括用于处理相关联网络流量的一个或多个规则。策略模型可以包括用于与相应端点组相关联的流量的合约、规则或策略。
所述方法可以包括:识别与第二类型的虚拟化环境相关联的第二组端点,所述第二类型的虚拟化环境不同于第一类型的虚拟化环境;以及将第二组端点中的每一者分配到相应安全组,其中相应安全组对应于相应端点组。相应安全组可以是特定于第二类型的虚拟化环境的另一组,类似于相应端点组。此外,第二组端点中的每一者可以基于相应属性而被分配到相应安全组。例如,被添加到相应安全组的端点可以与被添加到相应的对等(counterpart)端点组的那些端点共同具有相同属性。
所述方法还可以包括针对相应安全组来定义第二相应策略模型,所述第二相应策略模型包括与第一相应策略模型相关联的一个或多个规则。第二相应策略模型可以包括在用于相应属性端点组的第一相应策略模型中定义的那些规则、策略或防火墙。因此,相应安全组可以被分配与相应安全组相关联的相应属性端点组相同或基本上相似的策略、规则或防火墙。
接着,所述方法可以包括生成枚举了相应安全组中的每个端点的相应网络地址的相应网络属性端点组。例如,可以生成相应网络地址端点组以包括相应安全组中的每个端点的媒体访问控制(MAC)地址。这允许网络中的诸如交换机之类的装置基于相应MAC地址来对去往/来自相应安全组中的这些端点的流量进行分类。
相应网络属性端点组还可以包括与相应安全组具有共同的相应属性但不与第一或第二虚拟化环境相关联的任何端点的相应网络地址。例如,与相应属性相匹配且与第三物理环境相关联的端点的MAC地址也可以被包括在相应网络属性端点组中。
所述方法还可以包括针对相应网络属性端点组来提供第三相应策略模型。第三相应策略模型可以包括来自第一和/或第二相应策略模型的一个或多个规则。在一些实例中,第三相应策略模型可以继承来自第一和/或第二相应策略模型的一个或多个规则。第三相应策略模型中的规则可以由网络装置用来施行用于与基于端点的网络地址分类的相应网络属性端点组中的端点相关联的流量的各种策略。
描述
软件定义网络(SDN)是一种涉及通过较高级功能的抽象化来管理网络服务的计算机网络方法。这可以通过使控制平面与数据平面分离来完成。示例SDN解决方案包括思科以应用为中心的基础设施(ACI)和VMWARE NSX。
思科ACI通过可缩放的分布式施行来提供基于应用策略的解决方案。ACI支持在针对网络、服务器、服务和安全性的声明策略模型下进行物理和虚拟环境的集成。在ACI框架中,端点可以被分组到端点组(EPG)中。EPG包含共享诸如安全性、QOS(服务质量)、性能、服务等之类的共同策略要求的端点的集合。端点可以是连接到网络的虚拟或物理装置或主机,诸如虚拟机(VM)和裸金属物理服务器。端点可以具有许多属性,诸如VM名称、客户OS(操作***)名称、安全标签等。
应用策略可以以合约的形式在EPG之间应用,而不是直接在端点之间应用。在数据中心网络架构中,叶交换机可以将传入的流量分类到不同的EPG。分类可以是基于网络分段标识符,诸如VLAN ID、VXLAN网络标识符(VNID)、NVGRE虚拟子网标识符(VSID)等。分类还可以是基于端点的网络地址,诸如MAC(媒体访问控制)或IP(互联网协议)地址。基于地址的分类可以包括对端点网络地址(例如,MAC或IP地址等)的枚举。
ACI可以支持针对应用虚拟交换机(AVS)和物理主机的微分段。AVS是在ACI架构中工作的管理程序驻留的虚拟网络交换机。利用AVS微分段,可以根据端点的属性(诸如,VM名称和客户OS名称)将属性EPG引入到组端点。AVS可以基于指定的属性以及具有不同网络分段标识符(诸如VLAN ID)的不同属性EPG的标签分组来对流量进行分类。叶交换机可以基于EPG的网络分段标识符将分组与它们的属性EPG绑定并且施行策略。
在物理主机的情况下,可以使用基于网络地址的EPG(例如,基于MAC/IP的EPG)来进行微分段。例如,属于EPG的物理主机的网络地址(例如,MAC/IP地址)可以在基于网络地址的EPG(诸如基于MAC/IP的EPG)中被枚举。基于该枚举,叶交换机可以对来自物理主机的流量所属的EPG进行分类并且施行策略。
VMWARE NSX微分段可以由分布式防火墙(DFW)支持。考虑这样一种情况:其中三种类型的VM(应用、数据库和web VM)被输入到单层-2网络分段中。需要基于VM类型在网络分段内提供流量保护。例如,只有web VM之间才允许HTTP流量。web WM与应用或数据VM之间不准许HTTP。在NSX中,安全组(SG)、sg-app、sg-db和sg-web可以分别用来对应用、数据库和web VM进行分组。那么,DFW规则可以被配置成阻止sg-web与sg-app或sg-db之间的HTTP流量。因此,NSX可以采取软件方法来支持微分段,其中分类和施行两者都可以在管理程序中完成。相比之下,思科ACI可以采用组合方法,其中硬件和软件可以用来支持微分段。
软件定义网络的其他解决方案可以实施基于硬件、软件或这两者的分类和施行机制。此外,现代数据中心通常不限于单个SDN解决方案。实际上,现代数据中心可以包括通常很少有或没有互操作性的不同类型的主机和管理程序。
不幸的是,在异构网络或数据中心中,用于分类和施行的不同软件定义网络解决方案和机制以及多种主机和管理程序通常并不互操作并且没有很好地集成。因此,本文中列出的方法可以实现异构环境中的微分段,所述异构环境可以包括多个SDN解决方案、多种类型的主机或管理程序等。
图1示出示例异构网络100。网络100可以包括网络架构102。架构102可以包括脊路由器(spine router)104和叶路由器(leaf router)106(例如,架顶交换机等)。叶路由器106可以驻留在架构102的边缘处,并且因此可以表示物理网络边缘。在一些情况下,叶路由器106可以将网络100的底层(例如,架构102)连接到覆盖层。例如,叶路由器106可以被配置成隧道端点,所述隧道端点可以封装针对诸如虚拟可扩展局域网(VxLAN)、使用通用路由封装的网络虚拟化(NVGRE)等之类的具体虚拟化和/或覆盖环境或分段的分组。
叶路由器106可以负责将租户分组路由到架构102以及从架构102路由租户分组,并且应用网络策略。脊路由器104可以在架构102内执行路由。因此,架构102中的网络连接可以从脊路由器104流过叶路由器106,反之亦然。叶路由器106可以提供主机108至120对架构102的访问。叶路由器106还可以提供能访问架构102的任何其他服务器、资源、端点、外部网络、VM、服务、租户或工作负载。
主机108至120可以包括物理主机118和虚拟主机108至116、120(例如,管理程序、虚拟机等)。例如,物理主机118可以是托管web服务器142的物理服务器,并且虚拟主机108至116、120可以包括可以托管主机VM 126至140、144的管理程序(H1至H5和H7)。虚拟主机108至116、120可以运行虚拟交换元件,这可以取决于虚拟主机上运行的管理程序的类型。异构网络100中的管理程序和虚拟交换技术的类型可以改变。
例如,虚拟主机108至112可以运行第一类型的虚拟交换机(VSA),诸如VMWAREVSPHERE分布式交换机(VDS)。虚拟主机108至112可以在诸如VMWARE ESXI之类的特定管理程序上运行VSA。虚拟主机114至116可以运行第二类型的虚拟交换机(VSB),诸如思科应用虚拟交换机。此外,虚拟主机120可以运行另一不同类型的虚拟交换机(VSC),诸如微软HYPER-V虚拟交换机。
虚拟主机108至116、120可以托管一个或多个VM。例如,虚拟主机108可以将VM 126(vm1-web)托管在H1上。虚拟主机110可以将VM 128(vm2-web)和130(vm3-app)托管在H2上。虚拟主机112可以将VM 132(vm4-web)和VM 134(vm5-db)托管在H3上。虚拟主机114可以将VM 136(vm6-web)托管在管理程序H4上。虚拟主机116可以将VM 138(vm7-app)和VM 140(vm8-web)托管在管理程序H5上。虚拟主机120可以将VM 144(vm9-web)托管在管理程序H7上。
VM 126、128、132、136、140、144可以是web VM,如由它们的VM名称或标签指示的那样(例如,分别是vm1-web、vm2-web、vm4-web、vm6-web、vm8-web以及vm9-web)。此外,VM 130和138可以是应用VM,如由它们的VM名称或标签指示的那样(例如,分别是vm3-app和vm7-app)。最后,VM 134可以是数据库VM,如由VM名称或标签指示的那样(vm5-db)。
不同类型的虚拟交换机(VSA、VSB、VSC)和管理程序(H1至H5)可以是诸如VMWARENSX和思科ACI之类的不同SDN(SDNA、SDNB)的一部分,并且可以执行不同的流量分类和施行机制。例如,托管VSA虚拟交换机和管理程序H1至H3的虚拟主机108至112可以是诸如VMWARENSX之类的第一SDN解决方案SDNA的一部分,并且托管VSB虚拟交换机和管理程序H4至H5的主机114至120可以是诸如思科ACI之类的第二SDN解决方案SDNB的一部分。
不同类型的SDN(即,SDNA、SDNB)可以针对微分段使用不同方法。具体地,不同类型的SDN可以在它们如何执行流量分类和策略施行方面不同。例如,SDN 146至148(SDNA)可以使用控制器122、124来管理流量的分类和策略的施行。主机108至112便可以基于由控制器122至124定义的分类和施行策略来分类流量并且施行策略。因此,类似于VMWARE NSX,SDNA可以针对微分段实施软件驱动的方法,其中在软件层面(例如,主机108至112)处执行分类和施行。
为说明起见,SDN 146可以实施被配置在控制器122处的安全组,以用于管理去往和来自由控制器122管理的主机108至110上运行的VM 126至130的流量。安全组可以是基于VM或流量的类型(例如,web、应用、数据库等)、管理程序或客户操作***的类型、与去往和来自VM 126至130的流量相关联的标记或安全标签等。例如,安全组(SG)可以被实施用于网站流量(例如,http)并且可以包括VM 126、128,这两个VM是web VM并处理web流量。另一SG可以被实施用于应用流量,并且可以包括VM 130,所述VM是处置应用流量的应用VM。控制器122可以定义用于web SG和应用SG的相应策略。因此,主机108、110可以基于VM 126至130的相应分类和由控制器122管理的相应SG所定义的对应策略而将不同策略应用于与VM 126至130相关联的流量。
类似地,SDN 148可以实施被配置在控制器124处的安全组,以用于管理去往和来自在由控制器124管理的主机112上运行的VM 132至134的流量。安全组可以包括例如用于网站流量的SG,并且可以包括VM 132,所述VM是web VM并处理web流量。另一SG可以被实施用于数据库流量,并且可以包括VM 134,所述VM是处置数据库流量的数据库VM。控制器124可以定义用于web SG和数据库SG的相应策略。因此,主机112可以基于VM 132至134的相应分类和由控制器124管理的相应SG所定义的对应策略而将不同策略应用于与VM 132至134相关联的流量。
另一方面,SDN 150(SDNB)可以是不同类型的SDN,诸如思科ACI。与可以使用软件来支持微分段的SDNA(例如,VMWARE NSX)相反,SDNB(SDN 150)可以使用硬件和软件的组合来支持微分段,类似于思科ACI。
例如,SDNB可以使用端点组(EPG)来实施微分段。EPG可以包括共享诸如安全性、QoS、服务等之类的共同策略要求的端点的集合。端点可以是网络100中的虚拟或物理装置,诸如VM 136至140和裸金属服务器118。EPG可以具有各种属性,诸如VM名称、客户OS名称、安全标签等。应用策略可以在EPG之间应用,从而允许针对端点组施行策略,而与针对单独端点相反。在架构102中,叶交换机106可以将传入的流量分类成不同的EPG。这个分类可以是基于网络分段标识符(例如,VLAN ID、VxLAN网络标识符、NVGRE虚拟子网标识符等)或者网络地址(例如,媒体访问控制地址、IP地址等)。
SDNB可以支持针对具体类型的主机或元件(诸如,VSB虚拟交换元件(例如,与主机114至116相关联的H4/VSB和H5/VSB)以及物理主机(例如,主机118))的微分段。对于SDNB中的微分段,属性EPG可以用来根据端点的属性(例如,VM名称、客户OS名称、安全标签等)将端点分组。虚拟交换元件VSB可以基于指定的属性以及具有不同网络分段标识符的不同EPG的标签分组来对流量进行分类。叶交换机106随后可以基于具体网络分段标识符而将分组映射到具体属性EPG。叶交换机106还可以基于与流量相关联的属性EPG而针对流量施行策略。
在不运行虚拟交换元件VSB的物理主机118的情况下,分类和施行可以是基于端点的网络地址(例如,MAC地址、IP地址等)。例如,可以生成网络地址EPG(例如,MAC/IP EPG),其枚举基于物理主机的属性而应被包括在特定EPG中的那些物理主机的网络地址。例如,可以生成网络地址EPG(MAC-EPG-WEB),以包括与web属性相匹配的任何(一个或多个)物理主机(即,名为web的物理主机、运行网站的物理主机、处置web流量的物理主机等)的MAC地址。叶交换机106可以分析与具有web属性的物理主机(例如,web主机118)相关联的流量、将流量分类为属于web属性EPG,并且施行与web属性EPG相关联的任何策略。
例如,叶交换机106可以接收与被标记为web且运行web服务器142的主机118相关联的流量,并且确定主机118被列在MAC-EPG-WEB中,所述MAC-EPG-WEB包含具有web属性的物理主机。叶交换机便可以基于针对MAC-EPG-WEB中的端点定义的策略而针对该流量施行策略。
另一方面,如果叶交换机106接收与虚拟交换元件VSB相关联的流量,那么叶交换机106可以基于虚拟交换元件VSB的流量中所包括的网络分段标识符来确定虚拟交换元件VSB被分配到哪个属性EPG。叶交换机106随后可以基于特定属性EPG来分类流量并且施行针对该特定属性EPG定义的策略。例如,叶交换机106可以接收来自VM 136和H4/VSB的分组。叶交换机106随后可以基于分组中的网络分段标识符对分组进行分类。此处,叶交换机106可以从分组中提取网络分段标识符并且确定哪个属性EPG(例如,web-attribute-EPG)与该特定网络分段标识符相关联。因此,基于分组中的网络分段标识符,叶交换机106可以确定它与属于web属性EPG(即,web-attribute-EPG)的端点相关联。叶交换机106随后可以向分组应用针对与web属性EPG相关联的流量定义的策略。
不同的SDN解决方案(例如,SDNA和SDNB)可以彼此不兼容。这可能至少部分是因为SDN解决方案利用不同的分类和施行方法。因此,网络100中的在不同SDN和/或SDN解决方案之间流动的东西流量可能并不完全支持微分段。例如,针对SDNB中的EPG(诸如,web-attribute-EPG)定义的策略可能不被SDNA中的装置识别或施行。例如,针对SDNA中的SG(诸如,SG-web)定义的策略可能不被SDNB中的装置识别或施行。
实际上,在一些情况下,实施单个SDN解决方案的网络100的一部分内的东西流量可能并不完全支持微分段。例如,尽管两个SDN 146和SDN 148实施相同的SDN解决方案SDNA,但在SDN 146与SDN 148之间流动的流量可能并不完全支持微分段。具体地,由于SDN146和SDN 148由不同的控制器(控制器122和124)实施或管理,因此,在两个SDN 146、148处的端点之间的流量可能并不完全支持微分段。例如,由控制器122定义或管理的SG和相应策略可能对SDN 148中的端点和装置不可见,并且由控制器124定义或管理的SG和相应策略可能对SDN 146中的端点和装置不可见。因此,网络100可能不能针对两个SDN 146、148中的端点之间的流量施行策略。
为说明起见,考虑针对控制器124处的安全组定义的策略,其中安全组对应于web端点(例如,SG-web)。在这个实例中,策略可以要求仅在web端点之间允许web流量(例如,http流量),并且如果流向不在web安全组中的端点或从不在web安全组中的端点中流出的话,则该流量被阻止或丢弃。还考虑这样的情况:主机112上的VM4-web将分组发送到主机110上的VM2-web和VM3-app。VM4-web被分配到由控制器124定义的web安全组SG-web。因此,去往和来自VM4-web的流量应根据针对由控制器124定义的web安全组而定义的策略来处理。因此,在这个实例中,基于针对控制器124中的web安全组定义的策略,应允许从VM4-web到VM2-web的分组,而应阻止或丢弃从VM4-web到VM3-app的分组。然而,由于控制器122和SDN 146不可见控制器124中的安全组,并且控制器124和SDN 148不可见控制器122中的安全组,因此可以相同地处理到主机110上的VM2-web和VM3-app的流量。换言之,例如,将允许或阻止到VM2-web和VM3-app的分组。
此外,SDNA与物理主机(例如,主机118和web服务器142)之间或者SDNA与不与SDNA相关联的不同类型的管理程序或虚拟交换元件(诸如,主机120上的H7和虚拟交换元件VSC)之间的流量可能并不完全支持微分段。事实上,在一些情况下,只有由与SDNA相关联的特定控制器管理的端点与由与SDNA相关联的同一特定控制器管理的另一端点之间的流量才可以支持针对SDNA的微分段。
为了支持异构网络100中的跨不同SDN、端点、管理程序、虚拟交换元件、虚拟化环境等的微分段,用于分类和施行的方法可以被如下适配。
首先,对于SDNB中的每个属性EPG,可以基于属性EPG中指定的(一个或多个)属性而在SDN 146、148上的每个控制器122、124处创建对应的安全组。例如,SDNB处的属性EPGattr-epg-web可以包括web VM。web VM可以指的是例如具有包括字符串“web”的名称的VM。相应地,可以在控制器122处创建安全组sg-web1,所述安全组包括在主机108、110上运行的具有包含字符串“web”的名称的所有VM(例如,vm1-web 126和vm2-web 128)。类似地,可以在控制器124处创建安全组sg-web2,所述安全组包括在主机112上运行的具有包含字符串“web”的名称的所有VM(例如,vm4-web 132)。
作为另一实例,SDNB处的另一属性EPG attr-epg-app可以包括应用VM。应用VM可以指的是例如具有包括字符串“app”的名称的VM。相应地,可以在控制器122处创建安全组sg-app1,所述安全组包括在主机108、110上运行的具有包含字符串“app”的名称的所有VM(例如,vm3-app 130)。类似地,可以在控制器124处创建安全组sg-app2,所述安全组包括在主机112上运行的具有包含字符串“web”的名称的所有VM。
针对在控制器122、124处创建的每个安全组,随后可以创建一组策略(例如,分布式防火墙规则、施行策略等)。针对每个安全组的一组策略可以与和SDNB中的对应EPG相关联的策略(例如,合约、施行策略等)相匹配或成镜像。例如,SDNB可以具有针对诸如attr-epg-web之类的特定EPG定义的一组策略,所述特定EPG可以是包含在它们的名称中具有字符串“web”的端点的SDNB上的EPG。因此,针对控制器122、124中的web安全组(即,包含vm1-web 126和vm2-web 128的sg-web1;以及包含vm4-web 132的sg-web2),可以定义与针对SDNB上的对应web EPG attr-epg-web创建的策略相匹配或成镜像的一组策略。
例如,考虑针对web EPG attr-epg-web在SDNB上定义的策略,所述策略提供应阻止在attr-epg-web中的端点与SDNB上的应用EPG中的端点之间的http流量。可以针对控制器122、124上的SDNA创建匹配或镜像的策略,从而表明应阻止sg-web1与sg-app1之间以及sg-web2与sg-app2之间的http流量。由于控制器122、124上的安全组sg-web1和sg-web2是SDNB上的web EPG attr-epg-web的对等SDNA,那么针对SDNB上的attr-epg-web定义的策略应与针对sg-web1和sg-web2在控制器122、124上定义的策略相匹配。
接下来,可以创建与SDNA上的每个安全组和/或SDNB上的每个属性EPG相对应的相应网络地址EPG(例如,MAC EPG、IP EPG等)。相应网络地址EPG可以包括作为对应安全组的成员的端点(例如,VM)的网络地址(诸如MAC地址),所述网络地址对应于SDNB上的属性EPG。例如,可以创建对应于attr-epg-web的MAC EPG mac-epg-web,其包括在控制器122上的安全组sg-web1和控制器124上的sg-web2中所包括的VM。因此,mac-epg-web可以包括来自sg-web1和sg-web2的vm1-web、vm2-web以及vm4-web。
每个相应网络地址EPG可以继承针对与相应网络地址EPG相对应的SDNB上的特定属性EPG定义的策略。例如,考虑SDNB中的策略,所述策略提供应不允许或阻止EPG attr-epg-app与attr-epg-web之间的http流量。因此,通过继承,也应不准许或阻止mac-epg-app与mac-epg-web之间的任何http流量。
通过遵循这些步骤,可以跨异构网络100来执行微分段。流量可以跨不同SDN、管理程序、虚拟交换元件等进行分类并且施行策略。例如,通过将SDNA中的VM 126至134分类到安全组,叶交换机106可以使用网络地址EPG(例如,MAC EPG)以区分来自在SDNA中的VSA上运行的VM的流量,并且随后基于继承而应用与来自SDNB的对应属性EPG相同的策略。
为说明起见,考虑针对web EPG attr-epg-web和数据库EPG attr-epg-db在SDNB中定义的策略,所述策略提供应只在作为web EPG attr-epg-web的成员的VM之间允许http流量。如上文论述的网络100的微分段将导致从vm1-web 126到vm4-web 132的http流量与叶1上的MAC EPG mac-epg-web相关联。因此,基于从SDNB上的对等属性EPG attr-epg-web继承的策略,该http流量将在硬件中被允许。另一方面,从vm1-web 126到vm5-db 134的http流量将与web MAC EPG mac-epg-web和数据库MAC EPG mac-epg-db相关联,并且因此基于从SDNB上的对等属性EPG attr-epg-web和attr-epg-db继承的相关策略该http流量应在硬件中被阻止。
EPG、SG和策略可以通过手动配置、带外自动化和带内自动化来进行配置。
手动配置
管理员或用户可以配置SDNA中的安全组和安全组策略以及SDNB中的属性EPG。用户随后可以在安全组中的每一者中获取VM的网络地址(例如,MAC地址)并且通过枚举所获取的VM网络地址来配置MAC EPG。用户随后可以在出现VM变化时更新网络地址EPG。例如,新的VM接通电源并且落入安全组中的一者中。用户随后可以更新网络地址安全组来添加新VM的网络地址。
带外自动化
一旦用户在SDNB中配置属性EPG和策略,控制器152(例如,应用策略基础设施控制器)便可以通过与控制器122至124相关联的API来创建SDNA中的安全组和策略。例如,如果SDNA是基于VMWARE NSX并且控制器122至124是NSX管理器,那么控制器152便可以通过NSX管理器REST API来创建安全组和策略。
一旦控制器152创建了安全组和策略,那么它便可以通过API(例如,NSX管理器REST API)来获取每安全组的成员VM,并且基于所获取的网络地址来自动创建网络地址EPG(例如,MAC EPG)。控制器152可以通过监控安全组成员关系来动态地更新网络地址EPG。
带内自动化
在这个实例中,可以通过手动配置或带外自动化来生成安全组和用于安全组的策略。然而,当创建网络地址EPG时,这个机制可以通过诸如VDP(虚拟站接口发现与配置协议)之类的第一跳协议来获得安全组VM成员关系。在这个实例中,可以创建新的VDP VM安全组TLV来传送与VM相关联的安全组。TLV值可以包括安全组的列表。当VM接通电源并且加入安全组时,它可以经由VDP来告知它的连接的叶交换机106。因此,网络地址EPG可以基于VDP信息进行更新。
图2示出被配置成用于网络100中的微分段的安全组(SG)和端点组(EPG)的示例列表200。列表200可以包括属性EPG 202至204、安全组206至216,以及MAC EPG 218至222。
属性EPG 202至204(即,attr-epg-app和attx-epg-web)可以包括驻留在主机114至116和120上的与SDNB相关联的VM 136至140和144。具体地,attr-epg-app 202可以包括来自主机116的vm7-app 138,并且attr-epg-web 204可以包括来自主机116的vm6-web136、vm8-web 140以及来自主机120的vm9-web 144。
安全组206至216(即,sg-app1、sg-db1、sg-web1、sg-app2、sg-db2、sg-web2)可以包括驻留在主机108至112上的与SDNA相关联的VM 126至134。sg-app1 206可以包括来自主机110的vm3-app 130。sg-db1 208和sg-app2 212可以是空值224。sg-web1 210可以包括主机108上的vm1-web 126和主机110上的vm2-web 128。sg-db2 214可以包括主机112上的vm5-db 134,并且sg-web2 216可以包括主机112上的vm4-web 132。
MAC EPG 218至222(即,mac-epg-web、mac-epg-app、mac-epg-db)可以包括VM126、128、130、132、134以及web服务器142。例如,mac-epg-app 218可以包括主机110上的vm3-app 130。mac-epg-db 220可以包括主机112上的vm5-db 134。最后,mac-epg-web 222可以包括主机108上的vm1-web 126、主机110上的vm2-web 128、主机112上的vm4-web 132,以及物理主机118上的web服务器142。
已经公开了一些基本***部件和概念之后,本公开现在转到图3所示的示例性方法实施例。为清楚起见,依据被配置成实践方法的控制器152(如图1所示)来描述该方法。本文中概述的步骤是示例性的并且可以以其任何组合来实施,包括排除、添加或修改某些步骤的组合。
在步骤300处,控制器152可以基于与相应端点组相关联的相应属性(例如,名称、标记、客户OS名称、安全标签等)而将网络100中的第一组端点(例如,VM 136至140)中的每一者分类到相应端点组中(例如,attr-epg-web、attx-epg-app、attr-epg-db)。第一组端点可以与第一类型的虚拟化环境(例如,SDNB、VSB等)相关联。虚拟化环境可以包括SDN环境、一种类型的管理程序、一种类型的虚拟主机、一种类型的虚拟交换装置等。
在步骤302处,控制器152可以针对相应端点组(例如,attr-epg-web、attr-epg-app、attr-epg-db)来定义相应策略模型,所述相应策略模型包括用于处理相关联网络流量的一个或多个规则。例如,相应策略模型可以定义哪种类型的流量应被允许、阻止、丢弃、优先、过滤等。为说明起见,策略模型可以定义提供哪些类型的端点、VM或EPG可以与相应端点组中的那些端点通信的规则。
在步骤304处,控制器152可以识别与第二类型的虚拟化环境(例如,SDNA、VSA等)相关联的第二组端点(例如,VM 126至134),所述第二类型的虚拟化环境不同于第一类型的虚拟化环境。在步骤306处,控制器152可以创建包括第二组端点中的每一者的安全组(例如,sg-web1、sg-app1、sg-db1、sg-web2、sg-app2、sg-db2)。来自安全组的每个相应安全组可以对应于来自步骤300的相应端点组。此外,第二组端点中的每一者可以基于相应属性(例如,名称、标记、客户OS名称、安全标签等)而被包括在相应安全组中。
在步骤308处,控制器152可以针对每个相应安全组来定义相应策略模型,所述相应策略模型包括与跟相应属性EPG相关联的相应策略模型相关联的一个或多个规则。例如,在步骤302处针对属性EPG创建的策略或规则可以是针对来自步骤308的对等安全组定义的。
为说明起见,假设在步骤300处创建了web EPG attr-epg-web以包括与第一虚拟化环境相关联的在它们的名称中包括字符串“web”的VM 136和140。假设在步骤302处定义了用于web EPG的策略,所述策略提供http流量只可以被发送到其他web VM(例如,attr-epg-web中的VM)或被从其他web VM接收。还假设在步骤306处创建了作为attx-epg-web的对等方的web安全组,以用于包括与第二虚拟化环境相关联的类似地在它们的名称中包括字符串“web”的VM 126、128。随后,在步骤308处,针对web安全组定义的策略或规则可以与在步骤302处针对attr-epg-web定义的策略或规则相匹配或成镜像。因此,类似于来自这个实例中的步骤302的提供http流量只可以被发送到其他web VM或被从其他web VM接收的策略或规则,针对web安全组定义的策略或规则也可以提供http流量只可以被发送到其他webVM(例如,web安全组中的VM)或被从其他web VM接收。
在步骤310处,控制器152可以生成枚举了相应安全组(例如,sg-web1、sg-app1、sg-dbl、sg-web2、sg-app2、sg-db2)中的每个端点的相应网络地址的相应网络属性端点组(例如,mac-epg-web、mac-epg-app、mac-epg-db)。相应网络属性端点组还可以枚举网络100中的其他端点的网络地址,该其他端点可以与跟相应属性EPG相关联的特定属性相匹配并且不是相应属性EPG或相应安全组的一部分(例如,web 142)。
例如,可以创建mac-epg-web以包括web安全组sg-web1和sg-web2中的那些VM(例如,vm1-web 126、vm2-web 128、vm4-web 132)以及与属性“web”相匹配且不被包括在相应属性EPG或安全组中的任何其他端点(例如,web 142)。这可以允许叶路由器106对并不是SDNB或裸金属主机的一部分的网络100中的端点进行识别或分类,并且基于MAC EPG中的它们的成员关系将具体策略应用于这些端点,如下文进一步描述。
在步骤312处,控制器152可以针对相应网络属性端点组来定义相应策略模型。相应策略模型可以包括从相应属性EPG的相应策略模型继承的一个或多个规则或策略。例如,web网络地址EPG mac-epg-web可以继承针对web属性EPG attr-epg-web定义的规则或策略。因此,网络100中的叶交换机106能够将针对相应属性EPG定义的那些策略施行于与对等网络地址EPG(例如,MAC EPG)相关联的流量。
步骤300至312在本文中描述为由控制器152执行。然而,这仅仅是提供用于说明目的和清楚描述的一个非限制性实例。实际上,本领域的一般技术人员将认识到,步骤300至312中的一个或多个可以由一个或多个其他装置执行,诸如,网络100中的叶106、网络100中的不同服务器或控制器(例如,ACI控制器或应用策略基础设施控制器)、网络100中的主机(例如,主机108至120)、架构102中的装置,或者任何其他物理和/或虚拟装置或端点。此外,步骤300至312中的一个或多个可以使用手动配置、带外配置和/或带内配置来执行,如先前描述。
图4示出适合于高可用性和故障转移的示例网络装置410。网络装置410包括主中央处理单元(CPU)462、接口468以及总线415(例如,PCI总线)。当在适当软件或固件的控制下起作用时,CPU 462负责执行分组管理、错误检测和/或路由功能。CPU 462优选地在软件(包括操作***和任何适当应用软件)的控制下完成所有这些功能。CPU 462可以包括一个或多个处理器463,诸如来自Motorola系列微处理器或MIPS系列微处理器的处理器。在替代实施例中,处理器463是用于控制路由器410的操作的专门设计的硬件。在具体实施例中,存储器461(诸如,非易失性RAM和/或ROM)也形成CPU 462的一部分。然而,存储器能够以很多不同的方式耦合到***。
接口468通常被提供成接口卡(有时被称为“线卡”)。通常,它们控制数据分组通过网络的发送和接收,并且有时支持与路由器410一起使用的其他***装置。可以提供的其他接口是以太网接口、帧中继接口、电缆接口、DSL接口、令牌环接口等。此外,可以提供各种极高速接口,诸如,快速令牌环接口、无线接口、以太网接口、千兆以太网接口、ATM接口、HSSI接口、POS接口、FDDI接口等。通常,这些接口可以包括适合于与适当介质通信的端口。在一些情况下,它们还可以包括独立处理器,并且在一些情况下包括易失性RAM。独立处理器可以控制诸如分组交换、媒体控制和管理等之类的通信密集型任务。通过为通信密集型任务提供单独的处理器,这些接口允许主微处理器462有效地执行路由计算、网络诊断、安全功能等。
尽管图4中示出的***是本发明的一个具体网络装置,但它绝不是可以实施本发明的唯一网络装置架构。例如,经常使用具有处置通信以及路由计算等的单个处理器的结构。此外,其他类型的接口和介质也可以与路由器一起使用。
不论网络装置的配置如何,它都可以采用被配置成存储用于通用网络操作的程序指令以及用于漫游、路由优化和本文所述的路由功能的机制的一个或多个存储器或存储器模块(包括存储器461)。程序指令可以控制例如操作***和/或一个或多个应用的操作。一个或多个存储器还可以被配置成存储表(诸如,移动绑定、注册和关联表等)。
图5A和图5B示出示例***实施例。在实践本技术时,本领域的一般技术人员将明白更多合适的实施例。本领域的一般技术人员还将易于了解,其他***实施例是可能的。
图5A示出传统***总线计算***架构500,其中***的部件使用总线505与彼此电通信。示例性***500包括处理单元(CPU或处理器)510和***总线505,所述***总线将包括诸如只读存储器(ROM)520和随机存取存储器(RAM)525之类的***存储器515的各种***部件耦合到处理器510。***500可以包括高速存储器的高速缓存,所述高速缓存与处理器510直接连接、连接在其附近或者集成为其一部分。***500可以将数据从存储器515和/或存储装置530复制到高速缓存512,以便由处理器510快速访问。通过这种方式,高速缓存可以提供避免在等待数据时的处理器510延迟的性能提升。这些和其他模块可以控制或被配置成控制处理器510来执行各种动作。其他***存储器515也可供使用。存储器515可以包括具有不同性能特性的多个不同类型的存储器。处理器510可以包括任何通用处理器和硬件模块或软件模块(诸如,存储在存储装置530中的模块1 532、模块2 534以及模块3 536),这些模块被配置成控制处理器510以及专用处理器,其中软件指令被合并到实际处理器设计中。处理器510可以基本上是包含多个核或处理器、总线、存储器控制器、高速缓存等的完全独立式计算***。多核处理器可以是对称或不对称的。
为了实现与计算装置500的用户交互,输入装置545可以代表任何数量的输入机构,诸如,用于语音的麦克风、用于手势或图形输入的触敏屏、键盘、鼠标、运动输入、语音等。输出装置535也可以是本领域的技术人员已知的许多输出机构中的一者或多者。在一些情况下,多模式***可以使得用户能够提供多种类型的输入来与计算机装置500通信。通信接口540可以通常支配和管理用户输入和***输出。对于在任何特定硬件布置上的操作并没有限制,因此这里的基本特征可以容易随着改进硬件或固件布置被开发出来而被它们替代。
存储装置530是非易失性存储器,并且可以是硬盘或者可以存储可由计算机访问的数据的其他类型的计算机可读介质,诸如磁带盒、闪存卡、固态存储装置、数字多功能盘、盒式磁带、随机存取存储器(RAM)525、只读存储器(ROM)520以及它们的混合物。
存储装置530可以包括用于控制处理器510的软件模块532、534、536。预期其他硬件或软件模块。存储装置530可以连接到***总线505。在一方面,执行特定功能的硬件模块可以包括存储在与诸如处理器510、总线505、显示器535等之类的必要硬件部件连接的计算机可读介质中的软件部件,以执行功能。
图5B示出具有芯片组架构的示例计算机***550,其可以用于执行所描述的方法并且生成并显示图形用户界面(GUI)。计算机***550是可以用来实施所公开的技术的计算机硬件、软件和固件的实例。***550可以包括处理器555,所述处理器代表能够执行被配置成执行所识别的计算的软件、固件和硬件的任何数量的物理和/或逻辑上不同的资源。处理器555可以与芯片组560通信,所述芯片组可以控制进入处理器555的输入和来自处理器555的输出。在这个实例中,芯片组560将信息输出到诸如显示器之类的输出装置565,并且可以读取信息并将信息写入存储装置570,所述存储装置例如可以包括磁性介质和固态介质。芯片组560还可以从RAM 575读取数据并向其写入数据。用于与多种用户接口部件555相连的桥550可以被提供用于与芯片组560相连。此类用户接口部件555可以包括键盘、麦克风、触摸检测与处理电路、诸如鼠标的指示装置等等。通常,对***550的输入可以来自机器生成和/或人工生成的多种源中的任一者。
芯片组560还能够与可以具有不同物理接口的一个或多个通信接口590相连。此类通信接口可以包括用于有线和无线局域网、宽带无线网以及个人局域网的接口。用于生成、显示和使用本文中公开的GUI的方法的一些应用可以包括通过物理接口接收有序命令集或者可以通过由处理器555分析存储在存储装置570或575中的数据来由机器本身生成。此外,机器可以经由用户接口部件555接收来自用户的输入并且通过使用处理器555解译这些输入来执行适当的功能,诸如浏览功能。
应理解,示例***500和550可以具有不止一个处理器510或者可以是联网在一起以提供更大处理能力的计算装置的群组或集群的一部分。
为清楚地说明,在一些情况下,本技术可以被呈现为包括单独功能块,包括包含体现在软件或者硬件和软件的组合中的方法中的装置、装置部件、步骤或者例程的功能块。
在一些实施例中,计算机可读存储装置、介质和存储器可以包括包含位流等的电缆或无线信号。
总之,在一些实施例中,异构软件定义网络中的微分段可以通过以下操作来执行:基于相应属性将与第一虚拟化环境相关联的端点分类到相应端点组中并且基于相应属性将与第二虚拟化环境相关联的端点分类到相应安全组中。每个相应端点组可以对应于具有相同属性的相应安全组。每个相应端点组和对应的安全组可以与定义用于处理相关联流量的规则的相应策略模型相关联。相应安全组中的每一者可以用来生成相应网络属性端点组,其可以包括相应安全组中的那些端点的网络地址。每个相应网络属性端点组可以继承与相应安全组相对应的相应端点组的策略模型。端点之间的流量随后可以基于各种分类和相关联规则被处理。
根据上述示例的方法可以使用所存储的或以其他方式可从计算机可读介质中获取的计算机可执行指令来实施。此类指令可以包括例如致使或以其他方式将通用计算机、专用计算机或专用处理装置配置成执行某一功能或功能组的指令和数据。所使用的计算机资源的部分可以通过网络来访问。计算机可执行指令可以是例如二进制、中间格式指令(诸如汇编语言、固件或者源代码)。可以用来存储指令、所使用的信息和/或在根据所述实例的方法期间创建的信息的计算机可读介质的实例包括磁盘或光盘、闪存、具备非易失性存储器的USB装置、联网的存储装置等等。
实施根据这些公开内容的方法的装置可以包括硬件、固件和/或软件,并且可以采用多种形状因子中的任一种。此类形状因子的典型实例包括膝上型计算机、智能电话、小形状因子个人计算机、个人数字助理、机架式装置、独立式装置等等。本文中描述的功能还可以体现在***装置和内插卡中。通过又一实例,此类功能还可以实施于在单个装置中执行的不同芯片或不同进程之中的电路板上。
指令、用于传送此类指令的介质、用于执行指令的计算资源以及用于支持此类计算资源的其他结构是用于提供这些公开内容中描述的功能的方式。
尽管使用多种实例和其他信息来说明所附权利要求书的范围内的方面,但不应基于此类实例中的特定特征或布置来暗示对权利要求书的限制,因为一般技术人员将能够使用这些实例来得出广泛的多种实施方式。另外且尽管可能已经用特定于结构特征和/或方法步骤的实例的语言描述了一些主题,但应理解,所附权利要求书中定义的主体不必限于这些描述的特征或动作。例如,此类功能可以不同地分布在除了本文中识别的那些部件之外的部件中或者在其中执行。相反,所描述的特征和步骤被公开为在所附权利要求书的范围内的***和方法的步骤的实例。
此外,叙述一组中的“至少一者”的权利要求语言表明该组中的一个成员或该组中的多个成员满足该项权利要求。例如,叙述“A和B中的至少一者”的权利要求语言可以仅包括A、仅包括B或者包括A和B。

Claims (23)

1.一种用于网络通信的方法,包括:
基于与相应端点组相关联的相应属性来将网络中的第一多个端点中的每一者分类到所述相应端点组中,其中所述第一多个端点与第一类型的虚拟化环境相关联;
针对所述相应端点组来定义第一相应策略模型,所述第一相应策略模型包括用于处理相关联网络流量的一个或多个规则;
识别与第二类型的虚拟化环境相关联的第二多个端点,所述第二类型的虚拟化环境不同于所述第一类型的虚拟化环境;
将所述第二多个端点中的每一者与相应安全组相关联,其中所述相应安全组对应于所述相应端点组,并且其中所述第二多个端点中的每一者基于所述相应属性而与所述相应安全组相关联;
针对所述相应安全组来定义第二相应策略模型,所述第二相应策略模型包括与所述第一相应策略模型相关联的所述一个或多个规则;
生成相应网络属性端点组,所述相应网络属性端点组枚举了所述相应安全组中的每个端点的相应网络地址;以及
针对所述相应网络属性端点组来定义第三相应策略模型,其中所述第三相应策略模型从所述第一相应策略模型继承所述一个或多个规则。
2.根据权利要求1所述的方法,其中,所述相应网络地址包括媒体访问控制地址和互联网协议地址中的至少一者,并且其中生成所述相应网络属性端点组包括:
从所述第二多个端点中识别具有与所述相应端点组相关联的所述相应属性的一个或多个端点;以及
将所述一个或多个端点分配到所述相应网络属性端点组。
3.根据权利要求1或2所述的方法,其中,所述第一类型的虚拟化环境包括第一类型的管理程序、第一类型的虚拟机以及第一类型的虚拟交换元件中的至少一者;并且其中所述第二类型的虚拟化环境包括第二类型的管理程序、第二类型的虚拟机以及第二类型的虚拟交换元件中的至少一者。
4.根据权利要求1或2所述的方法,其中,与所述相应端点组相关联的所述相应属性包括以下各项中的至少一者:虚拟机名称、相关联端点的客户操作***、以及所述相关联端点的安全标签。
5.根据权利要求1或2所述的方法,还包括:
经由所述网络上的网络装置接收来自与所述第二类型的虚拟化环境相关联的端点的分组;
基于所述端点的所述相应网络地址,确定哪个相应网络属性端点组与所述端点相关联,以产生网络属性端点组确定;以及
基于所述网络属性端点组确定,将来自所述第一相应策略模型的所述一个或多个规则应用于所述分组。
6.根据权利要求1或2所述的方法,其中,与所述第二多个端点中的每一者相关联的所述相应安全组和所述第二相应策略模型对所述第一多个端点不可见,并且其中所述相应端点组和所述第一相应策略模型对所述第二多个端点不可见。
7.根据权利要求1或2所述的方法,还包括:
经由所述网络上的网络装置接收来自所述网络中的端点的分组;
基于与所述分组相关联的网络分段标识符而将所述分组与所述相应端点组相关联。
8.根据权利要求7所述的方法,其中,所述网络分段标识符包括以下各项中的至少一者:虚拟局域网标识符、虚拟可扩展局域网标识符,以及使用通用路由封装的网络虚拟化(NVGRE)虚拟子网标识符。
9.根据权利要求1或2所述的方法,其中,所述第一类型的虚拟化环境被配置成用不同网络分段标识符对来自不同端点组的分组进行标记,所述不同网络分段标识符中的每一者对应于不同端点组,并且其中接收网络装置被配置成基于所述不同网络分段标识符而将所述分组与所述不同端点组相关联并且基于所述不同端点组中的哪些与所述分组相关联来将相应策略规则应用于所述分组。
10.根据权利要求9所述的方法,还包括:
经由所述接收网络装置来接收来自所述第二多个端点的与端点相关联的分组;
识别与所述端点相关联的网络地址;
将所述网络地址与跟所述相应网络属性端点组相关联的一个或多个地址进行比较;
确定所述端点在所述相应网络属性端点组中;以及
基于所述端点在所述相应网络属性端点组中,向所述分组应用一个或多个规则,所述一个或多个规则是由所述第三相应策略模型从所述第一相应策略模型继承的。
11.根据权利要求10所述的方法,其中,所述第一类型的虚拟化环境被配置成用不同的相应网络分段标识符对来自不同端点组的分组进行标记,并且其中所述第二类型的虚拟化环境被配置成用相同的网络分段标识符对来自不同安全组的分组进行标记。
12.根据权利要求1或2所述的方法,还包括:
识别所述网络中的物理端点;
确定所述物理端点的属性;
基于所述属性,从多个相应网络属性端点组中识别与所述属性相关联的所述相应网络属性端点组;以及
将所述物理端点的网络地址分配到所述相应网络属性端点组;
接收与所述物理端点相关联的分组;以及
向所述分组应用与所述相应网络属性端点组相关联的一个或多个规则。
13.一种用于网络通信的***,其包括:
一个或多个处理器;以及
一个或多个计算机可读存储装置,其中存储有指令,所述指令在被所述一个或多个处理器执行时致使所述一个或多个处理器执行操作,所述操作包括:
将网络中的第一多个端点中的每一者分类到多个端点组中的相应端点组,所述第一多个端点中的每一者基于共同的第一相应属性而被分类到所述相应端点组中,其中所述第一多个端点与第一类型的主机相关联;
针对所述相应端点组来定义第一相应策略模型,所述第一相应策略模型包括用于处理相关联网络流量的一个或多个规则;
识别与第二类型的主机相关联的第二多个端点,所述第二类型的主机不同于所述第一类型的主机;
将所述第二多个端点中的每一者与多个安全组中的相应安全组相关联,其中所述第二多个端点中的每一者基于共同的第二相应属性而被分配到所述相应安全组,其中所述第二相应属性与所述第一相应属性相匹配;
针对所述相应安全组来定义第二相应策略模型,所述第二相应策略模型包括与所述第一相应策略模型相关联的所述一个或多个规则;以及
生成相应网络属性端点组,所述相应网络属性端点组包括所述相应安全组中的每个端点的相应网络地址,其中所述相应网络属性端点组被配置成从所述第一相应策略模型继承所述一个或多个规则。
14.根据权利要求13所述的***,所述一个或多个计算机可读存储装置存储额外的指令,所述指令在被所述一个或多个处理器执行时致使所述一个或多个处理器执行操作,所述操作包括:
接收分组,其中所述分组的源是与所述第一类型的主机相关联的第一端点,并且所述分组的目的地是与所述第二类型的主机相关联的第二端点;
基于所述第二端点的相应网络地址,确定哪个相应网络属性端点组与所述第二端点相关联,以产生网络属性端点组确定;
基于所述网络属性端点组确定,识别用于处理所述分组的规则,所述规则是由与所述第二端点相关联的所述相应网络属性端点组从与所述相应网络属性端点组相关联的端点组继承的,所述相应网络属性端点组和所述端点组是基于相同属性的;以及
基于所述规则来处理所述分组。
15.根据权利要求13或14所述的***,其中,所述相应网络地址包括媒体访问控制地址和互联网协议地址中的至少一者,并且其中生成所述相应网络属性端点组包括:
从所述第二多个端点中识别具有与所述相应端点组相关联的所述相应属性的一个或多个端点;以及
将所述一个或多个端点的网络地址分配到所述相应网络属性端点组。
16.根据权利要求13或14所述的***,所述一个或多个规则包括以下各项中的至少一者:
用于阻止在以下各项中的至少两者之间的流量的第一指令:来自所述多个端点组的第一端点组、来自所述多个安全组的第一安全组,以及来自多个网络属性端点组的第一网络属性端点组;以及
用于接受在以下各项中的至少两者之间的流量的第二指令:来自所述多个端点组的第二端点组、来自所述多个安全组的第二安全组、以及来自多个网络属性端点组的第二网络属性端点组。
17.一种非暂态计算机可读存储介质,其中存储有指令,所述指令在被处理器执行时致使所述处理器执行操作,所述操作包括:
由网络中的网络装置接收待由所述网络装置处理的分组,其中所述分组的源是与第一类型的虚拟化环境相关联的第一端点,并且所述分组的目的地是与第二类型的虚拟化环境相关联的第二端点;
确定所述第一端点被分配到所述网络中的端点组以产生第一确定,所述端点组包括与所述第一类型的虚拟化环境相关联并且具有共同的第一属性的端点,其中所述端点组与第一策略模型相关联,所述第一策略模型定义针对与所述端点组相关联的流量的一个或多个规则;
确定所述第二端点与网络属性端点组相关联以产生第二确定,所述网络属性端点组包括与所述网络中的安全组相关联的端点的相应网络地址,其中所述安全组中的所述端点与所述第二类型的虚拟化环境相关联并且具有共同的第二属性,其中所述网络属性端点组被配置成继承针对与所述端点组相关联的流量的所述一个或多个规则;
基于所述第一确定和所述第二确定,向所述分组应用所述一个或多个规则;以及
基于所述一个或多个规则来处理所述分组。
18.根据权利要求17所述的非暂态计算机可读存储介质,其中所述第一类型的虚拟化环境包括第一类型的管理程序和第一类型的虚拟交换元件。
19.根据权利要求17或18所述的非暂态计算机可读存储介质,其中处理所述分组包括当所述第一属性与所述第二属性相匹配并且所述端点组对应于所述安全组时转发或接受所述分组,并且其中处理所述分组包括当所述第一属性不同于所述第二属性并且所述端点组不对应于所述安全组时丢弃所述分组。
20.根据权利要求17或18所述的非暂态计算机可读存储介质,所述一个或多个规则包括以下各项中的至少一者:
用于阻止在第一端点组、第一安全组以及第一网络属性端点组中的至少两者之间的流量的第一指令;以及
用于接受在第二端点组、第二安全组以及第二网络属性端点组中的至少两者之间的流量的第二指令。
21.一种用于网络通信的设备,其包括:
用于基于与相应端点组相关联的相应属性来将网络中的第一多个端点中的每一者分类到所述相应端点组中的装置,其中所述第一多个端点与第一类型的虚拟化环境相关联;
用于针对所述相应端点组来定义第一相应策略模型的装置,所述第一相应策略模型包括用于处理相关联网络流量的一个或多个规则;
用于识别与第二类型的虚拟化环境相关联的第二多个端点的装置,所述第二类型的虚拟化环境不同于所述第一类型的虚拟化环境;
用于将所述第二多个端点中的每一者与相应安全组相关联的装置,其中所述相应安全组对应于所述相应端点组,并且其中所述第二多个端点中的每一者基于所述相应属性而与所述相应安全组相关联;
用于针对所述相应安全组来定义第二相应策略模型的装置,所述第二相应策略模型包括与所述第一相应策略模型相关联的所述一个或多个规则;
用于生成枚举了所述相应安全组中的每个端点的相应网络地址的相应网络属性端点组的装置;以及
用于针对所述相应网络属性端点组来定义第三相应策略模型的装置,其中所述第三相应策略模型从所述第一相应策略模型继承所述一个或多个规则。
22.一种用于网络通信的设备,包括用于实施根据权利要求1至12中任一项所述的方法的装置。
23.一种有形计算机可读介质,包括指令,所述指令用于实施根据权利要求1至12中任一项所述的方法。
CN201780025777.5A 2016-05-19 2017-05-18 异构软件定义网络环境中的微分段 Active CN109076028B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/159,379 US10171507B2 (en) 2016-05-19 2016-05-19 Microsegmentation in heterogeneous software defined networking environments
US15/159,379 2016-05-19
PCT/US2017/033297 WO2017201264A1 (en) 2016-05-19 2017-05-18 Microsegmentation in heterogeneous software defined networking environments

Publications (2)

Publication Number Publication Date
CN109076028A CN109076028A (zh) 2018-12-21
CN109076028B true CN109076028B (zh) 2021-06-18

Family

ID=58993210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780025777.5A Active CN109076028B (zh) 2016-05-19 2017-05-18 异构软件定义网络环境中的微分段

Country Status (4)

Country Link
US (1) US10171507B2 (zh)
EP (1) EP3459215B1 (zh)
CN (1) CN109076028B (zh)
WO (1) WO2017201264A1 (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9755963B2 (en) 2013-07-09 2017-09-05 Nicira, Inc. Using headerspace analysis to identify flow entry reachability
US10091238B2 (en) 2014-02-11 2018-10-02 Varmour Networks, Inc. Deception using distributed threat detection
US10264025B2 (en) * 2016-06-24 2019-04-16 Varmour Networks, Inc. Security policy generation for virtualization, bare-metal server, and cloud computing environments
US10193929B2 (en) 2015-03-13 2019-01-29 Varmour Networks, Inc. Methods and systems for improving analytics in distributed networks
US9380027B1 (en) 2015-03-30 2016-06-28 Varmour Networks, Inc. Conditional declarative policies
US10009381B2 (en) 2015-03-30 2018-06-26 Varmour Networks, Inc. System and method for threat-driven security policy controls
US10044676B2 (en) 2015-04-03 2018-08-07 Nicira, Inc. Using headerspace analysis to identify unneeded distributed firewall rules
US10191758B2 (en) 2015-12-09 2019-01-29 Varmour Networks, Inc. Directing data traffic between intra-server virtual machines
US9680852B1 (en) 2016-01-29 2017-06-13 Varmour Networks, Inc. Recursive multi-layer examination for computer network security remediation
US9521115B1 (en) 2016-03-24 2016-12-13 Varmour Networks, Inc. Security policy generation using container metadata
US10755334B2 (en) 2016-06-30 2020-08-25 Varmour Networks, Inc. Systems and methods for continually scoring and segmenting open opportunities using client data and product predictors
US10587479B2 (en) * 2017-04-02 2020-03-10 Nicira, Inc. GUI for analysis of logical network modifications
US11429410B2 (en) * 2017-05-09 2022-08-30 Vmware, Inc. Tag based firewall implementation in software defined networks
US10547644B2 (en) * 2017-06-30 2020-01-28 Juniper Networks, Inc. Enforcing micro-segmentation policies for physical and virtual application components in data centers
US10536383B2 (en) * 2017-09-19 2020-01-14 Nicira, Inc. Attribute enhancement for handling network packet traffic between micro segmented guests
US10623299B2 (en) 2018-04-28 2020-04-14 Hewlett Packard Enterprise Development Lp Reduced topologies
PL426147A1 (pl) * 2018-07-02 2020-01-13 Atos Global Delivery Center Polska Spółka Z Ograniczoną Odpowiedzialnością Spółka Komandytowa Sposób żądania grupy bezpieczeństwa w chmurze prywatnej
US11159451B2 (en) * 2018-07-05 2021-10-26 Cisco Technology, Inc. Stretched EPG and micro-segmentation in multisite fabrics
US11165828B2 (en) * 2019-02-28 2021-11-02 Cisco Technology, Inc. Systems and methods for on-demand flow-based policy enforcement in multi-cloud environments
EP3949278A1 (en) 2019-04-03 2022-02-09 Cisco Technology, Inc. Extending enterprise trusted policy framework to cloud native applications
US11310284B2 (en) 2019-05-31 2022-04-19 Varmour Networks, Inc. Validation of cloud security policies
US11290494B2 (en) 2019-05-31 2022-03-29 Varmour Networks, Inc. Reliability prediction for cloud security policies
US11575563B2 (en) 2019-05-31 2023-02-07 Varmour Networks, Inc. Cloud security management
US11711374B2 (en) 2019-05-31 2023-07-25 Varmour Networks, Inc. Systems and methods for understanding identity and organizational access to applications within an enterprise environment
US11863580B2 (en) 2019-05-31 2024-01-02 Varmour Networks, Inc. Modeling application dependencies to identify operational risk
US11290493B2 (en) 2019-05-31 2022-03-29 Varmour Networks, Inc. Template-driven intent-based security
US11171992B2 (en) * 2019-07-29 2021-11-09 Cisco Technology, Inc. System resource management in self-healing networks
CN112732271A (zh) * 2019-10-14 2021-04-30 中国石油化工股份有限公司 一种基于sdn技术的地震处理软件部署方法及***
EP3839734A1 (en) * 2019-12-17 2021-06-23 Atos UK IT Limited Integration of an orchestration services with a cloud automation services
US11411765B2 (en) * 2020-01-10 2022-08-09 Cisco Technology, Inc. Automating a software-defined wide area network policy for internet of things end points
US11876817B2 (en) 2020-12-23 2024-01-16 Varmour Networks, Inc. Modeling queue-based message-oriented middleware relationships in a security system
US11818152B2 (en) 2020-12-23 2023-11-14 Varmour Networks, Inc. Modeling topic-based message-oriented middleware within a security system
US11777978B2 (en) 2021-01-29 2023-10-03 Varmour Networks, Inc. Methods and systems for accurately assessing application access risk
CN115175194A (zh) * 2021-03-19 2022-10-11 华为技术有限公司 安全通信的方法和装置
CN113542213B (zh) * 2021-05-27 2023-09-22 新华三大数据技术有限公司 一种访问控制策略生成方法及装置、编排器
US11734316B2 (en) 2021-07-08 2023-08-22 Varmour Networks, Inc. Relationship-based search in a computing environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095600A (zh) * 2013-02-07 2013-05-08 杭州华三通信技术有限公司 一种基于Trill网络的负载均衡的方法及路由设备
CN104009929A (zh) * 2013-02-21 2014-08-27 中兴通讯股份有限公司 一种管理虚拟路由器的方法及物理路由器
CN104954186A (zh) * 2015-06-19 2015-09-30 云南电网有限责任公司信息中心 一种面向应用的sdn网络策略控制方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302700B2 (en) * 2001-09-28 2007-11-27 Juniper Networks, Inc. Method and apparatus for implementing a layer 3/layer 7 firewall in an L2 device
US8127347B2 (en) * 2006-12-29 2012-02-28 02Micro International Limited Virtual firewall
US8713669B2 (en) * 2007-03-02 2014-04-29 Cisco Technology, Inc. Multi-domain dynamic group virtual private networks
US8955107B2 (en) * 2008-09-12 2015-02-10 Juniper Networks, Inc. Hierarchical application of security services within a computer network
US10057775B2 (en) * 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US8413241B2 (en) * 2009-09-17 2013-04-02 Oracle America, Inc. Integrated intrusion deflection, detection and introspection
US9552497B2 (en) * 2009-11-10 2017-01-24 Mcafee, Inc. System and method for preventing data loss using virtual machine wrapped applications
US9461840B2 (en) * 2010-06-02 2016-10-04 Brocade Communications Systems, Inc. Port profile management for virtual cluster switching
US8516241B2 (en) * 2011-07-12 2013-08-20 Cisco Technology, Inc. Zone-based firewall policy model for a virtualized data center
US8730980B2 (en) 2011-12-27 2014-05-20 Cisco Technology, Inc. Architecture for scalable virtual network services
US8705365B1 (en) * 2012-02-21 2014-04-22 Cisco Technology, Inc. System and method for producing dynamic credit updates for time based packet sampling
US20140153388A1 (en) * 2012-11-30 2014-06-05 Hewlett-Packard Development Company, L.P. Rate limit managers to assign network traffic flows
US10924470B2 (en) * 2013-03-27 2021-02-16 Nokia Solutions And Networks Oy Secured network architecture
EP3072263B1 (en) 2013-11-18 2017-10-25 Telefonaktiebolaget LM Ericsson (publ) Multi-tenant isolation in a cloud environment using software defined networking
US20150264117A1 (en) * 2014-03-14 2015-09-17 Avni Networks Inc. Processes for a highly scalable, distributed, multi-cloud application deployment, orchestration and delivery fabric

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095600A (zh) * 2013-02-07 2013-05-08 杭州华三通信技术有限公司 一种基于Trill网络的负载均衡的方法及路由设备
CN104009929A (zh) * 2013-02-21 2014-08-27 中兴通讯股份有限公司 一种管理虚拟路由器的方法及物理路由器
CN104954186A (zh) * 2015-06-19 2015-09-30 云南电网有限责任公司信息中心 一种面向应用的sdn网络策略控制方法

Also Published As

Publication number Publication date
CN109076028A (zh) 2018-12-21
WO2017201264A1 (en) 2017-11-23
EP3459215A1 (en) 2019-03-27
EP3459215B1 (en) 2021-03-17
US10171507B2 (en) 2019-01-01
US20170339188A1 (en) 2017-11-23

Similar Documents

Publication Publication Date Title
CN109076028B (zh) 异构软件定义网络环境中的微分段
US10218616B2 (en) Link selection for communication with a service function cluster
EP3482532B1 (en) Automatic service function validation in a virtual network environment
US10951691B2 (en) Load balancing in a distributed system
US11863591B2 (en) On-demand security policy provisioning
US20190079788A1 (en) Predictive image storage system for fast container execution
US20130074066A1 (en) Portable Port Profiles for Virtual Machines in a Virtualized Data Center
US11038743B2 (en) Event clustering for a network assurance platform
US11102135B2 (en) Latency reduction in service function paths
CN112470431A (zh) 使用自动布尔学习的网络的模型的合成
CN111684439B (zh) 网络保证数据库版本兼容性
EP3643012B1 (en) Validating endpoint configurations between nodes
US20180329794A1 (en) Visualization of mapping between network overlay and underlay
US11606369B2 (en) Intelligent quarantine on switch fabric for physical and virtualized infrastructure
EP4073980B1 (en) Network throughput assurance, anomaly detection and mitigation in service chain
US11469986B2 (en) Controlled micro fault injection on a distributed appliance
US20240039792A1 (en) Deep network slicing with virtualized programmable data-plane pipelines

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