首页> 中国专利> 用于虚拟网络中的联网和安全服务的框架

用于虚拟网络中的联网和安全服务的框架

摘要

本文中描述的方法、计算机可读存储介质和系统促进在虚拟网络上注册和使用网络服务。虚拟机管理服务器(VMMS)被配置为接收与网络服务相关联的服务定义。VMMS基于服务定义创建一个或多个服务简档。VMMS基于一个或多个服务简档配置多个主机,使得网络服务是经由虚拟网络被多个主机内的一个或多个虚拟机可用的。

著录项

  • 公开/公告号CN104718723A

    专利类型发明专利

  • 公开/公告日2015-06-17

    原文格式PDF

  • 申请/专利权人 威睿公司;

    申请/专利号CN201380053602.7

  • 发明设计人 R·卡甘蒂;A·努;C-H·苏;

    申请日2013-05-30

  • 分类号

  • 代理机构北京市金杜律师事务所;

  • 代理人酆迅

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 09:13:55

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-22

    授权

    授权

  • 2015-07-15

    实质审查的生效 IPC(主分类):H04L12/28 申请日:20130530

    实质审查的生效

  • 2015-06-17

    公开

    公开

说明书

相关申请的交叉参考

本申请要求于2013年3月15日提交的美国专利申请第 13/833,095号和2012年8月27日提交的美国临时申请第61/693,630 号的优先权,其以整体并入于此。

背景技术

作为物理计算资源的抽象的虚拟机可以使用网络与其他虚拟机 通信。网络可以是作为物理网络的抽象或虚拟化的虚拟网络。虚拟 网络可以在虚拟机之间和之中操作为OSI模型中的层2。不同于物理 网络,虚拟网络不被物理链接和拓扑限制。因此,虚拟网络内的虚 拟机可以从一个物理计算机移动到另一个物理计算机而不影响虚拟 网络内的通信。一种这样的虚拟网络是如在名称为“Scalable Cloud  Networking with Cisco Nexus 1000V Series Switches and VXLAN”的 白皮书中描述的虚拟可扩展LAN(VXLAN),其同此被提交并且通 过引用整体被并入。

为物理网络提供了许多联网和安全服务,诸如负载平衡器、防 火墙、病毒扫描器等。一些服务在网络内操作,而其他服务作为网 关或在网络外部操作。这种服务可能无法与虚拟网络通信,并且虚 拟网络可能不知道网络上存在这种服务。一些服务能够与虚拟网络 通信,然而,目前不存在用于统一地在虚拟网络内引入和使用这种 服务的方法。因此,存在对于用于与虚拟网络结合使用的引入和使 用网络服务的统一的方法的需要。

发明内容

本文中描述的方法、计算机可读存储介质和系统促进在虚拟网 络上注册和使用网络服务。虚拟机管理服务器(VMMS)被配置为 接收与网络服务相关联的服务定义。VMMS基于服务定义创建一个 或多个服务简档。VMMS基于一个或多个服务简档配置多个主机, 使得网络服务是经由虚拟网络被多个主机内的一个或多个虚拟机可 用的。

附图说明

图1是具有虚拟网络的示例性虚拟基础设施的框图。

图2是用于使用图1中的虚拟基础设施注册和使用网络服务的 示例性方法的泳道图。

具体实施方式

图1是示例性虚拟基础设施100,该示例性基础设施100具有在 物理计算机系统或者主机110和114上的分布式虚拟联网和多个虚 拟机(VM)105,物理计算机系统或者主机110和114统称为集群 116。虚拟基础设施100可以是基于云的架构,其中虚拟基础设施100 的多个用户能够实例化和管理VM 105。因此,虚拟基础设施100可 以是具有租户或用户的多租户环境,该租户或用户具有不同的需求 和目的。

