在虚拟化网络基础设施情况下用于透明云计算的方法和设备的制作方法

文档序号:7914092阅读:225来源:国知局
专利名称:在虚拟化网络基础设施情况下用于透明云计算的方法和设备的制作方法
技术领域
本发明整体上涉及云计算领域,并且更具体但不排它地,涉及提供用于客户网络的透明云计算。
背景技术
云计算是一种计算范式,其中,云服务提供商的云资源可以被云客户端利用,云客户端可以包括个人用户和企业。云服务提供商的云资源可以包括云服务、云应用、云平台、云基础设施等等,以及它们的各种组合。例如,现有的云计算解决方案包括Amazon EC2、Microsoft Azure 禾口 Google AppEngine 等。云计算模型对因特网提供的服务的景观(landscape)进行整形,尤其是考虑到其对个人用户和大型企业也同样具有有利特性。例如,对于家庭网络的家庭用户来说,在具有需要使用附加服务器来运行特定应用的服务器的情况下,云计算是有吸引力的选择,因为家庭用户不必承担购买附加服务器的费用;相反,家庭用户仅从云服务提供商租用虚拟服务器。例如,对于企业来说,在具有周期性地需要附加资源来调适资源需求中的变化的现有网络基础设施的情况下,云计算是有吸引力的选择,因为企业不必承担硬件购买费用;相反,企业仅需向云服务提供商支付对云资源的实际使用。然而,不利的是,现有的云计算模型缺乏有效地将云服务提供商的资源与客户网络的现有资源进行集成的机制。相反,在现有的云计算模型中,存在将客户网络与由客户网络使用的基于云的资源划分开来的明确界限。该界限主要由于以下因素而被维持在云内的设备与在客户网络中的设备处在不同的IP地址域中,因此在以下情况下可能存在冲突云服务提供商采用的IP地址域与客户网络的IP地址域重叠(尤其是在客户应用利用了客户网络的资源与云服务提供商的资源的组合的情况下)。如此,虽然对不同的客户提供物理上分离的网络能够确保IP地址域的隔离,但是这种解决方案是非常低效和不灵活的,因此需要一种机制来将云服务提供商的资源与客户网络的现有资源进行有效的集成。

发明内容
支持在虚拟化网络基础设施情况下的透明云计算的实施例解决了现有技术中的各种不足,其使得数据中心的各种资源能被用作对客户网络的扩展。所述数据中心包括核心域和多个边缘域。所述边缘域托管了所述数据中心的资源。所述核心域促进所述数据中心内的通信。所述边缘域使用转发元件来与所述核心域对接,并且类似地,所述客户网络使用转发元件来与所述核心域对接。使用所述数据中心的中央控制器来控制所述转发元件。所述转发元件和所述中央控制器按照以下方式来支持用于转发与所述客户网络相关联的分组的各种能力使得客户网络能够以高效、安全以及透明的方式来使用所述数据中心的资源。


