用于虚拟化数据中心的可扩缩多租户网络架构的利记博彩app

文档序号:7978043阅读:253来源:国知局
用于虚拟化数据中心的可扩缩多租户网络架构的利记博彩app
【专利摘要】提供了一种用于虚拟化数据中心的可扩缩多租户网络架构。所述网络架构包括具有连接到多个交换机的多个服务器的网络。所述多个服务器托管用于多个租户的多个虚拟接口。配置储存库被连接到所述网络,并且所述多个服务器中的每个服务器具有在其中托管的网络代理。所述网络代理封装分组以用于跨越所述网络从源虚拟接口传输到用于所述多个租户中的一个租户的所述多个虚拟接口中的目的虚拟接口。采用标识并且定位所述目的虚拟接口的信息来封装所述分组,并且所述信息由连接到所述源虚拟接口和所述目的虚拟接口的交换机来解释。
【专利说明】用于虚拟化数据中心的可扩缩多租户网络架构
【背景技术】
[0001]云数据中心正变得日益流行,因为它们在吸引人的现购现付模型上以非常低的成本为多个租户提供计算资源。许多小型和中型企业正求助于这些云数据中心,不仅用于偶尔的大型计算任务,而且用于它们的IT作业。这帮助它们消除建立和维护它们自己的基础设施的昂贵且常常是非常复杂的任务。这些多租户云数据中心的操作员能够提供划算的基础设施即服务(“Iaas”),因为它们能够在大量租户之间时分复用物理基础设施。成熟的CPU虚拟化技术的出现使得有可能将专用且常常未充分利用的物理服务器转换成在IaaS提供商的云数据中心中运行的虚拟机(“VM”)。
[0002]为了完全地实现资源共享的有益效果,这些云数据中心必须扩展到巨大的尺寸。租户的数目越大,并且VM的数目越大,用于复用的机会就越好,这进而实现较好的资源效率和成本节省。然而,单独增加规模不能够完全地最小化总成本,因为需要大量昂贵的人力来配置设备,以便最佳地操作它,并且以便提供正在进行的管理和维护。这些费用的大部分反映了管理多租户网络的复杂性,所述多租户网络必须扩展到大量的租户、主机以及VM,支持大量的地址,并且在任何租户的各VM之间提供足够的带宽。最近可用的网络架构不能够以高效且可扩缩的方式支持多租户并且通常在低成本或易于操作的方面妥协。
【专利附图】