每个VM 105提供其中客户操作系统(未示出)可以驻留和操作 的虚拟环境。每个物理计算机110和114包括硬件120、在硬件120 上运行的虚拟化软件或管理器124以及通过虚拟化软件124的方式 在硬件120上执行的一个或多个VM 105。因此,虚拟化软件124被 逻辑地插入到硬件120和VM 105之间,并且与硬件120和VM 105 对接。虚拟化软件124可以整体或部分地被实现在硬件中,例如, 如片上系统、固件、FPGA等。硬件120包括至少一个处理器(未示 出),其中每个处理器是在微处理器芯片上的执行单元或者“核”。 硬件120还包括系统存储器(未示出)、网络接口端口(NIC)126、 存储系统(未示出)和其他设备,该系统存储器是通用易失性随机 存取存储器(RAM)。NIC 126,有时也被称为物理NIC,可以是以 太网网络接口或者类似的接口。

虚拟化软件124有时被称为管理程序,并且包括用于管理硬件 资源的软件部件和用于虚拟化或模拟物理设备来为每个VM 105提 供虚拟设备,诸如虚拟盘、虚拟处理器、虚拟网络接口等的软件部 件。在示例性实施例中,每个VM 105都是物理计算机系统的抽象, 并且可以包括操作系统(OS),诸如分别被称为“客户OS”和“客 户应用”的Microsoft和应用,其中术语“客户”表示其 是驻留在VM内的软件实体。Microsoft是华盛顿雷德蒙德 的微软公司的注册商标。

虚拟机管理服务器(VMMS)125提供了软件接口127,该软件 接口127除了别的以外,允许用户和其他程序控制在由VMMS125 管理的物理计算机110和114上运行的VM 105的生命周期。除在此 具体提到的这些之外,VMMS 125可以提供其他VM管理和操作。

每个VM 105可以包括耦合至虚拟交换机130的一个或多个虚拟 NIC 128。虚拟化软件124提供和管理虚拟交换机130,并且虚拟化 软件124可以提供多于一个的虚拟交换机。主机110和114中的每 个虚拟交换机130可以被逻辑地组合在一起以形成虚拟网络132。虚 拟网络132是物理网络的抽象,并且可以提供虚拟层2或数据链接 层,包括诸如将网络层数据分组的封装成帧、帧同步和媒体访问控 制的服务等。虚拟网络132可以跨越一个或多个物理网络,并且可 以独立于下面的物理拓扑和物理网络的组织来被组织。在示例性实 施例中,虚拟网络132跨越包括主机110的第一网络136和包括主 机114的第二网络138。第一网络136和第二网络138可以是同一物 理网络上经由路由器、VPN和/或交换机(未示出)连接的不同子网, 或者在示例性实施例中,可以经由网络140而联网,网络140可以 包括互联网。虚拟交换机130和虚拟网络132可以由VMMS 125管 理。跨越物理主机、被称为分布式虚拟交换机的示例性虚拟网络被 描述在Lambeth等人的美国专利第8,195,774号中,其通过引用整体 并入于此。

网络服务150,诸如负载平衡器、代理、防火墙、病毒扫描器或可 以在物理网络上运行的任何其他服务可以与虚拟网络132集成。网络服 务150可以被实现在软件和/或硬件中。如本文更详细描述的,提供了 平台用于向虚拟网络132及其部件、诸如VM 105提供网络服务150。 提供了安装点或插入点作为虚拟网络132和网络服务150之间的接 口。网络服务、诸如网络服务150可以被安装在一个或多个插入点 处。在示例性实施例中,作为实例提供了三个插入点。

第一插入点155可以存在于虚拟交换机130中。一些网络服务 要求数据分组的检查或操作,诸如头部变更、转发、封装等。因此, 网络服务150可在虚拟交换机130中安装一个或多个规则或过滤器, 以便于启用网络服务150。规则可以类似于IP链类型或IP表类型的 规则。在一个实例中,网络服务150实现防火墙规则,并且在虚拟 交换机130上安装一个或多个规则,该一个或多个规则阻塞在预定 端口上的进入流量。此外,网络服务150可以被安装在虚拟软件124 内或者与虚拟网络124通信,并且仍然被认为是在第一插入点155 内。例如,网络服务150可以包括作为虚拟软件124内的模块运行 的代码。因此,网络服务150可以使用第一插入点155被安装在每 个主机内。

