CN110971584A - 针对虚拟网络生成的基于意图的策略 - Google Patents

针对虚拟网络生成的基于意图的策略 Download PDF

Info

Publication number
CN110971584A
CN110971584A CN201910548861.6A CN201910548861A CN110971584A CN 110971584 A CN110971584 A CN 110971584A CN 201910548861 A CN201910548861 A CN 201910548861A CN 110971584 A CN110971584 A CN 110971584A
Authority
CN
China
Prior art keywords
application
traffic
workloads
policy
statistics
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
CN201910548861.6A
Other languages
English (en)
Other versions
CN110971584B (zh
Inventor
普拉萨德·梅里亚拉
孙达雷桑·拉詹加姆
迈拉杰·苏巴什布哈·哈尼
苏雷什·B·阿库拉
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.)
Jungle Network
Original Assignee
Jungle Network
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 Jungle Network filed Critical Jungle Network
Priority to CN202210467175.8A priority Critical patent/CN114844841A/zh
Publication of CN110971584A publication Critical patent/CN110971584A/zh
Application granted granted Critical
Publication of CN110971584B publication Critical patent/CN110971584B/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule 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/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • 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/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
    • 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
    • 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

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)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及针对虚拟网络生成的基于意图的策略。公开了用于生成基于意图的策略并将该策略应用于计算机网络的业务的技术。在一个示例中,计算机网络的策略控制器接收由第一组计算装置执行的多个应用工作负荷之间的业务流的业务统计。策略控制器将业务统计信息关联到多个应用工作负荷的会话记录中。策略控制器基于应用工作负荷的会话记录生成针对应用工作负荷的应用防火墙策略。每个应用防火墙策略定义应用工作负荷之间的业务是被允许还是拒绝。策略控制器将应用防火墙策略分发到第二组一个或多个计算装置,以用于应用于应用工作负荷的实例之间的业务流。

Description