结合附图通过参考以下详细描述能够容易地理解此处的教导,其中图1描述了通信系统架构的高级别(high-level)框图;图2描述了用于在源转发元件处处理分组的方法的一个实施例,其中,该分组针对的是在目的地边缘域中所托管的虚拟机,目的地边缘域具有与之相关联的目的地转发元件;图3描述了用于在与托管了虚拟机的边缘域相关联的转发元件处处理分组的方法的一个实施例,该分组针对的是该虚拟机,其中假设转发元件总是确定在边缘域内的CN的 VLAN 的 VLAN ID ;图4描述了用于在与托管了虚拟机的边缘域相关联的转发元件处处理分组的方法的一个实施例,该分组针对的是该虚拟机,其中并不假设转发元件总是确定在边缘域内的CN的VLAN的VLAN ID ;以及图5描述了适合用于实施此处所描述的功能的通用计算机的高级别框图。为了便于理解,在可能的地方使用了相同的附图标记来标示附图公用的相同元件。
具体实施例方式此处描述和记载了集成的弹性云计算(iEC2)架构。iEC2架构使得云计算资源能够作为针对现有客户基础设施的透明扩展,从而使得客户应用能够以无缝和灵活的方式来利用客户计算资源和云计算资源这二者,而不需要对现有客户基础设施进行任何修改。通过在云内使用网络虚拟化来实例化客户网络的虚拟扩展,iEC2架构使得云计算资源能够作为针对现有客户基础设施的透明扩展。iEC2架构使得云计算资源能够与现有客户基础设施无缝地集成,而不需要对现有客户基础设施进行任何修改。iEC2架构使得这样扩展的客户网络能够随着需求而生长和收缩,从而消除客户对部属可能只是被临时需要的网络基础设施的需要。iEC2架构使得云计算资源能够以高度可扩缩的方式成为现有客户基础设施的透明扩展,以便云计算资源可被大量的客户(例如,从具有家庭网络的个人客户到具有企业网络的大型企业客户的任何类型的客户,而不是仅能容纳少量客户的现有的云计算架构)来利用。iEC2架构使得能够为不同客户动态地定制数据中心(例如,动态地定制数据转发、策略控制等类似特征)。iEC2架构使得能够提供网络虚拟化。使用两种类型的实体来提供网络虚拟化转发元件(FE)和中央控制器(CC)。通常,FE实施分组处理功能(例如,地址映射、策略检查和推行、分组转发等),而CC维护和提供适合于FE在实施分组处理功能时使用的控制信息(例如,配置信息、地址映射、策略等)。FE可以实现为具有增强型API (其使得它们能够由CC进行远程控制)的以太网交换机。与典型的网络虚拟化解决方案中的情况不同,iEC2架构不需要在整个数据中心网络上部属专用的路由器或交换机;相反,FE仅被部属在数据中心网络的特定挑选的点处,以便提供虚拟化功能,而常规地,现成的以太网交换机可用于数据中心网络的大部分部件中。iEC2架构利用数据中心网络内的分层网络结构,其中,多个边缘域经由中央核心域而进行通信。每个边缘域包括经由一个或多个交换机而连接的物理主机(用于在边缘域内提供云计算资源)。每个边缘域提供多个功能,诸如解析分组地址(例如,用于解析分组应被转发到的边缘域/第二层地址)、在边缘域内隔离不同客户的分组、基于预期的目的地来确定对分组的转发(例如,在边缘域内本地转发,或者朝向核心域以便朝向另一边缘域进行转发)、策略检查和推行,等等。每个边缘域经由一个或多个FE与核心域相连(即,FE被部属为边缘域与核心域之间的网关,而CC与核心域相关联,目的是为了与FE通信,以便为FE提供配置和控制功能)。客户网络可被看作边缘域的特定实例,在该情况下,每个客户网络可经由一个或多个FE来访问数据中心网络(其中,这样的FE被称为面向客户的FE (面向CN的FE),其将客户网络视为本地LAN)。FE可具有与其相关联的处理设备(诸如防火墙、负载平衡器等),以便提供对经过FE的分组的策略处理。核心域可以是适用于在边缘域之间转发分组的平坦的第二层网络。在iEC2架构中,客户配备有与其它客户的虚拟网络相隔离的一个或多个虚拟网络。客户的虚拟网络可配备在一个边缘域中或遍布多个边缘域,其中,底层域结构对客户来说是隐藏的。在每个边缘域中,在本地将VLAN利用于该边缘域内,以便隔离利用了该边缘域内的资源的不同客户,此外,跨边缘域来重用VLAN ID,从而提供可由数据中心网络支持的客户数目的显著增长。当客户网络跨越多个边缘域时,可在多个边缘域中的每个边缘域中向客户网络指派不同的VLAN ID,并且对于跨边缘域转发的分组,这样的VLAN ID可由边缘域与核心域之间的网关FE进行重新映射。如这里描述的,iEC2架构使得云计算资源能够与客户网络无缝地集成,从而使得客户能够利用云计算资源而不用对客户网络进行修改。在数据中心网络内使用寻址方案来从逻辑上隔离客户网络,可以实现云计算资源与客户网络的无缝集成。对这样的寻址方案的一个示例性实施例的描述如下。寻址方案包括一种用于在不同客户之间进行区分的机制,通过该机制,每个客户网络被指派有唯一的客户网络标识符(这里称之为cnet标识符)。在客户具有单个VLAN的情况下,cnet标识符也标识了该客户。在客户具有多个VLAN的情况下,对每个VLAN使用不同的cnet标识符确保了该客户的VLAN结构可被留存(这可能是值得期望的或者甚至是必需的,例如在不同的策略控制可用于不同VLAN的情况下)。按照这种方式,从逻辑上,可使用(cnet标识符,IP地址)的组合来标识虚拟机。(cnet标识符,IP地址)的组合被映射到用于虚拟机的唯一的第二层MAC地址。在支持将虚拟MAC地址指派给虚拟机的主机虚拟化平台中,用于虚拟机的唯一的第二层MAC地址直接标识了虚拟机(即使在该物理服务器上可能还托管了其它虚拟机的情况下)。在不支持将虚拟MAC地址指派给虚拟机的托管虚拟化平台中,被指派给虚拟机的第二层MAC地址与被指派给物理服务器的MAC地址相同,因而需要附加的标识符,目的是为了标识该物理服务器上的虚拟机。这种情况下,附加的标识符可以是为虚拟机生成的伪MAC地址,其用于虚拟机标识的目的,但不用于分组转发的目的。寻址方案包括一种用于分离每个边缘域内的不同客户的机制。除了使用第二层和第三层地址之外,VLAN被用于分离每个边缘域内的不同客户。在每个边缘域中,每个客户被映射到不同的VLAN。如果客户具有使用了云计算服务的多个VLAN,则该客户的每个内部VLAN被映射到边缘域中的不同VLAN。对于每个边缘域,在与边缘域相关联的FE 120处、在
6用于在边缘域内转发分组的以太网交换机处,以及在边缘域内物理服务器的托管监管器处实施VLAN配置。边缘域中的VLAN配置对虚拟机来说是透明的,从而使得在虚拟机上运行的应用不知道所述VLAN配置。寻址方案包括一种使得边缘域能够重用VLAN ID的机制。VLAN标记范围(taggingscope)被限制在边缘域内。通过使得边缘域能够重用VLAN ID,消除了对于可由数据中心网络容纳的客户数目的限制。尽管该设计隐含地施加了对于在每个边缘域中能支持的虚拟机数目的限制(例如,在最坏的情况下,当每个虚拟机属于边缘域中的不同客户时,在每个边缘域中能够有最大数为4000个虚拟机;但是,一般而言,边缘域很可能能够支持更多的虚拟机,这是因为许多客户很可能使用多个虚拟机),但是对数据中心内可支持的边缘域的数目没有限制,因此,对于可支持的客户的数目也没有限制。以上描述的寻址方案实现了云计算资源与客户网络的无缝集成,同时还隔离了客户网络,并且实现了分别对客户的IP地址空间进行留存。这确保了不同客户的服务器能够被区分(即使在他们利用相同的IP地址时),而不需要在数据中心内对每个客户使用物理上分离的网络。可以按照无需对客户网络进行任何修改的方式来修改以上描述的寻址方案,但仍然提供了使得云计算资源能够与客户网络无缝集成的iEC2架构。通过参考针对图1所描述和记载的示例性iEC2架构,可以更好地理解以上描述的
寻址方案。对iEC2架构的前述描述仅是为了引入iEC架构而提供的一般描述,因此,iEC2架构并不由于该描述而受到限制。以下是对iEC2架构的更详细的描述及其各种关联的实施例。图1描述了通信系统架构的高级别框图。如图1中所示,通信系统架构100是包括数据中心(DC)IOl的示例性iEC2架构,数据中心101为多个客户网络(CN) 102A-102C( ^称为CN 102)提供云计算资源。数据中心101包括可供客户使用的云计算资源(例如,在客户可租借或购买云计算资源的情况下)。云计算资源被提供给客户,从而使得它们被认为是对那些客户的客户网络的扩展。云计算资源可以包括客户可用的任何类型的计算资源,诸如处理能力、存储器等及其各种组合。数据中心101包括适用于促进客户对云计算资源的使用的网络基础设施。DC 101包括多个边缘域(ED) IlO1-I IO3 (统称为ED 110)、多个转发元件(FE) UO1-UO4 (统称为FE120),以及核心域(⑶)130。DC 101还包括中央控制器(CC) 140,以及可选地包括管理系统(MS) 150。DC 101的各种元件进行协作以便实现使得客户能够利用可从DC 101获得的云计算资源的各种功能。CN 102可以利用DC 101的云计算资源而不对CN 102进行修改。CN 102可以包括任何类型的客户网络,例如,从个人客户的家庭网络到大型企业客户的企业网络。换句话说,CN 101可以是可使用DC 101的云计算资源的任何客户网络。CN 102使用DC 101的一个或多个FE 120来访问DC 101。下面描述DC 101中使得CN 102能够访问云计算资源的各种组件。ED 110使得可由DC 101支持的CN 102的数目得以显著增长。如此处描述的,每个ED 110能够独立于每一个其它的ED 110来支持用于客户的一组VLAN。以这样的方式, 仅仅是每个单独的ED 110受到可被支持的VLAN的数目(以及因而可被支持的CN 102的数目)的约束,而不是DC 101受到可被支持的VLAN的数目(以及因而可被支持的CN 102 的数目)的约束;然而,从DC 101的角度来看,对于可被支持的CN 102的数目的这种每ED 限制是假的(artificial),因为DC 101可以支持任何数目的ED 110。每个ED 110包括由与CN 102相关联的客户来使用的物理服务器112 (说明性地, ED IlO1包括两个物理服务器IUh和112^,ED IlO2包括两个物理服务器11 ^和1122_2, 并且ED IlO3包括两个物理服务器112η和1123_2,其中,这些物理服务器被统称为物理服务器112)。物理服务器112分别托管可由CN 102利用的云计算资源。物理服务器112可以是适合支持这种云计算资源的任何服务器,其可以取决于可供CN 102使用的云计算资源的类型。每个PS 112包括可由CN 102利用的一个或多个虚拟机(VM) 113。对于支持多个 VM 113的每个PS 112,可以使用适于将物理服务器112上的不同客户网络从逻辑上分离 (并且因而使得同一物理硬件的不同部分可供不同客户以透明、安全和经济有效的方式来使用)的任何虚拟化技术来实现PS 112的VM 113。VM 113是配置在PS 112上的虚拟机。VM 113提供可被配置在PS 112上供CN 102 使用的云计算资源。云计算资源包括可由CN 102来利用的任何资源,诸如处理器资源、存储器资源等及其各种组合。在图1的示例性网络中,三个客户具有在DC 101内供应的由三个客户的CN 102 来使用的VM 113。第一 CN 10 具有在DC 101内供应的四个VM 113(即,ED IlO1WPS 112η 上的两个 VM 113、ED IIO1WPS 112Η 上的一个 VM 113,以及 ED IIO2WPS 112Η 上的一个VM 113)。第二 CN 10 也具有在DC 101内供应的四个VM 113(即,ED IlO1WPS 11&_2上的一个 VM 113,ED IlO2WPS上的一个 VM 113,ED IlO2WPS 1122_2 上的一个VM 113,以及ED IlO3WPS 1123_2上的一个VM 113)。第三CN 10 具有在DC 101内供应的两个VM 113(8卩,ED IlO3WPS 上的两个VM 113)。从这些示例性客户可以认识到可以按照多种不同的配置在DC 110内供应VM 113(例如,客户可以利用一个物理服务器、在同一边缘域内的多个物理服务器、跨越不同边缘域的多个物理服务器,等等,并且此外,客户可以利用在任何给定物理服务器上的一个或多个VM)。每个ED 110包括用于在ED 110内对分组进行路由的通信基础设施。在一个实施例中,ED 110可以利用交换机来实施在ED 110内的分组转发。例如,每个ED 110可利用一个或多个以太网交换机。在一个实施例中,由于每个ED 110中的交换机需要为不同的客户处理不同的VLAN,因此可以按照常规的基于树形的拓扑来配置每个ED 110中的交换机 (例如,分别以与ED 110相关联的FE 120为根)。可以理解,可以使用其它类型的网络元件以及其它关联的通信能力来实现ED 110。每个ED 110具有与其相关联的一个或多个FE 120。FE 120操作为在ED 110与 ⑶130之间的网关。可以理解,虽然对于要在DC 101内支持的网络虚拟化功能来说每个ED 110—个FE 120是足够的,但是出于负载平衡、改进可靠性等目的,可以使用多个FE 120来将ED 110与CD 130对接。对于与DC 101相关联的分组,FE 120实施分组处理功能(例如,地址查找和映射、策略检查和推行、分组转发和隧道传输,等等)。FE 120起到在CN 102和⑶130之间以及在ED 110和⑶130之间的网关的作用。FE 120包括面向CN的FE(说明性地,对于每个 CN 102操作为DC 101中的网关的FE 1204)和面向ED的FE (说明性地,分别操作为在ED IlO1UlOdn IlO3与CD 130之间的网关的FE 120^12 禾口 1203)。在下文中另外详细地描述了 FE 120在促进对于CN 102和ED 110的通信时的操作。FE 120实现地址查找和映射功能。通过FE 120使用存储在FE 120的本地存储器中的映射信息和/或通过从CC 140请求所需要的映射信息(举例来说,诸如在所需要的映射信息不可从FE 120的本地存储器中获得的情况下)来实现地址查找和映射。可以在本地存储和/或从CC 140请求的映射信息包括用于实现分组处理功能所需要的任何映射信息(举例来说,诸如此处描述的由CC 140所维护的虚拟机MAC^ (cnet标识符,IP地址) 映射、虚拟机MAC ο边缘域标识符映射、边缘域标识符ο FE MAC列表映射,以及(cnet标识符,边缘域标识符)e VLAN标识符映射)。FE 120可以实现策略检查和推行功能。策略可以是由数据中心运营商推行的通用策略和/或为客户推行的客户策略。可以使用策略信息来提供策略检查和推行功能,策略信息可在本地存储在FE 120上和/或由FE 120从CC 140请求(例如,在所需要的策略信息不可在本地从FE 120上获得的情况下)。例如,FE 120可以处理分组以确保MAC地址、 IP地址、VLAN ID等与分组的源和目的地一致。例如,FE 120可以应用客户策略(例如,在递送之前将分组转发给防火墙、利用负载平衡器,等等)。可以理解,FE 120可以检查和推行任何其它合适的数据中心运营商和/或客户策略。FE 120实现分组转发功能。可以结合分组转发功能来利用地址查找和映射功能。 例如,FE 120可以转发源自CN 102的预期用于由DC 101内的虚拟机来处理的分组、转发源自DC 101内的虚拟机的预期用于CN 102的分组、转发源自DC 101内的虚拟机的预期用于DC 101内的其它虚拟机的分组、转发在DC 101内交换的控制分组(例如,像分组传递供
应信息映射信息等),等等。从这些示例性分组流可以看出,FE 120可以从ED 110接收分组并且经由⑶130 转发分组、从⑶130接收分组并且将分组转发给ED 110、从ED接收分组并且将分组转发回同一 ED 110内,等等。FE 120可以使用任何合适的分组转发能力来实现这种分组转发。在一个实施例中,源FE 120(其从CN 102或ED 110接收分组以便经由CD 130转发给目的地ED 110)使用隧道技术来将分组隧道传输通过CD 130。在一个这样的实施例中,源FE使用MAC-in-MAC隧道技术来对分组进行隧道传输。在MAC-in_MAC隧道技术中, 源FE 120将外部MAC报头添加到以太网帧(以太网帧的报头是内部报头),⑶130的以太网交换机使用外部MAC报头来路由经修改的以太网帧,并且目的地FE 120移除外部MAC报头。可以理解,大多数以太网交换机允许使用较大的帧尺寸,从而使得外部MAC报头的附加字节不会在CD 130内引起任何问题(尤其是在CD 130中,其中可以部署更高容量的以太网交换机以满足所有ED 110的业务需求)。可以理解,可以使用任何其它合适类型的隧道技术。在一个实施例中,使用VM 113的MAC地址、VM 113的IP地址以及与分组相关联的CN 102的VLAN ID, FE 120 (其接收分组以便在与FE 120相关联的ED 110内传递(例如,传递到VM 113)在ED 110内转发分组。经由一个或多个部属在ED 110内的以太网交换机,分组可以路由通过ED 110,以便促进FE 120与在ED 110内托管的VM 113之间的通信。可以理解,可以对经由⑶130在 120处接收的分组以及对源自与FE 120相关联的 ED 110内的分组(S卩,ED内通信)实施这种类型的分组转发。FE 120使用适合实现这种功能的任何信息来实现这样的功能。如上文中所指示的,FE 120可以按照任何合适的方式访问这种信息。例如,FE 120可以在本地存储这种信息(例如,分组转发条目、客户策略规则等)和/或从这样的信息的一个或多个远程源接收这种信息(例如,通过与其它FE 120发送信号、通过向CC 140请求,等等)。FE 120可以支持除了地址查找和映射功能、策略检查和推行功能以及分组转发功能之外的各种其它能力。可以按照任何合适的方式来实现FE 120。在一个实施例中,FE 120可被实现为交换机。在一个这样的实施例中,例如,FE 120可被实现为支持这样的能力的高容量以太网交换机。FE 120还可以支持适于使得FE 120能够被CC 140远程控制的增强型API。在一个实施例中,一个或多个FE 120可以具有一个或多个与之相关联的附加网络元件(例如,防火墙、负载平衡器等等)用于实现各种分组处理功能。例如,FE UO1具有与之相关联的防火墙和负载平衡器,用于在处理分组(例如,在DC 101内对分组进行路由之前处理从CN 102接收到的分组)时使用,并且FE 1204具有与之相关联的防火墙和负载平衡器,用于在处理分组(例如,在ED IlO1内对分组进行路由之前处理在FE UO1处从⑶ 120接收到的分组和/或在将分组朝向⑶120进行路由之前处理在FE UO1处从ED IlO1 接收到的分组)时使用。⑶130促进了 DC 101内的通信。⑶130促进了与FE 120相关联的通信。例如, CD 130促进了在CN 102与ED 110之间、在ED 110之间、在FE 120之间、在FE 120与数据中心控制器之间(例如,像在FE 120与CC 140之间以及在FE 120与MS 150之间)等等及其各种组合之间的通信。⑶130还促进了在CC 140与DC 101的其它组件(例如,FE 120,VM 113等)之间的通信,可选地,还促进了在MS 150与DC 101的其它组件(例如,FE 120、VM 113等)之间的通信。⑶130包括用于在⑶130内对分组进行路由的通信基础设施。可以按照任何合适的方式来实现⑶130。在一个实施例中,⑶130可以利用交换机来实施⑶130内的分组转发。在一个这样的实施例中,例如,⑶130可以利用一个或多个以太网交换机。可以理解,由于⑶130中的交换机主要用于分组转发,因此对⑶130的交换结构(fabric)的设计不受任何策略的限制。在一个实施例中,为了确保更好的资源使用,可以在CD 130内实现最短路径帧路由,或者允许使用多条路径的其它合适的方案。可以理解,可以使用任何其它合适类型的网络元件以及相关联的通信能力来实现CD 130。CC 140与FE 120协作,以便使得FE 120能够为DC 101提供分组转发功能。CC 140可以确定用于在供应FE 120时使用的供应信息(provisioning information),以便支持客户请求DC 101的计算资源,并且可以向FE 120提供这样的供应信息。CC 140可以维护适合在为DC 101转发分组时由FE 120使用的映射信息,并且可以将这样的映射信息提供给FE 120。CC 140可以维护适合在为DC 101转发分组时推行客户策略中由FE 120使用的策略信息,并且可以将这样的策略信息提供给FE 120。在一个实施例中,CC 140维护适合在为DC 101转发分组时由FE 120使用的以下映射信息(1)虚拟机MAC ^ (cnet标识符,IP地址)映射此映射将VM 113的MAC地址映射到客户(其被供应了 VM 113)的客户网络标识符(cnet标识符)与VM 113的IP地址的组合。其中,每个客户具有其自己的独立IP空间,(cnet标识符,IP地址)也唯一地标识了 VM 113 ;(2)虚拟机MAC ^边缘域标识符映射此映射将VM 113的MAC地址映射到ED 110(其内托管有VM 113)的标识符。如上文中记载的,CN 102被认为是特定的边缘域,因而,每个CN 102也被指派了边缘域标识符;(3)边缘域标识符ο FE MAC列表映射此映射维护了在与ED 110连接的FE 120 的MAC地址之间的关联性。如上文中记载的,ED 110具有多个FE 120是可能的,例如,因为负载平衡的原因,可靠性原因,等等。(4) (cnet标识符,边缘域标识符)e VLAN标识符映射此映射将客户网络标识符与边缘域标识符的组合映射到客户的VLAN标识符(因为客户可以访问在多个ED 110中的 VM 113)。换句话说,在具有客户的一个或多个VM 113的每个ED 110中,每个CN 102被分配了 VLAN标识符,其中,对于给定的CN 102的VLAN标识符在不同的ED 110中可以不同。 DC 101中的VLAN标识符可以由CC 140 (或者适合实施这种分配的任何其它元件)来分配。 在CN 102中使用的VLAN标识符是由相应的客户分配的。在一个实施例中,由CC 140维护的此映射信息的至少一部分也可以存储在每个 FE 120内,以便FE 120可以在本地利用这种映射信息来实施分组转发,而不是FE 120必须持续地向CC 140查询这种映射信息。在一个实施例中,CC 140维护了适合由FE 120在为DC 101转发分组时推行客户策略中使用的策略信息。策略可以包括任何合适的策略规则。例如,针对客户的策略规则可以是在被转发给目的地之前,所有的分组必须首先从相关联的面向CN的FE 120转发到防火墙。这种情况下,在分组被最终朝向目的地FE 120转发之前,推行此策略的源FE 120 会将分组隧道传输到防火墙。CC 140可以按照任何合适的方式来维护该信息(例如,使用一个或多个数据库来维护信息,按照任何合适的格式来存储信息,等等及其各种组合)。CC 140可以按照任何合适的方式向FE 120提供信息,例如,周期性地,响应于来自FE 120的查询,等等及其各种组
I=I O尽管此处的描述和记载主要是关于对DC 101内的单个CC 140的使用,但是可以理解,可以使用标准的可靠性和可扩缩性技术来提供DC 101内CC 140的功能。可以按照任何合适的方式来分布CC 140的功能性。例如,在一个实施例中,不同的ED 110可由不同的CC来管理。例如,在一个实施例中,不同的客户可以被指派给不同的CC (例如,使用分布式散列表(DHT))。可以理解,由于管理和策略控制对于不同的客户网络来说是相对独立的, 因此对CC 140的功能性的这种分割不会影响CC 140的功能性。在一个实施例中,FE 120和CC 140协作为分布式路由器,其中FE 120是简化的分组转发元件,并且CC 140提供对FE 120的集中式控制。对这种分布式路由器架构的使用为DC 101提供了各种优势,简化了对DC 101内的资源和策略的管理。在一个实施例中,FE 120和CC 140 一起形成了 VICTOR,如2009年6月22日提交的标题为“PROVIDINGCLOUD-BASED SERVICES USING DYNAMIC NETWORK VIRTUALIZATION”的美国专利申请序列号 12/489,187中所描述和记载的,通过引用的方式将其整体合并于此。MS 150提供了客户前端,客户可以通过该客户前端请求DC 101的计算资源。例如,客户可以远程访问MS 150,以便请求DC 101的计算资源可供该客户的CN 102来使用。 客户可以指定与对计算资源的请求相关联的各种参数,诸如资源的类型、资源的数量、资源使用/可用性的持续时间,等等及其各种组合。基于对计算资源的请求,MS 150发信号通知一个或多个FE 120来供应FE 120支持对计算资源的请求,或者发信号给CC 140以便用信号通知一个或多个FE 120来供应FE 120支持对计算资源的请求。该供应可以被立即实施(例如,在请求指示了计算资源将被立即使用的情况下)、可以被调度成在稍后的时间实施(例如,在请求指示了计算资源将在稍后的时间被使用的情况下),等等。MS 150还可以提供DC 101内的各种网络管理功能。尽管描述和记载主要是关于具有特定类型、数目和布置的网络元件的数据中心, 但是可以理解,可以使用不同类型、数目和/或布置的网络元件来实现数据中心。例如,尽管描述和记载主要是关于使用单个FE 120将ED 110连接到⑶130,但是可以理解,一个或多个ED 110可以经由多个FE 120而连接到⑶130 (例如,为了负载平衡、可靠性等)。 例如,尽管描述和记载主要是关于使用单个CC 140,但是CC 140的功能性可以遍布多个CC 140。可以理解,可以做出各种其它的修改。如此处描述的,DC 101使得CN 102能够利用DC 101的云计算资源而不用对CN 102进行修改。CN 102可以包括任何类型的客户网络,例如,从个人客户的家庭网络到大型企业客户的企业网络。换句话说,CN 101可以是可使用DC 101的云计算资源的任何客户网络。CN 102可以使用任何合适的通信手段(例如,虚拟专用LAN服务(VPLS)、多协议标签交换(MPLS)等)来与DC 101通信。在一个实施例中,DC 101与CN 102使用VPLS通信。在一个这样的实施例中,其中 CN 102使用VPLS经由因特网服务提供商(ISP)的提供商边缘(PE)路由器来与DC 101通信,CN 102内的客户边缘(CE)设备与ISP的第一 VPLS PE路由器相连,并且与CN 102相关联的DC 101的代理CE(CE-acting)的FE 120与ISP的第二 VPLS PE路由器相连。对于在端点处的CE设备,关联的PE路由器作为本地以太网交换机。在一个进一步的实施例中,为了避免可能出现的可扩缩性问题(例如,由于需要为不同的客户在CE设备和PE路由器接口处分配不同的端口,因此可由PE和代理CE的FE支持的客户的总数受到端口数的限制), 在代理CE的FE与PE路由器之间使用QinQ封装,从而使得每个端口能够支持高达4000个客户,并因此显著地增加了能被支持的客户的数目。可以理解,可以利用VPLS来按照任何其它合适的方式支持在DC 101与CN 102之间的通信。在一个实施例中,DC 101和CN 102使用MPLS来通信。在一个这样的实施例中, 其中DC 101和CN 102均从同一因特网服务提供商(ISP)获得网络连接,MPLS可被用作底层传输,并且可以供应带宽来获得更好的服务质量。在另一个这样的实施例中,其中DC 101 和CN 102从不同的因特网服务提供商(ISP)获得网络连接,可以利用一个或多个其它的封装协议来经过第三层网络(例如,像使用通用路由封装(GRE)或者适合经过第三层网络的其它封装协议)。可以理解,可以利用MPLS来按照任何其它合适的方式支持在DC 101与CN 102之间的通信。在一个实施例中,对于个人用户或小型商务,可在DC 101与CN 102之间使用第2 层隧道协议(L2TP)/因特网协议安全性(IPSec),以便提供基本的连通性和安全性,而不需要来自网络服务提供商的协助。可以理解,可以使用任何其它合适类型的通信能力来实现DC 101与CN 102之间的通信。如此处描述的,iEC2架构实现了云计算资源与客户网络的集成,从而使得客户能够在不用对客户网络进行修改的情况下利用云计算资源。客户网络对数据中心的云计算资源的利用要求在数据中心与客户网络之间交换分组,以及在数据中心内交换分组。下面描述用于在iEC2架构中提供云计算服务的不同数据转发路径。在利用云计算服务时,CN 102中的设备可以向DC 101中的VM 113发送分组。在描述数据流的过程中为了清楚起见,假设该示例中分组是从CN 10 中的设备发送到VM 113(其被托管在用于CN 10 的ED IlO1中的PS 1队2上)。将分组从CN 10 转发到与 CN 10 相关联的面向CN的FE 1204。在与CN 10 相关联的面向CN的FE 1204处接收分组。在面向CN的FE 1204处接收的分组包括所针对的VM 113的MAC地址和IP地址。面向 CN的FE 1204使用虚拟机MAC ^ (cnet标识符,IP地址)映射来确保包括在分组中的所针对的VM 113的MAC地址与(cnet id, IP地址)组合一致。通过使用从分组中获得的MAC 地址来访问虚拟机MAC ο边缘域标识符映射,面向CN的FE 1204确定出托管了分组所针对的VM 113的ED 110(在此示例中是ED IlO1,其为CN 10 托管了所针对的VM 113)。通过使用所确定的边缘域标识符来访问边缘域标识符G FEMAC列表映射,面向CN的FE 1204确定出托管了分组所针对的VM 113的被标识的ED 110的FE 120之一的MAC地址(在此示例中是服务于ED 1101的FE 120》。面向CN的FE 1204修改所接收到的分组,以便使其包括所确定的托管了分组所针对的VM 113的ED 110的FE 120之一的MAC地址(在此示例中是服务于ED IlO1的FE 120!的MAC地址)。例如,面向CN的FE 1204可以将所确定的 FE IlO1WMAC地址附加为所接收到的分组的外部报头从而形成经修改的分组。可选地,在转发经修改的分组和/或部分地转发经修改的分组之前,面向CN的FE 1204还可以访问用于客户的策略信息,并且适当地应用该策略信息(例如,将分组经由与FE IlO4相关联的防火墙而转发给FE IlO1,或者应用任何其它合适的策略规则)。面向CN的FE 1204将经修改的分组经由⑶130朝向FE IlO1转发。⑶130基于被用作经修改的分组的外部报头的FE IlO1的MAC地址来传播经修改的分组(即,使用MAC-in-MAC隧道技术将经修改的分组从 FE IlO4经由⑶130隧道传输到FE IlO1)。FE IlO1经由⑶130来接收经修改的分组。FE IlO1移除经修改的分组的外部报头以获得该分组。FE IlO1将分组经由ED IlO1朝向分组所针对的VM 113传播。FE IlO1和ED IlO1使用(a)ED IlO1内的CN 10 的VLAN ID以及 (b)分组所针对的VM 113的MAC地址来传播分组。分组所针对的VM 113接收该分组。VM 113为CN 10 处理所接收到的分组。在该数据转发流中,在托管了分组所针对的VM 113 的ED IlO1内的分组的传播是使用ED IlO1内的CN 10 的VLAN ID来实现的。这样,ED IlO1内的CN 10 的VLAN ID必须在DC 101内确定,并且分组必须被修改以便包括所确定的ED IlO1内的CN 10 的VLAN ID。VLAN ID可以由源FE(在此示例中为FE 1204)或目的地FE (在此示例中为FE 120》使用(cnet标识符,边缘域标识符)^ VLAN标识符映射来确定并且插入到分组中,这是因为源和目的地FE都知道CN10、的cnet标识符和托管了分组所针对的VM 113的ED IlO1的边缘域标识符。关于确定VLAN ID,可以使用以下配置 (a)如果DC 101被配置为使得源FE总是负责代表目的地FE来确定和插入VLAN ID,则目的地FE可以总是假设经由CD 130所接收到的分组包括了在相关联的ED内递送分组所需的VLAN ID(S卩,目的地 不必确定所接收到的分组是否包括正确的VLAN ID);或者(b)如果DC 101没有被配置为使得源FE总是负责代表目的地FE来确定和插入VLAN ID,则目的地FE在经由⑶130接收到分组时将确定所接收到的分组是否包括VLAN ID,并且(bl)如果所接收到的分组不包括VLAN ID,则目的地FE将使用(cnet标识符,边缘域标识符)^ VLAN标识符映射来确定VLAN ID,并且将所确定的VLAN ID插入到分组中,或者(b2)如果所接收到的分组包括VLAN ID,则目的地FE要么假设该VLAN ID有效,要么会使用(cnet标识符,边缘域标识符)GVLAN标识符映射来确定VLAN ID并将其与包括在所接收到的分组内的VLAN ID进行比较,这样,如果被比较的VLAN ID不匹配,则可以用所确定的VLAN ID 来替换分组中的VLAN ID。在利用云计算服务时,DC 101中的VM 113可以向CN 102中的设备发送分组。这种情况下的数据转发流与上述CN 102向DC 101中的VM 113发送分组的情况中的数据转发流非常相似,因为每个CN 102实质上都是特定的边缘域。在利用云计算服务时,DC 101中的第一 VM 113可以将分组发送给DC 101中的第二 VM。如果第一 VM 113与第二 VM 113处在不同的ED 110中,则这种情况下的数据转发流与上述CN 102将分组发送给DC 101中的VM 113的情况中的数据转发流非常相似。如果第一 VM 113与第二 VM 113处在同一 ED 110中但却与不同的VLAN相关联,则分组必须经由FE 120中与ED 110相关联的一个FE 120来递送,从而使得FE 120中与ED 110相关联的一个FE 120可以转换VLAN ID,并且可选地,实施策略检查和推行。如果第一 VM 113与第二 VM 113处在同一 ED 110中并且与同一 VLAN相关联,则来自源VM 113的分组可以被直接递送到目的地VM 113( S卩,不需要分组经过FE 120),因为不需要地址查找和映射以及策略检查和推行。在一个或多个上述数据转发流中,可以采用ARP处理来得知MAC地址。这使得上述数据转发流中的分组的源设备能够知道分组所针对的目的地设备的MAC地址。在这样的实施例中,可以在以下情况下应用ARP处理当在源FE 120处从端点 (例如,从CN 102中的设备或从VM 113)接收到第一分组之前,或者响应于在源FE 120处从端点(例如,从CN 102中的设备或从VM 113)接收到第一分组。在这样的实施例中,ARP流与上述数据转发流类似。在描述ARP流的过程中为了清楚起见,在以下数据转发流的情境内描述了 ARP流在CN 102中的设备想要发送分组到DC 101中的VM 113(尽管可以理解ARP处理也适用于其它类型的数据转发流)。在描述ARP 流的过程中为了清楚起见,假设在此示例中,CN 10 中的设备想要发送分组给在ED IlO1 中的PS 112^上所托管的用于CN 10 的VM 113,但却不知道在ED IlO1中的PS 112^上所托管的用于CN 10 的VM 113的MAC地址。在这种情况下,为了得知MAC地址,CN 102A 中的设备发起ARP请求分组。将该ARP请求分组从CN 10 转发到与CN 10 相关联的面向CN的FE 1204。在与CN 10 相关联的面向CN的FE 1204处接收ARP请求分组。在面向 CN的FE 1204处接收到的ARP请求分组包括CN 102A的cnet id和所针对的VM 113的IP地址,而不包括所针对的VM 113的MAC地址。面向CN的FE 1204使用虚拟机MAC ^ (cnet 标识符,IP地址)映射来确定所针对的VM 113的MAC地址。关于这点,可以理解,当面向 CN的FE 1204现在具有足够的信息来响应ARP请求(并且因而会这样做)时,交换机通常不对ARP消息作出响应(而是,它们简单地转发ARP消息来由端设备处理)。因而,通过使用所确定的VM 113的MAC地址来访问虚拟机MAC e边缘域标识符映射,面向CN的FE 1204 确定出托管了分组所针对的VM 113的ED 110(在此示例中是ED IlO1,其为CN 10 托管了所针对的VM 113)。通过使用所确定的边缘域标识符来访问边缘域标识符^FE MAC列表映射,面向CN的FE 1204确定出托管了分组所针对的VM 113的被标识的ED 110的FE 120 之一的MAC地址(在此示例中是服务于ED IlO1WFE 120》。面向CN的FE 1204修改所接收到的ARP请求分组,以便使其包括所确定的托管了分组所针对的VM 113的ED 110的FE 120之一的MAC地址(在此示例中是服务于ED IlO1的FE ^O1的MAC地址)。例如,面向 CN的FE 1204可以将所确定的FE IlO1的MAC地址附加为ARP请求分组的外部报头,从而形成经修改的ARP请求分组。面向CN的FE 1204将经修改的ARP请求分组经由⑶130朝向FE IlO1转发。基于被用作经修改的ARP请求分组的外部报头的FE IlO1WMAC地址,⑶ 130传播经修改的ARP请求分组(即,使用MAC-in-MAC隧道技术将经修改的ARP请求分组经由CD 130从FE IlO4隧道传输到FE IlO1^FE IlO1经由⑶130来接收经修改的ARP请求分组。FE IlO1移除经修改的ARP请求分组的外部报头以获得ARP请求分组。FE IlO1在位于ED IlO1内的用于CN 102a的VLAN内传播ARP请求分组。VLAN ID可以由面向CN的 FE 1204或FE IlO1来确定。ARP请求分组所针对的VM 113 (即,具有与包括在ARP请求分组中的IP地址相匹配的IP地址的VM 113)生成包括其MAC地址的ARP响应分组。VM 113 将ARP响应分组经由ED IlO1传播到FE 110:。FE IlO1将ARP响应分组隧道传输回给与CN 10 相关联的面向CN的FE 1204。与CN 10 相关联的面向CN的FE 120jfARP响应分组隧道传输回给CN 102a中发起ARP请求分组的设备。ARP响应分组包括VM 113的MAC地址,CN 10 中的设备然后可以使用该MAC地址来将分组发送给VM 113,如上文中关于数据转发流所描述的。可以理解,上述ARP流与上文中描述的数据转发流类似。如上文中描述的,数据中心可以支持多个不同的数据转发流。因而可以理解,每个 FE 120可以实现具有用于转发分组的各种步骤的多个不同方法。参考图2、图3、图4描述和记载了三个这样的示例性方法;然而可以理解,也可以支持包括这些步骤的不同组合的各种其它方法。图2描述了在源转发元件处处理分组的方法的一个实施例,其中,分组针对的是在目的地边缘域(其具有与之相关联的目的地转发元件)中所托管的虚拟机。方法200在步骤202处开始。 在步骤204处,在源FE处接收分组,源FE与CN或者源ED相关联。分组针对的是目的地ED中的VM,目的地ED具有与之相关联的目的地FE。该分组包括cnet id、VM的IP 地址以及VM的MAC地址。 在步骤206处,确定与目的地ED相关联的目的地FE的MAC地址。使用虚拟机 MAC ^边缘域标识符映射以及边缘域标识符^ FE MAC列表映射来确定目的地FE的MAC地址。虚拟机MAC ο边缘域标识符被用于确定目的地ED的ED标识符,然后使用该ED标识符来访问边缘域标识符G FE MAC列表映射,从而确定目的地FE的MAC地址。
15
在步骤207处(可选地,例如,在通过⑶转发分组之前,目的地ED内用于CN的 VLAN的VLAN ID被添加到分组中的情况下),确定目的地ED内用于CN的VLAN的VLAN ID, 并且更新分组以使其包括所确定的目的地ED内用于CN的VLAN的VLAN ID。在步骤中208处,使用目的地FE的MAC地址(例如,使用MAC_in_MAC隧道技术) 将分组(即,初始分组或经更新的分组,取决于是否执行了步骤207而定)从源FE朝向目的地FE进行传播。方法200在步骤210处结束。图3描述了在与边缘域(其托管了分组所针对的虚拟机)相关联的转发元件处处理分组的方法的一个实施例,其中假设转发元件总是确定边缘域内CN的VLAN的VLAN ID。 该假设可以基于数据中心被实现和/或配置的方式。方法300在步骤302处开始。在步骤304处,在与ED (其托管了分组所针对的VM)相关联的FE处接收分组。该分组包括cnet id、VM的IP地址以及VM的MAC地址。分组可选地包括VLAN ID,其可以是或者可以不是ED内用于CN的VLAN的正确VLAN ID (例如,取决于CN和/或源ED所关联的FE是否被配置成在转发分组通过CD之前对该分组确定VLAN ID)。在步骤306处,确定ED内用于CN的VLAN的VLAN ID。使用(cnet标识符,边缘域标识符)^ VLAN标识符映射来确定该VLAN ID,其中根据分组来确定cnet标识符,并且可以按照任何合适的方式来确定边缘域标识符。在步骤308处,对分组进行处理以使其包括所确定的VLAN ID。在一个实施例中,在所接收到的分组不包括VLAN ID的情况下,处理可以包括将所确定的VLAN ID插入到分组内。在一个实施例中,在每个所接收到的分组已经包括VLAN ID的情况下,处理可以包括确定分组中的VLAN ID是否与所确定的VLAN ID匹配,并且在它们匹配的情况下保持分组的VLAN ID不变,或者在它们不匹配的情况下用所确定的VLAN ID来替换该分组的VLAN ID。在一个实施例中,在所接收到的分组可能包括或者可能不包括VLAN ID的情况下 (并且假设包括了 VLAN ID的任何所接收到的分组均包括ED内用于CN的正确VLAN ID),处理可以包括确定所接收到的分组是否包括VLAN,并且如果所接收到的分组包括VLAN ID, 则保持分组的VLAN ID不变,或者如果所接收到的分组不包括VLAN ID,则用所确定的VLAN ID来替换该分组的VLAN ID。在一个实施例中,在所接收到的分组可能包括或者可能不包括VLAN ID的情况下(并且没有假设包括了 VLAN ID的任何所接收到的分组包括ED内用于CN的正确VLAN ID),处理可以包括以下的组合确定分组是否包括VLAN ID,并且如果包括,则确定分组中的VLAN ID是否是ED内用于CN的正确VLAN ID,以及根据情况保持分组的VLAN ID不变、 用所确定的VLAN ID来替换该分组的VLAN ID或者将所确定的VLAN ID插入到分组中。无论如何,不管实现处理的方式怎样,所接收到的分组最终被处理以确保其包括正确的VLAN ID。在步骤310处,使用VLAN ID和VM的MAC地址来将分组从FE朝向VM传播。方法300在步骤312处结束。
图4描述了在与边缘域(其托管了分组所针对的虚拟机)相关联的转发元件处处理分组的方法的一个实施例,其中,未假设转发元件总是确定边缘域内CN的VLAN的VLAN ID。该假设可以基于数据中心被实现和/或配置的方式。方法400在步骤402处开始。在步骤404处,在与ED (其托管了分组所针对的VM)相关联的FE处接收分组。该分组包括cnet id、VM的IP地址以及VM的MAC地址。该分组可选地包括VLAN IDjVLAN ID 可能是或者可能不是ED内用于CN的VLAN的正确VLAN ID (例如,取决于CN和/或源ED 所关联的FE是否被配置成在转发分组通过CD之前对该分组确定VLAN ID)。在步骤406处,确定分组是否包括VLAN ID。如果分组不包括VLAN ID,则方法400接连前进到步骤408和步骤410。在步骤408 处,确定ED内用于CN的VLAN的VLAN ID。使用(cnet标识符,边缘域标识符)^ VLAN标识符映射来确定VLAN ID,其中根据分组来确定cnet标识符,并且可以按照任何合适的方式来确定边缘域标识符。在步骤410处,分组被更新以便包括所确定的VLAN ID。方法400 从步骤410前进到步骤412。如果分组包括VLAN ID,则方法400可选地前进到一个或多个步骤411(其中未假设分组中的VLAN ID有效)或者在别的情况下直接前进到步骤412(其中假设分组中的VLAN ID有效)。在可选的步骤411A处,作出关于分组中的VLAN ID是否有效的确定(例如,通过使用来自分组的信息以及一个或多个映射来确定ED内用于CN的VLAN的VLAN ID,并且将所确定的VLAN ID与包括在分组中的VLAN ID进行比较)。如果分组中的VLAN ID有效, 则方法400从步骤411A前进到步骤412。如果分组中的VLAN ID无效,则方法400前进到步骤41IB,在步骤4IlB处,分组中的VLAN ID被所确定的VLAN ID替换,并且方法400前进到步骤412。在步骤412处,使用VLAN ID以及VM的MAC地址来将分组从FE朝向VM传播。方法400在步骤414处结束。尽管主要被描述和记载为顺序地实施,但是上述方法200、300和400中的一个或多个的至少一部分可以同时地实施,或者按照与关于图2、图3和图4分别描述和记载的顺序不同的顺序来实施。如此处描述的,客户可以利用数据中心资源来透明地提供对客户网络的扩展。 iEC2架构使得客户能够获得第2层和/或第3层网络扩展。在第2层网络扩展中,数据中心中的虚拟服务器在逻辑上与客户网络中的客户服务器处在相同的LAN中。这是有利的,因为某些应用可能要求运行该应用的服务器是同一 LAN的一部分。这也是有利的,因为在同一 LAN内更容易迁移虚拟服务器。通常,第2层扩展一般比第3层扩展更灵活。在第3层网络扩展中,数据中心中的虚拟服务器与客户网络并不处于相同的子网中。客户可以在数据中心内具有一个或多个子网。通常,为了具有更多服务器、出于策略原因等可能需要第3层网络。在一个实施例中,为了支持客户的第3层扩展,FE 120与CC 140可以支持附加的路由器功能。对于支持第3层扩展的每个客户,附加的路由器功能可以包括使得至少一个虚拟路由器能够被分配给该客户,其中虚拟路由器与客户网络的外部进行对等处理(peerwith) 0在此布置中,数据由FE 120转发,并且路由协议在CC 140处运行。关于提供不同类型的扩展,可以理解,数据中心内的迁移独立于网络层,因为虚拟服务器是独立于位置的(即,它们能够在任何物理主机上运行),但是跨越不同子网在客户网络与数据中心之间的迁移更有挑战性。在一个实施例中,可以通过在客户网络的边缘处部署FE (该FE适于登记虚拟服务器的位置并且在数据中心内隧道传输来自FE的分组/将分组隧道传输至FE)来实现跨越不同子网在客户网络与数据中心之间的迁移。如上文中描述和记载的,iEC2架构提供了超过现有基于云的计算架构的许多优势。iEC2架构提供了不同客户网络之间的有效隔离。这包括支持客户的私有IP地址空间(其可以跨客户而潜在地重叠),隔离客户的业务,以及提供相似的隔离功能。这还可以包括实施资源分配,从而使得没有客户可以按照不受控的方式来影响任何其它客户的资源使用。iEC2架构为客户提供了透明性,从而使得数据中心的底层基础设施对客户是透明的。以这种方式,每个客户具有对其自身网络的逻辑视图(包括在数据中心中的云计算资源),而独立于数据中心的实际实现。这提供了许多优势,包括对客户而言管理的简化、对客户而言改进的安全性,等等。iEC2架构为客户提供了位置独立性。用于客户的虚拟服务器和网络可以在物理上位于数据中心内的任何地方。这提供了许多优势,包括资源利用的改善、供应的简化,等等。iEC2架构提供了简易的客户策略控制,使得客户能够在运行中配置策略设置、在网络中推行策略设置,等等。这是有利的,尤其是由于每个客户可以具有其自身的策略和安全性要求(例如,家庭客户可能仅需要基本的防火墙保护,而企业客户可能需要具有不同访问控制的多个安全区域)。iEC2架构是高度可扩缩的。可以支持的客户的数目仅受到数据中心中可用的资源的约束,而不受诸如VLAN可扩缩性问题的设计因素的约束。iEC2架构是低成本的。对于大多数设备来说,iEC2架构使得云服务提供商能够依赖现成的设备,以便可以减少云服务提供商的新投资。iEC2架构使得云服务提供商能够在不同客户之间共享它们的资源,因为为不同客户分配物理上分离的网络和资源的成本很
尚ο尽管此处的描述和记载主要是关于使用以太网(并且因而使用MAC地址)来提供此处描述和记载的iEC2架构的功能,然而可以理解,可以使用任何其它合适的协议和关联的地址来提供此处描述和记载的iEC2架构的功能。尽管此处的描述和记载主要是关于使用特定的映射来提供此处描述和记载的 iEC2架构的功能,然而可以理解,可以使用更少或更多的映射以及不同的映射来提供此处描述和记载的iEC2架构的功能。可以进一步理解,在一个或多个其它合适的协议被用于提供此处描述和记载的iEC2架构的功能的情况下,可以相应地修改此处描述和记载的映射。图5描述了适合在实现此处描述的功能时使用的计算机的高级别框图。如图5中所描述的,计算机500包括处理器元件502(例如,中央处理单元(CPU)和/或其它合适的处理器)、存储器504(例如,随机访问存储器(RAM)、只读存储器(ROM)等)、云计算模块505, 以及各种输入/输出设备506(例如,用户输入设备(诸如键盘、键板、鼠标等)、用户输出设备(诸如显示器、扬声器等)、输入端口、输出端口、接收机、发射机,以及存储设备(例如,磁带驱动器、软盘驱动器、硬盘驱动器、压缩盘驱动器等))。应该注意的是,可以在软件和/或软件与硬件的组合中实现此处描述和记载的功能,例如,使用通用计算机、一个或多个专用集成电路(ASIC)和/或任何其它的硬件等同物。在一个实施例中,云计算过程505可被加载到存储器504中并由处理器502执行来实现上述讨论的功能。因而,云计算过程505(包括相关联的数据结构)可被存储在计算机可读存储介质上,例如,RAM存储器、磁性或光学驱动器或软盘等。可以设想,此处作为软件方法讨论的某些步骤可以在硬件中实现,例如,实现为与处理器协作来实施各种方法步骤的电路。此处描述的部分功能/元件可以实现为计算机程序产品,其中,当由计算机处理时,计算机指令适应计算机的操作,从而使得此处描述的方法和/或技术被调用或以别的方式被提供。用于调用本发明方法的指令可以存储在固定的或可装卸的介质中,以广播或其它信号承载介质经由数据流来传输,和/或存储在根据指令操作的计算设备内的存储器中。尽管此处已详细示出和描述了合并了本发明的教导的各种实施例,但是本领域的技术人员可以容易地设计出许多仍然合并了这些教导的其它变化的实施例。
权利要求
1.一种使得能够使用数据中心的资源作为客户的客户网络的扩展的方法,其包括在转发元件(FE)处接收分组,所述分组针对的是在所述数据中心的边缘域处所托管的虚拟机,其中所述边缘域支持用于相应的多个客户网络的多个VLAN,其中所述分组包括所述客户网络的标识符以及所述虚拟机的MAC地址;使用所述客户网络的标识符以及所述虚拟机的MAC地址来确定所述边缘域中用于所述客户网络的VLAN的VLAN ID ;更新所述分组,以便包括所述边缘域中用于所述客户网络的VLAN的VLAN ID ;以及将所更新的分组从所述FE朝向虚拟机传播。
2.根据权利要求1所述的方法,其中,确定所述边缘域中用于所述客户网络的VLAN的VLAN ID 包括使用所述虚拟机的MAC地址来确定所述边缘域的标识符;以及使用所述客户网络的标识符和所述边缘域的标识符来确定所述边缘域中用于所述客户网络的VLAN的VLAN ID。
3.根据权利要求1所述的方法,其中,所述FE与托管了所述虚拟机的所述数据中心的边缘域相关联,其中,更新所述分组以便包括所述边缘域中用于所述客户网络的VLAN的VLAN ID 包括如果所接收到的分组包括现有的VLAN ID,则用所确定的VLAN ID来替换所述现有的VLAN ID ;以及如果所述分组不包括现有的VLAN ID,则将所确定的VLAN ID插入到所述分组中。
4.根据权利要求1所述的方法,其中,所述FE与托管了所述虚拟机的所述数据中心的边缘域相关联,其中,将所更新的分组从所述FE朝向所述虚拟机传播包括使用所述虚拟机的MAC地址以及包括在所更新的分组中的VLAN ID,将所更新的分组朝向所述虚拟机传播。
5.根据权利要求1所述的方法,其中,所述FE是与所述数据中心的第一边缘域相关联的第一 FE,其中,托管了所述虚拟机的所述边缘域是所述数据中心的第二边缘域,所述第二边缘域具有与其相关联的第二 FE,所述方法进一步包括通过以下方式使用所述虚拟机的MAC地址来确定第二 FE的MAC地址使用所述虚拟机的MAC地址来确定所述第二边缘域的标识符,以及使用所述第二边缘域的标识符来确定第二 FE的MAC地址。
6.根据权利要求1所述的方法,其中,所述FE是与所述数据中心的第一边缘域相关联的第一 FE,其中,托管了所述虚拟机的所述边缘域是所述数据中心的第二边缘域,所述第二边缘域具有与其相关联的第二 FE,其中,将所更新的分组从第一 FE朝向所述虚拟机传播包括使用第二 FE的MAC地址,将所更新的分组从第一 FE朝向第二 FE传播。
7.根据权利要求1所述的方法,其中,所述FE是与所述客户网络相关联的第一FE,其中,托管了所述虚拟机的所述边缘域具有与其相关联的第二 FE,所述方法进一步包括通过以下方式来确定第二 FE的MAC地址使用所述虚拟机的MAC地址来确定所述边缘域的标识符,以及使用所述边缘域的标识符来确定第二 FE的MAC地址。
8.根据权利要求1所述的方法,其中,所述FE是与所述客户网络相关联的第一FE,其中,托管了所述虚拟机的所述边缘域具有与其相关联的第二 FE,其中,将所更新的分组从第一 FE朝向所述虚拟机传播包括使用第二 FE的MAC地址,将所更新的分组从第一 FE朝向第二 FE传播。
9.一种使得能够使用数据中心的资源作为客户的客户网络的扩展的设备,其包括用于在转发元件(FE)处接收分组的装置,所述分组针对的是在所述数据中心的边缘域处所托管的虚拟机,其中所述边缘域支持用于相应的多个客户网络的多个VLAN,其中所述分组包括所述客户网络的标识符以及所述虚拟机的MAC地址;用于使用所述客户网络的标识符以及所述虚拟机的MAC地址来确定所述边缘域中用于所述客户网络的VLAN的VLAN ID的装置;用于更新所述分组以便包括所述边缘域中用于所述客户网络的VLAN的VLAN ID的装置;以及用于将所更新的分组从所述FE朝向虚拟机传播的装置。
10.一种使得能够使用数据中心的资源作为客户的客户网络的扩展的网络,其包括所述数据中心的多个边缘域,其中,每个边缘域包括至少一个物理服务器,所述至少一个物理服务器被配置为托管用于由至少一个客户来使用的至少一个虚拟机,其中,每个边缘域被配置以便支持用于每个客户网络的VLAN,在所述VLAN中供应有虚拟机;多个转发元件,其中每个转发元件被配置以便为以下中的至少一个支持分组转发功能至少一个所述边缘域或者至少一个客户网络;以及被配置以便为所述边缘域之一支持分组转发功能的每个转发元件被配置以便对于具有在所述边缘域内托管的至少一个虚拟机的每个客户网络,将VLAN ID与所述客户网络相关联;以及所述数据中心的核心域,其中,所述核心域包括多个交换机,所述多个交换机被配置为在所述转发元件之间转发分组。
全文摘要
本发明提供了一种能力来提供在虚拟化网络基础设施情况下的透明云计算。一种使得能够将数据中心的资源用作客户网络的扩展的方法包括在转发元件(FE)处接收分组,所述分组针对的是在所述数据中心的边缘域处托管的虚拟机;确定所述边缘域中用于所述客户网络的VLAN的VLAN ID;更新所述分组以便包括所述边缘域中用于所述客户网络的VLAN的VLAN ID;以及将所更新的分组从所述FE朝向虚拟机传播。所述边缘域支持用于相应的多个客户网络的多个VLAN。所述分组包括所述客户网络的标识符以及所述虚拟机的MAC地址。使用所述客户网络的标识符和所述虚拟机的MAC地址来确定所述边缘域中用于所述客户网络的VLAN的VLAN ID。所述FE可以与托管了所述虚拟机的边缘域相关联,与不同于托管了所述虚拟机的边缘域的所述数据中心的边缘域相关联,或者与所述客户网络相关联。取决于接收到所述分组的FE的位置,可以根据需要来提供附加的处理。
文档编号H04L12/56GK102577256SQ201080046940
公开日2012年7月11日 申请日期2010年10月6日 优先权日2009年10月21日
发明者F·郝, H·宋, S·姆克基, T·V·拉克斯曼 申请人:阿尔卡特朗讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1