在另一实例中,可以要求附加的处理来启用网络服务150。例如, 网络服务150可以在虚拟交换机130中安装规则,该规则向端点转 发一些或所有流量用于进一步的分析。端点可以是物理网络设备、 在一个或多个VM 105上的客户OS中运行的软件和/或在一个或多 个VM 105上运行的虚拟装置(未示出)。虚拟装置是用于执行特定 的任务或多个任务的特殊虚拟机。虚拟装置可以包括预先配置的操 作系统和单个应用,它们一起被打包在虚拟机镜像中,诸如开放虚 拟化格式(OVF)文件。

第二插入点160可以存在于虚拟网络132中。网络服务150可 以是边缘服务,诸如负载平衡器,该边缘服务利用虚拟网络132并 且在虚拟网络132内操作。网络服务150可以被实现在虚拟网络132 到达的任何地方,包括利用网络136和138联网的物理设备,或者 作为VM。网络服务150当被插入到虚拟网络132中时,必须理解虚 拟联网。具体地,网络服务150应该知道如何使用网络虚拟132来 与VM 105和虚拟网络132的其他成员通信。

第三插入点165存在于虚拟网络132以及物理网络136和138之外、 在远程系统167上,,并且在示例性实施例中是经由网络140可访问的。 例如,第三插入点165可以是互联网上可用的基于网络或者基于云的服 务。为了访问远程系统167上的网络服务150,来自VM 105的数据可 以被封装用于在层3中向远程系统167传输。备选地,可以向远程 系统167转发来自VM 105或虚拟网络132的数据分组。

例如,在远程系统167上可用的网络服务150可以是网络安全 服务,该网络安全服务过滤用于恶意数据和被阻挡的统一资源定位 符(URL)的网络流量。来自虚拟网络132和/或VM 105的网络请 求可以被重新定向到远程系统167用于由网络服务150处理。网络 服务150可以取得所请求的网络资源,执行过滤,然后将经过滤的 数据返回给虚拟网络132上的请求者。

在一些实施例中,可以从网络服务管理器169来管理网络服务150, 该网络服务管理器169经由软件接口127被耦合至网络服务的目录170。 网络服务管理器169可以经由虚拟网络132和/或物理网络136和138 与网络服务150通信。网络服务管理器169提供管理接口用于管理网络 服务150。例如,网络服务管理器169可以提供网络接口用于配置由网 络服务150提供的负载平衡器。在示例性实施例中,网络服务管理器169 被示为是与VMMS 125分离的部件并且与VMMS 125通信以如本文所 描述地那样作用。然而,在一些实施例中,网络服务管理器169可以被 并入VMMS 125内,以使得VMMS 125能够如本文所描述的那样作用。

虽然已经提供了一些插入点和网络服务作为示例,但是可以想到许 多更多的插入点是可用的并且可以提供其他网络服务。例如,插入点可 存在于物理网络上,该物理网络是从虚拟网络132可路由的,但是与网 络136、138和140不同。网络服务还可以包括用于虚拟网络的域名系 统(DNS)、动态主机配置协议(DHCP)、网络文件系统(NFS)、 简单网络管理协议(SNMP)、目录和认证服务等。

在一个实施例中,网络服务管理器169与VMMS 125通信,使得 VMMS 125被配置为创建网络服务的目录170并使其可用。网络服务的 目录170可以被实现为数据库或其他数据存储,诸如平面文件,并且可 以在VMMS 125的内部或外部。最初,VMMS 125接收来自网络服务 125的服务定义。服务定义包括关于将包括在网络服务的目录170中的 网络服务150的信息,诸如服务名称和服务描述。服务定义还包括用于 配置主机110和114用于与网络服务150结合使用的配置指令和/或数 据。如本文更详细解释的,VMMS 125被配置为配置主机110和114以 及虚拟网络132,以能够使用网络服务150。VMMS 125使得VM 105 能够使用网络服务150,有可能任凭每个VM 105的管理员处理。

在一个实施例中,VMMS 125基于服务定义创建一个或多个服 务简档。VMMS 125的管理员可以使得服务简档被创建。服务简档 被用于描述可从虚拟网络132上和/或集群116中的网络服务150可 用的服务。因此,VMMS 125的管理员可以定制网络服务150。VMMS 125的管理员还可以使用VMMS 125选择性地使服务简档对虚拟网 络、主机、集群、VMS、VM的集合、例如VM池和/或用户组可用。 在网络服务的目录170中指示了服务简档是否对VM 105中的一个 VM可用。在向网络服务的目录170中添加基于网络服务的服务简档 之前,网络服务被“注册”。