针对虚拟网络生成的基于意图的策略
技术领域
本公开涉及计算机网络,并且更具体地,涉及用于计算机网络的业务策略。
背景技术
虚拟化数据中心正在成为现代信息技术(IT)基础设施的核心基础。特别地,现代数据中心已广泛用于虚拟化环境,在该虚拟化环境中,虚拟主机(例如虚拟机或容器)在物理计算装置的底层计算平台上部署和执行。利用大规模数据中心进行虚拟化可以提供多个优点。一个优点在于虚拟化可以显著提高效率。随着每个物理CPU具有大量核心的多核微处理器架构的出现,底层物理计算装置(即,服务器)变得越来越强大,虚拟化变得更容易和更有效。第二个优点在于虚拟化提供了对基础设施的重要控制。随着物理计算资源成为可替换资源,诸如在基于云的计算环境中,计算基础设施的供应和管理变得更容易。因此,除了虚拟化提供的效率和增加的投资回报(ROI)之外,企业IT员工通常更喜欢数据中心中的虚拟化计算集群,以实现其管理优势。
例如,数据中心可以物理地容纳所有基础设施设备,诸如网络和存储系统、冗余电源和环境控制。在典型的数据中心中,存储系统和应用服务器的集群经由由一层或多层物理网络交换机和路由器提供的交换结构互连。更复杂的数据中心提供遍布全球的基础设施,其中订户支持设备位于各种物理托管设施中。在数据中心的许多示例中,基础设施可以包括物理装置的组合,其可以被称为“底层资源”,其链接到诸如虚拟服务器、代理和/或策略控制器的各种虚拟资源(可以称为“覆盖资源”)并且与之通信。
发明内容
公开了用于基于对计算机网络的网络业务的分析为计算机网络生成基于意图的防火墙策略并随后将该策略应用于网络业务的技术。在一个示例中,在部署在生产环境中之前,客户可以在开发环境中部署一个或多个应用以进行测试。业务收集器可以收集在开发环境内操作的多个应用工作负荷的多个业务流的业务统计的多个会话记录,并将会话记录转发到策略控制器。策略控制器可以将多个业务流的业务统计的多个会话记录与多个应用工作负荷的业务统计的多个会话记录相关联。策略控制器基于多个应用工作负荷的业务统计的多个会话记录,生成针对应用工作负荷的应用防火墙策略。多个应用防火墙策略中的每个应用防火墙策略包括一个或多个应用防火墙策略规则,并且一个或多个应用防火墙策略规则中的每个应用防火墙策略规则定义在主机计算装置上操作的虚拟路由器代理是否应该允许或拒绝相应应用工作负荷的业务流。
策略控制器可以将应用防火墙策略分发给多个虚拟路由器代理以用于应用于业务流。因此,在生产环境中部署一个或多个应用时,虚拟路由器代理可以将应用防火墙策略应用于业务流。因此,本公开的技术可以允许策略控制器为多个应用工作负荷自动生成基于意图的应用防火墙策略。换句话说,策略控制器可以使用应用工作负荷的业务统计的会话记录来识别应用工作负荷之间的“预期”业务关系,并使用“预期”关系来为允许这种“预期”业务并阻止其他形式的业务的多个应用工作负荷生成应用防火墙策略。
数据中心的计算机网络是复杂的环境,其可以包括数百或数千个组件,诸如应用、虚拟机、虚拟路由器等,它们彼此通信并与外部装置通信。针对在数据中心内通信的每个组件开发防火墙策略可能是不切实际的、不可行的、容易出错,并且调整或升级很麻烦。与手动生成防火墙策略相比,本公开的技术可以提供自动生成防火墙策略的技术优势,该防火墙策略更全面、准确、灵活且有效地生成。
在一个示例中,本公开描述了一种方法,包括:由计算机网络的策略控制器接收多个应用工作负荷之间的多个业务流的业务统计,该多个应用工作负荷由计算机网络的第一组一个或多个计算装置执行;由该策略控制器将该多个业务流的业务统计关联到该多个应用工作负荷的业务统计的会话记录中;由该策略控制器并基于多个应用工作负荷的业务统计的会话记录生成针对多个应用工作负荷的一个或多个应用防火墙策略,其中,该一个或多个应用防火墙策略定义该多个应用工作负荷的应用工作负荷之间的业务流是被允许还是拒绝;并且由该策略控制器将该一个或多个应用防火墙策略分发给第二组一个或多个计算装置,以用于应用于该应用工作负荷的实例之间的业务流。
在另一示例中,本公开描述了计算机网络的策略控制器,该策略控制器在处理电路上执行并且被配置为:接收多个应用工作负荷之间的多个业务流的业务统计,该多个应用工作负荷由计算机网络的第一组一个或多个计算装置执行;将该多个业务流的业务统计关联到该多个应用工作负荷的业务统计的会话记录中;基于多个应用工作负荷的业务统计的会话记录生成针对多个应用工作负荷的一个或多个应用防火墙策略,其中,该一个或多个应用防火墙策略定义该多个应用工作负荷的应用工作负荷之间的业务流是被允许还是拒绝;并且将该一个或多个应用防火墙策略分发给第二组一个或多个计算装置,以用于应用于该应用工作负荷的实例之间的业务流。
在另一示例中,本公开描述了一种包括指令的非暂时性计算机可读介质,该指令在被执行时使处理电路执行用于计算机网络的策略控制器以:接收多个应用工作负荷之间的多个业务流的业务统计,该多个应用工作负荷由计算机网络的第一组一个或多个计算装置执行;将该多个业务流的业务统计关联到该多个应用工作负荷的业务统计的会话记录中;基于多个应用工作负荷的业务统计的会话记录生成针对多个应用工作负荷的一个或多个应用防火墙策略,其中,该一个或多个应用防火墙策略定义该多个应用工作负荷的应用工作负荷之间的业务流是被允许还是拒绝,将该一个或多个应用防火墙策略分发给第二组一个或多个计算装置,以用于应用于该应用工作负荷的实例之间的业务流。
在附图和以下描述中阐述了本公开的一个或多个示例的细节。
附图说明
图1为示出了根据本文描述的技术的示例计算机网络系统的框图。
图2为更详细地示出图1的数据中心的示例实施方式的框图。
图3为示出了根据本文描述的技术的多个数据中心的示例的框图。
图4为示出了根据本公开的一个或多个方面的执行虚拟网络的虚拟路由器的示例计算装置的框图。
图5为根据本公开的一个或多个方面的示例网络的框图,在该示例网络中,控制器管理服务器或计算节点并且通过仪表板提供与计算机网络相关联的工作流和策略对象相关的各个方面的可视化。
图6为示出了根据本公开的技术的用于业务流的业务统计的多个示例会话记录的表格。
图7是示出根据本公开的技术将图6的业务流的业务统计的多个示例会话记录转换为多个防火墙策略的图示。
图8为示出根据本公开的技术的用于生成多个防火墙策略的示例操作的流程图。
图9为示出根据本公开的技术的用于生成多个防火墙策略的示例操作的流程图。
本文提供的附图和描述示出并描述了本公开的发明方法、装置和系统的各种示例。然而,本公开的方法、装置和系统不限于本文所示和所述的具体示例以及本公开的方法、装置和系统的其他示例和变体,如本领域普通技术人员理解的被认为是在本申请的范围内的那些示例和变体。
具体实施方式
图1为示出根据本文描述的技术的示例计算机网络系统8的框图。图1的示例中的计算机网络系统8包括经由服务提供商网络7彼此互连以及与客户11相关联的客户网络互连的数据中心10A-10X(统称为“数据中心10”)。图1示出了计算机网络系统8和数据中心10A的一种示例实施方式,该数据中心10A托管一个或多个基于云的计算网络、计算域或项目,本文通常称为云计算集群。基于云的计算集群可以共同位于共同的整体计算环境中(诸如单个数据中心),或者跨环境分布(诸如跨越不同的数据中心分布)。例如,基于云的计算集群可以为不同的云环境,诸如OpenStack云环境、Kubernetes云环境或其他计算集群、域、网络等的各种组合。计算机网络系统8和数据中心10A的其他实施方式在其他情况下可能是适当的。这样的实施方式可以包括图1的示例中包括的组件的子集和/或可以包括图1中未示出的附加组件。数据中心10B-10X可以包括相同或相似的特征,并且被配置为执行与本文关于数据中心10A描述的相同或类似的功能。
在图1所示的示例中,数据中心10A为由服务提供商网络7通过网关108耦接到数据中心10A的客户11提供应用和服务的操作环境。尽管结合图1的计算机网络系统8描述的功能和操作可以被示为分布在图1中的多个装置上,但是在其他示例中,归属于图1中的一个或多个装置的特征和技术可以由一个或多个这种装置的本地组件在内部执行。类似地,这种装置中的一个或多个装置可以包括某些组件并且执行各种技术,或者这些技术可以在本文的描述中归属于一个或多个其他装置。此外,某些操作、技术、特征和/或功能可以结合图1来描述,或者由特定组件、装置和/或模块以其他方式执行。在其他示例中,这样的操作、技术、特征和/或功能可以由其他组件、装置或模块执行。因此,归属于一个或多个组件、装置或模块的一些操作、技术、特征和/或功能可以归属于其他组件、装置和/或模块,即使本文没有以这种方式具体描述。
数据中心10A托管基础设施设备,诸如网络和存储系统、冗余电源和环境控制。服务提供商网络7可以耦接到由其他提供商管理的一个或多个网络,并且因此可以形成大规模公共网络基础设施(例如,因特网)的一部分。在一些示例中,数据中心10A可以代表许多地理上分布的网络数据中心中的一者。如图1的示例所示,数据中心10A为向客户11提供网络服务的设施。客户11可以为集体实体,诸如企业和政府或个人。例如,网络数据中心可以为多个企业和最终用户托管web服务。其他示例性服务可以包括数据存储、虚拟专用网络、业务工程、文件服务、数据挖掘、科学或超级计算等。在一些示例中,数据中心10A为单独的网络服务器、网络对等体或其他机构。
在图1的示例中,数据中心10A包括一组存储系统和应用服务器,包括经由由一层或多层物理网络交换机和路由器提供的高速交换结构20互连的服务器12A至服务器12X(统称为“服务器12”)。服务器12用作数据中心的物理计算节点。例如,每个服务器12可以提供用于执行一个或多个应用工作负荷37(在图1中表示为“WL”)的操作环境。如本文所述,术语“应用工作负荷37”或“工作负荷37”可以互换使用以指代应用工作负荷37。工作负荷37可以在虚拟化环境(诸如虚拟机、容器或某些类型的虚拟化实例)上执行,或者在一些情况下,在直接执行工作负荷而不是间接地在虚拟化环境中执行工作负荷的裸机服务器上执行。每个服务器12可以替代地称为主计算装置,或者更简单地称为主机。服务器12可以在一个或多个虚拟化实例上执行一个或多个工作负荷37,诸如虚拟机、容器或用于运行一个或多个服务(诸如虚拟化网络功能(VNF))的其他虚拟执行环境。
交换结构20可以包括耦接到机架式交换机18A-18M的分布层的架顶式(TOR)交换机16A-16N,并且数据中心10A可以包括一个或多个非边缘交换机、路由器、集线器、网关、安全性装置(如防火墙、入侵检测和/或入侵防御装置)、服务器、计算机终端、膝上型计算机、打印机、数据库、无线移动装置(如手机或个人数字助理)、无线接入点、网桥、电缆调制解调器、应用加速器、或其他网络装置。数据中心10A包括经由由一层或多层物理网络交换机和路由器提供的高速交换结构20互连的服务器12A-12X。交换结构20由耦接到机架式交换机18A-18M(统称为“机架式交换机18”)的分布层的一组互连的架顶式(TOR)交换机16A-16N(统称为“TOR交换机16”)提供。虽然未示出,但是数据中心10A还可以包括例如一个或多个非边缘交换机、路由器、集线器、网关(诸如防火墙的安全装置、入侵检测和/或入侵防御装置)、服务器、计算机终端、膝上型计算机、打印机、数据库、无线移动装置(如蜂窝电话或个人数字助理)、无线接入点、网桥、电缆调制解调器、应用加速器、或其他网络装置。
在该示例中,TOR交换机16和机架式交换机18向服务器12提供至网关108和服务提供商网络7的冗余(多宿主)连接。机架式交换机18聚合业务流并在TOR交换机16之间提供高速连接。TOR交换机16可以是提供第2层(MAC)和/或第3层(例如,IP)路由和/或交换功能的网络装置。TOR交换机16和机架式交换机18可以各自包括一个或多个处理器和存储器,并且能够执行一个或多个软件程序。机架式交换机18耦接到网关108,网关108可以执行3层路由以通过服务提供商网络7在数据中心10A和客户11之间路由网络业务。
交换结构20可以执行3层路由以通过服务提供商网络7在数据中心10A和客户11之间路由网络业务。网关108用于在交换结构20和服务提供商网络7之间转发和接收包。数据中心10A包括覆盖网络,其将交换结构20从物理交换机18、16扩展到软件或“虚拟”交换机。例如,分别位于服务器12A-12X中的虚拟路由器30A-30X可以通过与位于交换结构20内的一个或多个物理交换机通信地耦接来扩展交换结构20。虚拟交换机可以动态地创建和管理可用于应用实例之间的通信的一个或多个虚拟网络。在一个示例中,虚拟路由器30A-30X将虚拟网络作为覆盖网络执行,其提供将应用的虚拟地址与该应用正在执行的服务器12A-12X中的一者的物理地址(例如,IP地址)解耦的能力。每个虚拟网络可以使用其自己的寻址和安全方案,并且可以被视为与物理网络及其寻址方案正交。可以使用各种技术在物理网络上的虚拟网络内和跨虚拟网络传输包。
软件定义网络(“SDN”)控制器132提供逻辑上并且在一些情况下物理上集中的控制器,其用于根据本公开的一个或多个示例促进数据中心10A内的一个或多个虚拟网络的操作。在整个本公开中,术语SDN控制器和虚拟网络控制器(“VNC”)可以互换使用。在一些示例中,SDN控制器132响应于经由北向API 131从编排引擎130接收到的配置输入进行操作,该北向API 131继而响应于从操作用户界面装置129的管理员24接收到的配置输入进行操作。关于与数据中心10A或其他软件定义网络的其他装置一起操作的SDN控制器132的附加信息可在2013年6月5日提交的题为“PHYSICAL PATH DETERMINATION FOR VIRTUALNETWORK PACKET FLOWS”的国际申请号PCT/US2013/044378中以及2017年3月31日提交的题为“SESSION-BASED TRAFFIC STATISTICS LOGGING FOR VIRTUAL ROUTERS”的美国专利申请序列号15/476,136中发现。
例如,SDN平台可以用在数据中心10中以控制和管理网络行为。在一些情况下,SDN平台包括逻辑上集中且物理上分布的SDN控制器(诸如SDN控制器132),以及呈虚拟路由器形式的分布式转发平面,其将网络从数据中心交换结构中的物理路由器和交换机扩展到虚拟化服务器中托管的虚拟覆盖网络中。
在一些示例中,SDN控制器132管理网络和联网服务,诸如负载平衡、安全性,并且经由南向API 133将资源从服务器12分配给各种应用。也就是说,南向API 133表示SDN控制器132使用的一组通信协议,以使网络的实际状态等于由编排引擎130指定的期望状态。例如,一种这样的通信协议可以包括消息通信协议,诸如XMPP。例如,SDN控制器132通过配置以下各项实现来自编排引擎130的高级请求:物理交换机,例如TOR交换机16、机架式交换机18和交换结构20;物理路由器;物理服务节点,诸如防火墙和负载均衡器;以及虚拟服务,诸如虚拟化环境中的虚拟防火墙。SDN控制器132维护状态数据库内的路由、网络和配置信息。SDN控制器132将路由信息和配置信息的合适子集从状态数据库传送到服务器12A-12X中的每者上的虚拟路由器(VR)30A-30X或代理35A-35X(图1中的“代理”)。
如本文所述,每个服务器12包括相应的转发组件39A-39X(在下文中称为“转发组件39”),其执行在每个服务器12上执行的工作流(图1的“WF 37”)的数据转发和业务统计收集功能。在图1的示例中,每个转发组件被描述为包括用于执行包路由和覆盖功能的虚拟路由器(图1中的“VR 30A-VR 30X”)和与SDN控制器132通信的VR代理(图1中的“VA 35A-35X”),并且作为响应,配置虚拟路由器30。VR代理35作为各个服务器12的相应策略代理操作,并且可替代地称为策略代理。可选地,策略代理可以对应于VR代理35的子组件或功能。
在该示例中,每个虚拟路由器30A-30X为数据中心10内的对应虚拟网络实现至少一个路由实例,并将包路由至适当的虚拟机、容器或在由服务器提供的操作环境内执行的其他元件。由服务器12A的虚拟路由器接收的包,例如,从底层物理网络结构接收的包可以包括外报头,以允许物理网络结构将有效载荷或“内部包”隧道传送到执行虚拟路由器的服务器12A的网络接口的物理网络地址。外报头不仅可以包括服务器的网络接口的物理网络地址,还可以包括虚拟网络标识符,诸如VxLAN标记或多协议标签交换(MPLS)标签,其标识由虚拟路由器执行的一个虚拟网络以及相应的路由实例。内部包包括内报头,该内报头具有符合由虚拟网络标识符标识的虚拟网络的虚拟网络寻址空间的目的地网络地址。
在一些方面,虚拟路由器在递送到用于包的适当路由实例之前缓冲和聚合从底层物理网络结构接收到的多个隧道化包。也就是说,在服务器12之一上执行的转发组件的虚拟路由器可以从TOR交换机16接收包流的入站隧道包,并且在将隧道包路由到本地执行的虚拟机之前,处理隧道包以构建用于转发到虚拟机的单个聚合隧道包。也就是说,虚拟路由器可以缓冲多个入站隧道包并构造单个隧道包,在该单个隧道包中,多个隧道包的有效载荷被组合成单个有效载荷,并且隧道包上的外部/覆盖报头被移除并替换为单报头虚拟网络标识符。通过这种方式,聚合隧道包可以由虚拟路由器转发到虚拟机,就好像从虚拟网络接收到单个入站隧道包一样。此外,为了执行聚合操作,虚拟路由器可以利用基于内核的卸载引擎,该引擎无缝地并且自动地指导隧道包的聚合。在2014年3月28日提交的题为“PACKET SEGMENTATION OFFLOAD FOR VIRTUAL NETWORKS”的美国专利申请14/228,844中描述了虚拟路由器将业务转发到在服务器12上执行的客户特定虚拟机的进一步示例技术。
在图1的示例中,SDN控制器132学习路由和其他信息(诸如配置)并将其分发给数据中心10中的所有计算节点。在从SDN控制器132接收到路由信息时,在计算节点内运行的转发组件39的VR代理35通常利用转发信息对数据转发元件(虚拟路由器30)进行编程。SDN控制器132使用诸如XMPP协议语义的消息通信协议而不是使用诸如BGP之类的路由协议的更重量级的协议来向VR代理35发送路由和配置信息。在XMPP中,SDN控制器132和代理通过相同的信道传送路由和配置。当从VR代理35接收路由时,SDN控制器132充当消息通信协议客户端,并且在该情况下VR代理35充当消息通信协议服务器。相反,当SDN控制器向VR代理35发送路由时,SDN控制器132充当作为消息通信协议客户端的VR代理35的消息通信协议服务器。SDN控制器132可以向VR代理35发送安全策略以供虚拟路由器30应用。
在一些示例中,系统8执行业务流和业务统计的会话采样以及记录。转发组件39的虚拟路由器30在WL 37之间执行路由服务,诸如在网络业务的发起者WL 37和用于网络业务的目的地WL 37之间转发网络业务。虚拟路由器30处理由每个虚拟路由器30转发的网络业务的入口和出口流,以生成业务流统计。业务流统计可以包括诸如带宽消耗、业务路由和路径以及应用使用的度量。
每个虚拟路由器30将业务流统计传送到转发组件39的相应VR代理35。每个VR代理35可以处理入口流和出口流的业务流统计,以识别对应于工作流37之间的公共通信会话的入口流和出口流对。对于每个识别的对,VR代理35生成由虚拟路由器30转发的网络业务的业务统计的会话记录。在一些情况下,会话记录可以用于单向业务流。VR代理35将会话记录连同给定流的标记信息一起上传到用于云数据中心10的SDN控制器32的业务收集器38。业务收集器38从多个VR代理35接收会话记录,并将这些会话记录存储在分析数据库中以供云数据中心10的管理员24使用。用户界面装置129可以经由界面访问这样的度量并生成用户界面以帮助管理员24检测和诊断云数据中心的网络性能问题。此外,并且在下面更详细地讨论,业务收集器38可以将会话记录转发到策略控制器23,以用于根据本公开的技术进行分析。
在一些示例中,会话记录包括描述业务流的各种信息和元数据。例如,会话记录可以包括5元组信息,诸如业务流的源地址、业务流的源端口、业务流的目的地地址、业务流的目的地端口以及业务流的协议。在其他示例中,会话记录还可以包括其他信息,诸如业务流的虚拟网络、源虚拟机接口(VMI)和/或业务流的目的地VMI、业务流的源的一个或多个标记、业务流的目的地的一个或多个标记、业务流的IP前缀、业务流的服务端口、业务流的服务协议、业务流的操作、业务流的虚拟机标识符、与业务流相关联的应用工作负荷的操作系统、在操作系统上安装的用于与业务流相关联的应用工作负荷的一个或多个软件包、或者与业务流相关联的应用工作负荷37的版本。
用户界面装置129可以实现为任何合适的计算系统,诸如由用户和/或管理员24操作的移动或非移动计算装置。用户界面装置129可以例如表示工作站、膝上型计算机或笔记本计算机、台式计算机、平板计算机或可以由用户操作的任何其他计算装置和/或呈现根据本公开的一个或多个方面的用户界面。在题为“INTER-APPLICATION WORKLOAD NETWORKTRAFFIC MONITORING AND VISUALIZATION”的美国专利申请16/022,464中描述了用户界面装置129可以呈现这样的度量以帮助管理员24检测和诊断云数据中心的网络性能问题的进一步示例技术。
在一些示例中,编排引擎130管理数据中心10A的功能,诸如计算、存储、网络和应用资源。例如,编配引擎130可以为数据中心10A内或跨数据中心的租户创建虚拟网络。编配引擎130可以将工作负荷(WL)附接到租户的虚拟网络。编配引擎130可以将租户的虚拟网络连接到外部网络,例如,因特网或VPN。编排引擎130可以跨一组工作负荷或租户网络的边界实现安全策略。编配引擎130可以在租户的虚拟网络中部署网络服务(例如,负载平衡器)。
在一些示例中,SDN控制器132管理网络和联网服务,诸如负载平衡、安全性,并且经由南向API 133将资源从服务器12分配给各种应用。也就是说,南向API 133表示SDN控制器132使用的一组通信协议,以使网络的实际状态等于由编排引擎130指定的期望状态。例如,SDN控制器132通过配置以下各项实现来自编排引擎130的高级请求:物理交换机,例如TOR交换机16、机架式交换机18和交换结构20;物理路由器;物理服务节点,诸如防火墙和负载均衡器;以及虚拟服务,诸如VM中的虚拟防火墙。SDN控制器132维护状态数据库内的路由、联网和配置信息。
通常,任何两个网络装置之间的业务,诸如交换结构20内的网络装置(未示出)之间或者服务器12与客户11之间或服务器12之间的业务,可以使用许多不同的路径遍历物理网络。例如,两个网络装置之间可能存在几个相同开销的不同路径。在一些情况下,属于从一个网络装置到另一个网络装置的网络业务的包可以使用在每个网络交换节点处称为多路径路由的路由策略在各种可能的路径之间分布。例如,因特网工程任务组(IETF)RFC2992,“等价多路径算法的分析”描述了用于沿着多个等价路径路由包的路由技术。RFC2992的技术分析了一种特定的多路径路由策略,该策略涉及通过散列包报头字段将流分配给容器,该散列包报头字段在单个确定性路径上发送来自特定业务流的所有包。
例如,“流”可以由包的报头中使用的五个值或“五元组”(即协议、源IP地址、目的地IP地址、源端口和用于通过物理网络路由包的目的地端口)定义。例如,协议指定通信协议,诸如TCP或UDP,以及源端口和目的地端口指的是连接的源和目的地端口。匹配特定流入口的一组一个或多个包数据单元(PDU)表示流。流可以使用PDU的以下任何参数来广泛地分类:诸如源和目的地数据链路(例如,MAC)和网络(例如,IP)地址、虚拟局域网(VLAN)标记、传输层信息、多协议标签交换(MPLS)或通用MPLS(GMPLS)标签、以及接收流的网络装置的入口端口。例如,流可以是在传输控制协议(TCP)连接中发送的所有PDU、源自特定MAC地址或IP地址的所有PDU、具有相同VLAN标记的所有PDU、或在相同交换机端口处接收的所有PDU。流可以由应用标识符(AppID)另外或备选地定义,该应用标识符由虚拟路由器代理或其他实体确定,该虚拟路由器代理或其他实体例如使用端口和协议列表或深度包检查(DPI)识别一种类型的与流相关联的服务或应用,即用于该类型服务或应用的流传输应用数据。
虚拟路由器(虚拟路由器30A至虚拟路由器30X,统称为图1中的“虚拟路由器30”)为数据中心10A内的相应虚拟网络执行多个路由实例,并将包路由到在服务器12提供的操作环境内执行的适当工作负荷37。每个服务器12可以包括虚拟路由器。由服务器12A的虚拟路由器30A接收的包,例如,从底层物理网络结构接收的包可以包括外报头,以允许物理网络结构将有效载荷或“内部包”隧道传送到服务器12A的网络接口的物理网络地址。外报头不仅可以包括服务器的网络接口的物理网络地址,还可以包括虚拟网络标识符,诸如VxLAN标记或多协议标签交换(MPLS)标签,其标识由虚拟路由器执行的一个虚拟网络以及相应的路由实例。内部包包括内报头,该内报头具有符合由虚拟网络标识符标识的虚拟网络的虚拟网络寻址空间的目的地网络地址。
在一些方面,虚拟路由器在递送到用于包的适当路由实例之前缓冲和聚合从底层物理网络结构接收到的多个隧道化包。也就是说,在服务器12之一上执行的虚拟路由器可以从交换结构20内的一个或多个TOR交换机16接收包流的入站隧道包,并且在将隧道包路由到本地执行的虚拟机之前,处理隧道包以构建用于转发到虚拟机的单个聚合隧道包。也就是说,虚拟路由器可以缓冲多个入站隧道包并构造单个隧道包,在该单个隧道包中,多个隧道包的有效载荷被组合成单个有效载荷,并且隧道包上的外部/覆盖报头被移除并替换为单报头虚拟网络标识符。通过这种方式,聚合隧道包可以由虚拟路由器转发到虚拟机,就好像从虚拟网络接收到单个入站隧道包一样。此外,为了执行聚合操作,虚拟路由器可以利用基于内核的卸载引擎,该引擎无缝地并且自动地指导隧道包的聚合。在题为“PACKETSEGMENTATION OFFLOAD FOR VIRTUAL NETWORKS”的美国专利申请14/228,844中描述了虚拟路由器将业务转发到在服务器12上执行的客户特定虚拟机的进一步示例技术。
在一些示例实施方式中,在服务器12上执行的虚拟路由器30操纵在多个处理器核之间接收的入站隧道包,以便在处理包时促进核之间的包处理负载平衡,以用于路由到一个或多个虚拟和/或物理机器。作为一个示例,服务器12A包括多个网络接口卡和多个处理器核以执行虚拟路由器30A,并且在多个处理器核之间操纵所接收的包以促进核之间的包处理负载平衡。例如,服务器12A的特定网络接口卡可以与指定的处理器核相关联,网络接口卡向该处理器核指示所有接收的包。根据应用于内部和外部包报头中的至少一者的散列函数,各种处理器核不是处理每个接收的包,而是将流卸载到一个或多个其他处理器核,以用于利用其他处理器核的可用工作周期进行处理。
在图1的示例中,数据中心10A还包括策略控制器23,其为数据中心10A提供监测、调度和性能管理。策略控制器23与策略代理35A-35X(统称为“策略代理35”或“代理35”)交互,策略代理35A-35X部署在至少一些相应的物理服务器12内,以用于监测物理计算节点以及在物理主机上执行的虚拟化主机(诸如WL 37)的资源使用率。以这种方式,策略代理35提供分布式机制,以用于收集各种使用度量以及策略控制器23安装的策略的本地实施。在示例实施方式中,策略代理35在数据中心10A的基础设施的最低级“计算节点”上运行,该计算节点提供执行应用工作负荷的可计算资源。例如,计算节点可以是服务器12的裸机主机、工作负荷37、容器等。
如图1的示例中所示,策略控制器23可以基于如下所述的业务统计的多个会话记录将规则库定义为一组策略202并对其维护。策略控制器23可以基于策略控制器23维护的策略集202来管理每个服务器12的控制。可以响应于管理员24的输入和/或响应于如上所述的策略控制器23执行的操作来创建或导出策略202。在一些示例中,策略控制器23可以另外例如观察数据中心10A随时间的操作并应用机器学习技术来生成一个或多个策略202。当进行关于数据中心10A的进一步观察时,策略控制器23可以周期性地、偶尔地或连续地改进策略202。
策略控制器23(例如,策略控制器23内的分析引擎)可以确定如何在一个或多个服务器12处部署、实现和/或触发策略。例如,策略控制器23可以被配置为将一个或多个策略202推送到在服务器12上执行的一个或多个策略代理35。策略控制器23可以从一个或多个策略代理35接收关于内部处理器度量的信息,并确定是否满足针对一个或多个度量的规则的条件。策略控制器23可以分析从策略代理35接收的内部处理器度量,并且基于该分析,指示或使一个或多个策略代理35执行一个或多个操作以修改与策略代理相关联的服务器的操作。例如,策略控制器23可以推送一个或多个策略,包括待使用的通信协议的配置、用于发布通信探测的间隔、和/或被监测以与在代理之间发布通信探测的代理一起使用的度量。从与这些通信探测的发布和监测相关的策略代理收集的信息可以用于生成包括图形用户界面的仪表板,该图形用户界面可视地描绘与从所收集的信息相关联的度量相关的和/或从与通信探测的发布相关联的收集信息和数据导出的一个或多个状态。在另一示例中,策略控制器23可以被配置为聚集关于包括在交换结构20中的装置和装置的布置的信息,并且生成一组图形用户界面,其可视地描绘这些装置以及基于一组预定义和/或用户可选择的规则的这些装置之间的互连。
在各种示例中,策略控制器23在项目级别分发包括针对对象的标记的策略规则。然而,策略控制器23可以附加地或可选地分发包括指定各种不同对象级别的标记的策略规则,诸如全局环境级别、项目级别、虚拟网络级别、虚拟机级别或接口级别。
策略控制器23可以实现为任何合适的计算系统,诸如由用户和/或由管理员24操作的移动或非移动计算装置。策略控制器23可以例如表示工作站、膝上型计算机或笔记本计算机、台式计算机、平板计算机或可以由用户操作的任何其他计算装置和/或呈现根据本公开的一个或多个方面的用户界面。在一些示例中,策略控制器23在服务器12之一上执行。在另一示例中,策略控制器23分布在一个或多个计算装置上。在一些示例中,策略控制器是在专用硬件上执行的专用控制器。
根据本公开的技术,策略控制器23可以基于对网络8的业务流的分析来为网络8生成基于意图的防火墙策略。如上所述,策略控制器23可以从业务收集器38接收由多个VR代理35服务的多个业务流的业务统计的多个会话记录。策略控制器23将多个业务流的业务统计的多个会话记录与多个工作负荷37的业务统计的多个会话记录相关联。
在一个示例中,为了将业务流的会话记录关联到工作负荷37的会话记录中,策略控制器23经由UI装置129向用户或者管理员呈现多个业务流的业务统计的多个会话记录。此外,策略控制器23经由UI装置129接收指定多个业务流中的哪些业务流对应于多个应用工作负荷37中的相应应用工作负荷37的输入,并且基于该输入,将业务流的会话记录聚合到工作负荷37的会话记录中。
在另一示例中,策略控制器23基于由业务流的会话记录指定的一个或多个标记将业务流的会话记录关联到工作负荷37的会话记录中。例如,业务流的会话记录可以指定与被标记的工作负荷37的标记相对应的一个或多个标记。策略控制器23可以使用这样的标记来将工作负荷37匹配到业务流的特定会话记录,并且基于匹配的标记,将业务流的会话记录聚合到工作负荷37的会话记录中。
在另一示例中,策略控制器23将业务流的会话记录关联到本文所述的工作负荷37的会话记录中。此外,策略控制器23可以从业务流的会话记录生成与被标记的工作负荷37的标记相对应的一个或多个标记,并将生成的标记应用于会话记录。例如,策略控制器23可以使用会话记录中的元数据来生成与被标记的工作负荷37的标记相对应的一个或多个标记,并将生成的标记应用于会话记录。策略控制器23可以基于标记将业务流的会话记录聚合到工作负荷37的会话记录中。此外,如下面更详细描述的,策略控制器23可以使用所生成的标记来生成用于应用于工作负荷37的实例之间的业务流的一个或多个应用策略。
在另一示例中,策略控制器23通过将聚类算法应用于业务流的会话记录,将业务流的会话记录关联到工作负荷37的会话记录中。例如,策略控制器23可以使用聚类算法来识别业务流和特定工作负荷37的会话记录之间的关系,并且基于这些关系,将业务流的会话记录聚合到工作负荷37的会话记录中。在一些示例中,聚类算法为K-均值聚类算法、均值漂移聚类算法、基于密度的噪声应用空间聚类(DBSCAN)聚类算法、可以使用高斯混合模型(GMM)的期望最大化(EM)聚类算法和凝聚分层聚类算法中的一者。
策略控制器23基于多个工作负荷37的业务统计的多个会话记录,生成针对多个工作负荷37的应用防火墙策略202。多个应用防火墙策略中的每个应用防火墙策略包括一个或多个应用防火墙策略规则,并且一个或多个应用防火墙策略规则中的每个应用防火墙策略规则定义VR代理35中的一者是否应该允许或拒绝相应工作负荷37的业务流。例如,策略控制器23可以使用用于工作负荷37的会话记录的5元组来定义应用防火墙策略规则的5元组。此外,策略控制器23可以基于会话记录定义应用防火墙策略规则(例如,允许、阻止、记录或报告与规则对应的业务)的规则。在一些示例中,每个应用防火墙策略规则指定允许相应网络业务的默认规则,并且阻止与生成的应用防火墙策略规则不匹配的所有其他网络业务。
在本公开的技术的示例实现中,策略控制器23使用多个配置对象来实现一个或多个策略。作为一个示例,策略控制器23在全局级别应用第一组配置对象。第一组配置对象包括跨多个级别和/或类别的全局应用策略集、全局防火墙策略、全局防火墙规则和全局标记。策略控制器23例如在全局级别将第一组配置对象分发给虚拟路由器。策略控制器23将与全局应用策略集、全局防火墙策略和全局防火墙规则相关联的全局标记与用全局标记标记的对象进行匹配。基于全局应用策略集、全局防火墙策略和全局防火墙规则,策略控制器23允许或阻止用全局标记标记的对象的接口之间的网络业务。例如,接口可以为虚拟机接口(VMI)。
此外,策略控制器23在项目级别应用第二组配置对象。第二组策略规则可以包括跨多个级别的项目特定应用策略集、防火墙策略、防火墙规则和标记。策略控制器23在项目级别分发第二组配置对象。策略控制器23将与项目特定的应用策略集、防火墙策略和防火墙规则相关联的项目标记与标记有项目标记的对象相匹配。基于项目特定的应用策略集、防火墙策略和防火墙规则,策略控制器23允许或阻止用项目标记标记的对象的接口之间的网络业务。
在进一步的示例中,策略控制器23可以指定较低级别的配置对象,诸如应用策略集、防火墙策略、防火墙规则,以及在虚拟网络特定级别、虚拟机特定级别和/或接口特定级别处定义的标记。通过这样做,策略控制器23可以将分层策略集应用于一个或多个数据中心10内的多个对象。因此,本公开的技术允许分发在许多不同类型的部署和执行环境中可扩展和健壮的简化业务策略。在2017年11月22日提交的题为“Scalable PolicyManagement for Virtual Networks”的美国专利申请号15/819,522中可以找到另外的描述。
虚拟路由器30可以在相应的服务器12上接收和应用与执行工作负荷37相关的应用策略,这产生部分由应用策略管理的流会话的流的业务统计。这样的应用策略可以指定关于流的不同动作。例如,应用策略可以指定应该允许、阻止、记录、报告业务等。如下面进一步详细描述的,虚拟代理35将流会话的业务统计上传到收集器38或直接上传到策略控制器23。
在一些示例中,策略控制器23经由UI装置129向用户或管理员呈现一个或多个应用防火墙策略以供查看。响应于从用户或管理员接收批准一个或多个应用防火墙策略规则的输入,策略控制器23将一个或多个应用防火墙策略规则分发给VR代理35以用于应用于网络业务。
在本公开的技术的一个示例中,在部署在生产环境中之前,客户可以在开发环境中开发一个或多个应用以进行测试。虚拟路由器30处理由一个或多个应用生成并由每个虚拟路由器30转发的网络业务的入口和出口流,以生成业务流统计。每个虚拟路由器30将业务流统计信息传送到转发组件39的相应VR代理35。每个VR代理35处理入口流和出口流的业务流统计,以识别对应于工作流37之间的公共通信会话的入口流和出口流对。对于每个识别的对,VR代理35生成由虚拟路由器30转发的网络业务的业务统计的会话记录。VR代理35将会话记录连同给定流的标记信息一起上传到用于云数据中心10的SDN控制器32的业务收集器38。业务收集器38从多个VR代理35接收会话记录,并根据本公开的技术将会话记录转发到策略控制器23以进行分析。
策略控制器23从业务收集器38接收由VR代理35服务的业务流的业务统计的会话记录。策略控制器23将多个业务流的业务统计的多个会话记录与在开发环境内操作的多个工作负荷37的业务统计的多个会话记录相关联。策略控制器23基于多个工作负荷37的业务统计的多个会话记录,生成针对多个工作负荷37的应用防火墙策略202。多个应用防火墙策略中的每个应用防火墙策略包括一个或多个应用防火墙策略规则,并且一个或多个应用防火墙策略规则中的每个应用防火墙策略规则定义VR代理35中的一者是否应该允许或拒绝相应工作负荷37的业务流。策略控制器23将应用防火墙策略分发给VR代理35以应用于业务流。因此,在生产环境中部署时,VR代理35可以将应用防火墙策略应用于生产环境内的业务流。因此,本公开的技术可以允许策略控制器23为工作负荷37自动生成基于意图的应用防火墙策略。换句话说,策略控制器23可以使用工作负荷37的业务统计的会话记录来识别开发环境内的工作负荷37之间的“预期”业务关系,并使用该“预期”关系来生成工作负荷37的应用防火墙策略以供在生产环境中使用以允许这种“预期”业务并阻止其他形式的业务。因此,本公开的技术可以允许创建比传统方法更全面、准确、灵活且有效地生成的防火墙策略。
图2为更详细地示出图1的数据中心10A的示例实施方式的框图。在图2的示例中,数据中心10A包括覆盖网络,其将交换结构20从物理交换机16、18扩展到软件或“虚拟”路由器30A-30X(再次统称为“虚拟路由器30”)。虚拟路由器30动态地创建和管理可用于应用实例之间的通信的一个或多个虚拟网络34。在一个示例中,虚拟路由器30将虚拟网络作为覆盖网络执行,其提供将应用的虚拟地址与该应用正在执行的服务器12A-12X(“服务器12”)中的一者的物理地址(例如,IP地址)解耦的能力。每个虚拟网络可以使用其自己的寻址和安全方案,并且可以被视为与物理网络及其寻址方案正交。可以使用各种技术在物理网络上的虚拟网络34内和跨虚拟网络34传输包。在一些示例中,本公开中描述的技术在虚拟网络34内提供多播服务,而不需要底层物理网络中的多播支持。
每个虚拟路由器30可以在管理程序、主机操作系统或每个服务器12的其他组件内执行。每个服务器12可以表示能够执行工作负荷37的x86或其他通用或专用服务器。在图2的示例中,虚拟路由器30A在管理程序31内执行,管理程序31通常也称为虚拟机管理器(VMM),其提供允许多个操作系统同时在服务器12中的一者上运行的虚拟化平台。在图2的示例中,虚拟路由器30A管理虚拟网络34,每个虚拟网络34提供用于在管理程序31提供的虚拟化平台之上执行一个或多个工作负荷(WL)37的网络环境。每个WL 37与虚拟网络VN0-VN1中的一者相关联,并且可以表示运行诸如Web服务器、数据库服务器、企业应用或托管用于创建服务链的虚拟化服务的客户应用的租户WL。在一些情况下,服务器12和另一计算装置中的任何一者或多者可以直接托管客户应用,即不作为虚拟机。在一些情况下,WL 37中的一些可以表示容器,其为另一种形式的虚拟化执行环境。也就是说,虚拟机和容器两者均为用于执行工作负荷的虚拟化执行环境的示例。
通常,每个WL 37可以为任何类型的软件应用,并且可以在虚拟化环境(例如,虚拟机或容器)上执行,该虚拟化环境被分配虚拟地址以在相应的虚拟网络34内使用,其中每个虚拟网络可以是由虚拟路由器30A提供的不同虚拟子网。虚拟化环境可以被分配其自己的虚拟层3(L3)IP地址,例如,用于发送和接收通信,但是可能不知道虚拟化环境正在其上执行的物理服务器12A的IP地址。以这种方式,“虚拟地址”是不同于底层物理计算机系统(例如图1或图2的示例中的服务器12A)的逻辑地址的地址。
在一种实施方式中,每个服务器12包括虚拟网络(VN)代理35A-35X(统称为“VN代理35”)中的相应代理,其控制虚拟网络34的覆盖并且协调服务器12内的数据包的路由。通常,每个VN代理35与SDN控制器132通信,SDN控制器132生成命令以控制通过数据中心10A的包的路由。VN代理35可以作为工作负荷37和SDN控制器132之间的控制平面消息的代理操作。例如,WL 37可以请求使用其虚拟地址经由VN代理35A发送消息,并且VN代理35A可以依次发送消息并请求对被接收用于WL 37的虚拟地址的源于第一消息的消息的响应。在一些情况下,WL 37可以调用由VN代理35A的应用程序编程界面呈现的程序或函数调用,并且VN代理35A也可以处理消息的封装,包括寻址。
在一个示例中,由虚拟网络域内的工作负荷37执行的应用的实例生成或消耗的网络包(例如,第3层(L3)IP包或第2层(L2)以太网包)可以封装在由物理网络传输的另一包中(例如,另一个IP或以太网包)。在虚拟网络中传输的包在本文中可以称为“内部包”,而物理网络包在本文中可以称为“外部包”或“隧道包”。物理网络包内的虚拟网络包的封装和/或解封装可以在虚拟路由器30内执行,例如,在每个服务器12上运行的管理程序或主机操作系统内。作为另一示例,可以在交换结构14的边缘处在第一跳TOR交换机16处执行封装和解封装功能,第一跳TOR交换机16为从发起包的应用实例移除的一跳。此功能在本文中称为隧道传输,并且可以在数据中心10A内使用以创建一个或多个覆盖网络。除了IPinIP之外,可以使用的其他示例隧道协议包括GRE上的IP、VxLAN、GRE上的MPLS、UDP上的MPLS等。
如上所述,SDN控制器132提供逻辑集中控制器,以便于数据中心10A内的一个或多个虚拟网络的操作。例如,SDN控制器132可以维护路由信息库,例如,存储物理网络以及数据中心10A的一个或多个覆盖网络的路由信息的一个或多个路由表。类似地,交换机16、18和虚拟路由器30维护路由信息,诸如一个或多个路由和/或转发表。在一种示例实施方式中,管理程序31的虚拟路由器30A为每个虚拟网络34实现网络转发表(NFT)32。通常,每个NFT 32存储相应虚拟网络34的转发信息,并识别数据包将被转发的位置以及是否要将包封装在隧道协议中,诸如使用可包括用于虚拟网络协议栈的不同层的一个或多个报头的隧道报头。
在一些示例中,SDN控制器132(或“虚拟网络控制器132”)还包括策略控制器23。在一些示例中,SDN控制器132和策略控制器23在相同的计算装置(例如,服务器12中的一者)上执行。在一些示例中,SDN控制器132和策略控制器23在不同的计算装置(例如,服务器12中的不同服务器)上执行。策略控制器23被配置为跨多个级别标记多个对象(“策略对象”)。在一些示例中,多个级别包括对象的级别,诸如全局环境级别、项目级别、虚拟网络级别、虚拟机级别或对象的接口级别。策略对象可以与一个或多个工作负荷相关联。在进一步的示例中,策略控制器23跨多个类别标记多个对象,该多个类别可以包括最高类别和一个或多个子类别。在一些示例中,多个类别包括在WL 37内执行的应用、部署、应用层、地理站点、虚拟网络、WL 37、接口、项目、安全要求、质量要求、用户或合规性要求。
转发组件39A的虚拟路由器30A执行会话监测并记录业务流和业务统计。在一个示例中,转发组件39A的虚拟路由器30A处理由虚拟路由器30A转发的转发业务流和由虚拟路由器30A转发的反向业务流,以生成业务流的业务流统计。在一些示例中,每个流的业务流统计包括五元组(例如,协议、源地址、源端口、目的地地址和目的地端口)、为流转发的包的计数和/或为流转发的字节计数。虚拟路由器30A周期性地将所生成的业务流统计信息传送到VR代理35A,使得VR代理维护流过虚拟路由器30A的业务的业务流统计的类似记录。
VR代理35A处理所生成的业务流统计信息以识别对应于一个或多个工作负荷37之间的公共通信会话的入口业务流和出口业务流的对。在一个示例中,VR代理35A识别对应于公共通信会话的入口业务流和出口业务流的对。在一个示例中,VR代理35A处理由虚拟路由器30A生成的业务统计,以比较每个采样的入口包流和每个出口包流的协议、源地址、源端口、目的地地址和目的地端口(例如,五元组)。例如,如果第一入口流具有与第一出口流相同的协议,如果第一入口流的源地址和源端口与第一出口流的目的地地址和目的端口相同,并且如果第一入口流的目的地地址和目的地端口与第一出口流的源地址和源端口相同,则VR代理35A确定第一入口流和第一出口流对应于两个装置之间的公共通信会话。然而,如果第二入口流不具有与第二出口流相同的协议,或如果第二入口流的源地址和源端口与第二出口流的目的地地址和目的地端口不相同,或如果第二入口流的目的地地址和目的地端口与第二出口流的源地址和源端口不相同,则VR代理35A确定第二入口流和第二出口流不对应于两个装置之间的公共通信会话。
对于每个识别的入口和出口业务流的对,VR代理35A生成由虚拟路由器30A转发的网络业务的业务统计的会话记录。换句话说,VR代理35A生成由虚拟路由器30A转发的网络业务的业务统计记录,其中,每个记录包括与两个装置之间的公共通信会话有关的业务统计,并且包括公共通信会话的入口业务流和出口业务流的业务统计。
在一些示例中,VR代理35A生成由虚拟路由器30A接收的每个业务流的业务统计的这种会话记录。在其他示例中,VR代理35A仅针对由虚拟路由器30A接收的业务流的子集生成业务统计的会话记录,以生成流经虚拟路由器30A的业务的子集的业务统计的会话记录。在一些示例中,随机选择业务流的子集。在又一些示例中,根据算法选择业务流的子集,以提供由虚拟路由器30A接收的业务流的统计上准确的表示。在一些示例中,VR代理35A从控制器132接收包括用于生成业务统计的会话记录的子集的一个或多个业务流的指示。
在一个示例中,单个会话记录52可以包括用于与会话相关联的入口流和出口流两者的多个“差异字节”。这种“差异字节”描述了在前一监测时段期间为入口流接收的字节数以及为出口流接收的字节数(例如,结束前一监测时段与结束当前监测时段之间的字节差异)。此外,会话记录52可以包括附加的业务流和业务统计信息,诸如针对入口流和出口流两者转发的总字节数、入口流和出口流两者的可用时间、地址、端口和与入口流和出口流中的每者相关联的转发信息等。
VR代理35A将会话记录52上传到业务收集器38,在该示例中,业务收集器38是SDN控制器132的组件。在一些示例中,VR代理35A周期性地上传在先前采样时段期间生成的一组会话记录52(例如,VR代理将该组会话记录52约每秒一次、每分钟一次或每天一次上传到业务收集器38)。业务收集器38将会话记录52的会话相关业务流和业务统计信息写入分析数据库35中。
根据本公开的技术,策略控制器23可以基于对数据中心10A的业务流的分析来为数据中心10A生成基于意图的防火墙策略202。如上所述,策略控制器23可以从业务收集器38接收由多个VR代理35服务的多个业务流的业务统计的多个会话记录。策略控制器23将多个业务流的业务统计的多个会话记录与多个工作负荷37的业务统计的多个会话记录相关联。
在一个示例中,为了将业务流的会话记录关联到工作负荷37的会话记录中,策略控制器23经由图1的UI装置129向用户或者管理员呈现多个业务流的业务统计的多个会话记录。此外,策略控制器23经由UI装置129接收指定多个业务流中的哪些业务流对应于多个应用工作负荷37中的相应应用工作负荷37的输入,并且基于该输入,将业务流的会话记录聚合到工作负荷37的会话记录中。
在另一示例中,策略控制器23基于由业务流的会话记录指定的一个或多个标记将业务流的会话记录关联到工作负荷37的会话记录中。例如,业务流的会话记录可以指定与标记工作负荷37的标记相对应的一个或多个标记。策略控制器23可以使用这样的标记来将工作负荷37匹配到业务流的特定会话记录,并且基于匹配的标记,将业务流的会话记录聚合到工作负荷37的会话记录中。
在本公开的技术的示例实现中,策略控制器23使用多个配置对象来将业务流的会话记录聚合到工作负荷37的会话记录中。作为一个示例,策略控制器23在全局级别应用第一组配置对象。第一组配置对象包括跨多个级别和/或类别的全局应用策略集、全局防火墙策略、全局防火墙规则和全局标记。策略控制器23例如在全局级别将第一组配置对象分发给虚拟路由器30。策略控制器23将与全局应用策略集、全局防火墙策略和全局防火墙规则相关联的业务流的会话记录的全局标记与标记有全局标记的对象进行匹配。例如,策略控制器23使用业务流的会话记录的这种全局标记将工作负荷37匹配到业务流的特定会话记录,并且基于匹配的标记,将业务流的会话记录聚合到工作负荷37的会话记录中。
此外,策略控制器23在项目级别应用第二组配置对象。第二组策略规则包括跨多个级别的项目特定应用策略集、防火墙策略、防火墙规则和标记。策略控制器23在项目级别分发第二组配置对象。策略控制器23将与项目应用策略集、项目防火墙策略和项目防火墙规则相关联的业务流的会话记录的项目标记与标记有项目标记的对象进行匹配。例如,策略控制器23使用业务流的会话记录的这种项目标记将工作负荷37匹配到业务流的特定会话记录,并且基于匹配的标记,将业务流的会话记录聚合到工作负荷37的会话记录中。
在进一步的示例中,策略控制器23可以指定较低级别的配置对象,诸如应用策略集、防火墙策略、防火墙规则,以及在虚拟网络特定级别、虚拟机特定级别和/或接口特定级别处定义的标记。通过这样做,策略控制器23可以将一组分层标记应用于一个或多个数据中心10内的多个对象,获得包括标记的业务流的会话记录,并基于匹配标记将业务流的这种会话记录聚合到工作负载37的会话记录中。在2017年11月22日提交的题为“ScalablePolicy Management for Virtual Networks”的美国专利申请号15/819,522中可以找到关于简化的业务策略的分发的另外描述。
在另一示例中,策略控制器23通过将聚类算法应用于业务流的会话记录,将业务流的会话记录关联到工作负荷37的会话记录中。例如,策略控制器23可以使用聚类算法来识别业务流和特定工作负荷37的会话记录之间的关系,并且基于这些关系,将业务流的会话记录聚合到工作负荷37的会话记录中。
策略控制器23基于多个工作负荷37的业务统计的多个会话记录,生成针对多个工作负荷37的应用防火墙策略202。多个应用防火墙策略中的每个应用防火墙策略包括一个或多个应用防火墙策略规则,并且一个或多个应用防火墙策略规则中的每个应用防火墙策略规则定义VR代理35中的一者是否应该允许或拒绝相应工作负荷37的业务流。例如,策略控制器23可以使用用于工作负荷37的会话记录的5元组来定义应用防火墙策略规则的5元组。此外,策略控制器23可以基于会话记录定义应用防火墙策略规则的规则(例如,允许、阻止、记录或报告与规则对应的业务)。在一些示例中,每个应用防火墙策略规则指定允许相应网络业务的默认规则,并且阻止与生成的应用防火墙策略规则不匹配的所有其他网络业务。
虚拟路由器30可以在相应的服务器12上接收和应用与执行工作负荷37相关的应用策略,这产生部分由应用策略管理的流会话的流的业务统计。这样的应用策略可以指定关于流的不同操作。例如,应用策略可以指定应该允许、阻止、记录、报告业务等。如下面进一步详细描述的,虚拟代理35将流会话的业务统计上传到收集器38。在图2的示例中,收集器38为SDN控制器132的子组件。然而,在其他示例中,收集器38可以是与SDN控制器132分离的组件。在收集器38与SDN控制器132分离的这样的示例中,虚拟代理35可以将流会话的业务统计上传到收集器38或直接上传到策略控制器23。
在一些示例中,策略控制器23经由UI装置129向用户或管理员呈现一个或多个应用防火墙策略以供查看。响应于从用户或管理员接收批准一个或多个应用防火墙策略规则的输入,策略控制器23将一个或多个应用防火墙策略规则分发给VR代理35以用于应用于网络业务。
因此,本公开的技术可以允许策略控制器23为工作负荷37自动生成基于意图的应用防火墙策略。换句话说,策略控制器23可以使用工作负荷37的业务统计的会话记录来识别工作负荷37之间的“预期”业务关系,并使用该“预期”关系来生成工作负荷37的应用防火墙策略以供后续使用以允许这种“预期”业务并阻止其他形式的业务。因此,本公开的技术可以允许创建比传统方法更全面、准确、灵活且有效地生成的防火墙策略。
图3为示出了根据本文描述的技术的多个数据中心10的示例的框图。每个数据中心10A-10X(统称为“数据中心10”)可以以与图1和图2的数据中心10基本上类似的方式操作。在一些示例中,一个或多个数据中心10实现执行Openstack的云环境,而在另一个示例中,一个或多个数据中心10为执行Kubernetes的云环境,而在又一个示例中,一个或多个数据中心10实现执行亚马逊Web服务的云环境,而在另一个示例中,一个或多个数据中心10在“裸机”基础设施上执行。在一些示例中,每个数据中心10执行与每个其他数据中心10不同的基础设施。数据中心10的示例可以包括多云系统,其具有耦接到数据中心10的一个或多个云,如云320所示。云320可以包括一个或多个数据中心,在各种示例中,数据中心包括具有相同或相似组件并且被配置为执行本文关于数据中心10描述的一些或全部特征和功能的数据中心。
在图3的示例中,每个数据中心10包括数据库308和三个不同的环境:开发环境310、分级环境312和生产环境314。每个数据中心10的每个环境能够执行一个或多个应用302A-302D(统称为“应用302”),诸如在数据中心10A的开发环境310A内执行的应用302A,在数据中心10A的生产环境314A内执行的应用302B,在数据中心10B的开发环境310B内执行的应用302C,以及在数据中心10B的分级环境312B内执行的应用302D。在一个示例中,每个应用302为财务应用的实例。本文描述的策略为健壮的和可扩展的,以便在上述许多不同类型的云环境中应用。
在环境内,每个应用302可以包括多个工作负荷。在图3的示例中,开发环境310A的应用302A执行示例工作负荷web进程304A和应用程序界面(API)进程306A。此外,生产环境314A的应用302B执行示例工作负荷Web进程304B和API进程306B。开发环境310B的应用302C执行示例工作负荷web进程304C和API进程306C。此外,分级环境312B的应用302D执行示例工作负荷web进程304D和API进程306D。然而,在其他示例中,相应环境310A、312A、314A、310B、312B或314B的每个应用302可以执行额外的进程和/或工作负荷或与每个其他应用302不同的进程和/或工作负荷。此外,在一些示例中,在每个相应环境310A、310B、312A、312B、314A和314B内执行的应用可以与在每个其他环境310A、310B、312A、312B、314A和314B内执行的应用类似或不同。
可能需要确保相应环境310、312、314的每个应用302的进程304、306不与不同环境310、312、314内的应用302的进程304、306交换网络业务,同时仍然允许网络业务在同一应用302内的不同进程304、306之间流动。例如,管理员可能希望允许web进程304A和API进程306A之间的网络业务,因为web进程304A和API进程306中的每者在开发环境310A内的相同应用302A内操作。此外,管理员可能希望防止web进程304A(例如,在数据中心10A的开发环境310A内操作)和API进程306B(例如,在数据中心10A的生产环境314A内操作)之间的网络业务或web进程304A(例如,在数据中心10A的开发环境310A内操作)和API进程306C(例如,在数据中心10B的开发环境310B内操作)之间的网络业务。此外,管理员可能希望允许在同一数据中心10内的应用302内执行的进程304、306访问同一数据库308,而不管特定应用302在其中执行的特定环境310、312或314。例如,管理员可能希望允许在应用302A内执行的API进程306A和在应用302B内执行的API进程306B各自访问数据库308A。
如果管理员要针对每个数据中心10内的每个环境312、312和314内的每个应用302内的每个进程304、306独立地管理网络业务策略,则管理员可能难以确保每个网络业务策略满足安全性、可靠性和质量要求。此外,跨多个数据中心10升级一个或多个策略可能变得麻烦或难以管理。
在本公开的技术的一个示例中,在部署在生产环境中之前,客户可以在开发环境中开发一个或多个应用302以进行测试。SDN控制器132的策略控制器23将指定一个或多个类别的一个或多个标记应用于每个进程304、306。如图3的示例中所示,SDN控制器132的策略控制器23将标记“1A”应用于web进程304A,其指定web进程304A属于开发环境310A。类似地,策略控制器23将标记“2A”应用于API进程306A,其指定web进程304A属于开发环境310A。相反,策略控制器23将标记“1B”应用于web进程304B并将标记“2B”应用于API进程306B,每个标记指定相应的应用属于生产环境314A。此外,标记“1C”应用于web进程304C,以及标记“2C”应用API进程306C,每个标记指定相应的应用属于开发环境310B;以及标记“1D”应用于web进程304D,以及标记“2D”应用于API进程306D,每个标记指定相应的应用属于分级环境312B。
图2的虚拟路由器30处理由一个或多个应用生成并由每个虚拟路由器30转发的网络业务的入口和出口流,以生成业务流统计。每个虚拟路由器30将业务流统计信息传送到转发组件39的相应VR代理35。每个VR代理35处理入口流和出口流的业务流统计,以识别对应于工作流37之间的公共通信会话的入口流和出口流对。对于每个识别的对,VR代理35生成由虚拟路由器30转发的网络业务的业务统计的会话记录。VR代理35将会话记录连同给定流的标记信息一起上传到用于云数据中心10的SDN控制器32的业务收集器38。通常,会话记录包含与源工作负荷和目的地工作负荷(或源端口和目的地端口)关联的所有标记。业务收集器38从多个VR代理35接收会话记录,并根据本公开的技术将会话记录转发到策略控制器23以进行分析。
策略控制器23从业务收集器38接收由VR代理35服务的业务流的业务统计的会话记录。策略控制器23将多个业务流的业务统计的多个会话记录与在开发环境内操作的多个工作负荷37的业务统计的多个会话记录相关联。
关于图3的示例,策略控制器23接收包括源标记1A和目的地标记2A的第一业务流的业务统计的第一会话记录。策略控制器23确定标记1A应用于web进程304A并且标记2A应用于API进程306A。因此,策略控制器23可以将第一业务流的第一会话记录与对应于web进程304A的工作负荷(例如,作为第一业务流的源)的业务统计的第一会话记录相关联。此外,策略控制器23可以将第一业务流的第一会话记录与对应于API进程306A的工作负荷(例如,作为第一业务流的目的地)的业务统计的第二会话记录相关联。
作为另一示例,策略控制器23接收包括源标记2A和数据库308A的目的地的第二业务流的业务统计的第二会话记录。策略控制器23确定标记2A应用于API进程306A。因此,策略控制器23可以将第二业务流的第二会话记录与对应于API进程306A的工作负荷(例如,作为第二业务流的源)的第二会话记录相关联。除了将业务流的业务统计的第一会话记录与对应于API进程306A的工作负荷(例如,作为业务流目的地)的业务统计的第二会话记录相关联之外或替代该关联,策略控制器23还可以将第二业务流的第二会话记录与对应于API进程306A的工作负荷的第二会话记录相关联。
作为关于图3的示例的进一步说明,策略控制器23将包括源标记1B和目的地标记2B的业务流的业务统计的会话记录与对应于web进程304B的工作负荷的会话记录和对应于API进程306B的工作负荷的会话记录相关联。策略控制器23将包括源标记2B和目的地数据库308A的业务流的业务统计的会话记录与对应于与API进程306B对应的工作负荷的工作负荷的会话记录相关联。
同样,策略控制器23将包括源标记1C和目的地标记2C的业务流的业务统计的会话记录与对应于web进程304C的工作负荷的会话记录和对应于API进程306C的工作负荷的会话记录相关联。策略控制器23将包括源标记2C和目的地数据库308B的业务流的业务统计的会话记录与对应于与API进程306C对应的工作负荷的工作负荷的会话记录相关联。
此外,策略控制器23将包括源标记1D和目的地标记2D的业务流的业务统计的会话记录与对应于web进程304D的工作负荷的会话记录和对应于API进程306D的工作负荷的会话记录相关联。策略控制器23将包括源标记2D和目的地数据库308B的业务流的业务统计的会话记录与对应于与API进程306D对应的工作负荷的工作负荷的会话记录相关联。
策略控制器23基于多个工作负荷37的业务统计的多个会话记录,生成针对多个工作负荷37的应用防火墙策略202。多个应用防火墙策略中的每个应用防火墙策略包括一个或多个应用防火墙策略规则,并且一个或多个应用防火墙策略规则中的每个应用防火墙策略规则定义VR代理35中的一者是否应该允许或拒绝相应工作负荷37的业务流。
例如,并且关于图3的示例,策略控制器23根据业务统计的第一会话记录确定对应于web进程304A将网络业务发送到API进程306A的web进程304A的工作负荷。因此,策略控制器23针对web进程304A生成第一应用防火墙策略,其包括应用防火墙策略规则,该规则允许源自web进程304A并且被发往API进程306A的网络业务。在一些示例中,用于web进程304A的第一应用防火墙策略还指定阻止源自web进程304A或发往web进程304A的所有其他业务的应用防火墙策略规则。
作为另一示例,策略控制器23根据业务统计的第二会话记录确定对应于web进程304A将网络业务发送到API进程306A以及API进程306A将网络业务发送到数据库308A的API进程306A的工作负荷。因此,策略控制器23针对API进程306A生成第二应用防火墙策略,其包括第一应用防火墙策略规则,该规则允许源自web进程304A并且发往API进程306A的网络业务,以及第二应用防火墙策略规则,该规则允许源自API进程306A并且发往数据库308A的网络业务。在一些示例中,用于API进程306A的第二应用防火墙策略还指定阻止源自API进程306A或发往API进程306A的所有其他业务的应用防火墙策略规则。
策略控制器23可以使用上述操作来针对web进程304B、API进程306B、web进程304C、API进程306C、web进程304D、API进程306D生成类似的应用防火墙策略。因此,策略控制器23可以创建应用防火墙策略规则,其允许由工作负荷的会话记录所标识的各种工作负荷之间的网络业务。
在一些示例中,应用防火墙策略202还指定应用防火墙策略规则,其阻止除了由工作负荷的会话记录描述的特定业务流之外的所有其他业务。例如,因为web进程304A的会话记录和API 306B的会话记录都没有标识web进程304A和API 306B之间的业务流,所以web进程304A或API 306B的应用防火墙策略可以禁止web进程304A和API 306B之间的这种业务。类似地,可以禁止web进程304A和API 306C之间的业务,并且可以禁止API 306D和数据库308A之间的业务。
策略控制器23将应用防火墙策略202分发给VR代理35以应用于业务流。因此,在生产环境中部署时,VR代理35或策略代理35可以将应用防火墙策略应用于生产环境内的业务流。
例如,策略代理35A接收web进程304A的第一应用防火墙策略,其包括第一应用防火墙策略规则,该规则允许源自web进程304A并且发往API进程306A的网络业务。策略代理35A可以随后允许从执行web进程304A的虚拟机的接口流向执行API进程306A的虚拟机的接口的网络业务,并阻止流入或流出执行web进程304A而不针对API进程306A的虚拟机的接口的其他业务。
作为另一示例,策略代理35A接收API进程306A的第二应用防火墙策略,其包括第一应用防火墙策略规则,该规则允许源自web进程304A并且发往API进程306A的网络业务,以及第二应用防火墙策略规则,该规则允许源自API进程306A并且发往数据库308A的网络业务。策略代理35A可以随后允许从执行web进程304A的虚拟机的接口流向执行API进程306A的虚拟机的接口的网络业务,或者从执行API进程306A的虚拟机的接口流向数据库308A的接口的网络业务,并阻止流入或流出执行API进程306A的虚拟机的接口的其他业务。
在上述示例中,策略代理35A实现白名单,其中虚拟机的指定接口之间的所有业务被抢先阻止,并且一个或多个策略规则将特定业务流列入白名单(例如,指定允许的虚拟机的接口之间的特定业务流)。在替代示例中,策略代理35实现黑名单,其中虚拟机的接口之间的所有业务被抢先允许,并且一个或多个策略规则将特定业务流列入黑名单(例如,指定被阻止的虚拟机的接口之间的特定业务流)。在替代示例中,一个或多个策略规则可以包括在虚拟机的接口之间将特定业务流或业务流组列入白名单或列入黑名单的组合。
因此,本公开的技术可以允许策略控制器23针对工作负荷37自动生成基于意图的应用防火墙策略。换句话说,策略控制器23可以使用工作负荷37的业务统计的会话记录来识别开发环境内的工作负荷37之间的“预期”业务关系,并使用该“预期”关系来生成工作负荷37的应用防火墙策略以供在生产环境中使用以允许这种“预期”业务并阻止其他形式的业务。因此,本公开的技术可以允许创建比传统方法更全面、准确、灵活且有效地生成的防火墙策略。
图4为示出根据本公开的一个或多个方面的执行虚拟网络的虚拟路由器120的示例计算装置100的框图。计算装置100可以表示图1至图3中的任何服务器12或其他装置,诸如任何TOR交换机16。在该示例中,计算装置100包括耦接硬件环境的计算装置100的硬件组件的系统总线142。系统总线142耦接存储器144、网络接口卡(NIC)106A-106B(统称为“NIC106”)、存储盘107和具有多个处理核108A-108J(统称为“处理核108”)的多核计算环境102。网络接口卡106包括被配置为使用底层物理网络的链路交换包的接口。多核计算环境102可以包括任何数量的处理器和任何数量的硬件核,例如,从4到数千。每个处理核108各自包括独立的执行单元,以执行符合核的指令集架构的指令。处理核108可以各自实现为单独的集成电路(IC),或者可以组合在一个或多个多核处理器(或“多核”处理器)内,每个多核处理器使用单个IC(即,单芯片多处理器)实现。
磁盘107表示计算机可读存储介质,其包括以用于存储诸如处理器可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术实现的易失性和/或非易失性、可移动和/或不可移动介质。计算机可读存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、EEPROM、闪存、CD-ROM、数字通用光盘(DVD)或其他光学存储装置、磁带盒、磁带、磁盘存储器或其他磁存储装置,或可用于存储所需信息并且可由核108访问的任何其他介质。
主存储器144包括一个或多个计算机可读存储介质,其可包括随机存取存储器(RAM),诸如各种形式的动态RAM(DRAM)(例如DDR2/DDR3SDRAM)、或静态RAM(SRAM)、闪存、或可以用于以指令或数据结构的形式携带或存储所需程序代码和程序数据并且可以由计算机访问的任何其他形式的固定或可移动存储介质。主存储器144提供由可寻址存储器位置组成的物理地址空间。
在一些示例中,存储器144可以向多核计算环境102呈现非均匀存储器访问(NUMA)架构。也就是说,核108可能不具有与构成存储器144的各种存储介质相同的存储器访问时间。在一些情况下,核108可以被配置为使用存储器144的部分,其为核提供最低的存储器时延以减少总存储器时延。
在一些实例中,用于计算机可读存储介质的物理地址空间可以在一个或多个核108(即,共享存储器)之间共享。例如,核108A、108B可以经由存储器总线(未示出)连接到一个或多个DRAM封装、模块和/或芯片(也未示出),其呈现可由核108A、108B访问的物理地址空间。虽然该物理地址空间可以向存储器144的任何部分的核108A、108B提供最低的存储器访问时间,但是存储器144的剩余部分中的至少一些部分可以直接可由核108A、108B访问。核108中的一个或多个还可以包括L1/L2/L3高速缓存或其组合。核108的相应高速缓存为核108提供任何存储介质的最低时延存储器访问。
存储器144、网络接口卡(NIC)106A-106B(统称为“NIC 106”)、存储磁盘107和多核计算环境102为执行虚拟路由器120和一个或多个工作负荷37的软件栈提供操作环境。工作负荷37可以表示图2的任何工作负荷37的示例实例。计算装置100将由主存储器144提供的虚拟和/或物理地址空间分区,并且在虚拟存储器的情况下由磁盘107分区为分配用于运行用户进程的用户空间111,以及受到保护并且通常不可通过用户进程访问的内核空间112。操作系统内核(图4中未示出)可以在内核空间中执行,并且可以包括例如Linux、伯克利软件发行(BSD)、另一个Unix变体内核或可从Microsoft获得的Windows服务器操作系统内核。在一些情况下,计算装置100可以执行管理程序以管理工作负荷37(也未在图4中示出)。图2中示出了示例管理程序31。示例管理程序包括用于Linux内核的基于内核的虚拟机(KVM)、Xen、可从VMware获得的ESXi、可从Microsoft获得的Windows Hyper-V以及其他开源和专有管理程序。在一些示例中,利用诸如FIB 124的路由信息编程的专用硬件可以执行虚拟路由器120。尽管为了便于说明目的而描绘为在内核空间112内执行,但是在一些示例中,工作负荷37A-37K可以在用户空间111中执行。
Eth0 114A和Eth1 114B表示根据软件装置模型的装置,并提供用于处理由相应NIC 106接收/发送的包的装置驱动器软件例程。由NIC 106从用于虚拟网络的底层物理网络结构接收的包可以包括外报头,以允许物理网络结构将有效载荷或“内部包”隧道传送到NIC 106中的一者的物理网络地址。外报头不仅可以包括物理网络地址,还可以包括虚拟网络标识符,诸如VxLAN标记或多协议标签交换(MPLS)标签,其标识一个虚拟网络以及相应的路由实例122。内部包包括内报头,该内报头具有符合由虚拟网络标识符标识的虚拟网络的虚拟网络寻址空间的目的地网络地址。例如,虚拟路由器转发平面128可以通过Eth1从NIC106接收具有外报头的包,该外报头包括与路由实例122A在虚拟路由器转发平面128中相关联的VxLAN。该包可以具有内报头,该内报头具有目的地网络地址,该目的地网络地址为WL37A的目的地地址,其经由接头接口146A接通到路由实例122A中。
该示例中的虚拟路由器120包括内核空间112模块:虚拟路由器转发平面128,以及用户空间111模块:VN代理35。虚拟路由器转发平面128执行虚拟路由器120的“转发平面”或包转发功能,以及VN代理35执行虚拟路由器120的“控制平面”功能。VN代理35可以表示图2的任何VN代理35的示例实例。
虚拟路由器转发平面128包括用于对应虚拟网络的多个路由实例122A-122C(统称为“路由实例122”)。每个路由实例122包括转发信息库(FIB)124A-124C(统称为“FIB 124”)和流表126A-126C(统称为“流表126”)中的相应一者。尽管被示为单独的数据结构,但是流表126在某些情况下可以为实现为单个表或其他关联数据结构的逻辑表,其中各个流表126的条目可由虚拟网络标识符(例如,诸如VxLAN标记或MPLS标签的VRF标识符)标识。FIB 124包括将目的地地址映射到目的地下一跳的查找表。目的地地址可以包括第3层网络前缀或第2层MAC地址。流表126使得能够将转发策略应用于流。每个流表126包括流表条目,每个流表条目匹配可以遍历虚拟路由器转发平面128的一个或多个流,并且包括用于应用于匹配流的转发策略。例如,虚拟路由器转发平面128尝试将路由实例122A处理的包与流表126A的流表条目之一进行匹配。如果对于给定包存在匹配的流表条目,则虚拟路由器转发平面128将策略中指定的流动作应用于包。这可以称为“快路径”包处理。如果该包不存在匹配的流表条目,则该包可以表示新包流的初始包,并且虚拟路由器转发平面128可以请求VN代理35在该流表中为新包流安装流表条目。这可以被称为包流的初始包的“慢路径”包处理,并且在图4中由慢路径140表示。
在该示例中,VN代理35可以为由计算装置100执行的用户空间111进程。VN代理35包括配置数据134、虚拟路由器和转发实例配置136(“VRF 136”)和策略表138(“策略138”)。VN代理35与一个或多个虚拟网络控制器(例如,图1至图2的SDN控制器132)交换控制信息。控制信息可以包括虚拟网络路由,诸如路由实例和用于安装到配置数据134的转发策略的低级配置状态、VRF 136、以及策略138。VN代理35还可以报告分析状态,将转发状态安装到虚拟路由器转发平面128的FIB 124,发现WL 37及其属性。如上所述,VN代理35还对穿过虚拟路由器转发平面128的每个新流的第一(初始)包应用慢路径包处理,并将对应的流条目安装到流表126以用于新流的虚拟路由器转发平面128的快路径处理以用于该流的后续包。
在一些示例中,VN代理35还包括标记数据库141。如上所述,SDN控制器132的策略控制器23分配指定对象的一个或多个级别和/或一个或多个类别的一个或多个标记。策略控制器23可以跨多个级别或类别向对象应用标记,以及将标记应用于跨多个数据中心的对象。策略控制器23将这些标记分发给VN代理35,VN代理35将分配的标记存储在标记数据库141中。
在图4的示例中,策略代理139为VN代理35的子组件。策略代理139可以以与图1的策略代理35基本相似的方式起作用。策略代理139从策略控制器23接收一个或多个策略并将这样的策略存储在策略138中。策略138中的每者可以包括一个或多个策略规则,其指定是应该允许还是阻止特定网络业务。此外,每个策略规则包括一个或多个策略标记,其指定哪些对象(诸如在WL 37上执行的应用)应用策略规则。例如,策略代理139可以用标记数据库141中的一个或多个标记交叉引用策略规则的一个或多个标记,以确定应该应用策略规则的一个或多个对象。在确定应该应用策略规则的一个或多个对象时,策略代理139根据策略规则允许或阻止源自或发往一个或多个对象的网络业务。在一些示例中,策略代理139允许或阻止WL 37的接口级别的网络业务。在该示例中,接口146从父对象(诸如WL 37、虚拟网络、父项目或全局策略集10)继承标记。因此,策略代理139通过将一个或多个策略规则的标记与应用于接口146的标记匹配来允许或阻止发往或源自WL 37的接口146的网络业务。
例如,策略代理35A接收web进程304A的第一应用防火墙策略,其包括第一应用防火墙策略规则,该规则允许源自web进程304A并且发往API进程306A的网络业务。策略代理35A可以随后允许从执行web进程304A的虚拟机的接口流向执行API进程306A的虚拟机的接口的网络业务,并阻止流入或流出执行web进程304A而不针对API进程306A的虚拟机的接口的其他业务。
作为另一示例,策略代理35A接收API进程306A的第二应用防火墙策略,其包括第一应用防火墙策略规则,该规则允许源自web进程304A并且发往API进程306A的网络业务,以及第二应用防火墙策略规则,该规则允许源自API进程306A并且发往数据库308A的网络业务。策略代理35A可以随后允许从执行web进程304A的虚拟机的接口流向执行API进程306A的虚拟机的接口的网络业务,或者从执行API进程306A的虚拟机的接口流向数据库308A的接口的网络业务,并阻止流入或流出执行API进程306A的虚拟机的接口的其他业务。
为了更新特定对象或对象组的策略,管理员可以指示策略控制器23将新策略分发给多个数据中心10的各个VN代理35的策略代理139。在一些示例中,策略控制器23经由BGP消息分发新策略。以这种方式,管理员可以管理多个数据中心的可扩展的多维策略框架。此外,每个策略代理139可以自动应用相关策略,而无需管理员单独管理或更新每个VN代理35的策略。因此,本公开的技术可以极大地降低复杂性并简化跨多个数据中心10的这种策略的管理。
图5为根据本公开的一个或多个方面的示例网络500的框图,在该网络中,策略控制器23管理服务器或计算节点并且通过仪表板203提供与计算机网络相关联的工作流和策略对象相关的各个方面的可视化。在图5所示的示例中,策略控制器23被示为集群502的一部分。然而,在其他示例中,策略控制器23不是集群502的一部分,并且在这样的示例中,“集群502”指的是计算节点而不是控制器。图5的集群502可以表示基于云的计算网络和/或计算域或项目,或其他类型的计算集群。在图5的集群502表示云环境的情况下,这样的云环境可以为OpenStack云环境或Kubernetes云环境。集群502可以分布在多个环境中,诸如不同的数据中心中。
策略控制器23可以以结合图1至图4描述和示出的方式操作。例如,策略控制器23可以收集和发布与分配给每个标记的标记名称或标记值有关的信息,该每个标记已经被分配给作为项目的一部分执行的工作负荷和/或由包括在计算机系统中的虚拟网络执行的工作负荷。
仪表板203可以以结合图1至图4描述和示出的方式实现。如结合图1所描述的,可以主要由策略控制器23和/或在策略控制器23上执行的仪表板模块来创建、更新和/或维护仪表板203。在一些示例中,与策略控制器23分离的计算装置可以生成仪表板203。如图5中所示,策略控制器23可以生成仪表板203,其可以表示提供关于拓扑、结构、层级、利用和/或性能状态和与基础设施元素和在被监测的计算机网络内执行的工作负荷相关联的度量的信息的图形用户界面的集合(例如,包括用户界面510)。策略控制器23生成并输出图形用户界面屏幕(例如用户界面510),以供用户界面装置129显示。在图5的示例中,用户界面510包括根据下面描述的示例和技术及其任何等同物布置在图形用户界面内的一组图形元素。策略控制器23可以使用分配给标记的标记信息和标记值来标记正被显示的作为由用户界面装置129显示的图形用户界面的一部分的图形元素。这样的标记信息可以将每个服务器12标识为托管策略对象的一个或多个实例,并且可以以示出分配给这些策略对象的类别和子类别的方式来布置。
可以利用不同的颜色来呈现与被显示特定策略对象相关联的每个图形元素,以帮助提供图形用户界面内的单独策略对象之间的视觉区别。另外,表示策略对象之间的通信的互连元素可以例如在表示两个相应策略对象的一对图形元素之间延伸。颜色指示符可以用于呈现互连元素,该颜色用于指示由特定互连元件描述的通信分配或者定义的特定状态。
在一些示例中,策略控制器23可以响应于来自用户的输入(例如,用户界面510的显示区域内的交互),生成或更新仪表板203内的图形用户界面,使得基础设施元素被装置类型、互连、健康、风险、聚合、项目、网络(虚拟或物理)、类型和/或以其他方式,例如通过标记和/或类别/子类别分组进行过滤。在这样的示例中,过滤器可以使一些图形元素隐藏在仪表板203或仪表板203的用户界面内,同时基于过滤器输入呈现仪表板203内的其他图形元素。可以使用函数范例来应用过滤器。例如,每个过滤器可以对应于一个函数,因此对于给定的一组“x”资源、元素或其他待过滤的项,以及过滤函数“f”和“g”,过滤器的应用可以计算f(g(x))。在过滤器遵循功能范例的情况下,以不同的顺序应用过滤器(例如,g(f(x)))将具有相同的结果。在一些示例中,过滤器函数中的一些或全部函数是纯的,从而不改变函数上下文之外的状态信息。每次更改过滤器值(或其他用户界面组件)时,策略控制器23可以将适当的过滤器应用于资源哈希表中的所有资源,并且然后将资源阵列重新分配给结果阵列。当检测到与用户界面510的交互时,当选择或改变主显示区域513内的一个或多个基础设施元素表示时,当策略控制器23接收到度量数据时,和/或在其他情况下,可以应用和/或重新应用过滤器。
在一些示例中,作为生成用户界面510的一部分,策略控制器23提供圆形环的视觉显示,其可以被称为“标记视图”,并且可以被显示为仪表板203所提供的图形用户界面的默认版本。还可以基于接收到包括在视图选择菜单中的“标记”选项的选择的仪表板203的输入来显示图形用户界面的“标记视图”,如下面参考图8进一步示出和描述的。在其他示例中,策略控制器23在一个或多个列和一个或多个行的二维网格中提供信息的布置。可以通过仪表板203在任何给定时间向显示的图形用户界面提供各种用户输入,以允许与特定策略对象、项目、特定通信互连、特定代理、虚拟网络相关或者与待呈现为由仪表板203显示的用户界面的特定端口或虚拟地址相关的更多或更少细节。
在一些示例中,策略控制器23经由仪表板203向用户或管理员呈现用于审查的一个或多个应用防火墙策略,该应用防火墙策略基于上面关于图1至图4所述方式的多个应用工作负荷的业务统计的会话记录而生成。如上所述,响应于从用户或管理员接收批准一个或多个应用防火墙策略规则的输入,策略控制器23将一个或多个应用防火墙策略规则分发给VR代理35以用于应用于网络业务。
本公开中描述的系统、装置和方法允许生成这些图形用户界面,其实时或接近实时地描绘与项目和虚拟网络的操作相关联的各种图形描绘,以及发生在被监测的计算机网络中的关联通信。此外,图形用户界面允许以组织这些图形元素的方式显示这些项目和虚拟网络,这些图形元素描绘了策略对象和基于分配给这些策略对象的标记和类别/子类别的关联通信和通信互连。
尽管贯穿本公开所描述的图形元素可以涉及在由图形用户界面建模的计算机网络内操作的项目和虚拟网络,但是图形用户界面的示例中包括的表示不限于项目和/或虚拟网络。本公开中描述的图形元素可以包括表示虚拟实体(诸如虚拟服务器、虚拟路由器)和/或可以具有至一个或多个物理装置和/或到可以根据本公开中描述的任何示例在图形用户界面中以图形方式呈现和可视地表示的其他虚拟实体的连接的其他计算机/软件实体的虚拟实例的图形符号。
本公开中描述的图形用户界面及其可使用本文描述的系统、装置和方法生成和显示的任何等同物提供可以允许用户(诸如信息技术(IT)专业人员或技术人员)可以实时或近乎实时地快速有效地建模、可视化和定位与计算机网络性能相关的问题的可视化工具。如本公开中描述的用户界面允许用户查看策略对象之间的各种关系(包括通信互连和与图形用户界面描绘的计算机系统内操作的多个策略对象的这些通信互连相关联的策略规则),并快速移动到更详细的图形用户界面(其提供更具体信息的可视化表示,诸如与各种策略对象相关的图形和/或文本信息和/或基于到生成图形用户界面的系统的简单输入(诸如耦接到策略控制器23的用户界面129的输入)发生在计算机网络内的通信)。
图6为示出了根据本公开的技术的用于业务流的业务统计的多个示例会话记录600的表格。在一些示例中,如上所述,业务收集器38可以收集多个会话记录600。在一些示例中,会话记录600针对每个业务流指定描述该流的多个信息和元数据。作为一个示例,会话记录600针对每个业务流指定5元组信息(例如,流的源地址、流的源端口、流的目的地地址、流的目的地端口、以及流的协议)。
在一些示例中,会话记录600指定其他类型的信息,诸如应用于与流相关联的一个或多个对象的标记。在图6的示例中,会话记录600指定与流相关联的工作负荷的标记(例如,web应用、财务应用或电子邮件应用等)。
图7是示出根据本公开的技术将图6的业务流的业务统计的多个示例会话记录600转换为多个防火墙策略的图示。
基于应用于与流相关联的一个或多个对象的会话记录600的标记,策略控制器23将会话记录600与针对与标记相关联的一个或多个工作负荷的业务统计的会话记录相关联。例如,策略控制器23可以基于会话记录600指定的标记,将流1、2、3和6关联到web应用的业务统计的会话记录702A,将流4、5、7和8关联到财务应用的业务统计的会话记录702B,以及将流9和10关联到电子邮件应用的业务统计的会话记录702C(统称为“工作负荷的业务统计的会话记录702”)。
策略控制器23基于工作负荷的业务统计的会话记录702生成一个或多个应用防火墙策略704A-704C(统称为“应用防火墙策略704”)。例如,基于web应用的会话记录702A,策略控制器23生成web应用策略704A,其包括分别允许相应的业务流1、2、3和6的web应用策略规则。类似地,基于财务应用的会话记录702B,策略控制器23生成财务应用策略704B,其包括分别允许相应的业务流4、5、7和8的财务应用策略规则。此外,基于电子邮件应用的会话记录702C,策略控制器23生成电子邮件应用策略704C,其包括分别允许相应的业务流9和10的电子邮件应用策略规则。在一些示例中,应用防火墙策略704中的每者阻止与应用防火墙策略704的应用防火墙策略规则未明确列入白名单的对应应用相关联的所有其他业务。
图8为示出根据本公开的技术的用于生成多个防火墙策略的示例操作的流程图。为方便起见,图8是相对于图1描述的,尽管图8的操作也可以应用于图2和图3。
在一个示例中,图2的虚拟路由器30处理由一个或多个应用生成并由每个虚拟路由器30转发的网络业务的入口和出口流,以生成业务流统计。每个虚拟路由器30将业务流统计信息传送到相应VR代理35。每个VR代理35处理入口流和出口流的业务流统计,以识别对应于工作流37之间的公共通信会话的入口流和出口流对。对于每个识别的对,VR代理35生成由虚拟路由器30转发的网络业务的业务统计的会话记录。VR代理35将会话记录连同给定流的标记信息一起上传到用于云数据中心10的SDN控制器32的业务收集器38。业务收集器38从多个VR代理35接收会话记录,并将会话记录转发到策略控制器23。
策略控制器23从业务收集器38接收多个业务流的业务统计的会话记录(802)。策略控制器23基于由多个业务流的会话记录指定的标记,将多个业务流的会话记录关联到多个应用工作负荷37的业务统计的会话记录中(804)。例如,策略控制器23使用由多个业务流的会话记录指定的标记将应用工作负荷37与该业务流的特定会话记录进行匹配。基于应用于与由多个业务流的会话记录指定的标记匹配的工作负荷37的标记,策略控制器23将业务流的会话记录聚合到应用工作负荷37的会话记录中。
策略控制器23基于多个应用工作负荷37的业务统计的会话记录,生成针对多个应用工作负荷37的一个或多个应用防火墙策略(806)。多个应用防火墙策略中的每个应用防火墙策略包括一个或多个应用防火墙策略规则,并且一个或多个应用防火墙策略规则中的每个应用防火墙策略规则定义VR代理35中的一者是否应该允许或拒绝相应工作负荷37的业务流。例如,策略控制器23可以使用用于工作负荷37的会话记录的5元组来定义应用防火墙策略规则的5元组。此外,策略控制器23可以基于会话记录定义应用防火墙策略规则的规则(例如,允许、阻止、记录或报告与规则对应的业务)。在一些示例中,每个应用防火墙策略规则指定允许相应网络业务的默认规则,并且阻止与生成的应用防火墙策略规则不匹配的所有其他网络业务。
策略控制器23将一个或多个应用防火墙策略分发给虚拟路由器代理35,以便应用于多个业务流(808)。VR代理35随后可以将应用防火墙策略应用于网络8内的业务流。在一些示例中,在分发一个或多个应用防火墙策略之前,策略控制器23经由UI装置129向用户或管理员呈现一个或多个应用防火墙策略以供查看。响应于从用户或管理员接收批准一个或多个应用防火墙策略规则的输入,策略控制器23将一个或多个应用防火墙策略规则分发给VR代理35以用于应用于网络业务。收集业务统计并将业务统计中继到策略控制器23的VR代理35可以与接收和应用应用于工作负荷37之间的后续业务的一个或多个应用防火墙策略的VR代理不同。
因此,本公开的技术可以允许策略控制器23针对工作负荷37自动生成基于意图的应用防火墙策略。换句话说,策略控制器23可以使用工作负荷37的业务统计的会话记录来识别开发环境内的工作负荷37之间的“预期”业务关系,并使用该“预期”关系来生成工作负荷37的应用防火墙策略以供在生产环境中使用以允许这种“预期”业务并阻止其他形式的业务。因此,本公开的技术可以允许创建比传统方法更全面、准确、灵活且有效地生成的防火墙策略。
图9为示出根据本公开的技术的用于生成多个防火墙策略的示例操作的流程图。为方便起见,图9是相对于图1描述的,尽管图9的操作也可以应用于图2和图3。
策略控制器23从业务收集器38接收多个业务流的业务统计的会话记录(902)。操作902可以以与上文关于图8的操作802描述的基本类似的方式发生。
策略控制器23将多个业务流的会话记录关联到多个应用工作负荷37的业务统计的会话记录中(904)。然而,在该示例中,与图8的操作相反,策略控制器23将多个业务流的会话记录关联到多个应用工作负荷37的业务统计的会话记录,而无需使用匹配标记。作为一个示例,为了将业务流的会话记录关联到工作负荷37的会话记录中,策略控制器23经由UI装置129向用户或者管理员呈现多个业务流的业务统计的多个会话记录。此外,策略控制器23经由UI装置129接收指定多个业务流中的哪些业务流对应于多个应用工作负荷37中的相应应用工作负荷37的输入,并且基于该输入,将业务流的会话记录聚合到工作负荷37的会话记录中。
在另一示例中,策略控制器23通过将聚类算法应用于业务流的会话记录,将业务流的会话记录关联到工作负荷37的会话记录中。例如,策略控制器23可以使用聚类算法来识别业务流和特定工作负荷37的会话记录之间的关系,并且基于这些关系,将业务流的会话记录聚合到工作负荷37的会话记录中。
策略控制器23基于多个应用工作负荷37的业务统计的会话记录,以与上面关于图8的操作806所述的基本类似的方式生成多个应用工作负荷37的一个或多个应用防火墙策略(806)。此外,策略控制器23将一个或多个应用防火墙策略分发给虚拟路由器代理35,以便以与上面关于图8的操作808所述的基本类似的方式应用于多个业务流(808)。VR代理35随后可以将应用防火墙策略应用于网络8内的业务流。因此,本公开的技术可以允许策略控制器23针对工作负荷37自动生成基于意图的应用防火墙策略。换句话说,策略控制器23可以使用工作负荷37的业务统计的会话记录来识别开发环境内的工作负荷37之间的“预期”业务关系,并使用该“预期”关系来生成工作负荷37的应用防火墙策略以供在生产环境中使用以允许这种“预期”业务并阻止其他形式的业务。因此,本公开的技术可以允许创建比传统方法更全面、准确、灵活且有效地生成的防火墙策略。
本文描述的技术可以用硬件、软件、固件或其任何组合来实现。描述为模块、引擎、单元或组件的各种特征可以在集成逻辑器件中一起实现,或者作为离散但可互操作的逻辑器件或其他硬件器件单独实现。在一些情况下,电子电路的各种特征可以实现为一个或多个集成电路器件,诸如集成电路芯片或芯片组。
如果以硬件实现,则本公开可涉及诸如处理器或集成电路器件(诸如集成电路芯片或芯片组)的装置。可选地或另外地,如果以软件或固件实现,则该技术可以至少部分地由包括指令的计算机可读数据存储介质来实现,该指令在被执行时使处理器执行上述方法中的一种或多种方法。例如,计算机可读数据存储介质可以存储这样的指令以供处理器执行。
计算机可读介质可以形成计算机程序产品的一部分,该计算机程序产品可以包括包装材料。计算机可读介质可包括计算机数据存储介质,诸如随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质等。在一些示例中,制品可包括一个或多个计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括非暂时性介质。术语“非暂时性”可以指示存储介质不实施在载波或传播信号中。在某些示例中,非暂时性存储介质可以存储随时间变化的数据(例如,在RAM或高速缓存中)。
代码或指令可以为由处理电路执行的软件和/或固件,处理电路包括一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他等效的集成或离散逻辑电路。因此,本文使用的术语“处理器”可以指任何前述结构或适合于实现本文所述技术的任何其他结构。另外,在一些方面,可以在软件模块或硬件模块内提供本公开中描述的功能。
除上述之外或作为其替代,描述了以下示例。以下任何示例中描述的特征可以与本文描述的任何其他示例一起使用。
示例1.一种方法,包括:由计算机网络的策略控制器接收多个应用工作负荷之间的多个业务流的业务统计,该多个应用工作负荷由计算机网络的第一组一个或多个计算装置执行;由该策略控制器将该多个业务流的业务统计关联到该多个应用工作负荷的业务统计的会话记录中;由该策略控制器基于多个应用工作负荷的业务统计的会话记录生成针对多个应用工作负荷的一个或多个应用防火墙策略,其中,该一个或多个应用防火墙策略定义该多个应用工作负荷的应用工作负荷之间的业务流是被允许还是拒绝;并且由该策略控制器将该一个或多个应用防火墙策略分发给第二组一个或多个计算装置,以用于应用于该应用工作负荷的实例之间的业务流。
示例2.根据示例1的方法,其中,接收多个应用工作负荷之间的多个业务流的业务统计包括从第一组一个或多个计算装置的第一组虚拟路由器代理接收该多个应用工作负荷中的多个业务流的业务统计,并且其中,将一个或多个应用防火墙策略分发到第二组一个或多个计算装置以用于应用于应用工作负荷的实例之间的业务流包括将一个或多个应用防火墙策略分发到第二组一个或多个计算装置的第二组虚拟路由器代理,以用于应用于应用工作负荷的实例之间的业务流。
示例3.根据示例2的方法,还包括由第二组虚拟路由器代理将一个或多个应用防火墙策略应用于应用工作负荷的实例之间的业务流,以至少允许或拒绝至少一个业务流。
示例4.根据示例1至3中任一示例的方法,还包括由策略控制器呈现用于向用户显示的一个或多个应用防火墙策略。
示例5.根据示例1至4中任一示例的方法,其中,将多个业务流的业务统计关联到多个应用工作负荷的业务统计的会话记录中包括:由策略控制器从用户接收指定多个业务流的哪些业务流对应于多个应用工作负荷的应用工作负荷的输入;由该策略控制器基于该输入将该多个业务流的业务统计关联到该多个应用工作负荷的业务统计的会话记录中。
示例6.根据示例1至5中任一示例的方法,其中,将多个业务流的业务统计关联到多个应用工作负荷的业务统计的会话记录中包括:由策略控制器基于由多个业务流的业务统计指定的一个或多个标记,将多个业务流的业务统计关联到多个应用工作负荷的业务统计的会话记录中。
示例7.根据示例1至6中任一示例的方法,其中,将多个业务流的业务统计关联到多个应用工作负荷的业务统计的会话记录中包括:由策略控制器应用聚类算法以识别多个业务流中的哪些业务流对应于多个应用工作负荷的应用工作负荷;由该策略控制器基于该聚类算法将该多个业务流的业务统计关联到该多个应用工作负荷的业务统计的会话记录中。
示例8.根据示例1至7中任一示例的方法,其中,基于多个应用工作负荷的业务统计的会话记录,生成多个应用工作负荷的一个或多个应用防火墙策略包括:针对多个应用工作负荷中的每个应用工作负荷:识别与应用工作负荷相关联的多个业务流的一个或多个业务流;针对应用工作负荷生成一个或多个应用防火墙策略规则,其中,一个或多个应用防火墙策略规则的每个应用防火墙策略规则包括5元组和规则,该5元组和与应用工作负荷关联的一个或多个业务流的相应业务流的5元组相同,该规则指定对相应业务流执行的动作;并针对应用工作负荷生成应用防火墙策略,该应用防火墙策略包括应用工作负荷的一个或多个应用防火墙策略规则。
示例9.根据示例8的方法,其中,对相应业务流执行的动作为以下中的一者或多者:允许相应业务流和拒绝相应业务流中的一者;记录相应业务流;并报告相应业务流。
示例10.根据示例1至9的任意组合的方法,其中,多个业务流的每个业务流的业务统计的会话记录包括以下中的一者或多者:针对业务流的源的一个或多个标记;针对业务流的目的地的一个或多个标记。
示例11.一种计算机网络的策略控制器,该策略控制器在处理电路上执行并且被配置为:接收多个应用工作负荷之间的多个业务流的业务统计,该多个应用工作负荷由计算机网络的第一组一个或多个计算装置执行;将该多个业务流的业务统计关联到该多个应用工作负荷的业务统计的会话记录中;基于多个应用工作负荷的业务统计的会话记录生成针对多个应用工作负荷的一个或多个应用防火墙策略,其中,该一个或多个应用防火墙策略定义该多个应用工作负荷的应用工作负荷之间的业务流是被允许还是拒绝;并且将该一个或多个应用防火墙策略分发给第二组一个或多个计算装置,以用于应用于该应用工作负荷的实例之间的业务流。
示例12.根据示例11的策略控制器,其中,为了接收多个应用工作负荷之间的多个业务流的业务统计,该策略控制器还被配置为从第一组一个或多个计算装置的第一组虚拟路由器代理接收该多个应用工作负荷之间的多个业务流的业务统计,并且其中,为了将一个或多个应用防火墙策略分发到第二组一个或多个计算装置以用于应用于应用工作负荷的实例之间的业务流,该策略控制器还被配置为将一个或多个应用防火墙策略分发到第二组一个或多个计算装置的第二组虚拟路由器代理,以用于应用于应用工作负荷的实例之间的业务流。
示例13.根据示例11至12中任一示例的策略控制器,其中,该策略控制器还被配置为呈现用于向用户显示的一个或多个应用防火墙策略。
示例14.根据示例11至13中任一示例的策略控制器,其中,为了将多个业务流的业务统计与多个应用工作负荷的业务统计的会话记录相关联,该策略控制器还被配置为:从用户接收指定多个业务流的哪些业务流对应于多个应用工作负荷的应用工作负荷的输入;并且由该策略控制器基于该输入将该多个业务流的业务统计关联到该多个应用工作负荷的业务统计的会话记录中。
示例15.根据示例11至14中任一示例的策略控制器,其中,为了将多个业务流的业务统计关联到多个应用工作负荷的业务统计的会话记录中,该策略控制器还被配置为:基于由多个业务流的业务统计指定的一个或多个标记,将多个业务流的业务统计关联到多个应用工作负荷的业务统计的会话记录中。
示例16.根据示例11至15中任一示例的策略控制器,其中,为了将多个业务流的业务统计关联到多个应用工作负荷的业务统计的会话记录中,策略控制器还被配置为:应用聚类算法,以识别多个业务流的哪些业务流对应于多个应用工作负荷的应用工作负荷;并且基于该聚类算法,将该多个业务流的业务统计关联到该多个应用工作负荷的业务统计的会话记录中。
示例17.根据示例11至16中任一示例的策略控制器,其中,为了基于多个应用工作负荷的业务统计的会话记录来生成多个应用工作负荷的一个或多个应用防火墙策略,该策略控制器还被配置为:针对多个应用工作负荷中的每个应用工作负荷:识别与应用工作负荷相关联的多个业务流的一个或多个业务流;针对应用工作负荷生成一个或多个应用防火墙策略规则,其中,一个或多个应用防火墙策略规则的每个应用防火墙策略规则包括5元组和规则,该5元组和与应用工作负荷关联的一个或多个业务流的相应业务流的5元组相同,该规则指定对相应业务流执行的动作;并针对应用工作负荷生成应用防火墙策略,该应用防火墙策略包括应用工作负荷的一个或多个应用防火墙策略规则。
示例18.根据示例17的策略控制器,其中,对相应业务流执行的动作为以下中的一者或多者:允许相应业务流和拒绝相应业务流中的一者;记录相应业务流;并报告相应业务流。
示例19.根据示例11至18的任意组合的策略控制器,其中,多个业务流的每个业务流的业务统计的会话记录包括以下中的一者或多者:针对业务流的源的一个或多个标记;针对业务流的目的地的一个或多个标记。
示例20.一种包括指令的非暂时性计算机可读介质,该指令在被执行时使处理电路执行用于计算机网络的策略控制器以:接收多个应用工作负荷之间的多个业务流的业务统计,该多个应用工作负荷由计算机网络的第一组一个或多个计算装置执行;将该多个业务流的业务统计关联到该多个应用工作负荷的业务统计的会话记录中;基于多个应用工作负荷的业务统计的会话记录生成针对多个应用工作负荷的一个或多个应用防火墙策略,其中,该一个或多个应用防火墙策略定义该多个应用工作负荷的应用工作负荷之间的业务流是被允许还是拒绝;并将该一个或多个应用防火墙策略分发给第二组一个或多个计算装置,以用于应用于该应用工作负荷的实例之间的业务流。
此外,可以将上述任何示例中阐述的任何特定特征组合成所描述技术的有益示例。也就是说,任何特定特征通常适用于本发明的所有示例。已经描述了本发明的各种示例。

