用于虚拟端口通信的方法和系统的制作方法

文档序号:6539101阅读:143来源:国知局
用于虚拟端口通信的方法和系统的制作方法
【专利摘要】一种方法和系统可以提供虚拟端口通信。可以通过将第一虚拟机标签插入到数据帧中来修改该数据帧,该数据帧包含目的地字段中的目的地标识符和有效载荷。第一虚拟机标签可以包括第一虚拟端口标识符,其用于识别在虚拟机主机上的第一虚拟机的第一逻辑接口。
【专利说明】用于虚拟端口通信的方法和系统
[0001]本申请是申请日为2008年9月10日、申请号为200880108482.5的同名专利申请
的分案申请。
【背景技术】
[0002]虚拟机(VM)可以是或者可以包括由例如在主机系统上的虚拟机监视器(VMM)来创建的架构或环境。VMM可以为可在VM中执行或运行的应用程序、固件或客户操作系统提供主机系统上的设施或资源。该执行可能需要与一个或多个其它实体进行通信,所述其它实体包括例如在相同计算平台上支持(host)的另一个VM或者通过网络连接来链接到主机计算平台的单独实体。
【专利附图】

【附图说明】
[0003]在所附的权利要求中特别地指出并且清楚地要求保护作为本发明的主题。但是,当与附图一起阅读时,通过参照以下详细的描述,可以最佳地理解本发明的组织和操作方法,以及其目的、特征和优势,其中:
[0004]图1是根据本发明的实施例的虚拟机主机和边缘交换机系统的示意说明;
[0005]图2A和2B是根据本发明的实施例的数据帧格式和数据库的代表性说明;
[0006]图3是根据本发明的实施例的用于入站虚拟端口通信的方法的流程图;
[0007]图4是根据本发明的实施例的用于出站虚拟端口通信的方法的流程图。
[0008]应当理解,为了说明的简单和清楚,附图中所示的元件不必精确地绘出或按比例绘制。例如,为了清楚起见或者为了包括在一个功能模块或元件中的数个物理部件,可以相对于其它元件放大一些元件的尺寸。此外,在适当的时候,可以在附图中重复使用附图标记以表明对应的或类似的元件。此外,可以将在附图中描述的一些模块组合到单个功能中。
[0009]具体的设施方式
[0010]在以下的详细描述中,阐述了多个具体的细节以提供对本发明的透彻理解。但是,本领域中的普通技术人员应当理解,可以在没有这些具体细节的情况下实施本发明。在其它实例中,没有详细描述公知的方法、过程、部件和电路,以便不模糊本发明。
[0011]除非具体地声明,否则容易从如下讨论中看出,可以理解,整个说明书讨论中使用的诸如“处理”、“计算”、“运算”、“确定”等的术语是指可以将表示为在计算系统的寄存器和/或存储器内的物理(例如,电子)量的数据操作和/或变换为类似地表示为在计算系统的存储器、寄存器或其它这种信息存储器、传输或显示设备内的物理量的其它数据的计算机或计算系统或类似的电子计算设备的动作和/或处理。此外,整个说明书中可以使用术语“多个”来描述两个或更多个部件、设备、元件、参数等。
[0012]本发明的实施例可以提供一种用于虚拟端口通信的方法和系统。在一个实施例中,可以通过将第一虚拟机标签插入到数据帧来修改该数据帧,该数据帧包含有效载荷和在目的地字段中的目的地标识符。第一虚拟机标签可以包括第一虚拟端口标识符,其用于在虚拟机主机上识别第一虚拟机的第一逻辑接口。[0013]现在参照图1,其是根据本发明的实施例的能够实现虚拟端口通信的VM主机和边缘交换机系统100的示意说明。VM主机和边缘交换机系统100可以包括VM主机110和可以连接到网络130的边缘交换机120,但本发明并不限于该方面。在一些实施例中,VM主机110可以包括或者可以是例如个人计算机、桌面计算机、移动计算机、膝上型计算机、笔记本计算机、终端、工作站、服务器计算机、个人数字助理(PDA)设备、网络设备或能够支持(host) VM的其它合适的计算设备。
[0014]根据本发明的实施例,VM主机110可以包括例如:虚拟机监视器(VMM) 112、一个或多个VM111、网络接口控制器(NIC)113、物理端口 114、存储器单元115和处理器116。边缘交换机120可以包括例如:一个或多个物理端口 121和转发数据库122。
[0015]VMlll可以包括例如:一个或多个环境,其能够仿真、模拟、虚拟化、执行、直接执行或调用硬件部件、软件部件、操作系统(OS)、应用程序、代码、一组指令等。可以使用硬件部件和/或软件部件来实现VM111。例如,VMlll可以被实现为在VM主机110的部件或者VM主机110中的部件中执行的软件应用程序,或被实现为在VM主机110内集成的硬件部件,或被实现为VM主机110的某个其它硬件部件中的硬件部件。尽管图1示出了单个VMl 11部件,但是本发明并不限于这一点,并且VM主机110能够支持多个VMl 11,在一些实施例中,所述VMl 11可以基本上并行地操作。在一些实施例中,VMl 11可以模拟计算平台的一个或多个部件,所述计算平台访问网络、另一个网络实体或其它计算设备(不管是否虚拟化)。VMlll可以与可唯一地识别VMlll的唯一的媒体访问控制(MAC)地址或其它地址或名字进行关联。例如,根据一个或多个电气电子工程师学会(IEEE)标准,可以将MAC地址分配到VMlll。
[0016]VMMl 12可以创建并管理一个或多个VM (例如VMl 11),并且在例如VM主机110内分配资源以支持一个或多个VM111。可以使用硬件部件和/或软件部件来实现VM112。例如,VM112可以被实现为在VM主机110的部件或者VM主机110中的部件中执行的软件应用程序,或被实现为在VM主机110内集成的硬件部件,或被实现为VM主机110的某个其它硬件部件中的硬件部件。取决于虚拟化架构或模型,VMM112还可以被称为例如虚拟化软件、管理程序或I/O分区。VMMl 12可以包括例如一个或多个软件和/或硬件部件,其能够创建VM111、设置或修改VMMlll的属性、配置VM111、监视VMlll的操作和/或控制VMlll的操作。在一些实施例中,VMM112可以具有例如:系统级特权、管理员级特权和/或根级特权,并且可以控制VMl 12的操作和/或VM主机110的其它部件,例如,NICl 13。VMMl 12能够直接地和/或间接地使用VM主机110的一个或多个资源或部件,例如,NICl 13。
[0017]NIC113可以用作(例如,通过MAC地址)提供了物理访问联网媒介和低级寻址的物理层(例如,开放系统互连(OSI)层I)和数据层(例如,OSI层2)部件。NIC113可以被实现为在VM主机110的部件或者VM主机110中的部件中执行的软件应用程序,或被实现为在VM主机110内集成的硬件部件,或被实现为VM主机110的某个其它硬件部件中的硬件部件。在一些实施例中,NICl 13还可以被实现为例如智能NIC并且可以包括处理器和存储器。NIC113可以例如被虚拟化。在一些实施例中,NIC113可以使用例如以太网技术来操作并且可以根据一个或多个IEEE标准来使用MAC寻址。
[0018]NIC113可以经由例如物理端口 114与VM主机110之外的设备进行通信。物理端口 114可以是VM主机110的部件,其可以用作在VM主机110与任意外部设备或网络之间的接口。在一些实施例中,物理端口 114可以是NIC113的内部部件。
[0019]在一些实施例中,VMlll可以与其它网络实体(例如,在VM主机110上支持的其它VMlll或VM主机110之外的其它计算平台或网络实体)进行通信。在这些实例中,VMlll可以通过NIC113与这些网络实体进行通信。对于这种网络通信,可以向VM主机110中的VMlll的每个实例分配可由NIC113控制的逻辑网络接口,其在本文中被称为“虚拟端口”。NICl 13中的虚拟端口的数量可以等于被分配到NICl 13的VMl 11的数量。在一些实施例中,VM主机110可以包括不止一个VMlll和不止一个NIC113,其中,NIC113具有在NIC113的数量中分配的每个VMlll的虚拟端口分配。此外,在一些实施例中,一个或多个VMlll可以具有不止一个逻辑网络接口并且相应地具有用于分配到存在的一个或多个NIC113的不止一个虚拟端口。
[0020]对于在其中可以对NIC113进行虚拟化的实施例,NIC113可以呈现或指示对VMMl 12的多个虚拟接口或虚拟功能,以使得每个虚拟端口与虚拟接口进行关联。VMM112可以将每个虚拟接口分配给VMl 11。在一些实施例中,直接分配或通过模型可以用于将每个虚拟接口直接地分配到VMl 11。可选地,仿真模型可以用于将虚拟端口分配到不同的VMl 11或NIC113中的不同队列。在多队列NIC模型中,例如,每个队列或每组队列可以与虚拟端口进行关联。然后,可以将关联的队列分配到各自的VMl 11。
[0021]尽管图1将VMMl 12、VMlll和NICl 13示出为VM主机110的分离的部件,但是本发明并不限于这一点。VMMl 12、VMlll和NIC113可以被实现为例如在VM主机110的存储器115内存储的软件部件、被实现为在一个或多个处理器(例如,在VM主机110内的处理器116等)内集成的或耦合到一个或多个处理器的控制器和/或处理器和/或硬件单元。
[0022]存储器115可以包括例如一个或多个存储器,例如,随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步DRAM(SD-RAM)、闪存、易失性存储器、非易失性存储器、高速缓存存储器、缓冲器、短期存储器单元、长期存储器单元或用于存储数据和/或软件部件(例如,VMllU VMl 12和/或NIC113)的其它合适的存储器单元。
[0023]处理器116可以是或者包括例如中央处理器单元(CPU)、数字信号处理器(DSP)、微控制器、控制器、芯片、微芯片或任何合适的多用途或专用处理器或控制器。在一些实施例中,例如,处理器111可以执行可以用在VM111、VMM112和/或NIC113的操作中的计算操作或处理操作。
[0024]在一些实施例中,NICl 13可以连接到边缘交换机120。边缘交换机120可以是路由器、交换机、路由交换机、数据中心互连或任何局域网(LAN)、城域网(MAN)、广域网(WAN)或用于提供对LAN、MAN、WAN或其它这种网络(例如,VMlll之外的网络130)的进入点或接入的其它网络接入设备。相应地,网络130可以是LAN、MAN、WAN或具有在两个或更多个网络节点或站(例如,VMlll或VM主机110)之间的通信链路的其它类似的网络。
[0025]物理端口 121可以是边缘交换机120的部件,其可用作在边缘交换机120与任何网络或外部设备(例如,VM主机110和/或网络130)之间的接口。在本发明的一些实施例中,边缘交换机120可以被配置为具有用于连接到VM主机110上的物理端口 114的每个物理端口 121的一个或多个虚拟端口。因为虚拟端口可以被配置在链路(例如,在VM主机110与边缘交换机120之间的链路)的两端上,可以经由NIC113和物理端口 114将边缘交换机120上的虚拟端口中的每一个逻辑地连接到VMlll。[0026]在一些实施例中,边缘交换机120可以使用与例如使用以太网技术的VM主机110相同的通信技术和协议来操作并且还可以使用MAC寻址。为了在每一个都与VMlll关联的各个虚拟端口中进行区分,每个虚拟端口可以被分配虚拟端口标识符(VPID)。VPID可以便于路由去往和来自VMlll的业务。在一些实施例中,即使VPID可以与用于层2转发的MAC地址进行关联,但是VPID也可以与IP网络地址进行关联。
[0027]在一些实施例中,可以将VPID插入到VMlll所使用的一个或多个数据帧或分组,以用作源和/或目的地标识符与外部设备进行通信。可以在VM主机110与边缘交换机120之间携带这些数据帧。在一些实施例中,可以根据标准格式(例如,以太网组帧)来格式化这些数据帧。还可以使用其它数据帧格式。
[0028]现在参考图2A,其示出了根据本发明的实施例的数据帧201。具有数据帧201的格式的数据帧可以包括:根据IEEE标准802.3,802.1,802.1Q或其它这种标准的目的地地址(DA)、源地址(SA)、有效载荷、VM标签和VLAN标签,尽管本发明并不限于这方面。例如,用于在VMlll与边缘交换机120之间的通信的以太网帧可以包含没有VLAN标签的VM标签。在一些实施例中,DA和SA可以包括对应的目的地和源网络实体的MAC地址。有效载荷、VLAN标签以及它的关联的以太类型(Etype)字段可以被称为VLAN标签分组。对于根据本发明的一些实施例的通信,可以将数据帧的VM标签插入到数据帧(例如,以太网数据帧)并且该VM标签可以包括例如以太类型字段和VMTAG字段。在一些实施例中,VM标签可以是例如32位长并且可以包括16位的以太类型字段和16位的VMTAG字段。其它字段也可以被包括在VM标签中。VM标签的以太类型字段可以表明以太网帧是VM标签的,而VMTAG字段可以携带与数据帧关联的虚拟端口的VPID。在一些实施例中,对于来自VMlll的出站业务,VMTAG字段可以包括VMl 11的源标识符,而对于入站到VMl 11的业务,VMTAG字段可以包括目的地标识符。
[0029]尽管数据帧201的帧格式可以是一种用于当在NIC113与边缘交换机120之间进行通信时识别虚拟端口的方案,但是应当理解,可以使用其它组帧格式来识别对NICl 13和边缘交换机120的虚拟端口。例如,可以在以太网帧中建立携带了用于虚拟端口的唯一标识符的备选专用字段。
[0030]在一些实施例中,NICl 13和边缘交换机120中的每一个可以用于接收并读取包括例如图2A中所示的VM标签的数据帧。对于出站业务,VMlll可以根据例如IEEE802.1Q向NIC113发送以太网帧。NIC113可以通过将与VMlll的虚拟端口分配对应的VM标签插入到以太网帧来修改该以太网帧,并且经由物理端口 114将分组转发到边缘交换机120。可选地,VMMl 12或VMMlll可以将VM标签插入到可能允许包括标准NIC接口的以太网帧。一旦经由物理端口 121接收到修改的以太网帧,边缘交换机120可以在将该以太网帧路由到其目的地之前去除VM标签。在一些实施例中,边缘交换机可以在转发决策、应用用于安全的网络访问控制列表、服务质量决定和/或收集用于网络管理目的的统计中使用VM标签中的信息。
[0031]在一些实施例中,边缘交换机120可以被实现为可堆叠交换机,例如堆叠来用作单个逻辑实体的多个交换机。堆叠中的交换机可以转发包括VM标签的帧,直到该帧到达堆置中的最后的交换机,该最后的交换机可以在将巾贞转发到网络之如剥尚VM标签。
[0032]对于入站数据帧,边缘交换机120可以读取在以太网帧的DA字段中的MAC地址。边缘交换机可以使用该MAC地址,以通过在转发数据库122中执行地址查找来确定数据帧的目的地是否是VM111。转发数据库122可以是任何表格数据库或本领域已知的功能相似的软件应用程序,或用于存储以可搜索或可检索形式的网络地址和相关信息的其它合适的数据库或表格。
[0033]现在参照图2B,其是根据本发明的实施例的转发数据库202的代表性说明。在一些实施例中,转发数据库202可以与转发数据库122相同或具有与其相同的功能和/或格式。转发数据库中的每个条目可以代表在VM主机110中支持的VM111,并且可以是具有例如如下的多个字段的格式,但本发明并不限于该方面。
[0034]{VLAN, MAC_Address}->{Physical Port_Num, VPID}
[0035]其中,VLAN可以是网络标识符,MAC_Address可以是各个VMl 11的MAC地址,Physical Port_Num可以是VMl 11通过其进行通信的物理端口号,并且VPID可以是与VMl 11对应的虚拟端口标识符。额外和/或备选的数据字段可以包括在转发数据库202的条目中。
[0036]如果边缘交换机120根据地址查找确定VMlll是入站数据帧的目的地,那么边缘交换机120可以通过将与VMMlll的VPID对应的VM标签插入到数据帧来修改该数据帧。然后,边缘交换机可以经由物理端口 114将修改的数据帧转发到NIC113。NIC113可以去除该VM标签并且将该数据帧转发到VM111。可选地,在一些实施例中,VMMl 12可以去除VM标签或者VMlll能够接收具有VM标签的数据帧。
[0037]在一些实施例中,边缘交换机120还可以转发用于在VM主机110上的具有虚拟端口的虚拟实体(例如,两个或更多个VM111)之间进行通信的数据帧。NIC113可以将出站数据中贞从例如一个VMlll转发到边缘交换机120。在从数据巾贞剥离现有的VM标签之后,边缘交换机120可以使用转发数据库122对DA字段中的MAC地址执行地址查找。如果目的地的MAC地址对应于第二 VMlll或VM主机110中的具有VPID的另一实体,那么边缘交换机120可以将具有对应的VPID的新的VM标签插入到数据帧并且将修改的数据帧转发回NICl 13,所述NICl 13可以在将数据帧转发到目的地VMlll之前去除该新的VM标签。
[0038]在边缘交换机120处使用所发明的虚拟端口通信来执行去往和来自VMlll的所有业务的路由可以具有数个优势。本发明的一些实施例可以消除对与任何虚拟化实体(例如,VM111)关联的任何虚拟化交换的需要,所述虚拟化实体对网络基础结构中的一些或所有其它部分可以是不可见的。通过把对虚拟机基础结构的感知带出到边缘交换机,消除虚拟化交换可以实现在虚拟实体(例如,VM111)与网络上的其它实体之间的网络业务和安全策略的一致应用。然后,可以将网络和安全策略应用到独立于虚拟化的边缘交换机中。在一些实施例中,使网络的所有交换机工作在单个管理域中是可能的,这减轻了网络管理的负担并且降低了管理成本。可以有其它或不同的益处。
[0039]虚拟端口通信还可以允许在同一物理端口上的虚拟端口之间的数据帧转发,该物理端 口符合 IEED802.1D 桥接标准(2004 年 6 月 9 日的 “IEEE Standard for Local andMetropolitan Area Networks, Media Access Control (MAC)Bridges,,)。通常,在 802.1D桥接中,帧可以不被发送回发送了该帧的端口,因为会导致分组复制。但是,在VM主机和关联的边缘交换机中包括虚拟端口通信技术,可以通过将不同的虚拟端口分配到给定的物理端口上的不同VM来避免这一点。。
[0040]在一些实施例中,转发数据库122可以用于使得边缘交换机120能够处理转发到虚拟端口的多播和广播。尽管没有在图2B中示出,但是对于具有要查找的特定MAC地址的多播目的地,可以将与例如各个VMlll的各个VPID对应的额外字段添加到数据库条目中。然后,可以用对于每个VPID复制一次的多播数据帧,将多播数据帧或分组转发到相同VLAN中的所有成员虚拟端口,并且然后将多播数据帧或分组发送到各自的成员虚拟端口和对应的VM。在一个实施例中,对于组(例如,多播组)的成员中的每一个,可以重复去除和转发。可选地,通过在VM标签中包括用于指示数据帧是多播帧的字段,也可以在NIC113处执行多播复制。在一些实施例中,对广播转发的实现可以与多播转发相同或类似。
[0041]现在参照图3,其是根据本发明的实施例的用于入站虚拟端口通信的方法的流程图。方法的实施例可以由例如图1的VM主机和边缘交换机系统100来使用或实现,或由其它合适的有线和/或无线通信设备、站、节点、系统和/或网络来使用或实现。方法的实施例还可以使用图2的帧格式和转发数据库结构或其它合适的数据帧格式和转发数据库结构。
[0042]如在操作301指示的,根据本发明的实施例配置的边缘交换机(例如,边缘交换机120)可以从例如网络130接收数据帧。该数据帧可以是以太网帧格式或具有包含MAC地址或其它目的地标识符的DA字段的本领域已知的其它帧格式。边缘交换机120可以在操作302处在转发数据库(例如,数据库122)中执行MAC地址的目的地查找。在操作303,边缘交换机可以确定DA字段的MAC地址是否匹配于与在VM主机110上或在VM主机110内的虚拟机(例如,VM111)或其它虚拟网络实体的VPID对应的MAC地址。
[0043]如果DA字段的MAC地址不匹配于VMlll的MAC地址,那么边缘交换机120可以通过向数据帧插入包含与VMlll对应的VPID的VM标签来修改该数据帧(操作304)。然后,边缘交换机120可以将修改的数据帧转发到VM主机110的NICl 13 (操作305)。
[0044]在操作306,NIC113可以去除从边缘交换机120接收的修改的数据帧中的VM标签,并且可以将该数据帧转发到VMlll上(操作307)。
[0045]如果DA字段的MAC地址不匹配于VMl 11的MAC地址,那么数据帧的目的地可能不是VM主机110上的虚拟实体。边缘交换机120可以将该数据帧转发到例如网络130 (例如,其它非虚拟化主机或网络节点)上的另一个网络实体上(操作308)。
[0046]可以使用其它操作或操作的序列。
[0047]现在参照图4,其是根据本发明的实施例的用于出站虚拟端口通信的方法的流程图。方法的实施例可以由例如图1的VM主机和边缘交换机系统100来使用或实现,或者由其它合适的有线和/或无线通信设备、站、节点、系统和/或网络来使用或实现。方法的实施例还可以使用图2的帧格式和转发数据库结构或其它合适的数据帧格式和转发数据库结构。
[0048]在操作401,在VM主机上的VM或虚拟化实体(例如,在VM主机110上的VMl 11)将数据帧转发到NIC113。NIC113可以通过向数据帧插入包含与关联于VMlll的虚拟端口对应的VPID的VM标签来修改该数据帧(操作402),并且可以将修改的数据帧转发到边缘交换机(例如,边缘交换机120)(操作403)。
[0049]在操作404,边缘交换机120可以在从NIC113接收的修改的数据帧中去除VM标签。操作405和406可以如图3的操作302和303那样进行,其中,所述边缘交换机120可以在转发数据库中执行MAC地址的目的地查找并且确定MAC地址是否对应于VM主机110上的虚拟机的VPID。[0050]如果DA字段的MAC地址不匹配于VM主机110上的虚拟实体(例如,第二 VMlll)的MAC地址,那么通信可以是在VM主机110之内。通过边缘交换机120路由这种内部通信可以允许对于在VM主机110之内和之外的通信一致地维护网络策略(例如,访问控制或安全)。边缘交换机120可以通过向数据帧插入包含与第二 VMlll对应的VPID的VM标签来修改该数据帧(操作407)。操作408-410可以如图3的操作305-307相应地进行。
[0051]如果DA字段的MAC地址不匹配于VMl 11的MAC地址,那么数据帧的目的地可能不是VM主机110上的虚拟实体。边缘交换机120可以将数据帧转发到例如网络130上的另一个网络实体上(操作411)。在一些实施例中,多个VM主机110可以连接到边缘交换机120。在这些实例中,将数据帧转发到第二 VM主机110可以根据操作305-307来进行。
[0052]可以使用其它操作或操作的序列。
[0053]可以通过例如固定配置或自动配置(例如,当VM主机(例如,VM主机110 )连接到虚拟化边缘交换机(例如,边缘交换机120)时,通过通告或发现),来处理虚拟端口的管理。当VM主机首次连接到边缘交换机时,链路的两个节点或端点都可以发送通告和/或发现消息以标识它们各自的同位体能力。如果两个节点都能够进行虚拟端口通信,那么可以交换其它参数。这些参数可以包括例如虚拟端口的数量、用于VPID的范围和其它相关的虚拟端口通信参数。可以在节点之间定期地交换控制消息。如果在虚拟化网络配置中发生改变(例如,新的VM的增加),那么可以发送额外的控制消息以例如重配置节点、配置新的虚拟端口
坐寸ο
[0054]在一些实施例中,由于本发明的实施例基于没有物理存在的VM身份来使得网络策略能够被应用在网络交换机中,所以当将VM从一个物理主机(例如,VM主机110)移动到网络上的另一个主机时,可以保留属于VM (例如,VM111)的所有网络策略和特权。因此,网络的边缘交换机可以重新学习新的虚拟端口 /物理端口组合的MAC地址。
[0055]在一些实施例中,虚拟端口通信还可以用于传统的硬件NIC。对于这些实例,可以在例如输入/输出(10)分区和/或VMMl 12中以软件来实现虚拟端口。可以不需要IO分区中的虚拟交换机,而是由比虚拟交换机更轻型的软件多路复用器/解多路复用器来代替。
[0056]虽然参照有限数量的实施例描述了本发明,但是应当理解,可以进行本发明的多种改变、变型和其它应用。本发明的实施例可以包括用于执行本文的操作的其它装置。这种装置可以集成所讨论的元件,或者可以包括用于完成相同目的的备选部件。本领域的技术人员将理解,所附的权利要求旨在覆盖落入本发明的实质精神范围内的所有这种变型和改变。
【权利要求】
1.一种方法,包括: 通过将第一虚拟机标签插入到数据帧中来修改所述数据帧; 其中,所述数据帧包括目的地字段中的目的地标识符和有效载荷,并且所述第一虚拟机标签包括第一虚拟端口标识符,其用于识别在虚拟机主机上的第一虚拟机的第一逻辑接□。
2.根据权利要求1所述的方法,包括: 将所述数据帧从所述第一虚拟机转发到所述虚拟机主机上的网络接口控制器; 并且通过将所述第一虚拟机标签插入到所述数据帧中来修改所述数据帧。
3.根据权利要求2所述的方法,包括: 经由在所述虚拟机主机上的物理端口将所修改的数据帧从所述网络接口控制器转发到边缘交换机,所述边缘交换机连接到所述虚拟机主机和网络并且包括转发数据库;以及从所修改的数据帧中去除所述虚拟机标签。
4.根据权利要求3所述的方法,包括: 在所述转发数据库中执行对所述目的地标识符的地址查找; 确定所述目的地标识符是否对应于在所述虚拟机主机之内的虚拟端口 ; 如果所述目的地标识符匹配于与所述虚拟机主机上的第二虚拟机对应的目的地标识符,则通过将第二虚拟机标签插入到所述数据帧中来修改所述数据帧,所述第二虚拟机标签包括第二虚拟端口标识符,其用于识别在所述虚拟机主机上的所述第二虚拟机的第二逻辑接口 ; 经由在所述虚拟机主机上的所述物理端口将包含所述第二虚拟机标签的所修改的数据帧从所述边缘交换机转发到所述网络接口控制器; 从包含所述第二虚拟机标签的所修改的数据帧中去除所述第二虚拟机标签;以及 将所述数据帧转发到所述第二虚拟机。
5.根据权利要求3所述的方法,包括: 在所述转发数据库中执行对所述目的地标识符的地址查找; 确定所述目的地标识符是否对应于在所述虚拟机主机之内的虚拟端口 ;以及如果所述数据帧的所述目的地标识符对应于在所述虚拟机主机之外的位置,则在所述网络上转发所述数据帧。
6.根据权利要求1所述的方法,包括: 在包括转发数据库的边缘交换机处执行在所述转发数据库中的对所述目的地标识符的地址查找; 确定所述目的地标识符是否对应于所述第一虚拟机;以及 经由在所述虚拟机主机上的物理端口将所修改的数据帧从所述边缘交换机转发到所述虚拟机主机上的网络接口控制器,其中,所述边缘交换机连接到所述虚拟机主机和网络,由所述边缘交换机修改所述数据帧,并且所述数据帧的目的地是所述第一虚拟机。
7.根据权利要求6所述的方法,包括: 从所修改的数据帧中去除所述虚拟机标签;以及 将所述数据帧转发到所述第一虚拟机。
8.根据权利要求7所述的方法,其中,针对多播组的成员中的每一个,重复所述去除和所述转发操作,其中,所述多播组的成员是在所述虚拟机主机上的虚拟机。
9.一种系统,其包括: 用于支持一个或多个虚拟机的虚拟机主机,所述虚拟机主机包括: 用于转发数据帧的第一虚拟机,所述虚拟机具有第一逻辑接口并且具有相关联的用于识别所述第一逻辑接口的第一虚拟端口标识符; 其中,所述数据帧包括目的地字段中的目的地标识符和有效载荷。
10.根据权利要求9所述的系统,其中,所述虚拟机主机包括: 网络接口控制器,其连接到所述第一虚拟机,用于通过将第一虚拟机标签插入到所述数据帧中来修改所述数据帧,所述第一虚拟机标签包括所述第一虚拟端口标识符;以及物理端口,其连接到所述网络控制器,用于与外部设备连接; 其中,所述第一虚拟机用于将所述数据帧转发到所述网络控制器。
11.根据权利要求10所述的系统,包括: 边缘交换机,其经由物理端口连接到网络和所述虚拟机主机,用于从所修改的数据帧中去除所述第一虚拟机标签,所述边缘交换机包括转发数据库; 其中,所述网络接口控制器用于经由所述物理端口将所修改的数据帧转发到所述边缘交换机。
12.根据权利要求11所述的系统,其中,所述边缘交换机用于: 在所述转发数据库中执行对所述目的地标识符的地址查找; 确定所述目的地标识符是否对应于在所述虚拟机主机之内的虚拟端口 ; 如果所述目的地标识符匹配于与在所述虚拟机主机上的第二虚拟机对应的目的地标识符,则通过将第二虚拟机标签插入到所述数据帧中来修改所述数据帧,所述第二虚拟机标签包括第二虚拟端口标识符,其用于识别在所述虚拟机主机上的所述第二虚拟机的第二逻辑接口 ;以及 经由在所述虚拟机主机上的物理端口将包含所述第二虚拟机标签的所修改的数据帧从所述边缘交换机转发到所述网络接口控制器; 其中,所述网络接口控制器用于从包含所述第二虚拟机标签的所修改的数据帧中去除所述第二虚拟机标签,并且将所述数据帧转发到所述第二虚拟机。
13.根据权利要求11所述的系统,其中,所述边缘交换机用于: 在所述转发数据库中执行对所述目的地标识符数据库的地址查找; 确定所述目的地标识符是否对应于在所述虚拟机主机之内的虚拟端口 ;以及如果所述数据帧的所述目的地标识符对应于在所述虚拟机主机之外的位置,则在所述网络上转发所述数据帧。
14.一种系统,其包括: 边缘交换机,其经由在所述虚拟机主机上的物理端口连接到网络和虚拟机主机,所述边缘交换机包括转发数据库,所述边缘交换机用于:从所述网络接收数据帧,所述数据帧包括在目的地字段中的目的 地标识符和有效载荷;在所述转发数据库中执行对所述目的地标识符的地址查找;确定所述目的地标识符是否对应于在所述虚拟机主机之内的虚拟端口 ;以及,如果所述目的地标识符对应于在所述虚拟机主机之内的虚拟机的虚拟端口标识符,则通过将虚拟机标签插入到所述数据帧中来修改所述数据帧;其中,所述虚拟机主机用于支持所述虚拟机,并且包括所述虚拟机,所述虚拟机具有逻辑接口并且具有与其相关联的用于识别所述逻辑接口的虚拟端口标识符。
15.根据权利要求14所述的系统,其中,所述虚拟机主机包括: 物理端口,其连接到所述边缘交换机,用于与所述边缘交换机连接;以及网络接口控制器,其连接到所述物理端口,用于:接收所修改的数据帧;从所修改的数据帧中去除所述 虚拟机标签;以及将所述数据帧转发到所述虚拟机。
【文档编号】G06F15/16GK103793359SQ201410072098
【公开日】2014年5月14日 申请日期:2008年9月10日 优先权日:2007年9月24日
【发明者】I·S·甘加 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1