地址储存方法及相关网络装置与流程

文档序号:11582062阅读:196来源:国知局
【交叉引用】本申请要求申请日为2015年1月9日,美国临时申请号为62/101,517的美国临时申请案的优先权,上述临时申请案的内容一并并入本申请。【
技术领域
:】本发明有关于计算机网络,更具体来说,有关于用于虚拟机上的应用的高效的媒体访问控制(mediaaccesscontrol,简写为mac)地址储存方法及相关网络装置。
背景技术
::除非另有说明,否则本部分中描述的方法不是后文权利要求的现有技术,也不因包含在本部分中而被认为是现有技术。服务器虚拟化是数据中心的流行技术。具体来说,多个操作系统(operatingsystem,简写为os)的镜像在相同的网络服务器上透明地(transparently)执行。这些os镜像被视为虚拟机(virtualmachine,简写为vm)。虚拟机共享相同的物理服务器和服务器的物理输入输出(i/o)端口。为区分虚拟机,不同mac地址被指派给相同服务器中的多个虚拟机。即,每个虚拟机的mac地址不同于在同一服务器上执行的其他虚拟机的mac地址。相应地,网络交换机需要保持所有虚拟机的mac地址以与每一个虚拟机通信。结果是,需要巨大的存储空间来储存服务器中的所有虚拟机的mac地址用于虚拟机应用。技术实现要素:有鉴于此,本发明特提供以下技术方案:本发明实施例提供一种地址储存方法,包含获取与在计算装置上执行的一个或多个应用相关联的多个标识,其中多个标识中的每一个标识不同于另一个标识;以及储存代表与一个或多个应用相关联的多个标识的标识入口。本发明实施例提供一种地址储存方法,包含决定至少一通用属性,其中每一通用属性具有由与在计算装置上执行的一个或多个虚拟机相关联的多个地址共享的相应值,其中多个地址中的每个地址都不同于另一个地址;产生至少一第一域,其中每一第一域包含至少一通用属性的对应属性的相应值;产生至少一第二域,其中每一第二域包含可区分识别一个或多个虚拟机中的每一虚拟机的相应值;以及储存至少一第一域和至少一第二域作为代表与一个或多个虚拟机相关联的多个地址的地址入口。本发明实施例又提供一种网络装置,包含一个或多个输入端口,接收多个输入数据分组;一个或多个输出端口,发送多个输出数据分组;存储器;以及处理器,以通信方式耦接于一个或多个输入端口,一个或多个输出端口以及存储器,处理器执行的操作包含:基于多个输入数据分组发往的多个地址决定至少一通用属性,其中每一通用属性具有由与在计算装置上执行的一个或多个虚拟机相关联的多个地址共享的相应值,其中多个地址中的每个地址都不同于另一个地址;产生至少一第一域,其中每一第一域包含至少一通用属性的对应属性的相应值;产生至少一第二域,其中每一第二域包含可区分识别一个或多个虚拟机中的每一虚拟机的相应值;以及储存至少一第一域和至少一第二域作为代表与一个或多个应用相关联的多个标识的标识入口。本发明的地址储存方法及相关网络装置可以有效降低存储需求。【附图说明】图1a和图1b分别为比较常规的方法和依据本发明实施例的新的方法的实施方案的示例情景。图2a和图2b为依据本发明实施例的高效mac地址储存的示例情景。图3示出依据本发明实施例的高效mac地址储存的示例情景。图4为依据本发明实施例的将多个mac地址映射至一个单一mac地址入口用于储存的示例情景。图5为依据本发明实施例的范例的装置示意图。图6是依据本发明实施例的范例的流程。图7是依据本发明另一实施例的范例的流程。图8是vm的mac地址的通用该特性的两个不同vm协议的mac地址的范例。【具体实施方式】在说明书及权利要求书当中使用了某些词汇来指称特定的组件。所属领域中的技术人员应可理解,制造商可能会用不同的名词来称呼同样的组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的基准。在通篇说明书及权利要求书当中所提及的「包含」是开放式的用语,故应解释成「包含但不限定于」。另外,「耦接」一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或透过其它装置或连接手段间接地电气连接至第二装置。一般来说,对于特定vm协议,组织唯一标识(organizationallyuniqueidentifier,简写为oui)域是固定的。此外,对于特定物理服务器,服务器标识也是固定的。从而,对于特定vm协议且在特定物理服务器上运行的多个vm,对于特定vm协议且在特定物理服务器上运行的多个vm,vmmac地址的最小显著位(leastsignificantbit,简写为lsb)部分可以用于将一个vm的mac地址和其他vm的mac地址区分开。图8是vm的mac地址的通用该特性的两个不同vm协议的mac地址的范例。依据本发明的实施例,该特性可用于减小储存vm应用的mac地址的存储需求。通用vmmac地址比特位的位宽(bitwidth)通常远大于vmmac地址的区分位(distinguishablebit)(例如,lsb比特位)。对于相同物理服务器中的多个vm,服务器可能依据本发明实施例储存通用vmmac比特位的一个副本,并且,有利地,存储需求可被明显降低。例如,依照常规的方法,一个服务器具有32个vm在其上运行,则需要1536比特位(=48比特位(每一vm的mac地址)*32个vm)的存储空间用于储存32个vm的mac地址。相反的,依据本发明实施例的服务器可仅使用544比特位(=32比特位(通用oui和通用服务器的标识)+16比特位(每一vm的mac地址的最小显著位)*32个vm)的存储空间来储存相同的信息。在本范例中,存储需求被从1536比特位降至544比特位,降低了64.58%。在路由器中,主机ip查找找到主机的mac地址以及输出端口。若多个主机是相同物理服务器中的vm,则这多个主机/vm的输出端口将是相同的。可选地,这些主机可以共享通用vmmac比特位。图1a和图1b分别为比较常规的方法和依据本发明实施例的新的方法的实施方案的示例情景100。情景100可在数据存储器中发生,例如网络节点(例如交换机、路由桥或网关,但并不限于此)的数据静态随机存取存储器,或其他类型的存储器。在图1a和图1b所述的范例中,4个vm共享相同的输出端口以及各mac地址的通用44比特位的最大显著位(mostsignificantbits,简写为msb)。图1a展示了常规的方法,其中每一主机入口要求其自身的存储器来储存输出端口的信息以及各mac地址。图1b展示了依据本发明实施例的新的方法。在本发明的实施例中,每一主机入口可包含各自的目的地ip(destinationip,简写为dip)、各mac地址的最小显著位,以及通用输出端口和mac地址的通用44比特位的索引。在本范例中,mac地址中有4个可区别的最小显著位,并且从而可能最多有16个具有通用输出端口以及44个最大显著位的主机vm可以共享该信息。本领域技术人员了解图1所示的范例仅用于说明,以更好理解本发明,而并非用于限制本发明权利要求的范围。图2a和图2b为依据本发明实施例的高效mac地址储存的示例情景200。情景200可在数据存储器中发生,例如网络节点(例如交换机、路由桥或网关,但并不限于此)的数据静态随机存取存储器,或其他类型的存储器。对于特定vm协议,oui域的值保持不变,并且是固定的。依据本发明实施例的网络节点(例如,交换机、路由桥或者网关)可使用映射表来储存每一受oui支持的vm协议的oui。网络节点可能需要48比特位来储存一般的mac地址,48比特位中包含oui的24比特位。图2a展示了具有48比特位的一般的mac地址210。通过与映射表结合,被要求来通过网络节点储存vm的mac地址的存储空间被降至26比特位。图2b展示了由一个网络节点储存的两个mac地址入口220和230。两个mac地址入口220和230中的每一个包含指向映射表240中对应入口的索引,其中映射表240储存各vm的24比特位oui。图2a和图2b所述的范例可支持多达4个vm协议。基于图2a和图2b的范例也可支持其他数量的vm协议,这样的变形也包含在本发明权利要求范围中。图3为依据本发明实施例的高效mac地址储存的示例情景300。情景300可在网络节点(例如交换机、路由桥或网关,但并不限于此)的搜寻静态随机存取存储器(或其他类型的存储器)中发生。假定同一物理服务器中的多个vm可共享mac地址的通用最大显著位以及端口信息,依据本发明的网络节点(例如交换机、路由桥或网关)可使用一个单一存储器入口来储存mac地址以及多个vm的输出端口。在图3所示的范例中,mac地址310的两个最小显著位被变换成一个具有四个比特位的位图的转换的mac地址入口320。位图的每一比特位可指示两位的最小显著位(如00,01,10及11)是否为有效mac。图4展示了范例的实施方式。图4为依据本发明实施例的将多个mac地址映射至一个单一mac地址入口用于储存的示例情景400。情景400可在网络节点(例如交换机、路由桥或网关,但并不限于此)的搜寻静态随机存取存储器(或其他类型的存储器)中发生。在图4所述的范例中,三个范例的mac地址410、420及430分别被命名为(aa:bb:cc:dd:ee:f0)、(aa:bb:cc:dd:ee:f1)和(aa:bb:cc:dd:ee:f3),是相同物理服务器中的三个vm的三个有效mac地址。在本范例中,三个vm也共享相同的通用输出端口(端口0)。根据常规方法,服务器可能在存储器中要求三个入口以储存三个不同mac地址。本发明可将三个mac地址转换为一个入口440,并从而导致节省了存储需求。假定mac地址410、420及430的两位的最小显著位是“00”、“01”和“11”,位图的比特位0、1和3被相应地设定为1,以指示两位的最小显著位为“00”、“01”或“11”的mac地址是有效mac地址。另一方面,假定mac地址410、420及430的两位的最小显著位均没有“10”,位图的比特位2被设定为0,以指示mac地址410、420及430中没有具有两位的最小显著位是“10”的mac地址。本领域技术人员了解图4所示的范例仅用于说明,以更好理解本发明,而并非用于限制本发明权利要求的范围,且本范例的任意变形仍然包含在本发明的范围之内。举例来说,上述设计可被扩展为使用三位的最小显著位,相应地位图将具有8个比特位。图5为依据本发明实施例的范例的装置500示意图。装置500(以及后文将要描述的流程600和700)可用于实施上文所述的情景100、200、300和400。装置500可以单一集成电路(integrated-circuit,简写为ic)芯片、多ic芯片或芯片组的方式实施,且这样的芯片可用于网络装置(例如交换机、路由或网关,但并不限于此)。可选地,装置500可以通讯装置或网络节点(例如交换机、路由或网关,但并不限于此)的方式实施。举例来说,装置500可为分组交换机(packetswitch)。装置500可包含至少图5所示的元件,同时也可包含与本发明的精神并非必要相关的一个或多个元件。因此,为了避免混淆旨在被本说明书阐明的概念,装置500的其他元件没有显示在图5中。请参考图5,装置500可包含处理器510、存储器520、多个输入端口530(1)–530(n)以及多个输出端口540(1)–540(m),其中n和m是大于或等于1的正整数。处理器510、存储器520、多个输入端口530(1)–530(n)以及多个输出端口540(1)–540(m)中的每一个可以以包含一个或多个晶体管、一个或多个二极管、一个或多个晶闸管、一个或多个电容器、一个或多个电阻器、一个或多个电感、一个或者多个忆阻或上述组件的结合的硬件方式来实施。处理器510以通信方式耦接于存储器520、输入端口530(1)–530(n)以及输出端口540(1)–540(m)中的每一个,以访问信息、储存信息、对数据分组执行操作及/或控制其操作。输入端口530(1)–530(n)中的每一个可被配置来接收输入数据分组,而输出端口540(1)–540(m)中的每一个可被配置来传送输出数据分组。尽管图5所示的存储器520为一个单一存储元件,在不同的实现方式中存储器520可包含一个或多个存储元件。在某些实施方式中,存储器520可包含ram,例如sram。在某些实施方式中,存储器520可包含数据sram及搜寻sram。存储器520可被配置来储存输入数据分组以及输出数据分组。此外,依据本发明,存储器520也可储存映射表、下一跃表(next-hoptable)和邻接表(adjacencytable)。下文将描述处理器510在存储器520、输入端口530(1)–530(n)以及输出端口540(1)–540(m)的协助下操作的范例的操作,其仅用作说明之用,而不能用于限制本发明的范围。依据本发明的不同变形,处理器510可基于输入数据分组被发往的多个地址决定至少一通用属性,其中每一通用属性具有由与在计算装置上执行的一个或多个虚拟机相关联的多个地址共享的相应值。多个地址中的每个地址可与另一地址不同。处理器510可产生至少一第一域,每一第一域包含上述至少一通用属性的对应属性的相应值。处理器510也可产生至少一第二域,其中每一第二域包含可区分识别一个或多个虚拟机中的每一虚拟机的相应值。处理器510可储存代表至少一第一域和至少一第二域作为与一个或多个虚拟机相关联的多个地址的地址入口。在某些实施例中,地址入口可能需要第一数量的存储空间用于储存,并且需要第二数量的存储空间用来储存与一个或多个虚拟机相关联的多个地址,其中第二数量的存储空间大于第一数量的存储空间。在某些实施例中,至少一第一域可包含一个第一域,该第一域包含指示一个或多个虚拟机中的每一个虚拟机的oui的第一数量的比特位。至少一第二域可包含一个或多个第二域,其中每一第二域对应于一个或多个虚拟机的相应虚拟机。一个或多个第二域中的每一第二域包含指向第一域的索引,以及可区分识别相应虚拟机的第二数量的最小显著位。第一数量可大于所述第二数量。可选地或附加地,至少一第一域可包含一个第一域,该第一域包含端口标识以及一个地址的第一数量的最大显著位,其中最大显著位被一个或多个虚拟机共享。至少一第二域可包含一个或多个第二域,其中每一第二域对应于一个或多个虚拟机的相应虚拟机。一个或多个第二域中的每一第二域可包含目标地址、可区分识别相应虚拟机的第二数量的最小显著位,以及指向第一域的索引。第一数量可大于第二数量。可选地或附加地,至少一第一域可包含一个第一域,所述第一域包含端口标识以及一个地址的第一数量的最大显著位,其中最大显著位被一个或多个虚拟机共享。至少一第二域可包含第二数量的比特位,其中每一比特位指示对应于一个或多个虚拟机的一定量的第二数量的多个地址的相应地址的有效性。第一数量可大于第二数量。在某些实施例中,多个地址包含与一个或多个虚拟机相关联的多个mac地址。图6是依据本发明实施例的范例的流程600。流程600可包含一个或更多操作、动作,或功能,如一个或更多模块610及620所示。尽管以离散模块的方式展示,流程600的各个模块可被分为额外的模块、结合为较少的模块,或取消,取决于所需的实现方式。流程600的模块可以图6所示的顺序执行,或者以其他任意顺序执行,取决于所需的实现方式。流程600可由装置500实现。下面将以被装置500执行的流程600的情况为例来说明本发明,但本发明并不限于此。流程600可开始于610。在610,流程600可包括装置500的处理器510,处理器510获取与执行于装置500上的一个或多个应用相关联的多个标识。多个标识中的每一个标识不同于另一个标识。多个标识可包含与一个或多个应用相关联的多个mac地址。该一个或多个应用可包含一个或多个虚拟机。流程600可自610转至620。在620,流程600可包括装置500的处理器510,处理器510储存代表与一个或多个应用相关联的多个标识的标识入口。在某些实施例中,标识入口可能需要第一数量的存储空间用于储存,并且需要第二数量的存储空间用来储存与一个或多个应用相关联的多个地址,其中第二数量的存储空间大于第一数量的存储空间。在某些实施例中,在储存代表与一个或多个应用相关联的多个标识的标识入口时,流程600可包括处理器510来执行若干操作。举例来说,流程600可包括处理器510来决定至少一通用属性,其中每一通用属性具有由多个标识共享的相应值。流程600可也包括处理器510来产生至少一第一域,其中每一第一域包含所述至少一通用属性的对应属性的相应值。流程600可另外包括处理器510来产生至少一第二域,其中每一第二域包含可区分识别所述一个或多个应用中的每一应用的相应值。流程600可更包括处理器510来储存至少一第一域和至少一第二域作为代表与所述一个或多个应用相关联的多个标识的标识入口。在某些实施例中,至少一第一域可包含一个第一域,第一域包含指示所述一个或多个应用中的每一个应用的oui的第一数量的比特位。至少一第二域可包含一个或多个第二域,其中每一第二域对应于所述一个或多个应用的相应应用。一个或多个第二域中的每一第二域可包含指向第一域的索引,以及可区分识别所述相应应用的第二数量的最小显著位。第一数量可大于第二数量。可选地或附加地,至少一第一域可包含一个第一域,该第一域包含端口标识以及一个地址的第一数量的最大显著位,其中最大显著位被一个或多个应用共享。至少一第二域可包含一个或多个第二域,其中每一第二域对应于一个或多个应用的相应应用。一个或多个第二域中的每一第二域可包含目标标识、可区分识别相应应用的第二数量的最小显著位,以及指向第一域的索引。第一数量可大于第二数量。可选地或附加地,至少一第一域可包含一个第一域,所述第一域包含端口标识以及一个地址的第一数量的最大显著位,其中最大显著位被一个或多个应用共享。至少一第二域可包含第二数量的比特位,其中每一比特位指示对应于一个或多个应用的一定量的第二数量的多个地址的相应地址的有效性。第一数量可大于第二数量。图7是依据本发明另一实施例的范例的流程700。流程700可包含一个或更多操作、动作,或功能,如一个或更多模块710、720、730及740所示。尽管以离散模块的方式展示,流程700的各个模块可被分为额外的模块、结合为较少的模块,或取消,取决于所需的实现方式。流程700的模块可以图7所示的顺序执行,或者以其他任意顺序执行,取决于所需的实现方式。流程700可由装置500实现。下面将以被装置500执行的流程700的情况为例来说明本发明,但本发明并不限于此。流程700可开始于710。在710,流程700可包括装置500的处理器510,处理器510决定至少一通用属性,其中每一通用属性具有由与在计算装置上执行的一个或多个虚拟机相关联的多个地址共享的相应值。多个地址中的每个地址可与另一地址不同。流程可自710转至720。在720,流程700可包括装置500的处理器510,处理器510产生至少一第一域,每一第一域包含上述至少一通用属性的对应属性的相应值。流程可自720转至730。在730,流程700可包括装置500的处理器510,处理器510产生至少一第二域,其中每一第二域包含可区分识别一个或多个虚拟机中的每一虚拟机的相应值。流程可自730转至740。在740,流程700可包括装置500的处理器510,处理器510储存至少一第一域和至少一第二域,作为代表与一个或多个虚拟机相关联的多个地址的地址入口。在某些实施例中,地址入口可能需要第一数量的存储空间用于储存,并且需要第二数量的存储空间用来储存与一个或多个虚拟机相关联的多个地址,其中第二数量的存储空间大于第一数量的存储空间。在某些实施例中,至少一第一域可包含一个第一域,该第一域包含指示一个或多个虚拟机中的每一个虚拟机的oui的第一数量的比特位。至少一第二域可包含一个或多个第二域,其中每一第二域对应于一个或多个虚拟机的相应虚拟机。一个或多个第二域中的每一第二域包含指向第一域的索引,以及可区分识别相应虚拟机的第二数量的最小显著位。第一数量可大于所述第二数量。可选地或附加地,至少一第一域可包含一个第一域,该第一域包含端口标识以及一个地址的第一数量的最大显著位,其中最大显著位被一个或多个虚拟机共享。至少一第二域可包含一个或多个第二域,其中每一第二域对应于一个或多个虚拟机的相应虚拟机。一个或多个第二域中的每一第二域可包含目标地址、可区分识别相应虚拟机的第二数量的最小显著位,以及指向第一域的索引。第一数量可大于第二数量。可选地或附加地,至少一第一域可包含一个第一域,所述第一域包含端口标识以及一个地址的第一数量的最大显著位,其中最大显著位被一个或多个虚拟机共享。至少一第二域可包含第二数量的比特位,其中每一比特位指示对应于一个或多个虚拟机的一定量的第二数量的多个地址的相应地址的有效性。第一数量可大于第二数量。在某些实施例中,多个地址可包含与一个或多个虚拟机相关联的多个mac地址。文中描述的主题有时示出了包括在其它不同部件内的或与其它不同部件连接的不同部件。应当理解:这样描绘的架构仅仅是示例性的,并且,实际上可以实施实现相同功能的许多其它架构。在概念意义上,实现相同功能的部件的任何布置是有效地“相关联的”,以使得实现期望的功能。因此,文中被组合以获得特定功能的任意两个部件可以被视为彼此“相关联的”,以实现期望的功能,而不管架构或中间部件如何。类似地,这样相关联的任意两个部件还可以被视为彼此“可操作地连接的”或“可操作地耦接的”,以实现期望的功能,并且,能够这样相关联的任意两个部件还可以被视为彼此“操作上可耦接的”,以实现期望的功能。“操作上可耦接的”的具体示例包括但不限于:实体地可联结和/或实体地相互、作用的部件、和/或无线地可相互作用和/或无线地相互作用的部件、和/或逻辑地相互作用的和/或逻辑地可相互作用的部件。此外,关于文中基本上任何复数和/或单数术语的使用,只要对于上下文和/或应用是合适的,本领域普通技术人员可以将复数变换成单数,和/或将单数变换成复数。本领域普通技术人员将会理解,通常,文中所使用的术语,特别是在所附权利要求(例如,所附权利要求中的主体)中所使用的术语通常意在作为“开放性”术语(例如,术语“包括”应当被解释为“包括但不限干”,术语“具有”应当被解释为“至少具有”,术语“包含”应当被解释为“包含但不限干”等)。本领域普通技术人员还将理解,如果意在所介绍的权利要求陈述对象的具体数目,则这样的意图将会明确地陈述在权利要求中,在缺乏这样的陈述的情况下,不存在这样的意图。例如,为了帮助理解,所附权利要求可以包括使用介绍性短语“至少一个”和“一个或更多个”来介绍权利要求陈述对象。然而,这样的短语的使用不应当被解释为:用不定冠词“一个(a或an)”的权利要求陈述对象的介绍将包括这样介绍的权利要求陈述对象的任何权利要求限制为只包含一个这样的陈述对象的发明,即使在同一权利要求包括介绍性短语“一个或更多个”或“至少一个”以及诸如“一个(a)”或“一个(an)”之类的不定冠词的情况下(例如,“一个(a)”和/或“一个(an)”应当通常被解释为意味着“至少一个”或“一个或更多个”)也如此;上述对以定冠词来介绍权利要求陈述对象的情况同样适用。另外,即使明确地陈述了介绍的权利要求陈述对象的具体数目,但本领域普通技术人员也会认识到:这样的陈述通常应当被解释为意味着至少所陈述的数目(例如,仅有“两个陈述对象”而没有其他修饰语的陈述通常意味着至少两个陈述对象,或两个或更多个陈述对象)。此外,在使用类似于“a、b和c中的至少一个等”的惯用语的情况下,通常这样的结构意在本领域普通技术人员所理解的该惯用语的含义(例如,“具有a、b和c中的至少一个的系统”将包括但不限于具有单独的a、单独的b、单独的c、a和b—起、a和c一起、b和c一起和/或a、b和c一起的系统等)。在使用类似于“a、b或c中的至少一个等”的惯用语的情况下,通常这样的结构意在本领域普通技术人员所理解的该惯用语的含义(例如,“具有a、b或c中的至少一个的系统”将包括但不限于具有单独的a、单独的b、单独的c、a和b—起、a和c一起、b和c一起和/或a、b和c一起的系统等)。本领域普通技术人员将进一歩理解,不管在说明书、权利要求书中还是在附图中,表示两个或更多个可替换的术语的几乎任意析取词和/或短语应当理解成考虑包括术语中的一个、术语中的任一个或所有两个术语的可能性。例如,短语“a或b”应当被理解成包括“a”、“b”、或“a和b”的可能性。尽管已经在文中使用不同的方法、设备以及系统来描述和示出了一些示例性的技术,但是本领域普通技术人员应当理解的是:可以在不脱离所要求保护的主题的情况下进行各种其它修改以及进行等同物替换。此外,在不脱离文中描述的中心构思的情况下,可以进行许多修改以使特定的情况适应于所要求保护的主题的教导。因此,意在所要求保护的主题不限制于所公开的特定示例,而且这样的要求保护的主题还可以包括落在所附权利要求的范围内的所有实施及它们的等同物。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1