Claims (20)

1.一种方法,包括:
由计算机网络的策略控制器接收多个应用工作负荷之间的多个业务流的业务统计,所述多个应用工作负荷由计算机网络的第一组一个或多个计算装置执行;
由所述策略控制器将所述多个业务流的业务统计关联到所述多个应用工作负荷的业务统计的会话记录中;
由所述策略控制器基于所述多个应用工作负荷的业务统计的会话记录生成针对所述多个应用工作负荷的一个或多个应用防火墙策略,其中,所述一个或多个应用防火墙策略定义所述多个应用工作负荷的应用工作负荷之间的业务流是被允许还是拒绝;以及
由所述策略控制器将所述一个或多个应用防火墙策略分发给第二组一个或多个计算装置,以用于应用于所述应用工作负荷的实例之间的业务流。
2.根据权利要求1所述的方法,还包括由所述策略控制器呈现用于向用户显示的所述一个或多个应用防火墙策略。
3.根据权利要求1所述的方法,其中,将所述多个业务流的业务统计关联到所述多个应用工作负荷的业务统计的会话记录中包括:
由所述策略控制器从用户接收指定所述多个业务流中的哪些业务流对应于所述多个应用工作负荷的应用工作负荷的输入;以及
由所述策略控制器基于所述输入将所述多个业务流的业务统计关联到所述多个应用工作负荷的业务统计的会话记录中。
4.根据权利要求1所述的方法,其中,将所述多个业务流的业务统计关联到所述多个应用工作负荷的业务统计的会话记录中包括:
由所述策略控制器基于由所述多个业务流的业务统计指定的一个或多个标记,将所述多个业务流的业务统计关联到所述多个应用工作负荷的业务统计的会话记录中。
5.根据权利要求1所述的方法,其中,将所述多个业务流的业务统计关联到所述多个应用工作负荷的业务统计的会话记录中包括:
由所述策略控制器应用聚类算法,以识别所述多个业务流中的哪些业务流对应于所述多个应用工作负荷的应用工作负荷;以及
由所述策略控制器基于所述聚类算法将所述多个业务流的业务统计关联到所述多个应用工作负荷的业务统计的会话记录中。
6.根据权利要求1所述的方法,其中,基于所述多个应用工作负荷的业务统计的会话记录,生成所述多个应用工作负荷的所述一个或多个应用防火墙策略包括:
针对所述多个应用工作负荷的每个应用工作负荷:
识别与应用工作负荷相关联的所述多个业务流中的一个或多个业务流;
针对所述应用工作负荷生成一个或多个应用防火墙策略规则,其中,所述一个或多个应用防火墙策略规则的每个应用防火墙策略规则包括5元组和规则,所述5元组和与所述应用工作负荷关联的所述一个或多个业务流的相应业务流的5元组相同,所述规则指定对所述相应业务流执行的动作;以及
针对所述应用工作负荷生成应用防火墙策略,所述应用防火墙策略包括所述应用工作负荷的一个或多个应用防火墙策略规则。
7.根据权利要求6所述的方法,其中,对所述相应业务流执行的动作为以下中的一者或多者:
允许所述相应业务流和拒绝所述相应业务流中的一者;
记录所述相应业务流;以及
报告所述相应业务流。
8.根据权利要求1所述的方法,其中,所述多个业务流的每个业务流的业务统计的会话记录包括以下中的一者或多者:
针对所述业务流的源的一个或多个标记;
针对所述业务流的目的地的一个或多个标记。
9.根据权利要求1至8的任何组合所述的方法,
其中,接收所述多个应用工作负荷之间的多个业务流的业务统计包括从所述第一组一个或多个计算装置的第一组虚拟路由器代理接收所述多个应用工作负荷之间的多个业务流的业务统计,并且
其中,将所述一个或多个应用防火墙策略分发到所述第二组一个或多个计算装置以用于应用于所述应用工作负荷的实例之间的业务流包括将所述一个或多个应用防火墙策略分发给所述第二组一个或多个计算装置的第二组虚拟路由器代理以用于应用于所述应用工作负荷的实例之间的业务流。
10.根据权利要求9所述的方法,还包括由所述第二组虚拟路由器代理将所述一个或多个应用防火墙策略应用于所述应用工作负荷的实例之间的业务流,以至少允许或拒绝至少一个业务流。
11.一种计算机网络的策略控制器,所述策略控制器在处理电路上执行并被配置为:
接收多个应用工作负荷之间的多个业务流的业务统计,所述多个应用工作负荷由计算机网络的第一组一个或多个计算装置执行;
将所述多个业务流的业务统计关联到所述多个应用工作负荷的业务统计的会话记录中;
基于所述多个应用工作负荷的业务统计的会话记录生成针对所述多个应用工作负荷的一个或多个应用防火墙策略,其中,所述一个或多个应用防火墙策略定义所述多个应用工作负荷的应用工作负荷之间的业务流是被允许还是拒绝;以及
将所述一个或多个应用防火墙策略分发给第二组一个或多个计算装置,以用于应用于所述应用工作负荷的实例之间的业务流。
12.根据权利要求11所述的策略控制器,其中,所述策略控制器还被配置为呈现用于向用户显示的一个或多个应用防火墙策略。
13.根据权利要求11所述的策略控制器,其中,为了将所述多个业务流的业务统计关联到所述多个应用工作负荷的业务统计的会话记录中,所述策略控制器还被配置为:
从用户接收指定所述多个业务流中的哪些业务流对应于所述多个应用工作负荷的应用工作负荷的输入;以及
由所述策略控制器基于所述输入将所述多个业务流的业务统计关联到所述多个应用工作负荷的业务统计的会话记录中。
14.根据权利要求11所述的策略控制器,其中,为了将所述多个业务流的业务统计关联到所述多个应用工作负荷的业务统计的会话记录中,所述策略控制器还被配置为:
基于由所述多个业务流的业务统计指定的一个或多个标记,将所述多个业务流的业务统计关联到所述多个应用工作负荷的业务统计的会话记录中。
15.根据权利要求11所述的策略控制器,其中,为了将所述多个业务流的业务统计关联到所述多个应用工作负荷的业务统计的会话记录中,所述策略控制器还被配置为:
应用聚类算法,以识别所述多个业务流中的哪些业务流对应于所述多个应用工作负荷的应用工作负荷;以及
基于所述聚类算法,将所述多个业务流的业务统计关联到所述多个应用工作负荷的业务统计的会话记录中。
16.根据权利要求11所述的策略控制器,其中,为了基于所述多个应用工作负荷的业务统计的会话记录来生成所述多个应用工作负荷的所述一个或多个应用防火墙策略,所述策略控制器还被配置为:
针对所述多个应用工作负荷的每个应用工作负荷:
识别与应用工作负荷相关联的所述多个业务流中的一个或多个业务流;
针对所述应用工作负荷生成一个或多个应用防火墙策略规则,其中,所述一个或多个应用防火墙策略规则的每个应用防火墙策略规则包括5元组和规则,所述5元组和与所述应用工作负荷关联的所述一个或多个业务流的相应业务流的5元组相同,所述规则指定对所述相应业务流执行的动作;以及
针对所述应用工作负荷生成应用防火墙策略,所述应用防火墙策略包括所述应用工作负荷的一个或多个应用防火墙策略规则。
17.根据权利要求16所述的策略控制器,其中,对所述相应业务流执行的动作为以下中的一者或多者:
允许所述相应业务流和拒绝所述相应业务流中的一者;
记录所述相应业务流;以及
报告所述相应业务流。
18.根据权利要求11所述的策略控制器,其中,所述多个业务流的每个业务流的业务统计的会话记录包括以下中的一者或多者:
针对所述业务流的源的一个或多个标记;
针对所述业务流的目的地的一个或多个标记。
19.根据权利要求11至18的任何组合所述的策略控制器,
其中,为了接收多个应用工作负荷之间的多个业务流的业务统计,所述策略控制器还被配置为从所述第一组一个或多个计算装置的第一组虚拟路由器代理接收所述多个应用工作负荷之间的多个业务流的统计数据,并且
其中,为了将所述一个或多个应用防火墙策略分发到所述第二组一个或多个计算装置以用于应用于所述应用工作负荷的实例之间的业务流,所述策略控制器还被配置为将所述一个或多个应用防火墙策略分发给所述第二组一个或多个计算装置的第二组虚拟路由器代理以用于应用于所述应用工作负荷的实例之间的业务流。
20.一种非暂时性计算机可读介质,包括指令,所述指令在被执行时使处理电路执行计算机网络的策略控制器以:
接收多个应用工作负荷之间的多个业务流的业务统计,所述多个应用工作负荷由计算机网络的第一组一个或多个计算装置执行;
将所述多个业务流的业务统计关联到所述多个应用工作负荷的业务统计的会话记录中;
基于所述多个应用工作负荷的业务统计的会话记录生成针对所述多个应用工作负荷的一个或多个应用防火墙策略,其中,所述一个或多个应用防火墙策略定义所述多个应用工作负荷的应用工作负荷之间的业务流是被允许还是拒绝;以及
将所述一个或多个应用防火墙策略分发给第二组一个或多个计算装置,以用于应用于所述应用工作负荷的实例之间的业务流。
CN201910548861.6A 2018-09-28 2019-06-24 针对虚拟网络生成的基于意图的策略 Active CN110971584B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210467175.8A CN114844841A (zh) 2018-09-28 2019-06-24 用于计算机网络的方法、策略控制器与计算机可读介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/145,682 US10999251B2 (en) 2018-09-28 2018-09-28 Intent-based policy generation for virtual networks
US16/145,682 2018-09-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210467175.8A Division CN114844841A (zh) 2018-09-28 2019-06-24 用于计算机网络的方法、策略控制器与计算机可读介质

