虚拟网络覆盖的制作方法

文档序号:6496243阅读:234来源:国知局
虚拟网络覆盖的制作方法
【专利摘要】提供用于在数据中心环境中在物理网络上覆盖虚拟网络的系统和方法。在覆盖虚拟网络中布置覆盖系统以包括覆盖代理和覆盖帮助器。在接入交换机中实施覆盖代理。在与接入交换机通信的端站中实施覆盖帮助器。在覆盖代理与覆盖帮助器之间按照带内协议传输覆盖参数。
【专利说明】虚拟网络覆盖
【技术领域】
[0001]本发明总体涉及网络虚拟化,并且更具体地涉及用于在物理网络上覆盖(overlay)虚拟网络的系统和方法。
【背景技术】
[0002]在数据中心或者有关环境中的服务器虚拟化是一种用于云计算的关键使能技术。一般而言,服务器虚拟化描述将物理资源及其使用从下层物理机器分离的软件抽象化。可以抽象化和调配多数物理资源作为虚拟化的实体。因而,单个物理机器可以托管多个虚拟机,每个虚拟机具有它自己的、被称为客户操作系统(OS)的操作系统、由此允许多个用户共享物理机器。
[0003]对在数据中心环境内在物理网络上覆盖虚拟网络的愿望提供若干益处。一个熟知的益处是虚拟网络可以简化在公共、私有或者多租户云环境中用于数据中心客户端的网络调配。

【发明内容】

[0004]在一个方面中,本发明的特征在于一种用于在数据中心环境中在物理网络上覆盖虚拟网络的方法。该方法包括在覆盖虚拟网络中布置覆盖系统以包括覆盖代理和覆盖帮助器。在接入交换机中实施覆盖代理。在与接入交换机通信的端站中实施覆盖帮助器。在覆盖代理与覆盖帮助器之间按照带内协议传输覆盖参数。
[0005]在另一方面中,本发明的特征在于一种用于在覆盖虚拟网络中通信的方法。布置第一覆盖系统以包括在第一接入交换机中实施的覆盖代理和在与第一接入交换机通信的第一端站中实施的覆盖帮助器。布置第二覆盖系统以包括在第二接入交换机中实施的覆盖代理和在与第二接入交换机通信的第二端站中实施的覆盖帮助器。从第一覆盖系统的覆盖代理向第一覆盖系统的覆盖帮助器传输覆盖参数。覆盖参数包括用于从第一端站向第二端站传输数据分组的数据。
[0006]在另一方面中,本发明的特征在于一种用于网络虚拟化环境的覆盖系统。该覆盖系统包括在接入交换机的覆盖代理,接入交换机在网络的边缘处。覆盖代理被配置用于生成包括与目的地端站有关的覆盖参数的覆盖封装字段。该覆盖系统也包括在与接入交换机通信的主机计算机处的覆盖帮助器。覆盖帮助器被配置用于向第一分组添加覆盖封装字段、并且向目的地端站传输包括覆盖封装字段的第一分组。
[0007]在另一方面中,本发明的特征在于一种数据中心环境。该数据中心环境包括网络边缘交换机、主机计算机和覆盖系统。主机经由局域网连接与接入交换机通信。覆盖系统包括在接入交换机的覆盖代理和在主机计算机的覆盖帮助器。覆盖代理被配置用于生成覆盖封装字段,覆盖封装字段包括与目的地端站有关的覆盖参数。覆盖帮助器被配置用于向分组添加覆盖封装字段,并且向目的地端站传输包括覆盖封装字段的分组。
[0008]在另一方面中,本发明的特征在于一种用于在数据中心环境中在物理网络上覆盖虚拟网络的计算机程序产品。该计算机程序产品包括计算机可读存储介质,计算机可读存储介质具有具体化于其上的计算机可读程序代码。计算机可读程序代码包括被配置用于在覆盖虚拟网络中布置覆盖系统以包括覆盖代理和覆盖帮助器的计算机可读程序代码。计算机可读程序代码还包括被配置用于在接入交换机中实施覆盖代理的计算机可读程序代码。计算机可读程序代码包括被配置用于在与接入交换机通信的端站中实施覆盖帮助器的计算机可读程序代码。计算机可读程序代码包括被配置用于在覆盖代理与覆盖帮助器之间按照带内协议传输覆盖参数的计算机可读程序代码。
【专利附图】