为了启用虚拟网络132上的服务简档和网络服务150,VMMS 125使用服务定义中的配置指令来配置主机110和114。配置主机110 和114可以包括配置虚拟软件124和/或虚拟交换机130,使得网络 服务150是可到达和可使用的。例如,虚拟交换机130或者虚拟交 换机130的端口可以使用规则和/或过滤器来配置,该规则和/或过滤 器从VM 105向网络服务150转发数据分组。网络服务150直到由 VMMS125启用,才是由VM 105可使用的,并且主机可以被配置为 如果主机位于虚拟网络132内则使用网络服务150。

为了使用网络服务150,VM 105的管理员,即一个云用户,使用 VMMS 125来为了可用的网络服务、即服务简档而浏览网络服务的 目录170。管理员选择可用的服务简档,例如,用于网络服务150, 并且使得VMMS 125启用网络服务。通过向虚拟软件124发送启用 命令,网络服务150被VMMS 125启用,用于所选择的VM 105。

图2是用于注册和使用网络服务、诸如网络服务150来用于与 虚拟网络、诸如虚拟网络132(如图1所示)结合使用的示例性方法 的泳道图。注册了网络服务150并且使其可用,使得VM 105、虚拟 交换机130和虚拟网络132能够利用网络服务150。最初,网络服务 150经由例如网络服务管理器169将服务定义205传输至VMMS 125。网络服务150可以指代提供网络服务150的供应商,在这种情 况下,供应商将服务定义205传输至VMMS 125。服务定义可以由 VMMS 125使用API、网络服务调用、文件上传等来接收,并且可以 被体现在文件、字符串、一系列过程调用等中。服务定义可以包括 但不限于,供应商名称、服务名称、服务描述、管理员联系信息、 一个或多个服务端点(诸如URL、IP地址等)和/或一个或多个服务 等级。更具体地,在示例性实施例中,服务定义包含对于由VM 105、 虚拟交换机130和/或虚拟网络132使用的网络服务150所必需的信 息。在示例性实施例中,网络服务150在服务定义205被传输之前 不是可操作的。服务定义可以包括可以与不同产品、服务类型、用 户数量相对应的服务等级或者其他可变服务等级。服务定义包括用 于在配置VM 105、虚拟交换机130和/或虚拟网络132中使用的配 置指令和/或数据。例如,配置指令可以包括用于配置虚拟交换机130 的规则和/或过滤器。在第一插入点155的情况下,配置指令可包括 要在虚拟软件124内执行的模块。

在示例性实施例中,VMMS 125的管理员使用服务定义来创建 一个或多个服务简档215。服务简档包括用于在VMMS 125上管理 的VM 105上使用的服务的配置或参数。VMMS 125的管理员可以选 择将通过服务简档使哪个网络服务可用。所选择的服务定义可以进 一步在服务简档中被配置,例如,以选择一些或全部的服务等级。 更具体地,服务简档使得VMMS 125的管理员能够允许/不允许网络 服务和配置网络服务。

在操作217期间,VMMS 125的管理员使得网络服务150对于 虚拟化软件124可用,其包括使用服务简档来配置虚拟化软件124 和/或虚拟交换机130。因为网络服务150可以存在于一个或多个插 入点155、160、165(在图1中示出)中,所以虚拟化软件124和/ 虚拟交换机130被配置为在插入点处与网络服务交互。在操作220 中,服务简档被添加至网络服务的目录170。

通过向虚拟软件124发送启用命令,服务简档被VMMS 125启 用,用于一个或多个VM 105(225)。虚拟软件124通过使用虚拟 交换机130来引导去向和/或来自由网络服务150使用的一个或多个 插入点155、160、165的流量来启用服务简档。最后,网络服务150 被一个或多个VM 105使用(230)。