【附图说明】
[0003]可以与结合附图进行的以下具体描述有关地更充分地领会本申请,在附图中相同的附图标记在各处指代相同的部分,并且在附图中:
图1图示了在其上可以实现实施例的可扩缩多租户网络架构的示例;
图2是用于与图1的网络架构一起使用的网络代理的不例不意图;
图3是用于依照各种实施例配置图2的网络代理的流程图;
图4是图示了边缘交换机和连接到其的网络代理的示例配置的示意图;
图5A-C是依照各种实施例的针对图2的网络地址解析模块的流程图;
图6是由跨越网络的网络代理中的网络地址解析模块存储的示例网络地址解析表的示意图;
图7是依照各种实施例的针对图2的分组转发模块的流程图;
图8是依照各种实施例的示例分组封装的示意图;
图9是目的交换机准备分组以用于传输到目的虚拟接口的流程图;
图10是依照各种实施例的针对图2的分组接收模块的流程图;
图11是针对跨越网络从源虚拟接口传送到目的虚拟接口的分组的示例路径的示意图;以及
图12是用于托管根据本公开的网络代理的服务器的示例的框图。
【具体实施方式】
[0004]公开了用于虚拟化数据中心的可扩缩多租户网络架构。如在本文中一般地描述的虚拟化数据中心是能够托管多个应用和服务以便存储、管理以及散布数据和信息的计算资源的集合。计算资源可以包括多个服务器中的物理资源和虚拟资源(例如,虚拟机)两者,并且被多个组织或租户共享。租户可以具有不同的数据使用要求和网络需要,并且按需访问虚拟化数据中心。数据中心可以将它的资源和基础设施即服务(“IaaS”,诸如云计算模型的一部分)提供给租户,并且针对它们的使用给它们开帐单。
[0005]在各种实施例中,可扩缩多租户网络架构使得虚拟化数据中心能够以低成本可扩缩并且给它的租户提供易于操作和配置的灵活且安全的网络。所述网络架构开发廉价的商品设备来使数据中心扩展到至少数以万计的租户、数以万计的服务器以及数百万的虚拟机(“VM”)。租户具有灵活性来设计和使用它们的网络,就好像它们是它唯一的占有者。
[0006]如在下面在本文中更详细地描述的那样,网络架构通过在L2 (即,数据链路)和L3 (即,网络)层两者处完全地且高效地虚拟化地址空间来给租户提供简单且灵活的网络抽象,而对租户选择L2或L3地址没有任何限制。这个灵活性允许租户创建跨越既在它们自己的虚拟化数据中心中又在租用的云数据中心中的VM的网络。租户可以将VM或整个应用从它们自己的数据中心移动到云数据中心,而无需改变用来标识VM的网络地址。
[0007]应领会的是,在以下描述中,许多特定细节被阐述以提供对实施例的彻底理解。然而,应领会的是,可以在不限于这些特定细节的情况下实现所述实施例。在其他实例中,众所周知的方法和结构可能未被详细地描述以避免不必要地使实施例的描述混淆。此外,实施例可以与彼此相组合地使用。
[0008]现参考图1,图示了在其上可以实现实施例的可扩缩多租户网络架构的示例。网络架构100由三个主要部件组成:⑴网络105 ;⑵一组网络代理(“NA”)110a-d ;以及
(3)配置储存库115。网络105可以是基于现货商品部件的交换式以太网,所述现货商品部件诸如例如边缘交换机120a_b和交换机125a_e。在各种实施例中,边缘交换机120a_b和交换机125a-e在它们的端口之间支持虚拟局域网(“VLAN”)和基本IP转发。网络105可以具有任何拓扑,诸如例如Fat Tree (胖树)、Clique或HyperX拓扑等等。
[0009]如在下面在本文中更详细地描述的那样,网络架构100并不要求具有所有其成熟的路由协议以及它们的复杂配置要求的经过充分训练的(full-fledged) IP路由支持。边缘交换机120a_b和交换机125a_e仅需要能够基于在分组内部找到的报头来转发发送到它们自己的MAC地址的分组。在各种实施例中,边缘交换机120a-b在少量的静态路由表条目上执行目的IP地址的基本最长前缀匹配(“LPM” )。
[0010]网络代理110a-d驻留于连接到网络105的服务器135a_d的超级监督器(或驱动器域)130a_d中。每个服务器135a_d可以运行一个或多个租户的一个或多个VM。每个VM能够具有一个或多个虚拟接口( “VIF”),其是可以或者可以不直接对应于物理网络接口的计算机网络接口的抽象虚拟化表示。每个服务器中的网络代理(“NA”)管理该服务器中的各VM中的所有VIF的联网。例如,具有超级监督器130a和NA IlOa的服务器135a可以运行租户“A”的VMl 140a、租户“B”`的VM2 140b以及租户“C”的VM3 140C ;具有超级监督器130b和NA IlOb的服务器135b可以运行租户“A”的VM4 140d和VM5 140e以及租户“B”的VM6 140f ;具有超级监督器130c和NA IlOc的服务器135c可以运行租户“A”的VM7 140g、租户“B”的VM8 140h和VM9 140?以及租户“C,,的VMlO 140 j ;而具有超级监督器130d和NA IlOd的服务器135d可以运行租户“B”的VMll 140k和租户“C”的VM12 1401。[0011]应领会的是,每个服务器135a-d可以运行来自多个租户的VM,并且每个租户可以在任何服务器处具有它们的VM。还应领会的是,服务器135a-d、VM 140a_I以及租户“A”、“B”和“C”被示出仅用于说明性目的。附加的服务器、VM以及租户可以利用网络架构100,并且事实上,网络架构100能够支持数以万计的服务器、数以万计的租户以及数百万的VM。
[0012]配置储存库115是用于网络架构100的中心储存库并且驻留在众所周知的地址处。中心储存库115保存针对每个边缘交换机对(例如,边缘交换机120a-b)——连接两个交换机的VLAN组而列出的VLAN表。能够通过针对具有VLAN支持的商品交换机的任何网络多路解决方案来确定这组VLAN。在各种实施例中,中心储存库115可以与用于在虚拟化数据中心中管理VM (例如,VM 140a-1)的VM管理器系统(未示出)位于一处。
[0013]网络架构100中的每个租户(例如,租户以及“C”)具有它自己的专用IP和MAC地址空间以便于网络中的租户隔离以及以使得能实现L2和L3虚拟化。在各种实施例中,租户的整个专用IP地址形成单个MAC地址空间。每个租户能够规定多个IP子网,每个子网由若干MAC地址空间中的一个来支持。对于每个IP子网来说,租户还能够规定虚拟IP路由器的IP地址。
[0014]每个租户能够随心所欲地管理它的专用地址空间,因为这些L2和L3地址空间被完全地虚拟化了。多个租户能够使用相同的地址而不让它们的分组被错误地路由。如在下面在本文中更详细地描述的那样,这个地址分配满足与在传统网络中相同的标准唯一性要求:给定租户的任两个接口都不能够用相同的地址来加以标识并且在相同的IP子网内的任两个接口都不能够具有相同的MAC地址。进一步地,租户可以选择根本不为接口分配任何IP地址。
[0015]除这些每租户专用地址空间以外,提供了被跨越所有租户共享并且还被暴露在数据中心之外的公用地址空间。租户能够在配置时间指定VM接口(即,VIF)为具有公用IP地址。这些地址能够被静态地或者动态地分配。这些接口对外部世界而言是可看见的,并且是WAN接口在真实数据中心中的虚拟等同物。
[0016]注意力现指向图2,图2更详细地图示了图1的网络代理。在各种实施例中,网络代理200可以包括配置模块205、网络地址解析模块210、分组转发模块215、分组封装模块220以及分组接收模块225。配置模块205建立网络代理200和由网络代理200管理以用于在网络架构100中操作的VIF。网络地址解析模块210与网络架构100中的其他网络代理协作以收集和维护在网络中转发和接收分组所必需的所有信息。该信息被存储在一个或多个网络地址解析表230中。
[0017]分组转发模块215处理从由网络代理200管理的VIF到网络中的其他VIF的分组的转发。分组转发模块215与网络地址解析模块210和分组封装模块220联合地工作,所述分组封装模块220封装将被跨越网络传送的分组。分组转发模块215还基于在配置时间从配置储存库115下载的VLAN表235将VLAN标签分配给将被跨越网络传送的分组。分组接收模块225负责处理从网络中的其他VIF接收分组。应领会的是,网络中的分组可以经由网络中的公用VIF而在它专用的IP和MAC地址空间中的给定租户的各VM之间以及在属于不同租户的各VM之间传送。这些模块的操作在下面在本文中被更详细地讨论。
[0018]网络代理200在引导时间具有特殊IP地址的自主的“即插即用”配置。这个即插即用配置是可能的,因为网络架构100中的所有边缘交换机(例如,边缘交换机120a-b)具有在它们的操作期间从不改变的简单的静态配置。所有边缘交换机被配置成规定出现在它们的下行链路端口中的每一个上的IP地址。因为这些IP地址对于给定交换机的端口而言是本地的,所以所有边缘交换机都使用相同的配置。
[0019]由网络代理200使用的特殊IP寻址方案可以包括例如形式为10.A 0.0/16、P.0.0.0/24的前缀,或使用端口号/7作为IP地址的一部分并且留下一定数目的位(例如,10./7.0.0/16寻址方案中的16和/7.0.0.0/24寻址方案中的24)来标识租户的任何其他寻址方案,如在下面在本文中更详细描述的那样。应领会的是,IP寻址方案10./7.0.0/16作为示例在下面的本文中被用于仅描述性目的。如由本领域的技术人员所领会的那样,可以使用基于端口号P和租户ID的任何其他IP寻址方案。
[0020]每个边缘交换机保存路由表以存储这些IP地址。边缘交换机为它的下行链路端口中的每一个插入一个路由表条目。这些条目是固定的并且在交换机的操作期间不改变。对于给定端口/7,路由表条目存储前缀,诸如例如尤其是10./7.0.0/16和10./7.0.1的下一跳地址、或/7.0.0.0/24和/7.0.0.1的下一跳地址。结果,即便对于最廉价的交换机来说,路由表条目的数目也是小的(等于下行链路端口的数目)。每个前缀内的单独的IP地址的较低阶位标识连接到端口 P的服务器中的租户。例如,IP地址10./7.12.25作为目的地址出现在束缚到连接到端口/7的服务器上的各VM并且属于采用ID 12.25标识的租户的所有分组中。应领会的是,在10./7.0.0/16寻址方案的情况下采用形式为10./7.0.1的IP地址标识服务器,或者在A 0.0.0/24寻址方案的情况下采用/7.0.0.1的IP地址标识服务器。
[0021]现参考图3,描述了依照各种实施例的用于配置图2的网络代理的流程图。首先,每当具有网络代理的超级监督器引导时,网络代理200就通过它所连接到的边缘交换机来侦听链路层发现协议(“LLDP”或IEEE 802.1AB标准)消息(300)。LLDP消息包含交换机的端口号P和MAC地址。网络代理然后基于交换机的端口号/7将其服务器的本地IP地址设置为例如?ο./?.0.1 (305),并且当跨越网络发送分组时使形式为?ο./?.<粗户m的特殊IP地址与每个租户的存在于服务器中的VM组相关联(310)。注意,网络中的每个服务器具有形式为10./7.0.1的本地IP地址,而不管它被连接到的交换机如何。如果连接到不同交换机的两个服务器二者使用相同的端口号&则它们可以具有相同的本地IP地址。在建立其服务器的地址和租户的IP地址之后,网络代理然后准备好响应对来自服务器所连接到的本地边缘交换机的其本地地址的任何地址解析协议(“ARP”)查询。
[0022]应领会的是,与服务器相关联的本地IP地址(例如,10./7.0.1)对于服务器所连接到的边缘交换机而言是本地的。也就是说,这个本地IP地址在边缘交换机之外未被用来跨越网络对分组进行寻址。还应领会的是,与租户的存在于服务器中的VM组相关联并且由网络中的网络代理用来跨越网络对分组进行寻址的特殊IP地址是仅为网络中的网络代理所知的。VM本身没有这些特殊IP地址的知识。如在下面的本文中更详细地描述的那样,这些特殊IP地址被用来跨越网络封装分组并且便于两个网络代理(即,源网络代理和目的网络代理)之间的通信。
[0023]在图4中示出图示了边 缘交换机和连接到其的网络代理的示例配置的示意图。边缘交换机400具有15个端口和连接到它的数个端口中的每一个的服务器。边缘交换机400还存储具有它的数个端口中的每一个端口的信息的路由表420。服务器被连接到交换机400并且具有有着内部地连接到网络代理的VIF的VM。网络代理(如上面参考图4所描述的)在它们被放置到网络中时为服务器配置本地IP地址并且为它们的VIF配置特殊IP地址。连接到交换机400的每个服务器具有形式为10./7.0.1的本地IP地址,其中/7指定服务器被连接到的交换机400中的端口。例如,连接到交换机400的端口 I的服务器405a具有本地IP地址10.1.0.1,连接到交换机400的端口 2的服务器405b具有本地IP地址
10.2.0.1,连接到交换机400的端口 3的服务器405c具有本地IP地址10.3.0.1,而连接到交换机400的端口 15的服务器405d具有本地IP地址10.15.0.1。
[0024]特殊IP地址格式415被用于服务器405a_d的IP地址,并且用来将分组导向至VM410a-m中的VIF。特殊IP地址取决于服务器被连接到的交换机的端口号和它们所属于的租户。在属于单个租户的单个服务器上的每组虚拟机共同地与形式为10./7.<粗户_?Τ>的特殊IP地址相关联。例如,当服务器405a被连接到交换机400的端口 I并且VIF属于具有ID 12.10的租户“A”时,经由特殊IP地址10.1.12.10而到达服务器405a中的VIF 410a。也属于租户“A”的VIF 410d和410k在它们处于分别连接到交换机400的端口 2和15的服务器405b和405d中时到达特殊IP地址10.2.12.10和10.15.12.10。并且当VIF 410h和410i 二者驻留于租户“A”的服务器405c中时,通过相同的特殊IP地址10.3.12.10来访问它们。注意,正被相同的特殊IP地址访问不会阻止VIF 410h-410i被正确地标识和寻址,因为网络中的每个VIF由在下面的本文中更详细地描述的唯一 ID来标识。
[0025]类似地,租户“B”具有连接到交换机400的端口 I的服务器405a中的VIF 410b、连接到交换机400的端口 2的服务器405b中的VIF 410e、连接到交换机400的端口 3的服务器405c中的VIF 410f、以及连接到交换机400的端口 4的服务器405d中的VIF 410 j。经由用于具有 ID 12.20 的租户 “B” 的特殊 IP 地址 10.1.12.20,10.2.12.20,10.3.12.20以及10.4.12.20分别到达VIF 410b.410e.410f以及410j。租户“C”具有连接到交换机400的端口 I的服务器405a中的VIF 410b、连接到交换机400的端口 3的服务器405c中的VIF 410g、以及连接到交换机400的端口 15的VIF 4101_m。经由用于具有ID 12.30的租户 “C,,的特殊 IP 地址 10.1.12.30、10.3.12.30 以及 10.15.12.30 分别到达 VIF 410b、410g以及4101-m。注意,可以通过相同的IP地址到达VIF 410I_m,但它们被采用使得它们能够由网络寻址的唯一 ID来加以标识。
[0026]在各种实施例中,网络中的每个VIF通过形式为MAC_AS_ID, MAC >的三元组而被唯一地标识。TeamtJD字段(例如,16位)标识VIF所属于的租户的ID,MAC_AS_ID字段标识VIF连接到的MAC地址空间,而MAC字段通过它在由MAC_AS_ID所指示的MAC地址空间内的唯一 MAC地址来标识VIF。应领会的是,MAC_AS_ID可以与由租户所使用的IP子网号相同。如在下面的本文中所描述的那样,这个唯一 ID使得网络代理200能够适当地跨越网络对封装的分组进行寻址。
[0027]现在参考图5A-C,描述了依照各种实施例的用于网络地址解析模块的流程图。网络地址解析模块210的主要目的是维护(一个或多个)网络地址解析表(“NART”)230,所述网络地址解析表230将VIF的唯一 ID (如在下面所描述的那样)映射到它在网络中的位置,其由VIF的主机服务器连接到的交换机的MAC地址和端口号规定。也就是说,网络地址解析模块210替换传统ARP并且使用NART 230来用作针对来自本地VM的传统ARP请求的代理服务器。
[0028]在各种实施例中,与传统ARP机制对照,网络地址解析模块是基于“默认推送(by-default-push) ”模型的,其中每当VIF到其位置的绑定改变时,该VIF到其位置的绑定被推送到网络中的所有网络代理。如由本领域的技术人员所领会的那样,传统ARP机制仅在它们被需要时才拉出该绑定。这个默认推送模型有助于网络设计并且允许可管理的开销。
[0029]网络地址解析模块210用全部使用相同的分组格式和操作码字段来规定消息类型的三个消息类型来实现这个模型:(1)查询WHERE(在哪里)消息;(2)肯定位置信息HERE (在这里)消息;以及(3)否定位置信息NOT-HERE (不在这里)消息。当在L2层广播时,这些消息携带入口边缘交换机MAC作为源地址并且使用包括所有边缘交换机上的所有服务器下行链路的特殊VLAN。当单播时,这些消息被IP寻址到接收网络代理(具有边缘交换机MAC地址)并且通过网络取规则路径。
[0030]图5A图示了在新VM在其主机服务器(例如,运行具有网络地址解析模块210的网络代理200的服务器)上被首次启动时由网络地址解析模块执行的动作。当新VM被启动时,诸如当该VM被首次引导或者已从另一服务器迁移到其主机服务器时,该VM的主机服务器中的网络代理200中的网络地址解析模块210将HERE消息广播到网络中的所有网络代理(500)。这个HERE消息携带唯一 ID (如在下面的本文中所描述的那样)和VIF在新VM中的位置,即,新VIF所连接到的交换机的MAC地址和端口号。该消息中的信息然后被网络中的所有网络代理用来填充它们的NART 230 (505),如参考图6在下面的本文中更详细地描述的那样。
[0031]应领会的是,NART 230中的条目从不被删除或者期满。在正常操作期间,条目通过由网络代理中的网络地址解析模块跨越网络发送的HERE广播的流来保持最新。偶尔可能的是,NART 230已达到它们的容量(非常罕见的事件)或者来自网络地址解析模块210的分组被丢弃。在图5B中所图示的第一种情况下,网络代理200可能在它的NART 230中没有空间来存储网络中的给定VIF的信息。当针对给定VIF的查找在它的NART 230中失败时,网络代理200中的网络地址解析模块210将WHERE消息广播到网络中的所有网络代理(510)。连接到VIF的网络代理200中的网络地址解析模块210然后用单播HERE消息来响应(515)。
[0032]在图5C中所图示的第二种情况下,指示先前丢弃分组的NART 230中的陈旧条目能够导致网络代理200接收到用于不存在的VIF的单播分组(520)。例如,当VIF已改变了它的位置但改变在最终被丢弃的分组中被传送时,情况可能是这样的。因为分组被丢弃了,所以改变未被传送到其他网络代理并且它们的NART 230未被更新以反映该改变。网络代理能够将分组发送到旧VIF的位置,但是因为VIF不再在那个位置处,所以接收网络代理不会将VIF识别为它自己中的一个。针对该VIF的后续分组将导致接收网络代理中的网络地址解析模块用单播NOT-HERE消息来回答(525)。这使发送该分组的网络代理中的网络地址解析模块删除其NART中的陈旧条目(530)并且使用广播WHERE消息来重新学习VIF的位置(535)。如由本领域的技术人员所领会的那样,WHERE消息用VIF信息来触发HERE响应,所述VIF信息然后被输入到接收网络代理的NART中。
[0033]进一步地,应领会的是,HERE、WHERE以及NOT-HERE消息仅强加可忽视的开销。HERE消息包含发送者位置(64位)和正被通告的VIF ID (128位),并且是320位长,包括所需要的报头(如在下面所描述的)。考虑其他物理层约束,诸如可变填充和帧间间隙,HERE消息占用约416个字节。
[0034]假定在虚拟化数据中心中快速采用10 Gbps以太网,并且假定典型的服务器应该支持数十个VM,则良好均衡的服务器很可能具有至少一个10 Gbps网络接口卡。只使用10Gbps的约1% (即,100 Mbps),每个这种服务器能够支持每秒至少175,000个HERE消息。这意味着网络总体上能够支持每秒175,000个那么多的VM迁移或引导。应领会的是,即便对于具有一百万个VM的网络,并且在更合理的VM迁移/引导速率下,带宽可能是甚至更低的。
[0035]应进一步领会的是,用于NART 230的开销也是低的。每个NART表条目是32个字节。能够保存一百万个条目的哈希表以0.50的低负载因数占用不超过64 MB。从另一角度看,甚至最小的数据中心服务器具有约8 GB的主存储器,并且因此这个表仅占开销的约0.8%。
[0036]在图6中图示了由跨越网络的网络代理中的网络地址解析模块存储的示例NART的示意图。网络代理可以保存NART以标识并且定位网络中的所有VIF,诸如例如NART 600和605。NART 600可以被用来存储寻址信息,而NART 605可以被用来存储针对网络中所有VIF的寻址信息和位置信息两者。
[0037]NART 600可以通过列610中的它们的租户ID和IP地址并且通过列615中的它们的MAC地址来标识VIF。NART 605可以通过列620中的它们的唯一三元组<Jenant_ID,MAC—AS—ID, MAO来标识VIF,并且针对列620中的每个条目在列625中存储位置信息(即,托管该VIF的服务器所连接到的交换机的MAC地址和端口号)。
[0038]应领会的是,在网络架构支持仅L2网络抽象的情况下,VIF不需要具有IP地址。在这种情况下,它们仅基于它们的MAC地址进行通信。还应领会的是,NART 600-605可以被实现为单个表。应进一步领会的是,NART 600-605可以被实现为分布式哈希表,其中它们的第一列被用作关键码而它们的第二列被用作值。
[0039]注意,当网络地址解析模块通知新VIF存在于网络中时,在NART 600-605中存储的信息是由HERE消息所携带的信息。对于给定VIF来说,HERE消息包含它的租户ID、它的MAC地址、它的MAC_AS_ID、它的IP地址以及该VIF被连接到的交换机的MAC地址和端口号。采用这个信息,各分组可以被遍布网络路由,如参考图8-12在下面的本文中更详细地描述的那样。
[0040]现参考图7,描述了依照各种实施例的图2的分组转发模块的流程图。分组被从VM传送并且在被跨越网络转发之前到达在它们的主机服务器中运行的网络代理(例如,网络代理200)。每个分组具有带有其目的地的MAC地址的MAC报头,并且在IP报头中可以或者可以不具有IP地址。目的VIF的MAC地址可以通过由源VM发送的ARP查询来找到并且被其网络代理解析,或者它可以被广播(在ARP分组中)。
[0041]网络代理中的分组转发模块(例如,网络代理200中的分组转发模块215)的目标是适当地标识并且定位分组的目的地并且准备好它们以便跨越网络转发。具有寻址信息的分组(例如,HERE、WHERE、ΝΟΤ-HERE、ARP分组)被网络地址解析模块像在下面所描述的那样处理。
[0042]首先,分组从源VM到达分组转发模块(700)。如参考图7在上面描述的那样,源VM 中的源 VIF (“VIFs”)被三元组 <Jenant_IDs, MAC_AS_IDs, MACS> 唯一地标识。目的 VIF的租户ID( “VIFd”)总是与源VIFs的租户ID相同,因为租户在网络中与彼此隔离并且仅在它们自己的VM之间通信。为了跨越网络转发分组,分组转发模块需要知道标识目的VIFd以及它位于哪里(即,VIFd连接到的交换机的MAC地址和端口号)的唯一三元组<Jenant_IDd, MAC_AS_IDd, MACb)。
[0043]关于分组去往哪里的第一线索由该分组中的MAC地址提供。如果分组中的MAC地址不是路由器的MAC地址(705),则分组转发模块知道该分组被寻址到与VIFs相同的MAC地址空间中的VIFd。也就是说,分组中的MAC地址是VIFd它本身的MAC地址。分组转发模块因此知道唯一三元组MAC_AS_IDd,拗Q>,其将VIFd标识为Tenant_IDD =Tenant_IDs,MAC_AS_IDd = MAC_AS_IDs 以及Μ?Ο? =分组中的姻C地址(710)。
[0044]否则,如果分组中的MAC地址是路由器的MAC地址,则分组去往不同于VIFs的子网的子网中的vifd。在这种情况下,因为分组正被发送到路由器/交换机,所以分组包含具有VIFd的IP地址的IP报头。分组转发模块然后能够根据分组中的IP地址确定VIFd位于其中的IP子网(715)。其然后能够通过若干手段中的任一个来确定正确的MAC_AS_IDd,所述若干手段包括直接地使用目的IP子网号或者使用查找表。分组转发模块能够通过基于分组中的IP地址和Tenant_IDD在NART 600中查找它来确定拗G地址(720)。
[0045]在VIFd的三元组已知的情况下,分组转发模块剩下的是确定VIFd在网络中的位置,也即,这个VIF位于其上的服务器以及服务器所连接到的交换机和端口号。分组转发模块简单地基于所标识的三元组在NART 705中查找位置信息(725)。一旦分组目的地被分组转发模块完全地标识并且定位,就通过检查先前从配置储存库115下载的信息选择VLAN路径(730)(例如,VLAN表235中的信息)。最后一个步骤是封装分组(735),因而该分组能够被转发到其目的地 (740)。
[0046]注意力现指向图8,其图示了依照各种实施例的示例分组封装的示意图。分组封装模块220将IP报头(800)和802.1q以太网报头(805)添加到将被通过分组转发模块215跨越网络传送的每个分组。IP报头包含与源和目的VIFs相关联的特殊IP地址。802.1q以太网报头包含源交换机的MAC地址、目的交换机的MAC地址以及规定将由分组跨越网络所采取的VLAN路径的VLAN标签。应领会的是,每个分组还需要携带源VIF的MAC_AS_ID以便目的网络代理能够在具有相同MAC地址但属于不同MAC地址空间的相同租户的两个VIF之间消除歧义。这个MAC_AS_ID能够被携带在IP报头的源地址字段或IP报头的某其他字段中(例如,在IP-1D字段中,连同12位VLAN标识符一起)。
[0047]所选的VLAN标签还被携带在IP报头的数据报ID字段中,因为802.1q报头在目的交换机(即,出口边缘交换机)处被丢弃,并且接收网络代理可能想要能够确定携带该分组的VLAN以用于监控和其他目的。如由本领域的技术人员所领会的那样,将VLAN标签插入在IP报头的数据报ID字段中不是有问题的,因为IP报头中的“不分片”位被设置了,从而防止分组分片。还应领会的是,如果目的VIF被附连到与源VIF相同的交换机,则代替地将目的交换机的MAC地址置于802.1q报头中,分组封装模块220使用其服务器(即,运行分组封装模块的网络代理驻留在其中的源服务器)的MAC地址。这被实现是因为交换机丢弃对于源和目的地来说具有相同MAC地址的分组,并且源网络代理的MAC地址未被暴露在交换机本身之外。应进一步领会的是,这个分组封装不需要或者导致服务器的MAC地址被暴露于网络,它也不消耗本地边缘交换机中的任何额外的FIB条目。[0048]在分组被封装之后,它被跨越由802.1q报头中的VLAN标签规定的VLAN转发,直到它到达它的目的(即,出口)交换机为止。图9图示了在目的交换机处采取的以使分组准备好传输到目的VIF的步骤。在接收到该分组时,交换机将由分组封装模块220插入的802.1q报头中的目的MAC地址识别为它自己的,并且剥离报头(900)。交换机然后在它的路由表中查看目的VIF的IP地址以确定托管目的VIF的服务器的IP地址(905)。交换机然后插入规定它自己的MAC作为源MAC地址并且规定托管目的VIF的服务器的MAC作为目的MAC地址的以太网报头(910)。该分组然后被转发到托管目的VIF的服务器,其中它被在服务器的超级监督器中运行的网络代理处的分组接收模块225接收。
[0049]在图10中图示了由分组接收模块225在接收分组时所采取的步骤。分组接收模块225首先从分组剥离或者解封装以太网报头(1000),并且然后从分组剥离IP报头(1005)。该分组然后被基于它在分组中的MAC地址、MAC_AS_ID以及如被编码在与目的VIF相关联的特殊IP地址中的租户ID而转发到目的VIF (1010)。
[0050]注意力现指向图11,其图示了针对跨越网络从源VIF传送到目的VIF的分组的示例分组流。VM 1100想要将分组发送到VM 1105。两个VM属于租户“B”,但是在不同的服务器中。VM 1100像其通常那样将分组1110发出到VM 1105。分组1110包含VM 1100中的源VIF的MAC地址MACs和VM 1105中的目的VIF的MACd地址。VM 1100可以使用地址解析协议(“ARP” )来从网络代理1115得到VM 1105中的目的VIF的MACd地址。
[0051]具有MACs和MACd地址的分组1110被VM 1100中的VIF发出到网络代理1115。在那里,如参考图7-9在上面所描述的那样,网络代理1115确定如何在分组转发模块215中跨越网络指导分组1110并且用IP报头和802.1q报头封装分组1110以形成已封装分组1120。已封装分组1120的IP报头包含源和目的VIFs的IP地址,即,IP_VIFS和IP_V%,而802.1q报头包含源和目的交换机的MAC地址(B卩,入口交换机1125的MAC_switchs地址和出口交换机1130的MAC_switchD地址)、以及VLAN标签,该VLAN标签指示已封装分组1120跨越网络1135从入口交换机1125到出口交换机1130所采取的VLAN路径。
[0052]已封装分组1120采取在VLAN标签中规定的VLAN路径并且到达出口交换机1130。在那里,如参考图9在上面描述的那样,802.1q报头被剥离或者解封装,并且交换机查询它的路由表以确定托管支持VM 1105的网络代理1140 (即,MAC_NAd)的服务器的MAC地址。交换机1130然后插入具有作为源MAC地址的其MAC_switchD地址和作为目的MAC地址的MAC_NAd的以太网报头以形成分组1145,并且将分组1145转发到网络代理1140。网络代理1140然后解封装分组1145以重新得到分组1110,如参考图10在上面所描述的那样,并且将分组1110转发到VM 1105中的目的VIF。
[0053]应领会的是,仅出于说明目的示出了上面所描述的用于将分组1110从VM 1100传送到VM 1105的步骤。所述步骤对于在不同IP子网中的VM之间传送的分组来说可能是不同的。还应领会的是,公用地址空间可以被实现为具有选定ID (例如ID 2)的特殊租户。这个租户可以包括处理被束缚于在数据中心中的网络外部的目的地的分组的一些特殊虚拟接口。在这种情况下,在这些接口后面的节点(可能是完全专用的物理机器)仅向和从真实物理路由器接口中继分组。
[0054]有利地,上面在本文中所描述的网络架构允许租户具有它们的网络的简单的抽象视图。每个租户将在IP子网内的它的全部VM视为被连接到单个虚拟交换机,并且将所有它的IP子网视为与单个路由器互连。交换机和路由器本身呈现非常简单的视图;它们不需要配置,并且能够总是扩缩到必要数目的端口。此外,所述网络架构不对租户如何设计它的网络或者对它们运行的协议设置限制。租户能够随心所欲地分配IP和MAC地址并且将它们用于任何目的-不只是通信。例如,许多企业应用使用硬编码的MAC和IP地址,并且有时甚至用于认证目的。尽管网络架构提供针对IPv4的内置支持,但是租户可自由地使用仅L2抽象,并且能够运行诸如IPv6之类的其他传输协议。网络架构因此可以促进新颖网络和传输协议的开发。
[0055]在各种实施例中,对于10./7.0.0/16寻址方案而言,网络架构能够同时地支持65533那么多个租户,并且可以被扩展以支持更多。这个限制由于在IP地址中用来规定租户ID的位的数目(例如,16)而出现。该位数目能够通过例如将IP地址内的位从端口 ID字段移位到租户ID字段、或者使用诸如/7.0.0.0/24之类的另一寻址方案(在该情况下24位将被用于租户ID)来加以扩展。这样做可以显著地增加被支持租户的数目(到至少128K)。可替换地,UDP报头可以被包括在由网络代理中的分组封装模块(例如,网络代理200中的分组封装模块220)所执行的分组封装中,以便UDP端口号字段可以被用来扩展租户ID空间。如由本领域的技术人员所领会的那样,专有报头因为它们使得网络难以标识属于特定租户的分组而被避免。
[0056]应进一步领会的是,网络架构允许比传统网络多至少一个数量级的VM,因为它的分组封装允许高效地使用最关键的交换机资源之一:存储转发信息库(“FIB”)表所需的空间。网络架构通过确保外部802.1q/以太网报头仅携带网络交换机的地址来实现这一点。也就是说,所有分组对于网络而言看起来就像是它们正在边缘交换机之间交换。这意味着非边缘交换机仅需要学习和存储用于数百个其他边缘交换机的FIB表条目,同时边缘交换机还需要具有用于它们本地附连的服务器的FIB条目。交换机因此被与更大量的VM地址隔离。
[0057]网络架构因此使得能实现有用的可扩缩性,同时给客户端提供简单的网络抽象和操作。如由本领域的技术人员所领会的那样,网络架构以三种不同的方式简化网络操作。首先,如针对配置模块205参考图3-4在上面描述的那样,网络架构使所有其配置自动化。配置细节要么被离线地计算(例如,在配置储存库115中存储的VLAN配置),要么被单个实体自主地确定(例如,边缘交换机中的IP路由表)。此外,大部分配置是静态的;这不仅消除了对于由人类持续监督的需要,而且还使调试和故障查找变得更容易。
[0058]其次,网络架构使得易于利用在许多商品交换机上为标准的QoS机制,实现租户特定的业务设计、访问控制列表(“ACL”)以及网络内的隔离策略。作为设计原则,网络架构仅利用标准的报头格式;这使得所有重要的租户信息可在由甚至最基本的ACL机制支持的报头字段中得到。例如,ACL能够简单地通过使用IP地址的低阶位(租户ID)来匹配属于单个租户的所有分组。或者,为了改进扩缩,ACL能够仅对照前缀或这些低阶位的子集来匹配,以便允许租户ID对如由服务提供商所分配的服务类别进行编码。类似地,租户在两个物理服务器之间的流能够通过对源和目的MAC地址并且对封装报头IP地址的端口号字节进行匹配来容易地加以标识。网络架构对在服务器处的网络代理处具有可编程性的以太网的使用使得更易于经由中央控制器来部署成熟的QoS。
[0059]最后,网络架构解决了操作的总费用的两个部分:资本成本和经营成本。其最小化了资本费用,因为它能够高效地利用廉价的、特征和资源有限的商品交换机。网络架构还因为它充分利用任何拓扑的能力而消除了浪费的预付资本成本。这允许运营商根据需要并且仅以小增量的方式发展网络,不像需要诸如胖树网络(胖树仅能够被以大增量的方式发展)之类的固定拓扑的架构。
[0060]如由本领域的技术人员所领会的那样,数据中心网络中的经营费用受人类操作员的成本支配。上面在本文中所描述的网络架构需要非常少的操作员注意,因为其配置的大部分是自动的且静态的。此外,因为网络架构允许VM布置而不用担心网络问题,所以它能够降低数据中心管理的该方面的复杂性。
[0061]现参考图12,描述了用于托管根据本公开的网络代理的服务器的示例的框图。月艮务器1200 (例如,台式计算机、膝上型电脑或移动设备)能够包括处理器1205和存储器资源,诸如例如易失性存储器1210和/或非易失性存储器1215,以用于执行在有形的非瞬态介质(例如,易失性存储器1210、非易失性存储器1215和/或计算机可读介质1220)中存储的指令和/或包括被配置成执行本公开的各种示例的逻辑的专用集成电路(“ASIC”)。
[0062]机器(例如,计算设备)能够包括和/或接收经由输入设备1225存储一组计算机可读指令(例如,软件)的有形的非瞬态计算机可读介质1220。如本文所用的那样,处理器1205能够诸如在并行处理系统中包括一个或多个处理器。存储器能够包括可由处理器1205寻址以用于执行计算机可读指令的存储器。计算机可读介质1220能够包括诸如随机存取存储器(“RAM”)之类的易失性和/或非易失性存储器、诸如硬盘、软盘和/或磁带存储器之类的磁存储器、固态驱动器(“SSD”)、闪速存储器、相变存储器等等。在一些实施例中,非易失性存储器1215可以是包括多个物理非易失性存储器设备的本地或远程数据库。
[0063]处理器1205能够控制服务器1200的总体操作。处理器1205能够被连接到存储器控制器1230,所述存储器控制器1230能够从易失性存储器1210 (例如,RAM)读取数据和/或将数据写入到易失性存储器1210 (例如,RAM)。存储器控制器1230能够包括具有它自己的存储器资源(例如,易失性和/或非易失性存储器)的ASIC和/或处理器。易失性存储器1210能够包括一个或多个存储器模块(例如,芯片)。
[0064]处理器1205能够被连接到总线1235以在处理器1205、网络连接1240以及服务器1200的其他部分之间提供通信。非易失性存储器1215能够为服务器1200提供持久性数据存储。进一步地,图形控制器1245能够连接到显示器1250。
[0065]每个服务器1200能够包括包含诸如处理器、状态机、ASIC、控制器和/或类似机器之类的控制电路的计算设备。每个服务器1200还能够包括一个或多个VM (未示出),并且具有用于管理各VM的超级监督器。如本文所用的那样,不定冠词“一”和/或“一个”能够指示已命名对象中的一个或一个以上。因此,例如,“处理器”能够包括一个处理器或一个以上的处理器,诸如并行处理布置。
[0066]控制电路能够具有提供给定功能和/或执行被存储在非瞬态计算机可读介质(例如,非瞬态计算机可读介质1220)上的计算机可读指令的结构。非瞬态计算机可读介质1220可以是整体的,或者以有线或无线方式通信地耦合到计算设备。例如,非瞬态计算机可读介质1220可以是内部存储器、便携式存储器、便携式盘、或位于另一计算资源内部(例如,使得计算机可读指令能够通过因特网下载)的存储器。
[0067]非瞬态计算机可读介质1220能够具有其上存储的由控制电路(例如,处理器)执行以实现根据本公开的网络代理的计算机可读指令1255。例如,非瞬态计算机介质1220能够具有用于实现网络代理1260的计算机可读指令1255。
[0068]如本文所用的非瞬态计算机可读介质1220能够包括易失性和/或非易失性存储器。易失性存储器能够包括依靠电力来存储信息的存储器,诸如尤其是各种类型的动态随机存取存储器(“DRAM”)。非易失性存储器能够包括不依靠电力来存储信息的存储器。非易失性存储器的示例能够包括固态媒体,诸如尤其是闪速存储器、EEPROM以及相变随机存取存储器(“PCRAM”)。非瞬态计算机可读介质1220能够包括光盘、数字视频盘(“DVD”)、蓝光(Blu-Ray)盘、紧致盘(“⑶”)、激光盘以及诸如磁带驱动器、软盘和硬盘驱动器之类的磁性媒体、诸如闪速存储器、EEPROM、PCRAM之类的固态媒体,以及任何其他类型的计算机可读媒体。
[0069]应领会的是,所公开的实施例的先前描述被提供来使得本领域的任何技术人员能够作出或者使用本公开。对这些实施例的各种修改对于本领域的技术人员而言将是容易地显而易见的,并且本文中所定义的通用原理可以适用于其他实施例而不背离本公开的精神或范围。因此,本公开不旨在限于本文中所示出的实施例,而是将符合与本文中所公开的原理和新颖特征一致的最广范围。例如,应领会的是,本公开不限于特定的计算系统配置,诸如服务器1200。
[0070]本领域的技术人员将进一步领会,与本文中所公开的实施例相关地描述的各种说明性模块和步骤可以被实现为电子硬件、计算机软件或两者的组合。例如,网络代理200可以使用软件模块、硬件模块或部件、或软件和硬件模块或部件的组合来加以实现。因此,在一个实施例中,图2的各模块中的一个或多个可以包括硬件模块或部件。在另一实施例中,图2的各模块中的一个或多个可以包括可由处理器执行的、在计算机可读存储介质上存储的软件代码。
[0071]为了清楚地举例说明硬件和软件的这种互换性,已经总体根据它们的功能在上文中描述了各种说明性部件、块、模块和步骤。这种功能被实现为硬件还是软件取决于特定应用和强加于总体系统上的设计约束。本领域的技术人员可以针对每个特定应用以变化的方式实现所描述的功能,但是这种实施方式决定不应该被解释为引起背离本公开的范围。
【权利要求】
1.一种用于虚拟化数据中心的可扩缩多租户网络架构,所述网络架构包括: 包括连接到多个交换机的多个服务器的网络,所述多个服务器托管用于多个租户的多个虚拟接口; 连接到所述网络的配置储存库;以及 在所述多个服务器中的每个服务器中的网络代理,用来封装分组以用于跨越所述网络从源虚拟接口传输到用于所述多个租户中的一个租户的所述多个虚拟接口中的目的虚拟接口,采用标识并且定位所述目的虚拟接口的信息来封装所述分组,所述信息由连接到所述源虚拟接口和所述目的虚拟接口的交换机来解释。
2.根据权利要求1所述的可扩缩多租户网络架构,其中所述多个虚拟接口是在由所述多个服务器托管的多个虚拟机中。
3.根据权利要求1所述的可扩缩多租户网络架构,其中所述配置储存库存储所述多个交换机中的每对交换机的VLAN信息。
4.根据权利要求1所述的可扩缩多租户网络架构,其中所述网络代理包括配置模块以: 基于连接到所述每个服务器的交换机的端口号来将IP地址分配给所述每个服务器;以及` 基于与所述多个虚拟接口相关联的租户的租户ID和连接到所述每个服务器的所述交换机的所述端口号来使多个虚拟接口与IP地址相关联。
5.根据权利要求1所述的可扩缩多租户网络架构,其中所述网络代理包括网络地址解析模块以收集和保持跨越所述网络传送分组所需的信息,所述信息被存储在一个或多个网络地址表中。
6.根据权利要求5所述的可扩缩多租户网络架构,其中所述一个或多个网络地址表包括: 第一网络地址表,其存储租户ID、IP地址以及每个虚拟接口的MAC地址;以及第二网络地址表,其通过所述租户ID、与所述每个虚拟接口相关联的MAC地址空间ID、以及所述每个虚拟接口的所述MAC地址来唯一地标识每个虚拟接口,并且采用连接到所述每个虚拟接口的交换机的端口号和MAC地址来定位所述网络中的每个虚拟接口。
7.根据权利要求6所述的可扩缩多租户网络架构,其中所述网络代理包括分组转发模块以: 用租户ID、目的MAC地址空间ID以及目的MAC地址来标识所述目的虚拟接口 ; 在所述第二网络地址表中查找所述目的虚拟接口的网络位置信息; 选择用于将分组转发到所述目的虚拟接口的VLAN路径,所述VLAN路径在所述配置储存库中得以规定;以及 在封装所述分组之后将所述分组转发到所述目的虚拟接口。
8.根据权利要求7所述的可扩缩多租户网络架构,其中所述网络代理包括分组封装模块以采用包含所述目的虚拟接口的所述IP地址的IP报头以及采用以太网报头来封装所述分组,所述以太网报头包含连接到源虚拟接口的源交换机的MAC地址、连接到所述目的虚拟接口的目的交换机的MAC地址、以及规定所述源交换机与所述目的交换机之间的所述VLAN路径的VLAN标记。
9.根据权利要求8所述的可扩缩多租户网络架构,其中所述目的交换机解封装所述以太网报头并且插入这样的报头:其规定所述目的交换机的所述MAC地址作为源MAC地址、并且托管所述目的虚拟接口的服务器的MAC地址作为目的MAC地址。
10.根据权利要求9所述的可扩缩多租户网络架构,其中托管所述目的虚拟接口的所述服务器中的所述网络代理包括分组接收模块,以从所述目的交换机接收分组、解封装所述分组,并且将所述分组递送到所述目的虚拟接口。
11.根据权利要求1所述的可扩缩多租户网络架构,其中所述多个租户中的每个租户形成一个或多个MAC地址空间。
12.一种用于在虚拟化数据中心中的可扩缩多租户网络中使用的网络代理,所述网络代理包括: 配置模块,用来配置托管所述网络代理的服务器和所述服务器中的多个虚拟接口,每个虚拟接口与多个租户中的一个租户相关联; 网络地址解析模块,用来收集和保持跨越所述网络传送分组所需的信息;以及 分组封装模块,用来在每个分组的传输之前,采用基于与所述目的虚拟接口和连接到所述目的虚拟接口的交换机相关联的所述租户来唯一地标识并且定位所述网络中的目的虚拟接口的信息来封装每个分组。
13.根据权利要求12所述的网络代理,其中所述配置模块包括可执行指令以: 基于连接到所述服务器的交换机的端口号来将IP地址分配给所述服务器;以及 基于与所述多个虚拟接口相关联的租户的租户ID和连接到所述每个服务器的所述交换机的所述端口号来使所述多个虚拟接口与IP地址相关联。
14.根据权利要求12所述的网络代理,其中当虚拟接口在所述服务器中启动时,所述网络地址解析模块将消息广播到所述网络中的所有网络代理。
15.根据权利要求14所述的网络代理,其中所述消息包括唯一地标识并且定位所述网络中的所述虚拟接口的信息。
16.根据权利要求15所述的网络代理,其中所述信息包括与所述虚拟接口相关联的租户的租户ID、与所述虚拟接口相关联的MAC地址空间ID、所述虚拟接口的MAC地址、以及连接到所述虚拟接口的交换机的端口号和MAC地址。
17.根据权利要求12所述的网络代理,其中所述网络地址解析模块存储: 第一网络地址表,其存储租户ID、IP地址以及每个虚拟接口的MAC地址;以及 第二网络地址表,其通过所述租户ID、与所述每个虚拟接口相关联的MAC地址空间ID以及所述每个虚拟接口的所述MAC地址来唯一地标识每个虚拟接口,并且用连接到所述每个虚拟接口的交换机的MAC地址和端口号来定位所述网络中的每个虚拟接口。
18.根据权利要求12所述的网络代理,其中所述分组封装模块用包含所述目的虚拟接口的IP地址的IP报头、以及用以太网报头来封装每个分组,所述以太网报头包含连接到源虚拟接口的源交换机的MAC地址、连接到所述目的虚拟接口的目的交换机的MAC地址、以及规定所述源交换机与所述目的交换机之间的VLAN路径的VLAN标记。
19.一种非瞬态计算机可读存储介质,其包括可执行指令以: 采用 租户ID、源MAC地址空间ID以及源MAC地址来标识虚拟化数据中心中的可扩缩多租户网络中的源虚拟接口;采用所述租户ID、目的MAC地址空间ID以及目的MAC地址来标识所述网络中的目的虚拟接口 ; 在网络地址表中查找所述目的虚拟接口的网络位置信息;以及用标识并且定位所述目的虚拟接口的信息来封装所述分组以用于跨越所述网络传输,所述信息由所述网络中的连接到所述源虚拟接口和所述目的虚拟接口的边缘交换机来解释。
20.根据权利要求19所述的非瞬态计算机可读存储介质,其中所述网络地址表被存储在所述网络中的多个服务器中。
【文档编号】H04L29/08GK103563329SQ201180071448
【公开日】2014年2月5日 申请日期:2011年6月7日 优先权日:2011年6月7日
【发明者】J.穆迪贡达, P.亚拉甘杜拉, J.C.莫古尔, B.斯蒂克斯, A.费希尔 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1