Publications (2)

Publication Number Publication Date
CN110971584A true CN110971584A (zh) 2020-04-07
CN110971584B CN110971584B (zh) 2022-05-24

Family

ID=67220614

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210467175.8A Pending CN114844841A (zh) 2018-09-28 2019-06-24 用于计算机网络的方法、策略控制器与计算机可读介质
CN201910548861.6A Active CN110971584B (zh) 2018-09-28 2019-06-24 针对虚拟网络生成的基于意图的策略

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202210467175.8A Pending CN114844841A (zh) 2018-09-28 2019-06-24 用于计算机网络的方法、策略控制器与计算机可读介质

Country Status (3)

Country Link
US (2) US10999251B2 (zh)
EP (1) EP3629533B1 (zh)
CN (2) CN114844841A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118599A (zh) * 2021-03-18 2022-09-27 诺基亚通信公司 网络管理
CN115941456A (zh) * 2021-10-04 2023-04-07 瞻博网络公司 用于连续部署的网络策略生成

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9282019B2 (en) 2013-07-12 2016-03-08 Nicira, Inc. Tracing logical network packets through physical network
US10243848B2 (en) 2015-06-27 2019-03-26 Nicira, Inc. Provisioning logical entities in a multi-datacenter environment
US10805239B2 (en) 2017-03-07 2020-10-13 Nicira, Inc. Visualization of path between logical network endpoints
US10848552B2 (en) * 2018-03-29 2020-11-24 Hewlett Packard Enterprise Development Lp Determining whether to perform address translation to forward a service request or deny a service request based on blocked service attributes in an IP table in a container-based computing cluster management system
US11128530B2 (en) 2018-03-29 2021-09-21 Hewlett Packard Enterprise Development Lp Container cluster management
US10999251B2 (en) 2018-09-28 2021-05-04 Juniper Networks, Inc. Intent-based policy generation for virtual networks
US10757009B2 (en) * 2018-11-20 2020-08-25 Amazon Technologies, Inc. Global-scale connectivity using scalable virtual traffic hubs
US20200314066A1 (en) * 2019-03-29 2020-10-01 Cloudflare, Inc. Validating firewall rules using data at rest
US11296981B2 (en) * 2019-06-24 2022-04-05 Amazon Technologies, Inc. Serverless packet processing service with configurable exception paths
US11088944B2 (en) 2019-06-24 2021-08-10 Amazon Technologies, Inc. Serverless packet processing service with isolated virtual network integration
CN112449751B (zh) * 2019-06-28 2022-08-26 华为云计算技术有限公司 一种数据传输方法、交换机及站点
US11381557B2 (en) * 2019-09-24 2022-07-05 Pribit Technology, Inc. Secure data transmission using a controlled node flow
US11271777B2 (en) 2019-09-24 2022-03-08 Pribit Technology, Inc. System for controlling network access of terminal based on tunnel and method thereof
US11652801B2 (en) 2019-09-24 2023-05-16 Pribit Technology, Inc. Network access control system and method therefor
US11283699B2 (en) 2020-01-17 2022-03-22 Vmware, Inc. Practical overlay network latency measurement in datacenter
US11303557B2 (en) 2020-04-06 2022-04-12 Vmware, Inc. Tunnel endpoint group records for inter-datacenter traffic
US11088919B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Data structure for defining multi-site logical network
US11777793B2 (en) 2020-04-06 2023-10-03 Vmware, Inc. Location criteria for security groups
US11799726B2 (en) 2020-04-06 2023-10-24 Vmware, Inc. Multi-site security groups
US11088902B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Synchronization of logical network state between global and local managers
US11153195B1 (en) 2020-06-08 2021-10-19 Amazon Techologies, Inc. Packet processing service configuration change propagation management
US11570090B2 (en) 2020-07-29 2023-01-31 Vmware, Inc. Flow tracing operation in container cluster
US11196628B1 (en) * 2020-07-29 2021-12-07 Vmware, Inc. Monitoring container clusters
US11558426B2 (en) 2020-07-29 2023-01-17 Vmware, Inc. Connection tracking for container cluster
US11601474B2 (en) 2020-09-28 2023-03-07 Vmware, Inc. Network virtualization infrastructure with divided user responsibilities
US11736436B2 (en) 2020-12-31 2023-08-22 Vmware, Inc. Identifying routes with indirect addressing in a datacenter
US11336533B1 (en) 2021-01-08 2022-05-17 Vmware, Inc. Network visualization of correlations between logical elements and associated physical elements
US11812362B2 (en) 2021-03-01 2023-11-07 Juniper Networks, Inc. Containerized router with a disjoint data plane
US11799785B2 (en) 2021-04-09 2023-10-24 Microsoft Technology Licensing, Llc Hardware-based packet flow processing
CN117203615A (zh) 2021-04-09 2023-12-08 微软技术许可有限责任公司 经由分发扩展主机策略
US11757782B2 (en) * 2021-04-09 2023-09-12 Microsoft Technology Licensing, Llc Architectures for disaggregating SDN from the host
US11687210B2 (en) 2021-07-05 2023-06-27 Vmware, Inc. Criteria-based expansion of group nodes in a network topology visualization
US11711278B2 (en) 2021-07-24 2023-07-25 Vmware, Inc. Visualization of flow trace operation across multiple sites
US11706109B2 (en) 2021-09-17 2023-07-18 Vmware, Inc. Performance of traffic monitoring actions
US12034652B2 (en) 2021-10-04 2024-07-09 Juniper Networks, Inc. Virtual network routers for cloud native software-defined network architectures
US11870642B2 (en) 2021-10-04 2024-01-09 Juniper Networks, Inc. Network policy generation for continuous deployment
US12074884B2 (en) * 2021-10-04 2024-08-27 Juniper Networks, Inc. Role-based access control autogeneration in a cloud native software-defined network architecture
US11627061B1 (en) * 2022-02-24 2023-04-11 Microsoft Technology Licensing, Llc Packet capture using VXLAN encapsulation
US12107722B2 (en) 2022-07-20 2024-10-01 VMware LLC Sharing network manager between multiple tenants
US12101227B2 (en) 2022-12-30 2024-09-24 Juniper Networks, Inc. Network policy validation
US12021743B1 (en) 2023-03-27 2024-06-25 Amazon Technologies, Inc. Software-defined multi-network-segment gateways for scalable routing of traffic between customer-premise network segments and cloud-based virtual networks

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120014282A1 (en) * 2006-07-31 2012-01-19 Pappu Surya K Identifying flows based on behavior characteristics and applying user-defined actions
US20130298184A1 (en) * 2012-05-02 2013-11-07 Cisco Technology, Inc. System and method for monitoring application security in a network environment
CN103763310A (zh) * 2013-12-31 2014-04-30 曙光云计算技术有限公司 基于虚拟网络的防火墙服务系统及方法
US20140208413A1 (en) * 2013-01-23 2014-07-24 Steve Grobman System and method for an endpoint hardware assisted network firewall in a security environment
US20140245423A1 (en) * 2013-02-26 2014-08-28 Zentera Systems, Inc. Peripheral Firewall System for Application Protection in Cloud Computing Environments
US20150372977A1 (en) * 2013-03-27 2015-12-24 Fortinet, Inc. Firewall policy management
CN106656905A (zh) * 2015-10-28 2017-05-10 杭州华三通信技术有限公司 防火墙集群实现方法及装置
CN107078921A (zh) * 2014-09-16 2017-08-18 云端吉尼斯公司 用于基于商业意图驱动策略的网络业务表征、监视和控制的方法和系统
US20180176261A1 (en) * 2016-12-16 2018-06-21 Nicira, Inc. Providing application visibility for micro-segmentation of a network deployment

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2370903C2 (ru) * 2004-12-21 2009-10-20 Квэлкомм Инкорпорейтед Конфигурация брандмауэра при участии клиента
US10411975B2 (en) * 2013-03-15 2019-09-10 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with multi-tier deployment policy
US8307422B2 (en) * 2008-08-14 2012-11-06 Juniper Networks, Inc. Routing device having integrated MPLS-aware firewall
US8713627B2 (en) * 2008-08-14 2014-04-29 Juniper Networks, Inc. Scalable security services for multicast in a router having integrated zone-based firewall
US9710762B2 (en) 2012-06-06 2017-07-18 Juniper Networks, Inc. Dynamic logging
US9252972B1 (en) 2012-12-20 2016-02-02 Juniper Networks, Inc. Policy control using software defined network (SDN) protocol
CN103997414B (zh) * 2013-02-18 2016-11-09 华为技术有限公司 生成配置信息的方法和网络控制单元
US20150033222A1 (en) * 2013-07-25 2015-01-29 Cavium, Inc. Network Interface Card with Virtual Switch and Traffic Flow Policy Enforcement
KR101618989B1 (ko) 2013-12-11 2016-05-09 주식회사 케이티 Sdn 환경에서 네트워크 장치에 대한 장애를 처리하는 방법
US9356866B1 (en) 2014-01-10 2016-05-31 Juniper Networks, Inc. Receive packet steering for virtual networks
EP2911347B1 (en) 2014-02-24 2019-02-13 Hewlett-Packard Enterprise Development LP Providing policy information
US9641435B1 (en) 2014-03-28 2017-05-02 Juniper Neworks, Inc. Packet segmentation offload for virtual networks
CN105450552B (zh) 2014-07-02 2018-12-14 阿尔卡特朗讯 基于sdn网络对应用服务链的策略与计费控制方法与设备
US9894100B2 (en) * 2014-12-30 2018-02-13 Fortinet, Inc. Dynamically optimized security policy management
US9380027B1 (en) * 2015-03-30 2016-06-28 Varmour Networks, Inc. Conditional declarative policies
CN106302371B (zh) * 2015-06-12 2019-06-28 北京网御星云信息技术有限公司 一种基于用户业务系统的防火墙控制方法和系统
US11470119B2 (en) * 2016-12-19 2022-10-11 Nicira, Inc. Native tag-based configuration for workloads in a virtual computing environment
CN108574667B (zh) * 2017-03-09 2021-01-15 华为技术有限公司 一种业务流的控制方法及装置
US10291497B2 (en) 2017-03-31 2019-05-14 Juniper Networks, Inc. Session-based traffic statistics logging for virtual routers
US10491503B2 (en) 2017-04-03 2019-11-26 Dell Products L.P. Application-policy-based virtual SDN controller system
US10742690B2 (en) 2017-11-21 2020-08-11 Juniper Networks, Inc. Scalable policy management for virtual networks
US20190180141A1 (en) * 2017-12-08 2019-06-13 Nicira, Inc. Unsupervised machine learning for clustering datacenter nodes on the basis of network traffic patterns
US10742557B1 (en) 2018-06-29 2020-08-11 Juniper Networks, Inc. Extending scalable policy management to supporting network devices
US10999251B2 (en) 2018-09-28 2021-05-04 Juniper Networks, Inc. Intent-based policy generation for virtual networks
US11374978B2 (en) 2018-10-29 2022-06-28 LGS Innovations LLC Methods and systems for establishment of security policy between SDN application and SDN controller
US10715391B2 (en) 2018-12-03 2020-07-14 At&T Intellectual Property I, L.P. Cloud zone network analytics platform
US10873639B2 (en) 2019-04-04 2020-12-22 Cisco Technology, Inc. Cooperative caching for fast and scalable policy sharing in cloud environments
KR20210016802A (ko) 2019-08-05 2021-02-17 주식회사 케이티 소프트웨어 정의 네트워킹 환경에서 서버-클라이언트 기반의 네트워크 서비스를 위한 플로우 테이블을 최적화하는 방법 및 이를 위한 sdn 스위치
CN110855570A (zh) 2019-10-28 2020-02-28 普联技术有限公司 Sdn网络丢包判断方法、装置、系统和多网络控制系统
US10944691B1 (en) 2020-01-15 2021-03-09 Vmware, Inc. Container-based network policy configuration in software-defined networking (SDN) environments
CN113114594B (zh) 2021-03-23 2023-04-07 中国联合网络通信集团有限公司 一种策略生成方法及装置、存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120014282A1 (en) * 2006-07-31 2012-01-19 Pappu Surya K Identifying flows based on behavior characteristics and applying user-defined actions
US20130298184A1 (en) * 2012-05-02 2013-11-07 Cisco Technology, Inc. System and method for monitoring application security in a network environment
US20140208413A1 (en) * 2013-01-23 2014-07-24 Steve Grobman System and method for an endpoint hardware assisted network firewall in a security environment
CN104871484A (zh) * 2013-01-23 2015-08-26 迈克菲公司 用于安全环境中的端点硬件辅助的网络防火墙的系统和方法
US20140245423A1 (en) * 2013-02-26 2014-08-28 Zentera Systems, Inc. Peripheral Firewall System for Application Protection in Cloud Computing Environments
US20150372977A1 (en) * 2013-03-27 2015-12-24 Fortinet, Inc. Firewall policy management
CN103763310A (zh) * 2013-12-31 2014-04-30 曙光云计算技术有限公司 基于虚拟网络的防火墙服务系统及方法
CN107078921A (zh) * 2014-09-16 2017-08-18 云端吉尼斯公司 用于基于商业意图驱动策略的网络业务表征、监视和控制的方法和系统
CN106656905A (zh) * 2015-10-28 2017-05-10 杭州华三通信技术有限公司 防火墙集群实现方法及装置
US20180176261A1 (en) * 2016-12-16 2018-06-21 Nicira, Inc. Providing application visibility for micro-segmentation of a network deployment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄周松,雷振明: "接入网关处实时业务流的识别与防火墙策略", 《通信世界》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118599A (zh) * 2021-03-18 2022-09-27 诺基亚通信公司 网络管理
CN115118599B (zh) * 2021-03-18 2024-05-28 诺基亚通信公司 网络管理
CN115941456A (zh) * 2021-10-04 2023-04-07 瞻博网络公司 用于连续部署的网络策略生成