【附图说明】
[0009]现在将参照附图仅通过示例描述本发明的实施例,在附图中:
[0010]图1是其中可以运用本发明的实施例的数据中心环境的框图;
[0011]图2是根据一个实施例的其中两个端站处于相同覆盖虚拟网络中的环境的框图;
[0012]图3是图示根据一个实施例的覆盖系统的高级架构的框图;
[0013]图4是图示根据一个实施例的用于在图2的端站与覆盖系统之间通信的过程流的示意框图;
[0014]图5是根据一个实施例的用于执行虚拟网络覆盖操作的过程的流程图;
[0015]图6是根据一个实施例的用虚拟网络覆盖配置的包括主机计算机和接入交换机的环境的框图;
[0016]图7是根据另一实施例的用虚拟网络覆盖配置的包括主机计算机和接入交换机的环境的框图;
[0017]图8是根据另一实施例的用虚拟网络覆盖配置的包括主机计算机和接入交换机的环境的框图;
[0018]图9A是图示根据一个实施例的用于初始化源覆盖系统的过程流的示意框图;
[0019]图9B是图示根据一个实施例的用于初始化目的地覆盖系统的过程流的示意框图;
[0020]图10是图示根据一个实施例的用于与源覆盖系统通信的过程流的示意框图;并且
[0021]图11是图示根据一个实施例的用于与目的地覆盖系统通信的过程流的示意框图。
【具体实施方式】
[0022]在以下描述中,阐述具体细节,但是本领域普通技术人员应当理解,无细节中的至少一些细节仍然可以实现系统和方法。在一些实例中,未具体描述已知特征或者过程以免模糊本发明。
[0023]覆盖网络通常包括位于物理网络的边缘的多个覆盖代理。每个覆盖代理被配置用于例如通过将来自给定的端站的分组映射到虚拟网络以及反之亦然来对对应端站传输的分组分类。覆盖代理也可以向被引向目的地端站的分组添加覆盖首部,该覆盖首部用网络管理站或者策略服务器提供的虚拟网络覆盖参数来填充。参数可以包括信息,该信息用于标识传输的分组的虚拟网络和用于允许从与源端站通信的覆盖代理通过物理网络向与优选地位于与源端站相同的虚拟网络中的目的地端站通信的另一覆盖代理传输分组。接收覆盖代理可以从覆盖首部、例如从在覆盖首部中提供的虚拟网络标识符确定正确目的地端站。
[0024]与常规覆盖配置关联的限制是旧式网络设备、比如以太网交换机不能参与覆盖操作,因为例如常规以太网交换机不能识别源覆盖代理向分组添加的覆盖首部、因此不能处理覆盖首部的内容、比如为了确定用于分组的正确目的地而需要的虚拟网络标识符。
[0025]一种常规方式是提供包括虚拟交换机或者V交换机的服务器虚拟化环境,该服务器虚拟化环境向虚拟机添加以太网或者有关切换服务。由于虚拟交换机被实现于主机服务器软件中并且有权访问充分数量的存储器和CPU,所以可以修改它们以作为覆盖代理来操作。可以结合虚拟化认知网络交换机使用的虚拟化软件产品的示例可以包括CitrixSystems, Inc.生产的 XenSource?、Microsoft Corp.生产的取口61'_¥111、/']/1\¥&代'1~或者开源软件、比如基于内核的虚拟机(KVM)。 [0026]在常规服务器虚拟化环境中,非虚拟化的端站不能是覆盖网络的一部分。基于虚拟化的解决方案也依赖于用于在物理主机服务器上实施虚拟机的销售商专属虚拟化软件、因此依赖于专有虚拟交换机扩展的可用性及其在相应虚拟交换机平台上的接受。需要显著的开发和支持资源以实施和维护这样的环境。
[0027]简要概述之,本发明概念的方面包括一种在网络接入交换机和主机系统二者中实现的覆盖系统,该覆盖系统允许虚拟化和非虚拟化的网络实体类似地作为相同覆盖虚拟网络的一部分。覆盖系统包括覆盖代理和对应的覆盖帮助器。覆盖代理在一个或者多个虚拟和/或物理端站连接到的接入交换机或者其它网络边缘设备上运行。覆盖帮助器在主机计算机上、例如在常规非虚拟化的服务器中的网络接口控制器(NIC)设备驱动器、固件或者硬件的以太网层或者在虚拟化的服务器的管理程序的设备驱动器运行。覆盖代理和覆盖帮助器通过经由带内协议、例如逐跳2层协议交换虚拟化参数等来相互通信。
[0028]以这一方式,可以通过在接入交换机和端站NIC中、例如在端站的操作系统之下以程序代码或者软件的形式实现覆盖系统来提供高度地可伸缩虚拟网络环境,其中可以在软件中定义覆盖网络特性作为固件的备选。因而无需覆盖配置以完全驻留于物理网络的边缘或者完全驻留于虚拟化服务器中。因此,只要向端站配置覆盖帮助器,该覆盖帮助器与接入交换机中的覆盖代理通信,虚拟化和非虚拟化的端站二者就可以是虚拟网络域的一部分。以这一方式实施覆盖系统可以通过汇聚接入交换机和网络适配器的资源来提高伸缩。否则,如果仅接入交换机包括覆盖配置,则将要求接入交换机处理用于多个端口的与覆盖有关的通信从而造成增加硬件复杂性和资源。由于服务器驻留网络适配器处理在它本地的端站的子集,所以对适配器的要求更不密集;因此,接入交换机可以向服务器驻留适配器分流某些数据平面覆盖功能的处置。
[0029]图1是其中可以采用本发明概念的实施例的数据中心环境100的框图。一般而言,数据中心环境100可以包括一个或者多个位置,该一个或者多个位置作为用于组织的计算、存储和联网中心。数据中心环境100的设备可以一起本地驻留于单个站点或者可以分布于两个或者更多分离站点。
[0030]数据中心环境100可以包括通过接入交换机16与网络14通信的一个或者多个主机计算机12。虽然未示出,但是数据中心环境100可以包括在接入交换机16与网络14之间穿插的一个或者多个聚合器和网关交换机和/或其它熟知的数据中心设备。接入交换机16和/或有关数据中心设备可以视为网络14的一部分。网络14可以例如是内部网、外部网、因特网、局域网(LAN)、广域网(WAN)或者城域网(MAN)或者其任何组合。主机计算机12可以经由另一网络30、例如以太网LAN或者经由直接连接与接入交换机16通信。备选地,网络30可以是网络14的一部分,从而主机计算机12与网络14直接通信。
[0031]主机计算机12可以是物理计算设备、比如服务器或者刀片的一个实施例。主机计算机12可以单独驻留或者例如如在机架服务器中或者在刀片服务器中那样与其它主机计算机安装于底盘中。接入交换机16可以单独驻留或者安装于与主机计算机12相同的设备底盘内。
[0032]主机计算机12可以包括一个或者多个处理设备20、比如CPU并且还可以包括存储器设备22和物理网络输入/输出(I/O)适配器24,该适配器具有至少一个物理网络接口(NIC)。主机计算机12的物理部件、例如CPU20、存储器设备22和I/O适配器24可以经由本领域普通技术人员已知的一个或者多个总线、连接器、适配器等相互通信。主机计算机12可以运行虚拟化系统18,该虚拟化系统可以可选地包括管理程序或者虚拟机管理器(VMM)0在其它实施例中,主机计算机12可以为非虚拟化的服务器或者服务器刀片。
[0033]存储器22可以包括易失性存储器、例如RAM等和/或非易失性存储器、例如ROM、闪存等。存储器可以包括根据本领域普通技术人员已知的用于存储数据的方法和技术实施的可拆卸和/或非可拆卸存储介质。在存储器中存储的内容可以包括程序代码、比如处理器20执行的操作系统34的程序代码和/或与虚拟化系统18对应的程序代码。
[0034]NIC24在硬件、软件或者其组合中提供对于任何形式的I/O虚拟化的支持。示例包括但不限于SR-1OV NIC和非SR-1OV NIC、多队列NIC、网络接口控制器、I/O适配器以及会聚的网络适配器。NIC24可以由服务器操作系统34、NIC驱动器等管理,从而NIC24可以从网络30接收和向网络30传输数据,以下具体描述。除了处置去往和来自接入交换机16的网络I/O之外,NIC24提供在虚拟机(未示出)之间的通信路径、例如与虚拟机的虚拟NIC(vNIC)交换分组。
[0035]接入交换机16包括与NIC24、更具体地与NIC24的物理端口(未示出)通信的多个物理上行和下行端口 26。一般而言,接入交换机16是例如实现为以太网交换机的网元,该网元用于在上行与下行端口 26之间和在相同主机计算机12上执行的虚拟机之间切换计算机。在主机计算机12与接入交换机16之间的物理链路的示例实现方式是IOGb以太网链路。接入交换机16的示例实现方式是以太网交换机、例如Santa Clara, CA的BladeNetwork Technologies, Inc.制造的24端口 IOGb以太网交换机模块。在其它实施例中,切换可以在用覆盖系统的单元配置的网络适配器出现。这里,切换可以在与网络适配器和/或与接入交换机通信的虚拟机之间出现。
[0036]可以向接入交换机16配置用于执行管理程序内VM到VM切换等的管理模块28。远程管理站32可以经由管理模块28控制和管理接入交换机16和/或主机计算机12。接入交换机16可以包括覆盖代理36,该覆盖代理经由管理模块28与外部策略服务器和/或管理站32通信用于提供网络拓扑信息、对分组分类等。覆盖代理36被配置用于执行虚拟网络覆盖操作、例如使两个或者更多端站能够在覆盖虚拟网络中通信。
[0037]图2是根据一个实施例的其中两个端站202、206在相同覆盖虚拟网络中的环境200的框图。端站202、206可以经由路由器212相互交换数据分组。一个或者多个接入交换机(未示出)可以放置于端站202、206与路由器210之间。在一个实施例中,端站202、206被配置用于不同物理子网并且可以是公共虚拟网络的成员。因而,路由器212包括用于服务于第一子网的第一子网接口 R1,端站202是该第一子网的成员,并且包括用于服务于第二子网的第二子网接口 R2,端站206是该第二子网的成员。在其它实施例中,配置端站202、206作为相同物理网络、例如物理2层网络的一部分或者在相同子网、例如相同3层、例如IP,的子网上。为了描述在环境200中执行的操作,图2的覆盖系统204可以称为源覆盖系统,并且图2的覆盖系统208可以称为目的地覆盖系统。在如图2中所示一个实施例中,环境200包括IP网络。在其它实施例中,环境200包括2层网络。
[0038]端站202与覆盖系统A204通信,并且端站206与覆盖系统B208通信。覆盖系统A204和/或覆盖系统B206可以服务于多个端站。覆盖系统204、206可以在执行例如以下描述的覆盖操作时相互通信。端站202和/或端站206可以是虚拟化的端站。备选地,端站202和/或端站206可以为非虚拟化的端站。环境200因此可以包括虚拟化与非虚拟化的端站的组合。
[0039]图3是图示根据一个实施例的覆盖系统300的高层架构的框图。关于图3描述的覆盖系统架构可以适用于参照图2描述的覆盖系统A204和/或覆盖系统B208。因此,覆盖系统A204和覆盖系统B208各自包括覆盖系统300的单元中的一些或者所有单元。在描述图3时,可以参照图1和/或图2的其它单元。覆盖系统300可以被配置用于本领域普通技术人员已知的IP网络、2层网络或者其它网络。
[0040]覆盖系统300包括覆盖代理302和覆盖帮助器304。覆盖代理302可以位于图1的接入交换机16或者图2的路由器210或者边缘交换机(未示出)。覆盖帮助器304可以位于图1的主机计算机12或者图2的端站202和/或端站206、例如以太网设备驱动器中。
[0041]覆盖代理302包括管理接口 306、策略代理308、地址处置器310和分类器312A。管理接口 306提供与管理站32的接口用于向实现覆盖系统300的覆盖虚拟网络配置覆盖参数并且提供各种控制和管理功能。例如管理站32经由管理接口 306可以定义虚拟网络及其成员。管理站302也可以与数据中心中的设备和其它专门化的管理站、比如网络交换机、虚拟化服务器、服务器管理器等交互用于执行与覆盖虚拟网络的管理有关的任务、比如构造拓扑映射、确定布局标准等。在一个实施例中,管理接口 306被配置用于向管理站32提供物理网络和/或虚拟网络的全局视图。管理接口 306可以向覆盖系统300的其它部件传送本地参数、例如分组分类标准。例如管理站32可以配置与虚拟网络关联的标识符。覆盖代理302然后可以基于物理或者虚拟端口号、MAC地址等配置分类器312A用于预定流量分类。
[0042]策略代理308可以与也称为策略引擎的策略服务器212通信以构造策略高速缓存,该策略高速缓存包含与在给定的虚拟网络中的目的地端站对应的目的地覆盖代理的IP地址或者有关数据。策略高速缓存包括用于目的地端站的映射,本地端站希望与这些目的地端站通信。策略服务器212可以通过与数据中心环境的各种部件、比如图2中的端站202、206、覆盖系统204、208和/或边缘交换机(未示出)交互来确定覆盖网络中的一个或者多个端站的位置并且获得用于该一个或者多个端站的IP地址。在另一实施例中,管理站32经由管理接口 306与策略服务器212通信以提供用于为端站202、206建立通信路径的与映射有关的息。
[0043]地址处置器310从端站202、206接收地址解析协议(ARP)请求或者与2层有关的通信并且处理这些请求或者通信。这里为了简洁而未公开ARP协议的细节,因为ARP是用来关联IP地址与MAC地址或者其它2层地址的熟知协议。地址处置器310可以向策略代理308查询用于与在源端站的虚拟网络中的目标端站通信的目的地覆盖代理的IP地址并且例如根据ARP协议确定用于目的地覆盖代理的IP地址的下一跳MAC地址。下一跳的确定可以例如在物理网络中经由ARP机制出现。在其中提供2层网络和对应2层虚拟网络服务的实施例中,地址处置器310不是覆盖系统300的一部分。这里可以基于目的地MAC地址而不是目的地IP地址对分组分类。虚拟网络标识符因此可以备选地量化MAC地址而不是IP地址。
[0044]覆盖系统300的覆盖帮助器304包括IP处置器314和分类器312B,该分离器是覆盖代理302的分类器312A的一部分。在覆盖代理302A中的分类器312A处理接收的数据流量、具体为去往由覆盖系统服务的本地端站之一的流量。在另一方面,在覆盖帮助器304中的分类器312B处理分组用于传输。例如分类器312B从端站、例如端站202接收IP分组或者2层数据等并且将分组映射到虚拟网络。可以经由管理接口 306配置这一映射。如这里所用,覆盖代理302的分类器312A和覆盖帮助器304的分类器312B可以通称为分类器312。概括而言,分类器312基于例如管理站32先前配置的虚拟端口或者基于MAC的分类将来自本地端站的所有分组映射到虚拟网络。因此,通过分类器312传输端站传输的所有分组,其中分类器312将接收的分组映射到虚拟网络。
[0045]IP处置器314经由分类器312从端站接收IP分组并且向每个接收的IP分组添加覆盖封装。覆盖封装可以包括外覆盖MAC首部、外覆盖IP首部和覆盖专属首部。外覆盖MAC地址可以包括与覆盖系统A204对应的源MAC地址和与目标覆盖IP地址的下一跳IP地址对应的目的地MAC地址。外覆盖IP首部可以包括源覆盖系统204的IP地址和覆盖系统B208的IP地址。覆盖专属首部可以包括标识虚拟网络的唯一标识符。
[0046]目的地覆盖系统208的IP处置器314可以接收从源覆盖系统204传输的封装的IP分组并且可以基于内IP目的地、即目的地端站206的IP地址以及虚拟网络标识符对分组去往的目的地端站206定位。目的地覆盖系统208的IP处置器314可以与策略代理308通信以取回用于目的地端站206的映射信息。可以从分组内容推导本地目的地,并且可以从目标端口的设置标识它。这里可以无需查找。另一方面,如果目标已经改变位置,则查找却可以是必需的。IP处置器314可以查询本地策略代理308,该本地策略代理如果在本地高速缓存中未发现映射则又查询全局策略服务器212。一旦标识端站,IP处置器314在向目的地端站206转发分组帧之前剥掉覆盖首部。
[0047]图4是图示根据一个实施例的用于在图2的端站202、206与覆盖系统204、208之间通信的过程流400的示意框图。在描述过程流400时,也参照图1-图3。过程流400也可以由指令支配,这些指令存储于端站202、端站206、路由器210、策略服务器212和/或在端站202、206与路由器210之间的一个或者多个居间交换机(未不出)中的一项或者多项的存储器设备中并且由处理器执行。在图4中,端站202可以被称为源端站,并且端站206可以被称为目的地端站。并且在图4中,覆盖系统A204可以被称为源覆盖系统,并且覆盖系统B208可以被称为目的地覆盖系统。虽然这里参考覆盖系统204、208,但是在图3中描述的覆盖系统300同样适用。
[0048]从端站202向覆盖系统A204输出(402)目的地请求消息、例如输出作为广播消息。可以用熟知方式输出、例如根据用于地址解析的ARP输出广播消息。备选地,可以在2层格式中输出目的地请求消息。这里,可以在覆盖系统300接收到向目的地端点的单播消息时更新策略高速缓存。
[0049]源覆盖系统204可以接收目的地请求消息,其中源覆盖系统204的覆盖代理302的地址处置器310可以向策略代理308查询在预定义虚拟网络中的目的地端站206有关的目的地覆盖系统208的IP地址。源覆盖系统204的策略代理308可以首先访问它的策略高速缓存(未示出),该策略高速缓存可以存储与目的地端站206的目的地覆盖系统208有关的映射信息,源端站202希望与该目的地端站通信。如果在策略高速缓存中未发现这样的映射信息,则地址处置器310可以向策略服务器212输出(404)消息、例如单播消息以获得映射信息。具体而言,覆盖系统300向策略服务器212请求目的地端点206在与源端点202相同的虚拟网络中附着到的目标覆盖系统的位置。策略服务器212可以通过与数据中心的单元和与源覆盖系统204交互来确定目的地端站206的物理位置。
[0050]假设策略服务器212确定目的地端站206的位置并且可以提供请求的映射信息,策略服务器212可以输出(406)请求的映射信息、具体为目的地端站206的IP地址到目的地覆盖系统208的映射。例如地址处置器310可以查询策略高速缓存,并且如果在该处未发现,则策略代理308联系策略服务器212以取回映射信息并且将其返回至地址处置器310。地址处置器310然后可以满足源自本地端站、即源端点202的ARP请求。此外,策略代理308可以与策略服务器212通信以确定目的地端站206的位置并且用映射信息更新策略高速缓存。
[0051]源覆盖系统204的地址处置器310可以向端站202输出(408)目的地端站206的IP地址和响应于原有ARP请求而生成的对应下一跳MAC地址。在地址解析之后,源端站202可以输出(410)分组,该分组包括2层、例如以太网首部411、IP首部412和净荷(PL) 413。2层首部411可以包括下一跳MAC地址(RlMAC地址)以及从策略服务器212和/或策略代理308接收到的目的地IP地址(ES2IP地址)。
[0052]覆盖系统A204、具体为IP处置器314从端站202接收分组。IP处置器314向分组添加覆盖封装418并且输出(414)封装的分组。覆盖封装418包括外覆盖MAC首部415、外覆盖IP首部416和覆盖首部417。可选4层首部(未示出)、例如UDP首部可以定位于IP首部416与覆盖首部417之间。外覆盖MAC首部413包括与源覆盖系统204对应的源MAC地址(omacI)以及目的地MAC地址、例如下一跳MAC地址(rmacI)。在一个实施例中,如果目标在与源相同的子网中,则目的地MAC地址是目的地覆盖系统208的目的地MAC地址。在另一实施例中,如图2中所示,目的地MAC地址是如下网关接口(Rl)的目的地MAC地址,该网关接口分别在端站202、206的子网之间路由分组。
[0053]外覆盖IP首部416可以包括源覆盖系统204的IP地址和目的地覆盖系统208的IP地址。覆盖首部417可以包括标识虚拟网络的唯一标识符。在向从源端站202接收的分组添加覆盖封装418时,组合原有分组411、412、413的内容以形成与覆盖封装418向路由器210或者备选地向边缘交换机或者有关网络交换机输出的新净荷PL1419。
[0054]路由器210—具体为路由器210的从下一跳MAC地址标识的第一子网接口Rl——接收具有净荷PL1419的分组并且输出(420)净荷PL1419以及来自第二接口 R2的覆盖首部417和外覆盖IP首部416的内容,该第二接口服务于第二子网,目的地端站206和/或目的地覆盖系统208是该第二子网的成员。添加MAC地址首部421,该MAC地址首部包括源MAC地址、即第二路由器接口 R2的MAC地址和与在外覆盖IP首部416中的目的地覆盖系统208的IP地址对应的目的地覆盖代理208的MAC地址。
[0055]覆盖系统B208可以从路由器210接收的分组去除覆盖首部417,并且向目的地端站206输出原有净荷413。目的地覆盖系统208的IP处置器314可以基于在目的地IP地址字段412中提供的内IP目的地(esip2)和在覆盖首部417中的虚拟网络信息、例如唯一虚拟网络标识符确定用于接收分组的既定目的地端站。覆盖系统B208可以使用这一信息以确定目的地端站206并且向目的地端站206输出(422)包括原有净荷413的数据分组。
[0056]图5是根据一个实施例的用于执行覆盖操作的方法500的流程图。在描述方法500时,也参照图1-图4的单元。
[0057]在块502,可以在接入交换机16或者有关网络边缘设备中实施覆盖系统300的覆盖代理302。如以上描述的那样,覆盖代理302可以包括管理接口 306、策略代理308、地址处理器310和分类器312A。
[0058]在块504,在主机计算机12中实施覆盖帮助器304。如以上描述的那样,覆盖帮助器304可以包括IP处置器314和分类器312。在一个实施例中,在管理程序NIC驱动器中实施覆盖帮助器304。在另一实施例中,在SR IOV NIC中实施覆盖帮助器304。在另一环境中,在旧有NIC、OS NIC驱动器和/或NIC固件或者硬件中实施覆盖帮助器304。
[0059]在块506,可以经由带内协议从覆盖代理302向覆盖帮助器304传输覆盖参数。可以在开始在两个端站之间的流量流之前交换基于物理或者虚拟端口号、MAC地址等的分类标准。可以在开始流量流时交换策略高速缓存条目等。封装可以通过向接收的分组添加覆盖首部而出现,该覆盖首部包括IP和/或MAC地址信息、虚拟网络信息和/或用于确定分组在覆盖虚拟网络中的目的地端站的有关信息。因而,通过在接入交换机和端站二者中实施覆盖系统300,可以将虚拟网络扩展为除了虚拟化的设备之外还包括旧有设备、由此减少对管理程序平台等的任何依赖。在这样做时,可以从操作系统或者管理程序分离覆盖虚拟网络功能。另外,覆盖帮助器执行的覆盖首部添加、删除或者修改可以在主机计算机操作系统以下的硬件、固件或者软件中出现。因此,覆盖功能可以出现而无需修改操作系统。
[0060]图6是根据一个实施例的用虚拟网络覆盖系统300配置的包括主机计算机612和接入交换机616的环境600的框图。
[0061]主机计算机612包括用于将主机计算机12的硬件抽象化成虚拟机602-1至602-N(一般为602)的管理程序606。虚拟机602共享用于执行外部网络I/O操作的物理网络接口控制器(NIC)614。管理程序606可以包括基于软件的虚拟交换机608或者v交换机,该虚拟交换机提供在虚拟机602之间的互连通。虚拟交换机608在物理NIC614与虚拟机602的多个虚拟NIC604或者vNIC之间对接用于在虚拟机602与物理NIC614之间转发分组。每个虚拟机602可以具有一个或者多个关联VNIC604。每个虚拟机602也可以包括VM网络栈620和驱动对应VNIC604的VM vNIC驱动器622。一般而言,每个vNIC604如同物理网络接口来操作。例如可以向每个VNIC604指派唯一 MAC (介质访问控制)地址。
[0062]VNIC604通过管理程序NIC驱动器610和虚拟交换机608在逻辑上连接到物理NIC614。在一个实施例中,在管理程序NIC服务器610中或者备选地在NIC固件或者硬件中实施覆盖系统300的覆盖帮助器304。可以在接入交换机616中实施覆盖系统300的覆盖代理302。在另一实施例中,在VM网络栈620中实施覆盖帮助器304。在另一实施例中,在VM vNIC驱动器622处实施覆盖帮助器304。在另一实施例中,在VM网络站620、vNIC驱动器622和管理程序NIC驱动器610的组合中实施覆盖帮助器304。覆盖代理302和覆盖帮助器304经由带内协议相互通信用于在覆盖代理302与覆盖帮助器304之间传输覆盖参数、例如分类标准和策略高速缓存数据、比如虚拟网络映射信息。
[0063]图7是根据另一实施例的用虚拟网络覆盖系统300配置的包括主机计算机712和接入交换机716的环境700的框图。环境700除了环境700包括SR-1OV NIC714之外与在图6中描述的环境600相似。这里,VNIC704可以通过虚拟功能(VF)引擎730在逻辑上连接到物理NIC714,该VF引擎可以包括NIC714的虚拟化的实例。管理程序NIC驱动器710可以驱动与图6的配置相似的物理功能(PF)引擎,从而管理程序706可以接入PF732,该PF是与物理卡的接口。VF引擎730允许通过V交换机709在虚拟机702之间切换流量来提高切换流量性能。因此,VM702A、702D可以通过虚拟功能直接接入物理NIC714而无需依赖于管理程序706用于控制或者数据操作。
[0064]在一个实施例中,在驱动PIF732的NIC驱动器710中或者在NIC固件或者硬件中实施覆盖系统300的覆盖帮助器304。可以在接入交换机616中实施覆盖系统300的覆盖代理302。在另一实施例中,在VM网络栈720中实施覆盖帮助器304。在另一实施例中,在VMvNIC驱动器722中实施覆盖帮助器304。在另一实施例中,在VM网络栈720、vNIC驱动器722和NIC驱动器710的组合中实施覆盖帮助器304。
[0065]图8是根据另一实施例的用虚拟网络覆盖系统300配置的包括主机计算机812和接入交换机816的环境800的框图。主机计算机812可以包括传统的操作系统,并且不需要管理程序或VMM。
[0066]主机计算机812可以包括被配置用于网络虚拟化的NIC804,该NIC例如包括队列,每个队列专用于物理主机计算机12上的虚拟化或者非虚拟化的实体。这里,可以向每个队列指派唯一 MAC地址以相互区分实体。可以在驱动NIC804的OS NIC驱动器806中实施或者在NIC804的固件或者硬件中实施覆盖系统300的覆盖帮助器304。可以在接入交换机816中实施覆盖系统300的覆盖代理302。覆盖代理302和覆盖帮助器304经由被配置用于交换覆盖参数等的带内协议相互通信。因此,虚拟化的端站和/或非虚拟化的端站二者可以是可扩展覆盖虚拟网络的一部分。
[0067]图9A是图示根据一个实施例的用于初始化源覆盖系统的过程流900的示意框图。图9B是图示根据一个实施例的用于初始化目的地覆盖系统的过程流920的示意框图。在描述过程流900和920时,也参照图1-图8。在图9A和9B中,初始化分别与源端站(ESl)和目的地端站对应的两个覆盖系统用于允许通信在相同覆盖虚拟网络中的两个端站之间出现。两个覆盖系统中的每个覆盖系统可以参考图3的覆盖系统300和/或分别参考图2的覆盖系统204、208。
[0068]在图9A中,过程流900在源端站202中实施的源覆盖帮助器304 (—般为902)、在源接入交换机中实施的源覆盖代理302 (—般为904)、与源接入交换机通信的管理站(一般为906)和被配置用于策略服务器212的拓扑映射器(一般为908)之间出现。[0069]管理站906可以向源接入交换机904输出(910)启用覆盖请求。管理站906可以与源覆盖代理904的管理接口 306通信以使源覆盖系统300能够对分组分类、向接收的分组添加覆盖首部、经由带内协议与源覆盖帮助器902通信和/或执行覆盖系统300的其它功能、比如这里描述的功能。管理站906可以配置请求以启用源接入交换机的预定端口以用于处理与源端站202属于的覆盖虚拟网络有关的分组。可以指明端口在用户定义的虚拟网络中。因此,自动分类从该端口输出的分组属于指明的虚拟网络。源覆盖系统300可以执行如这里描述的所需封装以通过物理网络向目的地覆盖系统传输分组。
[0070]响应于被激活用于虚拟覆盖操作,覆盖代理904可以向源覆盖帮助器902输出(912)地址信息、例如源覆盖代理904的MAC地址和/或IP地址。
[0071]管理站906可以经由管理接口 306向拓扑映射器908发送(914)对于端站的物理位置的请求以构造拓扑映射或者确定与覆盖虚拟网络(OVNX)有关的布局标准,源端站202与该OVNX关联、即源端站902可以是OVNX的成员。
[0072]管理站906可以向源覆盖代理904、具体向策略代理308输出(916)从拓扑映射器908接收到的拓扑映射信息。这一信息可以在虚拟网络操作中由其它覆盖代理使用,其中通信例如在端站902从另一端站接收分组、即端站902是目的地端站时出现。拓扑映射信息可以包括源端站MAC地址、接入交换机端口信息、虚拟网络标识符等。
[0073]可以向覆盖帮助器902输出(918)拓扑映射数据的一些或者所有元素、例如源端站MAC地址和虚拟网络标识符,以便建立源端站202的位置。
[0074]在图9B中,过程流920在目的地端站206中实施的覆盖帮助器304(—般为922)、在目的地接入交换机中实施的覆盖代理302 (—般为924)、与目的地接入交换机通信的管理站(一般为926)和被配置用于策略服务器212的拓扑映射器(一般为928)之间出现。目的地接入交换机924可以是与图9A的源接入交换机904相同的交换机或者相似的交换机。管理站926可以与图9A的管理站906相同或者相似。拓扑映射器928可以与图9A的拓扑映射器908相同。
[0075]管理站926可以向目的地接入交换机924输出(930)启用覆盖请求。管理站926可以与目的地覆盖代理924的管理接口 306通信以使覆盖系统300能够对分组分类、向接收的分组添加覆盖首部、经由带内协议与目的地覆盖帮助器922通信和/或执行覆盖系统300的其它功能、比如这里描述的功能。管理站926可以配置请求以启用目的地接入交换机的预定端口 Q,以用于处理与目的地端站222属于的覆盖虚拟网络有关的分组。
[0076]响应于被激活用于虚拟覆盖操作,覆盖代理924可以向目的地覆盖帮助器922输出(932)地址信息、例如目的地覆盖代理924的MAC地址和/或IP地址。
[0077]管理站926可以经由管理接口 306向拓扑映射器928发送(934)对于端站位置信息的请求以构造拓扑映射、确定与覆盖虚拟网络(OVNX)有关的布局标准等,目的地端站206与该OVNX关联、即目的地端站922可以是OVNX的成员。管理站926可以向覆盖代理924查询的策略服务器928输出(936)拓扑映射信息以建立传输路径。这一信息可以在虚拟网络操作中、例如在端站是目的地端站时由其它覆盖代理使用。拓扑映射信息可以包括目的地端站MAC地址、接入交换机端口信息、虚拟网络标识符等。
[0078]可以向覆盖帮助器922输出(938)拓扑映射数据的一些或者所有元素、例如目的地端站MAC地址和虚拟网络标识符,以便建立目的地端站206的位置。[0079]图10是图示根据一个实施例的用于与源覆盖系统通信的过程流1000的示意框图。在描述过程流1000过程中,也参照图1-图9的单元。具体而言,描述过程流1000为在图2的第一端站202、路由器210和策略服务器212与在图9的源端站202中实施的源覆盖帮助器304 (—般为902)和在源接入交换机中实施的源覆盖代理302 (—般为904)之间出现。然而,过程流100可以在图6-图8中或者在这里描述的其它图中引用的端站与接入交换机之间同样适用。
[0080]从端站202向源覆盖代理904输出(1002)目的地请求消息、例如输出作为广播消息。可以用熟知方式输出、例如根据用于地址解析的ARP发出广播消息。
[0081]源覆盖代理904的地址处置器310可以经由分类器312接收请求并且向策略代理308查询目的地端站206的IP地址、例如源端站202的虚拟网络(0VNX)。源覆盖代理904的策略代理308可以先访问它的策略高速缓存(未示出),该策略高速缓存可以存储与目的地端站206有关的映射信息,源端站202希望与该目的地端站通信。地址处置器310可以与可以检查本地高速缓存的策略代理308通信。如果未发现映射信息,则策略服务器212可以提供映射信息。可以向策略服务器212输出(1004)单播消息以获得映射信息。
[0082]策略服务器212可以根据与以上关于图4描述的方式相似的方式确定目的地端站206的物理位置。出于与简洁有关的原因,不会重复这样的方式。策略服务器212可以输出(1006)请求的映射信息、具体为目的地端站206的IP地址到目的地覆盖系统的映射。此夕卜,策略代理308可以与策略服务器212通信以确定目的地端站206的位置,并且用映射信息更新策略高速缓存。源覆盖代理904可以向源覆盖帮助器902发送(1008)覆盖参数、比如分类标准和策略高速缓存数据。例如源覆盖代理904可以发送下一跳MAC和IP地址数据以及例如这里描述的有关覆盖封装信息。源覆盖代理904可以经由带内协议与源覆盖帮助器902通信。源覆盖代理904可以向端站202输出(1010)目的地端站206的IP地址和对应下一跳MAC地址。
[0083]端站202可以输出(1012)分组。分组可以包括网络分组、例如帧或者IP分组。分组可以包括从源覆盖帮助器902接收到的目的地MAC地址1013和目的地IP地址1014。分组也可以包括净荷(PL) 1015和/或具有本领域普通技术人员已知的内容的其它字段。
[0084]源覆盖帮助器902的IP处置器314从端站202接收分组。IP处置器314向分组添加覆盖封装1020并且向源接入交换机输出(904)封装的分组。覆盖封装1020包括外覆盖MAC首部1017、外覆盖IP首部1018和覆盖首部1019。外覆盖MAC首部1017包括与源接入交换机端口对应的源MAC地址(omac I)和下一跳MAC地址(rmac I)。在一个实施例中,如果目标在与源相同的子网中,则目的地MAC地址是目的地覆盖系统208的目的地MAC地址。在另一实施例中,如图2中所示,目的地MAC地址是分别在端站202、206的子网之间路由分组的路由器或者网关接口(Rl)的目的地MAC地址。外覆盖IP首部1018可以包括源覆盖代理904的IP地址和目的地覆盖代理的IP地址。覆盖首部1019可以包括标识虚拟网络的唯一标识符。在向从源端站202接收的分组添加覆盖封装1020时,组合原有分组1013、1014、1015的内容以形成与覆盖封装1020从覆盖帮助器902向具有源覆盖代理904的源接入交换机输出(1016)的新净荷PL11021,该源覆盖代理转而向路由器210或者向网络交换机或者有关网络设备输出(1022)分组1020、1021。
[0085]图11是图示根据一个实施例的用于与目的地覆盖系统通信的过程流1100的示意框图。在描述过程流1100时,也参照图1-图10的单元。具体而言,描述过程流1100为在图2的第二端站206、路由器210和策略服务器与在图9的目的地端站206中实施的目的地覆盖帮助器304 (—般为922)和在目的地接入交换机中实施的目的地覆盖代理302 (—般为924)之间出现。然而,过程流1100可以在图6-图8中或者在这里描述的其它图中引用的端站与接入交换机之间同样适用。
[0086]过程流1100始于路由器210向具有覆盖代理924的目的地接入交换机输出(1102)在过程流1000中提供的分组净荷PL1021、覆盖首部1019和外覆盖IP首部1018,该覆盖代理转而向目的地覆盖首部922输出(I 104)这一分组。添加MAC地址首部1103,该MAC地址首部可以包括源MAC地址、即输出(1102)分组净荷PLl 1021的路由器接口或者接入交换机端口的MAC地址。MAC地址首部1103也包括目的地覆盖代理924的MAC地址。
[0087]目的地覆盖帮助器304可以从接收的帧去除覆盖首部1019,并且从在分组净荷PL11021中的内部IP目的地、即ES2IP地址1014和/或在首部1019中的虚拟网络标识符去除覆盖首部1019。添加MAC首部1107,该MAC首部包括可以在图9中描述的初始化过程期间向覆盖帮助器302提供的目的地段站MAC地址。因而,原有净荷PL1015可以被引向既定目的地端站206。
[0088]所属【技术领域】的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0089]可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0090]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0091]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0092]下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0093]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
[0094]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0095]尽管已经参照具体实施例示出和描述本发明,但是本领域技术人员应当理解,可以在其中进行在形式和细节上的各种改变而未脱离本发明的范围。
【权利要求】
1.一种用于在数据中心环境中在物理网络上覆盖虚拟网络的方法,包括: 在覆盖虚拟网络中布置覆盖系统以包括覆盖代理和覆盖帮助器; 在接入交换机中实施所述覆盖代理; 在与所述接入交换机通信的端站中实施所述覆盖帮助器;以及 在所述覆盖代理与所述覆盖帮助器之间按照带内协议传输覆盖参数。
2.根据权利要求1所述的方法,还包括: 从所述端站输出数据分组;以及 指示所述覆盖帮助器向由所述覆盖帮助器从所述端站接收到的数据分组添加覆盖封装字段。
3.根据权利要求2所述的方法,其中按照所述带内协议从所述覆盖帮助器向所述覆盖代理传输所述覆盖封装字段。
4.根据权利要求2所述 的方法,其中所述覆盖封装字段包括与分组分类标准有关的覆盖参数和虚拟网络拓扑数据。
5.根据权利要求1所述的方法,还包括: 由所述覆盖代理接收包括覆盖封装字段的数据分组; 从所述覆盖代理向所述覆盖帮助器输出所述数据分组;以及 由所述覆盖帮助器根据在所述覆盖封装字段中的虚拟网络标识符和目的地地址数据中的至少一个确定目的地端站。
6.根据权利要求5所述的方法,其中所述目的地端站是物理端站和虚拟端站中的至少一个端站。
7.根据权利要求1所述的方法,其中所述端站包括管理程序,并且其中在所述端站的管理程序网络接口(NIC)驱动器或者固件中实施所述覆盖帮助器。
8.根据权利要求1所述的方法,其中在所述端站的单根I/O虚拟化(SRIOV)NIC中实施所述覆盖帮助器。
9.根据权利要求1所述的方法,其中在所述端站的操作系统NIC驱动器或者固件中实施所述覆盖帮助器。
10.一种用于在覆盖虚拟网络中通信的方法,包括: 布置第一覆盖系统以包括在第一接入交换机中实施的覆盖代理和在与所述第一接入交换机通信的第一端站中实施的覆盖帮助器; 布置第二覆盖系统以包括在第二接入交换机中实施的覆盖代理和在与所述第二接入交换机通信的第二端站中实施的覆盖帮助器;以及 从所述第一覆盖系统的所述覆盖代理向所述第一覆盖系统的所述覆盖帮助器传输覆盖参数,所述覆盖参数包括用于从所述第一端站向所述第二端站传输数据分组的数据。
11.根据权利要求10所述的方法,还包括: 从所述第一端站向所述第二接入交换机传输所述数据分组; 从在所述第二接入交换机中实施的所述覆盖代理向在所述第二端站中实施的所述覆盖帮助器传输所述数据分组;以及 由所述第二端站的所述覆盖帮助器根据所述覆盖参数确定目的地端站。
12.根据权利要求10所述的方法,还包括:指示所述第一端站的所述覆盖帮助器向所述数据分组添加覆盖封装字段。
13.根据权利要求12所述的方法,其中按照带内协议从所述第一端站的所述覆盖帮助器向所述第一端站的所述覆盖代理传输所述覆盖封装字段。
14.根据权利要求12所述的方法,其中所述覆盖封装字段包括与分组分类标准有关的覆盖参数和虚拟网络拓扑数据。
15.根据权利要求10所述的方法,还包括: 由所述第二端站的所述覆盖帮助器接收所述覆盖封装字段;以及 由所述覆盖帮助器根据在所述覆盖封装字段中的虚拟网络标识符和目的地地址数据中的至少一个确定目的地端站。
16.根据权利要求10所述的方法,其中所述第一端站和第二端站中的至少一个端站包括管理程序,并且其中在所述第一端站和第二端站中的至少一个端站的管理程序网络接口(NIC)驱动器或者固件中实施所述覆盖帮助器。
17.根据权利要求10所述的方法,其中在单根I/O虚拟化(SRIOV)NIC中实施所述第一端站的所述覆盖帮助器和所述第二端站的所述覆盖帮助器中的至少一个覆盖帮助器。
18.根据权利要求10所述的方法,其中在操作系统NIC驱动器和固件中的至少一项中实施所述第一端站的所述覆盖帮助器和所述第二端站的所述覆盖帮助器中的至少一个覆盖帮助器。
19.一种用于网络虚拟化环境的覆盖系统,包括: 在接入交换机处的覆盖代理,所述接入交换机在网络的边缘处,所述覆盖代理被配置用于生成包括与目的地端站有关的覆盖参数的覆盖封装字段;以及 在与所述接入交换机通信的主机计算机处的覆盖帮助器,所述覆盖帮助器被配置用于向第一分组添加所述覆盖封装字段、并且向所述目的地端站传输包括所述覆盖封装字段的所述第一分组。
20.根据权利要求19所述的覆盖系统,其中所述覆盖帮助器还在从所述覆盖代理接收到所述第二分组时向正确目的地端站传输第二分组。
21.根据权利要求19所述的覆盖系统,其中所述覆盖代理包括: 管理接口,由管理站调用以用于配置所述覆盖参数;以及 策略代理,与策略服务器通信以用于获得用于将所述目的地端站映射到在所述接入交换机处的所述覆盖代理的数据。
22.根据权利要求19所述的覆盖系统,其中所述覆盖帮助器包括: IP处置器,向从所述主机计算机接收的分组添加覆盖封装字段,并且向所述目的地端站传输包括所述覆盖封装字段的所述分组;以及 分类器,将所述分组映射到虚拟网络。
23.根据权利要求19所述的覆盖系统,其中在管理程序网络接口(NIC)驱动器、单根I/O虚拟化(SR 10V)NIC、操作系统NIC驱动器和NIC固件中的至少一个中实施所述覆盖帮助器。
24.一种数据中心环境,包括: 网络边缘交换机; 主机计算机,经由局域网连接与所述接入交换机通信;以及覆盖系统,所述覆盖系统包括在所述接入交换机处的覆盖代理和在所述主机计算机处的覆盖帮助器,所述覆盖代理被配置用于生成覆盖封装字段,所述覆盖封装字段包括与目的地端站有关的覆盖参数,所述覆盖帮助器被配置用于向分组添加所述覆盖封装字段,并且向所述目的地端站传输包括所述覆盖封装字段的所述分组。
25.一种用于在数据中心环境中在物理网络上覆盖虚拟网络的计算机程序产品,所述计算机程序产品包括:
计算机可读存储介质,具有具体化于其上的计算机可读程序代码,所述计算机可读程序代码在由计算机执行时使所述计算机执行根据权利要求1至9中的任一权利要求所述的步骤。
【文档编号】G06F9/455GK103748558SQ201280040317
【公开日】2014年4月23日 申请日期:2012年7月19日 优先权日:2011年8月18日
【发明者】J·基达姆比, V·潘迪, A·比斯瓦斯, N·玛克赫吉 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1