如上所述,方法200示出了VMMS 125接收与网络服务150相关联 的服务定义,并且VMMS 125基于服务定义创建一个或多个服务简档。 方法200还示出了VMMS 125基于服务简档配置多个主机,使得网络 服务150是经由虚拟网络被多个主机内的一个或多个VM 105可使用 的。在一个实施例中,网络服务管理器169可以与VMMS 125通信, 以使得VMMS 125能够如方法200中所描述的那样执行VMMS 125 的功能。备选地,网络服务管理器169可以如方法200中所描述的 那样直接地执行VMMS 125的功能。

本文所描述的各种实施例可以采用涉及存储在计算机系统中的 数据的各种计算机实现的操作。例如,这些操作可以通常要求物理 量的物理操作,尽管不是必须地,但这些量可以采用电信号或磁信 号的形式,其中它们或它们的表现形式能够被存储、传送、组合、 比较或者以其他方式处理。此外,这些操作通常被明确称为,诸如 生成、识别、确定或比较。本文所描述的形成本发明一个或多个实 施例的部分的任何操作可以是有用的机器操作。此外,本发明的一 个或多个实施例还涉及用于执行这些操作的设备或装置。装置可以 是为了具体要求的目的而专门构建的,或者其可以是由在计算机中 存储的计算机程序选择性地激活或配置的通用计算机。具体地,各 种通用机器可以与根据本文的教导编写的计算机程序结合使用,或 者构建更专门的装置来执行所要求的操作是更方便的。

本文所描述的各种实施例可以使用其他计算机系统配置来实 践,包括手持设备、微处理器系统、基于微处理器的或可编程的消 费电子设备、迷你计算机、大型计算机等。

本发明的一个或多个实施例可以被实现为一个或多个计算机程 序或者在一个或多个计算机可读介质中具体化的一个或多个计算机 程序模块。术语“计算机可读介质”指代任何数据存储设备,该数 据存储设备可以存储此后被输入至计算机系统的数据,计算机可读 介质可以是基于任何现有的或后续开发的技术用于以使得计算机程 序能够被计算机读取的方式来具体化计算机程序。计算机可读介质 的实例包括硬盘驱动、网络附加存储(NAS)、只读存储器、随机 存取存储器(例如,快闪存储器设备)、CD(压缩盘)(CD-ROM、 CD-R或CD-RW)、DVD(数字通用盘)、磁带以及其他光学的和非 光学的数据存储设备。计算机可读介质还可以被分布在耦合计算机系统 的网络上,使得以分布式方式来存储和执行计算机可读代码。

尽管为了理解的清楚已经详细描述了本发明的一个或多个实施例, 但可以在权利要求的范围内做出某些变化和修改将是明显的。因此,所 描述的实施例将被认为是示例性的而非限制性的,并且权利要求的范围 不限于本文给出的细节,而是可以在权利要求的范围和等效形式内进行 修改。在权利要求中,元件和/或步骤不表示操作的任何特定顺序,除 非在权利要求中另有指定。

此外,虽然所描述的虚拟化方法一般已经假设为虚拟机呈现与特定 的硬件系统一致的接口,但本领域技术人员应该意识到,所描述的方法 可以结合不直接对应于任何特定的硬件系统的虚拟化来使用。可以想象 所有根据各种实施例的,被实现为托管的实施例、未托管的实施例或者 趋向于模糊两者之间的区别的实施例的虚拟化系统。此外,各种虚拟化 操作可以整体或部分地被实现在硬件中,或者使用传统的虚拟化或者半 虚拟化技术来实现。不管虚拟化的程度如何,许多变化、修改、添加和 改进是有可能的。因此,虚拟机软件可以包括执行虚拟机功能的主机、 操纵台或客户操作系统的部件。可以为本文描述的部件、操作或结构提 供多种实例来作为单个实例。最终,各种部件、操作和数据存储之间的 边界在某些程度上来说是任意的,并且在特定说明性配置的上下文中示 出了特定操作。其他的功能分配是被想象的并且可以落入本发明的范 围。通常,在示例性配置中呈现为单独的部件的结构和功能可以被实现 为组合的结构或部件。类似地,呈现为单个部件的结构和功能可以被实 现为单独的部件。这些以及其他变化、修改、添加和改进可以落入所附 权利要求的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号