Also Published As

Publication number Publication date
US20210243163A1 (en) 2021-08-05
EP3629533A1 (en) 2020-04-01
US11700237B2 (en) 2023-07-11
US10999251B2 (en) 2021-05-04
EP3629533B1 (en) 2024-10-09
CN110971584B (zh) 2022-05-24
US20200106744A1 (en) 2020-04-02
CN114844841A (zh) 2022-08-02

Similar Documents

Publication Publication Date Title
CN110971584B (zh) 针对虚拟网络生成的基于意图的策略
US11588708B1 (en) Inter-application workload network traffic monitoring and visuailization
US11451454B2 (en) Virtualization infrastructure underlay network performance measurement and monitoring
CN110830357B (zh) 使用高级拓扑描述的多云虚拟计算环境供应
CN109818918B (zh) 基于软件定义网络加密策略的策略驱动的工作负载启动
US9935851B2 (en) Technologies for determining sensor placement and topology
US11451450B2 (en) Scalable control plane for telemetry data collection within a distributed computing system
US11316738B2 (en) Vendor agnostic profile-based modeling of service access endpoints in a multitenant environment
US11418546B1 (en) Scalable port range management for security policies
EP3944081B1 (en) Data center resource monitoring with managed message load balancing with reordering consideration
US20230188526A1 (en) Role-based access control policy auto generation
CN113867884B (zh) 用于计算机网络的方法和系统及存储介质
CN113867885A (zh) 用于应用程序流监控的方法、计算系统和计算机可读介质

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: Juniper Networks, Inc.

Address before: California, USA

Applicant before: Jungle network

GR01 Patent grant
GR01 Patent grant