网络虚拟化的制作方法

文档序号:7977813阅读:331来源:国知局
网络虚拟化的制作方法
【专利摘要】本公开的实施例可包括方法、系统以及具有可执行指令的计算机可读介质。网络虚拟化的一种示例的方法可包括:由具有物理资源和/或虚拟资源的数据中心提供多个虚拟租户数据中心(tDatacenter),每个tDatacenter与其他tDatacenter隔离。租户虚拟局域网(T-VLAN)关联到所述多个tDatacenter中的每个,且端到端不变网络虚拟局域网(VLAN)身份(VID)标签(T-VID)的值关联到特定的T-VLAN。在边缘网络边界将与所述特定的T-VLAN关联的网络数据包修改为包括所述T-VID。所述T-VID配置为具有超过4096个的可能值。
【专利说明】网络虚拟化
【背景技术】
[0001]随着计算系统尺寸的减小,客户机-服务器计算设置的出现,以及更便宜的网络的可用性,数据中心不再需要位于集中的位置和/或安置在特定的数据中心内。与互联网关联的基础设施可用于提供网络资源的某些部分,例如,分布式资源之间的通信。
[0002]云计算可提供经由网络(例如互联网)的对计算系统资源的按需访问,和/或提供软件作为服务。在之前的计算配置中,专用的数据中心资源可能已经仅分配给了单个租户(tenant),专用的数据中心资源包括服务器和存储资源。数据和软件可能已经包含在专用的数据中心资源上。随着云计算的出现,像数据中心这样的可包括服务器、存储资源、网络资源和/或软件的计算系统可根据需要提供给多个租户(例如,数据中心作为服务(datacenter-as-a-service))。
【专利附图】

【附图说明】
[0003]图1示出了根据本公开的一种示例的数据中心。
[0004]图2示出了根据本公开的具有支持将数据中心虚拟化到许多独立的tDatacenter的架构的一种示例的网络。
[0005]图3示出了与根据本公开的多租户数据中心计算系统关联的示例的帧定义。
[0006]图4不出了根据本公开的T-VLAN的骨干边缘桥。
[0007]图5不出了根据本公开的vSwitch的骨干边缘桥。
[0008]图6不出了根据本公开的pSwitch的骨干边缘桥。
【具体实施方式】
[0009]本公开的实施例可包括方法、系统及具有可执行指令的计算机可读介质。一种网络虚拟化的示例的方法可包括由具有物理资源和/或虚拟资源的数据中心提供多个虚拟租户数据中心(tDatacenter),每个tDatacenter与其他tDatacenter隔离。租户虚拟局域网(T-VLAN)与多个tDatacenter的每个关联,且端到端不变网络虚拟局域网(VLAN)身份(VID)标签(T-VID)的值与特定的T-VLAN关联。在边缘网络边界将与特定的T-VLAN关联的网络数据包修改为包括T-VID。T-VID配置为具有超过4096个可能值。
[0010]本文所使用的物理数据中心(pDatacenter)是用于数据(例如,信息)的存储、管理以及通信的物理网络计算系统。pDatacenter可包括像服务器这样的物理资源、网络资源(例如,骨干网络构造、通信连接、802.1Q兼容的网络设备,等等)、存储资源(例如,内存)、第四层至第七层(L4-L7)物理设备,该第四层至第七层(L4-L7)物理设备提供例如应用递送控制器、负载均衡、入侵防护和/或其他能力,和/或硬件组件。pDatacenter可位于集中安装中,或具有地理上分散的组件。
[0011]本文所使用的数据中心指物理网络计算系统(B卩,pDatacenter),但还可包括像虚拟服务器(vServer或虚拟机(VM))、虚拟存储、虚拟网络、软件操作系统(OS)、第四层至第七层(L4-L7)虚拟网络服务、和/或带有应用(例如,软件)这样的虚拟资源。用前面带有“V”的资源表示的虚拟资源指在软件中建立的资源。
[0012]本文所使用的术语“数据中心(datacenter)”区别于数据中心(data center)(注意:两个词),因为数据中心(data center)指计算系统可位于其内的区域(例如,房间、建筑物、校园)。因此,数据中心(datacenter)可位于数据中心(data center)中。
[0013]本文所使用的术语“tDatacenter”指租户数据中心。也即,可将数据中心虚拟化为多个tDatacenter。tDatacenter可具有分配到特定的tDatacenter并因此专用于特定的用户(例如,tDatacenter的租户)的(例如,数据中心的)物理资源和虚拟资源。由于分配到一个tDatacenter的资源(例如,服务器、存储资源,等等)、数据以及软件对其他tDatacenter不可用,一个tDatacenter可与数据中心的其他tDatacenter隔离。也即,tDatacenter不知道与其他tDatacenter关联的资源、数据和/或软件,且该tDatacenter的用户不能访问与其他tDatacenter关联的资源、数据和/或软件。
[0014]超过一个的tDatacenter可使用与另一个tDatacenter共享的资源。然而,各自的tDatacenter将不知道该资源正被共享。例如,物理服务器可具有在其上实现的多个虚拟机(VM),该多个VM中的一些与一个tDatacenter关联,且该多个VM中的其他VM与一个或多个其他tDatacenter关联。因此,每个tDatacenter可知道物理服务器以及与一个特定的tDatacenter关联的VM的存在,但不知道与其他tDatacenter关联的那些VM,或甚至不知道物理服务器必然由一个或多个其他tDatacenter共享的事实。
[0015]美国电气电子工程师协会(IEEE) 802.1Q局限于小于4096个的客户虚拟局域网(C-VLAN),这主要是由于唯一的寻址约束,该唯一的寻址约束会阻碍支持大量(B卩,超过4096)tDatacenter需要的VLAN的数量的可扩展性(假设每个tDatacenter至少一个VLAN,且为了隔离的原因,给定的VLAN仅分配给一个tDatacenter)。IEEE802.1Q标准还定义了4096个堆叠VLAN (S-VLAN)0使用IEEE802.1ad (常称为“QinQ”)协议的S-VLAN可确定大约一千六百万个分离的VLAN。但是,在许多数据中心使用模型中,S-VLAN在边缘消耗,以提供多信道支持。此外,S-VLAN不提供MAC虚拟化,以支持扩展大量的VM。
[0016]IEEE802.1Qah运营商骨干桥接(PBB)标准提供用于用户以太网数据包在运营商网络上传输的MAC-1n-MAC封装,其可应用于运营商网络为数据中心骨干第二层(L2)构造(DBLF)的数据中心,该DBLF具有配置作为数据中心的边缘区域中的VLAN的用户网络。然而,IEEE802.1Q标准VLAN需要将边缘中的VLAN的12位VLAN身份(VID)标签转换为PBB帧中的24位服务标识符(例如,骨干服务实例标识(Ι-SID))。转换的需要不提供与特定的VLAN对应的端到端唯一不变标签。此外,根据VLAN的特定的拓扑结构,可用于一些数据中心配置的可用端到端VLAN总数可仍只有4096。非以太网本地解决方案(例如,虚拟专用LAN服务(VPLS)、多协议标签交换(MPLS))缺少在数据中心中采用的支持,在该数据中心中,以太网是主导技术。
[0017]因此,根据之前的方法,数据中心可虚拟化为例如4096个tDatacenter,每个tDatacenter具有VLAN并使用不变标签,数据中心的物理资源和虚拟资源可指定到每个tDatacenter,并根据需要(例如,数据中心作为服务)分配到一个tDatacenter。在商业云计算环境中,4096个可能的tDatacenter会大大地限制可使用该云以获得数据中心作为服务的租户的数量。根据本公开的一个或多个实施例,提供将数据中心虚拟化为超过4096个tDatacenter的方法和装置。[0018]一个或多个网络可在数据中心上实现,例如物理局域网(PLAN)和/或虚拟局域网(VLAN)0与特定的tDatacenter关联的特定类型的VLAN在本文称为T-VLAN。在数据中心内传递的数据包可包括端到端可变VID,该端到端可变VID确定该数据包为与特定的VLAN关联。更具体地,租户VID (T-VID)可为端到端可变VID,该端到端可变VID确定数据包为与特定的T-VLAN关联。
[0019]根据本公开的一个或多个实施例,数据中心可虚拟化为超过4096个tDatacenter并通过使用比传统的VID更大的T-VID供应T-VLAN来提供网络隔离。根据各种实施例,可使用具有超过12位的比特位的T-VID,其在数据中心上能够支持超过4096个T-VLAN实例。例如,24位的T-VID能够支持超过一千六百万个的T-VLAN。根据一些实施例,至少一个T-VLAN可指定给每个tDatacenter。因此,使用24位的T-VID虚拟化T-VLAN并给每个tDatacenter指定一个T-VLAN,可在数据中心上实现超过一千六百万个的tDatacenter。然而,本公开的实施例不局限于将单个T-VLAN指定给tDatacenter。也即,根据本公开的实施例,为了给定的tDatacenter内的网络连通性并仍然使每个数据中心超过4096个的tDatacenter能够虚拟化,可将一个或多个T-VLAN分配给每个tDatacenter。
[0020]图1示出了根据本公开的一种示例的数据中心。本公开的实施例不局限于图1中所示的大大简化的特定的数据中心100设置和/或组件配置。数据中心100可包括与图1中所示的那些不同的数量和类型的资源(例如,服务器、网络资源、存储资源)。例如,数据中心100可包括其他和/或不同的计算设备。数据中心100可为可包括客户机计算设备的更大的计算系统的一部分、和/或与网络104 (例如,互联网)通信地耦合的数据中心的其他部分。
[0021]图1示出了一种以太网架构,该以太网架构使得数据中心100进一步虚拟化为大量的tDatacenter成为可能。tDatacenter可为租户上下文虚拟化数据中心。如上面所讨论的,tDatacenter作为与其他数据中心隔离的分离的数据中心呈现给用户。来自常见的底层数据中心的物理服务器(PServer)和/或基于软件的虚拟服务器(vServer)、存储资源和网络资源可指定给可能成千上万(或更多)的tDatacenter。例如,持续使用工业标准IEEE802.1Q数据中心骨干构造,pServer和vServer的数量可超过好几万,且虚拟机(VM)的量可超过几十万。
[0022]为了简化,图1中示出的数据中心100显示了服务器(例如,pServerll2)以及网络资源(例如,骨干网络构造102、边缘路由器106、上行链路108、边缘物理交换机110),且未显示存储资源。存储资源可通信地耦合至一个或多个服务器。存储资源可包括物理驱动器(例如,硬盘驱动器、固态硬盘)或其他物理非易失性存储设备。物理存储资源可相当于与其他物理资源和虚拟资源关联的虚拟存储器分配。
[0023]如图1中所示,数据中心100可包括经由一个或多个边缘路由器106和上行链路108通信地耦合至网络104的骨干网络构造102。多个pServer 112可通过多个边缘物理交换机(pSwitch) 110通信地耦合至骨干网络构造102。pServer 112可包括物理网络接口控制器(PNIC) 114。可在pServerll2上实现一个或多个VM118,VM118通过虚拟交换机(vSwitch) 116奉禹合至pNIC114。VMl 18可配置和/或运行为vServer。
[0024]数据中心100可包括比图1中所示的更多或较少的边缘路由器106、上行链路108、边缘 pSwitchllO、pServerll2> pNIC114、VMl 18 和 / 或 vSwitchll6。此外,数据中心100内组件的设置和/或配置可与图1中所示的不同,且数据中心100可进一步包括任意兼容的设置中的存储资源(未示出)。
[0025]在一个示例的实现中,pServer 112端节点可为机架中的刀片服务器(“刀片”),例如惠普刀片系统底盘。以太网端节点可为其他端节点实体中的pNIC114或虚拟网络接口控制器(vNIC)。边缘pSwitchllO还可位于机架中(例如,在交换机模块中或机架的顶部)。
[0026]根据一个示例的实现,骨干网络构造102可为低延时、高横截面带宽以太网网络。骨干网络构造102可使用多径和/或哈希路由机制。由于图1是数据中心100的简化的表现,已省略了一些细节,例如,那些为了高可用性可实现数据中心构造102的双冗余的组件。根据本公开的一个或多个示例,数据中心100可包括几千个边缘pSwitchllO、好几万个pServer 112和/或几十万个VMl 18,或更多。
[0027]租户上下文(关于图2进一步讨论的应用)可直接在pSerVerll2上执行,或可在VMl 18上执行,该VMl 18托管在pServerll2上执行的超级监视者(hypervisor)上。也称为虚拟机管理器的超级监视者为在服务器上执行以提供同时执行多个操作系统(OS)的平台,并由此支持主机pServer上的多个VM的虚拟化技术。vSwitchll6可在超级监视器中或PNIC114内实现。
[0028]上行链路108为网络用具,该网络用具可包括与和网络104通信相关的OSI第四层至第七层(L4-L7)数据中心服务,包括安全服务,例如防火墙以及入侵防御系统(IPS)、负载均衡、和/或应用交付控制器(ADC)服务。L4-L7层分别指传输层、会话层、表示层以及应用层。上行链路108通过关联的边缘路由器106连接至一个或多个网络104(为了简化,图1中仅示出一个网络)。具有L4-L7层服务的网络用具还可提供作为独立于上行链路108的数据中心资源。
[0029]根据本公开的一个或多个示例,提供具有多租户架构的数据中心,使得可有效地且安全地共享数据中心的物理资源和虚拟资源。如本文所用的租户指被允许共享数据中心的物理资源和虚拟资源的用户。但是,由本公开描述的架构和技术与对应于个人租户的数据中心的资源的物理隔离不同。本公开的网络虚拟化技术不互相排斥,并因此能够补充物
理隔离方法。
[0030]数据中心100的物理组件和虚拟组件可用于实现一个或多个租户网络(tNetwork),例如第一 tNetworkll7 和第二 tNetworkll9。如图1 中所不的,可使用 VMl 18的一部分实现第一 tNetworkll7,且可使用VM118的另一部分实现第二 tNetworkll9。更具体地,在一些示例中,可使用来自特定的pServerll2的VM118的一部分实现第一 tNetworkll7,且可使用来自同样的pServerll2的VMl 18的另一部分实现第二tNetworkll9。还可使用如图1中所示的包括其全部VM118的整个特定的pServerll2实现tNetwork。例如,第一 117和第二 119租户网络可对应于同样的或不同的数据中心100租户。本公开的实施例不局限于任意特定的tNetwork配置。如关于图2进一步讨论的,tDatacenter可具有一个或多个tNetwork。
[0031]图2示出了根据本公开的具有一种支持将数据中心虚拟化为许多独立的tDatacenter的架构的示例网络。为了支持多租户架构,数据中心可虚拟化为多个tDatacenter,该多个tDatacenter可包括pServer、vServer、以及对应的存储器和网络资源。作为一种虚拟产物,tDatacenter可用于提供“数据中心作为服务”,例如,作为云计算服务。
[0032]租户上下文是租户拥有的在数据中心上执行的一种应用或一组应用。根据本公开的各种示例,tDatacenter可相当于特定的租户上下文。每个租户上下文“看到”与个别的租户上下文关联的tDatacenter,而不能“看到”与其他租户上下文关联的tDatacenter。每个租户上下文可管理其租户上下文内的物理和虚拟数据中心资源,例如,MAC地址、VLAN、pServer、vServer,等等。对应于租户上下文的tDatacenter可具有一个或多个租户网络,例如图1中所示的。根据租户计算需要的范围和规模,租户可具有许多租户上下文。例如,租户上下文可包括面向客户的网络应用、内部财务(例如,工资单)应用、供应链管理系统,
坐坐寸寸ο
[0033]与租户上下文关联的tDatacenter可具有至少一个具有支持存储资源和L2网络的物理服务器或虚拟服务器。更复杂的tDatacenter可具有高达数千个支持存储资源和L2/L3网络和L4-L7网络服务的物理服务器和/或虚拟服务器。可通过自动化处理创建tDatacenter配置,例如数据中心自动化工具及其关联的业务流程工具,该自动化处理可放置并路由数据中心中的tDatacenter实例。物理服务器或虚拟服务器、网络资源、存储资源、和/或网络服务可分配给tDatacenter,以实现配置。本公开的tDatacenter虚拟化与之前的方法的物理和/或虚拟硬件和/或软件虚拟化不同,至少因具有超过12位的T-VID的使用。
[0034]图2显示了具有支持将数据中心虚拟化为与租户上下文关联的许多独立的tDatacenter (例如,数据 中心可虚拟化为多个tDatacenter “部分”)的多租户以太网L2/L3网络220。L2/L3层分别指OSI模型数据链路层以及网络层。网络220可架构上分为骨干网络构造222以及多个不相交的边缘区域,包括第一边缘区域224-1,…,以及第M边缘区域224-M。如果数据包不得不遍历骨干以在不相交的边缘区域上的点之间传输,则边缘区域是不相交的。否则,边缘区域是单个边缘区域。
[0035]网络220在每个边界处可具有骨干边缘桥(BEB),例如在边缘I的边界示出的MACBEBP34-1,以及在边缘M的边界示出的MAC BEBM234UEB的位置取决于特定的网络实现。例如,BEB可在vSwitch中或在邻近的pSwitch中实现。BEB可在vSwitch中实现的时候,边缘区域可完全实现虚拟网络(vNetwork),并因此不需要为了正确的行为而改变硬件。
[0036]图2进一步显示了具有虚拟地位于骨干网络构造222内且向根据IEEE802.1Q网络标准实现的网络220的边缘区域224-1和224-M延伸的部分的C-VLAN230。边缘区域224-1和224-M分别表示边缘区域I和边缘区域M。可预见额外的边缘区域,但是为了简化在图2中未示出。在图2中C-VLAN230标注为C-VLAN X,以表示其可为在网络220内创建的许多C-VLAN中的一个。C-VLAN230显示为在边缘区域224-1和224-M中的每个中具有多个C-VLAN端节点238。C-VLAN端节点238具有唯一的MAC地址(例如,MAC A、MAC B、MACC、MAC D)。
[0037]图2还显示了与C-VLAN230关联的若干个T-VLAN,包括T_VLANp226以及T-VLANq228。T-VLAN226和228显示为在边缘pSwitch224_l和224-M的每个中具有多个T-VLAN端节点236。T-VLAN端节点236还可具有唯一的虚拟MAC地址(例如,与T-VLANp关联的 tMAC a、tMAC b、tMAC c 以及 tMAC d ;与 T-VLANq 关联的 tMAC e、tMAC f、tMAC g 以及 tMAC h)。[0038]如上文中简要提到的,MAC BEBP34-1在边缘I的边界示出,且MAC BEBm234_M在边缘M的边界示出。隧道232在图2中显示,用于骨干网络构造222与边缘区域224-1和224-M中各自的区域之间的数据包转发。尽管在图2中隧道描绘为物理结构,应理解,隧道232可在经由数据包封装技术转发数据包期间虚拟地实现。各自的隧道232终止于MACBEBP34-1 和 MAC BEBm234_M。
[0039]骨干网络构造222可为与现有的网络220实现兼容的IEEE802.1Q网络。骨干网络构造222可支持一个或多个C-VLAN,还支持用于多信道的S-VLAN。如下面进一步讨论的,IEEE802.1Q网络可用不包含T-VLAN的pSwitch实现。不相交的边缘区域224-1,….,224M可因此在骨干网络构造222和pServer和/或vServer的NIC之间。
[0040]本公开的多租户数据中心可提供可在tDatacenter之间分配并使用下面进一步描述的PBB封装技术支持的超过一千六百万个的T-VLAN和/或超过4096个的C-VLAN。根据本公开的示例,可与tDatacenter关联并分配给租户上下文的T-VLAN为802.1Q数据中心网络的C-VLAN的演进。数据中心网络可虚拟化为由帧的C标签部分中的12位客户VLAN标识符(C-VID)标注的C-VLAN。C-VID在数据中心范围内是唯一的。4096个可能的C-VLAN中的每个是独立的广播域。C-VLAN可在物理的pSwitch和/或vSwitch中实现。对应的PNIC和/或vNIC可由在每个各自的C-VLAN的范围内唯一的常用的48位MAC地址编址。
[0041]对于C-VLAN,数据包转发可使用学习缓存以解析C-VID和目的MAC地址(DMAC),从而确定待发送特定的数据包的一个或多个端口。例如,可在表中查找C-VID和DMAC,以确定一个或多个端口。如果DMAC是单播的,那么,确定单个端口,如果DMAC是多播组,那么确定端口列表。广播MAC可返回由特定的C-VLAN使用的全部端口的端口列表。
[0042]除了用于标注T-VLAN实例的更大的地址空间(例如,24位)夕卜,T-VLAN可具有与C-VLAN同样的语义。对于具有C-VID的数据包,适用于IEEE802.1Q标准的VID分配、转发、学习/溢出、EVB/虚拟以太网端口聚合器(VEPA)的全部机制适用于具有更大的T-VID的数据包。
[0043]图3示出了根据本公开的与多租户数据中心计算系统关联的示例的帧定义。如之前讨论的,T-VID是可具有超过4096个的可能值且用于唯一地标注T-VLAN的(例如,作为骨干网络构造中的边缘T-VLAN或PBB服务实例)唯一的端到端不变网络身份标签。也即,T-VID可确定与特定的T-VLAN关联的数据包。这样,T-VID可用于容易地加强T-VLAN之间的可验证的隔离。
[0044]可在边缘网络边界修改网络数据包以填加或去除T-VID。如本文所用的,边缘网络边界指服务器到网络接口,包括但不限于虚拟服务器到网络接口。填加的/去除的T-VID可基于端点tMAC地址以及该tMAC地址对应的特定的T-VLAN。然后,可根据T-VID转发修改为包括T-VID的数据包。
[0045]根据各种示例,T-VID可分配给与VM的虚拟网络接口控制器(vNIC)接口的虚拟交换机(vSwitch)端口处的数据包,或分配给与pServer的物理网络接口控制器(pNIC)接口的物理交换机(pSwitch)端口处的数据包。像vSwitch、vNIC、vServer和VM这样的虚拟网络组件可在软件中实现,而像pServer、pSwitch和pNIC这样的物理网络组件可在硬件中实现。例如,vSwitch可在例如超级监视者这样的软件中实现。
[0046]根据多个实施例,BEB可将每个T-VLAN封装为标准PBB帧中的IEEE802.1Qah运营商骨干桥接服务实例。标准的改变是B-VLAN以太网类型可全局配置为C-VLAN以太网类型(除由标准指定的S-VLAN以太网类型外)。帧的服务ID可设置等于T-VLAN的T-VID。以此方式,24位的T-VID可用于使得待支持的超过一千六百万个的T-VLAN不依赖拓扑结构成为可能。将巾贞封装成IEEE802.1Qah巾贞的封装功能可发生在vSwitch中或邻近的pSwitch中。当将帧封装成IEEE802.1Qah帧的封装功能发生在pSwitch中时,虚拟以太网端口聚合器(VEPA) 802.1Qbg模式直接概括。
[0047]T-VID可用于过滤并增强vNIC或pNIC处直接可证的隔离。T-VID可用于确定T-VLAN的数据包,以在运输中(即,“在线路上”)监视。为了数据中心内的信息的端到端传输,可用多个协议及其关联的帧编码唯一的以及端到端的不变T-VID。T-VID还可用于定义单播数据包、多播数据包和广播数据包的转发行为。由于T-VID唯一标识T-VLAN,通过包括T-VID,端节点地址(例如,MAC地址)仅需要在特定的T-VLAN的上下文中是唯一的。
[0048]本公开的多租户数据中心架构和技术的一个优点是:数据包可在其上传输的核心的开放系统互联(OSI)第二层(L2)(即,数据链路层)构造可为使用标准802.1Qah封装的数据包的标准IEEE802.1Q网络,包括用C标签替换B标签的数据包配置。本公开的多租户数据中心架构和技术还提供封装的端节点MAC地址和外部MAC地址的多对一比,这可减小核心802.1Q网络的转发表需求。
[0049]图3示出了用于直接的数据中心骨干通信的IEEE802.1Q数据包的帧,还示出了正隧道穿越骨干网络(例如,经由图2中所示的隧道232)的T-VLAN数据包的IEEE802.1Qah封装的T标签和T-VLAN头的帧。图3在340显示了 IEEE802.Qah帧格式C,其具有MAC地址部分345,该MAC地址部分345包括目的MAC地址(DMAC)和源MAC地址(SMAC),接着该MAC地址部分345的是可选的S标签346、C标签347、以及以太网类型的有效负载(ET-X) 354。在342显示了帧格式D,具有MAC地址部分345,该MAC地址部分345包括DMAC和SMAC,接着该MAC地址部分345的是可选的S标签346,且终止于以太网类型的有效负载(ET-X)354。但是,帧格式D包括取代包括在帧格式C中的C标签347的T标签350。在图3中的343还显示了另一个帧格式D,具有MAC地址部分345,该MAC地址部分345包括DMAC和SMAC,接着该MAC地址部分345的是可选的S标签346、可选的C标签347、T标签350,且以以太网类型的有效负载(ET-X)354结束。最后,图3在344显示了 IEEE802.Qah帧格式E,具有MAC地址部分345,该MAC地址部分345包括DMAC和SMAC,接着该MAC地址部分345的是B标签348、T标签350,且以以太网类型的有效负载(ET-X) 354结束。
[0050]IEEE802.1Q兼容帧具有可选的C标签347,该可选的C标签347使得由12位VID标注的高达4096个VLAN成为可能。具有附加的12位VID的可选的S标签346可插入到(例如,包括在帧格式C340和D343中的)C标签或(包括在帧格式D342中的)T标签的前面的帧中,以使得多信道支持成为可能。根据B标签是否包括以太网类型ET-S或ET-C作为ET-B部分,B标签与S标签或C标签相同。根据多种示例,缺省配置可为B标签具有以太网类型的C标签。对B标签的IEEE802.1Qah定义是具有以太网类型的S标签。
[0051]帧格式D343中的C标签是可选的。如果存在C标签,其使得假如MAC地址具有C-VLAN范围,则数据包不进行修改而在IEEE802.1Q桥上传输。可选的C标签还使得PBBC-VLAN隧道成为可能,给定的T-VLAN在边缘处指定使用PBBC-VLAN隧道。帧格式D使得(使用12位VID转发的)骨干网络构造以及(使用24位VID转发的)边缘网络之间的边界位于vSwitch或邻近的pSwitch中。
[0052]如上面所提到的,T标签可为具有新的以太网类型的新标签。T标签可具有超过12位的VID (例如24位的VID)(例如,T-VID),其可用于唯一地标注超过4096个的VLAN。在一些配置中,T标签可用于唯一地标注高达大约一千六百万个的VLAN,或更多。T-VID是唯一的,具有全局数据中心范围,提供网络端到端不变性。T-VID还可具有包括也端到端携带的4位优先编码点(PCP)和丢弃资格(D)的附加字节。24位T-VID和PCP端到端保留在帧中,且可用于验证VLAN成员。
[0053]T-VID的附加位使得相比于C标签VID的12位将定义超过4096个的VLAN成为可能。如果全部网络组件可处理具有T标签内超过12位的VID,增加可用VLAN的数量仅仅是用T标签取代C标签标注VLAN的问题。但是,一些遗留的pSwitch不具有处理在T标签内具有超过12位的VID的能力。因此,实现具有支持大约一千六百万个VLAN的大规模的网络虚拟化的数据中心可需要替代或升级不兼容的pSwitch。
[0054]通过数据包封装实现的隧道技术允许随着数据包传输T标签。但是,封装头的包含会导致数据包超过标准帧尺寸。这需要网络支持802.3as-2006以太网帧扩展(还有802.3-2008)封装帧,其允许1500字节的客户机数据封装具有高达482字节的封装头以及2000字节的最大帧尺寸。
[0055]映射到T-VID的C-VID用于使得使用T-VLAN结构让骨干网络出现在端节点中成为可能。保留一些T-VLAN VID (4096)。高12位可设置为O x 001且低12位可为骨干网络VLAN的C-VID。tDA和tSA同样地直接设置为骨干目的地址(DA)以及源地址(SA)。骨干VLAN在T-VLAN结构中的嵌入消除了异常路径,以在BEB处理未封装的数据包,这大大简化了控制面。
[0056]T-VLAN转发(例如,通过例如查找,将T-VID和tDA解析为一个或多个端口)可等同于使用C-VID和DA解析一个或多个端口(标准骨干网络转发)。因此,用此封装,可如具有T-VID的T-VLAN —样,4096个可能的C-VLAN可视为在边缘区中,该T-VID在T-VID地址范围O X 1000至O X IFFF中。这样,在边缘中具有C-VLAN的架构等同于802.1Qah网络。中贞中包含T标签在网络的边缘的vSwitch中以及对于pNIC邻近的pSwitch子集是容易实现的。
[0057]根据各种示例,除了 T标签,T-VLAN可具有与其关联的可选的C标签。在骨干网络构造(例如图2中示出的222)中,在T-VLAN中的数据包转发可使用C-VID和DMAC解析一个或多个端口。在边缘区域中,可使用T-VID和DMAC解析一个或多个端口。在骨干网络构造中,T-VLAN在关联的C-VLAN中开通隧道。由于T-VID不仅在C-VLAN范围内,在整个数据中心范围内是唯一的,在边缘中的转发不依赖于C-VID。
[0058]在PBB802.1Qah帧中,在边缘/骨干边界引入了封装和解封装。此网络功能将数据包封装在具有带有隧道入口 /出口的BEB的MAC地址(B卩,骨干MAC (B-MAC))的MAC帧中,由于在边缘区域中,内部MAC地址仅用于转发,这实现了仅需要内部MAC地址在T-VLAN范围内是唯一的。T-VLAN范围内的MAC地址称为tMAC地址。可在tDatacenter的上下文中完全管理tMAC地址。
[0059]最终,如果存在tMAC和封装MAC之间的多对一关系,则封装最小化在骨干网络构造中可见的MAC地址的数量。一些实现可引起50:1或更大的比。较大的比减小骨干网络构造中的桥不得不管理的MAC地址的数量,有助于扩展至几十万个VM。一些pSwitch转发缓存可管理大约64000个实体。具有50:1的比,封装使得支持在边缘中具有大约100000-250000个VM的数据中心的骨干桥成为可能。tMAC地址具有T-VLAN范围,并因此整个MAC地址空间可从T-VLAN所分配到的tDatacenter内管理。
[0060]图4不出了根据本公开的T-VLAN的骨干边缘桥。图4不出了 T-VLAN和C-VLAN的骨干边缘桥(BEB)架构。PBB起源于提供单个以太网的地址,单个以太网具有大城市或更大规模上的多样化的地理位置。基本模型是:在隧道穿越骨干以太网的不同的位置存在一组用户。在推动802.1Qah定义的最初的使用模型和tDatacenter使用模型之间存在一些差另1J。
[0061]与图2中所示的C-VLAN230相比,在最初的PBB模型中的一个差别是骨干VLAN(B-VLAN)仅作为网络的隧道且不直接出现在边界中的端节点,C-VLAN230从骨干网络构造222向边缘区域224-1和224-M延伸。在边缘区域的C-VLAN可配置作为“标准”C-VLAN、隧道B-VLAN或二者之间的混合。“标准” C-VLAN提供遍历边缘以及骨干的端到端VLAN,以提供“遗留”的C-VLAN,但不提供T-VLAN的隧道,且一般不分配给个人tDatacenter。作为纯粹的隧道的C-VLAN不暴露在边缘区域。提供T-VLAN隧道的C-VLAN组需要适合骨干多径模型,例如最短路径桥接以及基于哈希的路由。混合C-VLAN用作C-VLAN以及T-VLAN的隧道。
[0062]PBB模型采用标准802.1Q网络。网络到BEB的E-组件的1-SID的映射是基于物理端口的且可能地基于网络数据包中的C标签或S标签的。通过将每个1-SID映射到隧道的B-VID上的BEB中的表确定隧道。根据本公开的多租户架构,T-VLAN具有以太网类型改变的直接映射到1-SID的24位T标签。如果存在C标签,则C标签可用于直接映射到B标签(其以太网类型在需要时改变为S-VLAN以太网类型),使得在网络的边缘指定B-VLAN隧道。另外,可使用映射表或其他机制(例如,哈希)定义指定隧道的B标签,T-VLAN在数据中心骨干上通过B标签所指定的隧道传输。
[0063]图4显示了与骨干网络构造462通信的边缘网络460,骨干网络构造462和边缘网络460之间具有骨干边缘边界464。边缘网络460可包括多个边缘桥T-VLAN472和/或边缘桥C-VLAN474。骨干网络构造462可包括多个骨干桥VLAN476,包括B-VLAN和/或C-VLAN。多个端节点466通过C/T-组件468通信地耦合至边缘桥T-VLAN472和/或边缘桥C-VLAN474。边缘处的C/T-组件468可填加或删除C标签和/或T标签。
[0064]如之前讨论的,通信地耦合至边缘桥C-VLAN474的端节点466具有分配给其的MAC地址,且通信地耦合至边缘桥T-VLAN472的端节点466具有分配给其的tMAC地址。对于T-VLAN472, tMAC用作“内部MAC”,“内部MAC”为暴露在边缘网络460中的端节点466,且MAC用作“外部MAC”,“外部MAC”为暴露在骨干网络中的端节点466。每个IEEE802.Qah,暴露在骨干网络中的MAC有时可称为骨干MAC (B-MAC)。对于未封装的C-VLAN474,仅使用MAC0
[0065]骨干边缘边界464可为BEB MAC,与图2中显示的MAC BEBP34-1和MACBEBm234_M功能上类似。边缘网络460的边缘桥T-VLAN472和/或边缘桥C-VLAN474可经由封装E-组件470与骨干网络构造462通信。封装E-组件470可将帧格式“D”数据包封装成帧格式“E”数据包,且可将帧格式“E”数据包解封装为帧格式“D”数据包。封装E-组件470可传递通过未修改的帧格式“C”数据包。
[0066]图4中显示的网络组件可在单个设备或多个设备中实现,该单个设备或多个设备可为虚拟的(即,在软件中实现)或物理的。边缘桥(例如,472、474)还可在虚拟以太网端口聚合器(VEPA)模式中运行。
[0067]图4示出了网络中的数据包。“A”和“B”为出现在和/或来自于端节点466的数据包。出现在和/或来自于端节点466的数据包为802.1数据包。具有tMAC的端节点与tDatacenter的T-VLAN关联,且具有MAC的端节点与C-VLAN关联。如图4中所表示的,具有MAC地址的端节点466转发帧格式“A”数据包。帧格式“A”数据包指端节点处的IEEE802.1数据包,且包括如下设置的信息:DA/SA/以太网类型/有效负载。具有tMAC地址的端节点466转发帧格式“B”数据包。帧格式“B”数据包指端节点处的T-VLAN IEEE802.1数据包,包括如下设置的信息:tDA/tSA/以太网类型/有效负载。
[0068]边缘桥C-VLAN474转发帧格式“C”数据包。帧格式“C”数据包指骨干处的IEEE802.1数据包,包括如下设置的信息:DA/SA/C标签/以太网类型/有效负载。边缘桥T-VLAN472转发帧格式“D”数据包。帧格式“D”数据包指关于图3所讨论的帧“D”数据包,包括如下设置的信息:tDA/tSA/C标签/T标签/以太网类型/有效负载。骨干桥B-VLAN476转发帧格式“E”数据包。帧格式“E”数据包指T-VLANIEEE802.1Qah封装数据包,包括如下设置的信息:DA/SA/B标签/T标签/tDA/tSA/以太网类型/有效负载。骨干桥C-VLAN476转发帧格式“C”数据包。如之前所述的,对于帧格式“D”,C标签是可选的。帧格式“C”和“D”的可选的S标签在图4中未示出。
[0069]骨干边缘边界464为在数据中心骨干L2构造(DBLF)和一组不相交的边缘区域(例如,边缘网络460)之间的网络中定义的架构边界。当且仅当数据包必须遍历DBLF而从一个边缘区域向另一个边缘区域传输时,边缘区域不相交。由T标签限定在边缘区域中的具有帧格式“D”的单播和/或多播数据包的转发,使用标准以太网学习桥从T-VID和DA解析出一个或多个端口,DA是目的MAC地址。在DBLF本身中,具有帧格式“D”的数据包的转发是根据IEEE802.1Q标准在C标签的基础上,使用C-VID和DA解析一个或多个端口。超过一千六百万个的VLAN可具有在数据中心范围内唯一的MAC地址。边缘区域中的VLAN的具有帧格式“D”的数据包可封装为DBLF/边缘区域边界处的PBB数据包。可重组帧使得T标签直接映射到PBB1-SID,且C标签映射到标准PBB帧中的PBB B标签。可使用标准IEEE802.1ah机制确定外部目的MAC和源MAC。这确保了总是存在端到端唯一不变的标注(T-VID)且不论其拓扑结构是什么样的,支持一千六百万个VLAN。
[0070]PBB将VM tMAC地址虚拟化为物理MAC地址,且这支持所需的数据中心VM数量的扩展。此外,仅要求内部tMAC地址在T-VLAN范围内是唯一的。具有帧格式D的数据包的引入使得DBLF和边缘区域之间的架构边界成为可能,并使得PBB封装位于vSwitch或邻近的pSwitch中成为可能。在vSwitch实现中,具有巾贞格式“D”的数据包为虚拟数据结构,且PPB封装可在vSwitch中实现。对于邻近的pSwitch,具有巾贞格式“D”的数据包可在pNIC和邻近的pSwitch之间的线路上传输,在邻近的pSwitch中,由pSwitch固件和/或硬件执行PBB封装。
[0071]物理和虚拟端节点端口 466可分配C-VLAN范围内的MAC地址。因此,与每个关联的数据包包括C-VLAN标识符(C-VID),该C-VID确定分配该端口的骨干C-VLAN,这是标准802.1Q桥功能。随着数据包传输通过C/T-组件468,C/T-组件468用合适的C-VID标记该数据包。通过使用C-VID和目的MAC地址(DA)解析一个或多个端口(例如,通过查找表)来完成转发。当结合表时,通过合并端口列表,可将查找表转换成单个平面表。单播消息的DA返回单个端口,将数据包从单个端口发送出去。多播组的DA返回端口列表。广播DA返回特定的C-VLAN的广播域中全部端口的端口列表。该表可实现为学习桥。
[0072]给T-VLAN上的端节点端口分配T-VLAN范围内的tMAC地址。还可给端口分配T-VID,该T-VID确定分配该端口的特定的T-VLAN,端口还可选择地分配唯一的C-VID,该C-VID确定T-VLAN所关联的C-VLAN。如果分配了 C-VID,则使用对应的C-VLAN限定通过数据中心骨干构造的B-VLAN隧道。T-VID具有全局范围,并因此能够在数据中心内唯一地确定T-VLAN,而不用参考C-VID。使用T-VID和tDA解析一个或多个端口进行在边缘区域中的转发,而不用参考C-VID。
[0073]除了使用T-VID外,边缘区域中的T-VLAN桥472与C-VLAN桥474类似的运行,T-VID可为24位而不是12位。根据一些实施例,边缘区域中的C-VLAN可被看做是具有特定范围的VID的T-VLAN。
[0074]BEB464的E-组件470定义数据中心骨干网络构造462和边缘网络460之间的边界。E-组件470负责T-VLAN数据包的封装和解封装。每个E-组件470分配MAC地址,称为BEB MAC地址。E-组件470可为隧道的端点,且BEB MAC地址用于帧格式E数据包中的外部MAC地址。源MAC地址(SA)是E-组件470的MAC地址,在E-组件470中发生封装。由tDA编址的端口位于其中的边缘区域的目的BEB的DA由E-组件确定,以构造封装的数据包。DA是具有数据中心范围的MAC地址。可通过定义使用T-VID和tDA解析DA的表来确定DA。
[0075]在定义的表中查找单播的目的tDA地址返回与边缘网络460对应的BEB464的E-组件470的MAC地址,具有目的MAC地址tDA的端节点466位于边缘网络460中。定义的表可为单播MAC地址的学习缓存。进入数据包可用于使用进入数据包中的SA、tSA以及T-VID填充表项。
[0076]在定义的表中查找特定的T-VLAN的多播组的tMAC地址返回关联的B-VLAN的多播组的MAC地址,特定的T-VLAN通过关联的B-VLAN隧道。由返回的MAC地址定义的多播组包含多播组中具有端点466的全部边缘的BEB464的E-组件470的端口。B-VLAN多播可为实际需要的端口的超集。根据一些示例,缺省可为关联的B-VLAN的广播MAC。到达不具有多播组的端点的E-组件470的多播可丢弃数据包。
[0077]广播MAC可被认为是多播MAC的特例。准确的匹配,为多播组定义B-VLAN多播MAC,该多播组仅具有用于边缘网络460的BEB464MAC端口,在边缘网络460中特定的T-VLAN具有端节点466。缺省可为将T-VLAN广播MAC地址映射到关联的B-VLAN广播MAC地址上。T-VLAN表可结合为单个表。
[0078]在图4中用带圈的数字(在此文字描述中括号括起来的数字)表示通过边缘网络460的数据包的顺序流。在图4中带圈的字母对应于在各自的位置所使用的如之前讨论的中贞格式类型。出站(outbound)数据包流(即,从端节点466出站)起源于端节点466。在具有给定的C-VID的特定的C-VLAN上的端节点466的端口的寄存器使用包括MAC源地址(SA)的协议。端节点466呈现出在(I)表示的端口、发往具有数据包源地址SA的目标DA的具有帧格式“A”的数据包。在(2) C/T组件468使用端口已经配置的C-VID插入C标签以创建具有帧格式“C”的数据包,并向边缘桥C-VLAN474发送数据包。如果端口设置用于客户标记,则可能已经存在C标签且不需要填加C标签。
[0079]边缘桥C-VLAN474使用C-VID和DA解析(例如,在表中查找)一个或多个端口,并向这些端口单播或多播转发数据包,在(3)表示。如果在转发表中未填充合适的表项,则边缘桥C-VLAN474向转发表中对应的端口列表溢出这些消息的未知的单播或多播消息。边缘桥C-VLAN474上的端口通过封装功能470连接至B-VLAN和/或C-VLAN骨干桥476。如在
(7)显示的,具有帧格式“C”的数据包通过封装功能470透明地传递,而不修改B-VLAN和/或C-VLAN骨干桥476,如在(8)显示的。B-VLAN和/或C-VLAN骨干桥476通过使用C-VID和DA解析一个或多个端口转发数据包,如果解析的端口在查找表中不具有表项,则溢出。
[0080]T-VLAN的出站数据包流开始于端节点466。端节点466用给定的T-VID登记特定的T-VLAN上的端口,且关联的C-VID使用包括tMAC源地址(tSA)的协议。如在(4)所表示的,端节点在端口呈现标准802.1数据包[B]。数据包发往具有端口地址tSA的目标tDA。T-VLAN的出站数据包具有与具有帧格式“A”的出站数据包类似的帧格式,差别为tMAC地址的范围与MAC地址的范围之间的差别,该差别对特定的端节点466是明显的。
[0081]如在(5)所表示的,C/T-组件468使用分配给其配置中解析出的端口的C-VID和T-VID,以将C标签和T标签插入到数据包,创建帧格式“D”的数据包。如果端口设置用于客户标记,可能已经存在C标签和T标签,不需要填加C标签和T标签。如在(6)所表示的,边缘桥T-VLAN472使用T-VID和tDA查找一个或多个端口(例如,在表中)以解析一个或多个端口,并向解析出的端口转发单播或多播数据包。如果在转发表中未填充特定的表项,则边缘桥T-VLAN472可向转发表中相应的端口列表发送这些消息的未知的单播或多播消息。
[0082]如在(7)所表示的,向骨干网络构造476转发的数据包通过封装功能470到达其目的地。如果具有帧格式“D”的数据包包括C标签,如果需要,可使用C标签构造具有改变为ET-S的以太网类型的B标签。如果具有帧格式“D”的数据包不包括C标签,那么,通过E-组件470确定用于VLAN开隧道的B标签。可通过用于解析T-VID到B-VID的映射表,或通过帧格式“D”数据包头字段的哈希运算来定义B-VID来提供这样的开隧道。
[0083]将具有帧格式“D”的数据包封装为具有帧格式“E”的数据包利用DA。映射功能例如通过查找表从T-VID和tDA解析DA。如果存在匹配,则构造封装的数据包,且如在(8)所表示的,向B-VLAN和/或C-VLAN骨干桥476转发数据包。如果在查找表中未填充表项,则可通过将DA设置为关联的C-VLAN的广播MAC来溢出数据包。B-VLAN和/或C-VLAN骨干桥476可向使用C-VID和DA解析出的一个或多个端口转发数据包,如果B-VLAN和/或C-VLAN骨干桥476不具有表项,则溢出数据包。
[0084]如在(8)所表示的在骨干网络构造462起源的入站数据包(B卩,到端节点466的入站)由B-VLAN和/或C-VLAN骨干桥476向E-组件470转发,如在(7)所表示的。检查数据包以确定数据包是否为具有帧格式“C”(S卩,表示与C-VLAN关联)的数据包或为具有帧格式“E”(即,表示与T-VLAN关联)的数据包。具有帧格式“C”的数据包传递通过未修改的E-组件470。随着具有帧格式“C”的数据包到达边缘桥C-VLAN474 (如在(3)所表示的),虚拟以太网桥(VEB)可执行查找(例如,在表中),以使用C-VID和DA解析一个或多个端口。
[0085]如果在查找表中未找到匹配表项,可丢弃数据包。如果找到匹配表项,可向端口列表中的端口转发数据包。此外,可检查转发表以确定表项是否通过进入数据包的源MAC地址(SA)索引到此C-VID。如果不是,VEB可学习关联并将其所到达的端口填加到查找表中的行的端口列表。对于多播响应,可将来自具有特定的SA的多播组的多个进入数据包的端口填加到端口列表。随着如在(2)所表示的向C/T组件468转发数据包,C/T-组件468去除C标签(除非端口配置用于客户标记)并使数据包出现在合适的端节点466,如在(I)所表示的。如果端口配置用于客户标记,则数据包可传递通过未修改的C/T-组件468。
[0086]对于具有帧格式“E”的T-VLAN数据包的入站数据包流,E-组件470可检查数据包上的DA地址是否匹配E-组件470BEB464MAC地址,或数据包是否是广播、未知的单播、或多播消息。如果数据包不是这些中的任一种,则丢弃数据包。E-组件还可学习tSA和T-VID与封装数据包的SA的关联,并将其填加到其映射表中,以在封装出站数据包中使用。另外,E-组件470从数据包中去除外部MAC头并将数据包从帧格式“E”数据包转换为帧格式“D”数据包。如果T-VLAN配置为包括可选的C标签,那么,B标签可用于C标签(以太网类型在需要时从ET-S改变为ΕΤ-C)。随着在(6)所表示的向边缘桥T-VLAN472转发数据包,边缘桥T-VLAN472可执行查找(例如,在转发表中),以使用T-VID和tDA解析一个或多个端口。
[0087]如果未找到匹配的表项,可丢弃数据包。如果找到匹配表项,可向端口列表中的端口转发数据包。边缘桥T-VLAN472还可检查转发表以查看是否存在通过进入数据包的tSA索引到数据包的T-VID的表项存在。如果不存在,可将数据包所到达的端口填加到端口列表。如果多播响应,可将来自具有特定的tSA的多播组的多个进入数据包的端口填加到端口列表。如在(5)所表示的,随着数据包到达C/T组件468,C/T-组件468可从数据包去除C标签和T标签(除非端口配置用于客户标记)并向合适的端节点466发送数据包,如在(4)所表示的。如果端口配置用于客户标记,则数据包可传递通过未修改的C/T-组件468。
[0088]图5不出了根据本公开的vSwitch的骨干边缘桥。T-VLAN骨干边缘桥(BEB)可在底层网络中的多个不同的元素中实现。例如,BEB可实现作为超级监视者中的vSwitch、可在pNIC中实现、和/或在pSwitch中实现。图5示出了在vSwitch中实现的BEB。BEB在pNIC中实现时,在VM上的vNIC上的端口通过贯穿的超级监视者直接映射到pNIC上的端口上。具有帧格式“D”的数据包为虚拟数据包且不出现在线路上。
[0089]图5显示了与骨干网络562通信的边缘网络560,骨干网络562和边缘网络560之间具有骨干边缘边界564。边缘网络560可包括多个桥T-VLAN572和桥C-VLAN574。多个端节点566通过C/T-组件568通信地耦合至桥T-VLAN572和/或桥C-VLAN574。边缘处的C/T-组件568可填加或删除C标签和/或T标签。图5与关于图4显示并描述的结构和操作在结构上和操作上类似,除了骨干网络562 (B卩,pNIC)替代骨干网络构造462外。骨干网络562包括上行链路580 (与骨干网络构造462的B-VLAN和/或C-VLAN骨干桥476相反)。图5显示了在561处的VM和vSwitch之间的边界,以及在563处vSwitch和pNIC之间的边界。
[0090]参照图5,BEB MAC564可为pNIC信道的MAC地址。封装和转发桥(包括封装映射的学习缓存)可在计算设备上执行的软件中实现。具有帧格式“C”的IEEE802.1Qad数据包或具有帧格式“E”的IEEE802.1Qah数据包可在pNIC出现。具有帧格式“D”的数据包为vSwitch (在图1中示出的pNIC562内实现的vSwitch)内的虚拟数据包。pNIC562需要运行以转发IEEE802.1Q数据包,并因此可不知道T-VLAN。边缘网络560和骨干网络构造(图5中未示出)之间的边界通过vSwitch。骨干桥(例如,572、574)可在邻近的pSwitch (即,邻近pNIC562中实现的vSwitch)中实现。
[0091]VEB的vSwitch实现不需要使用学习机制,以用表项填充查找表来解析映射到C-VID和DA的一个或多个端口。可通过vSwitch的桥本地的全部端口的控制面设置表项并可确定表项。可简化转发表使得仅本地端口作为表项出现。也即,仅vSwitch实现的VEB本地的端口出现在表中。如果特定的C-VID和DA结合与表中的表项不匹配,则可将数据包发送出上行链路580。未知的单播和多播消息不在本地发送,且可发送出上行链路580以穿过特定的C-VLAN广播。因此,不使用学习更新本地表项。
[0092]对于T-VLAN,T-VLAN和C-VLAN的VEB可功能上相同,表的数据结构改变为取代12位C-VID而容纳24位T-VID。封装功能570利用学习来填充使用T-VID和tDA解析DA的表。SA可设置为虚拟BEB的MAC。
[0093]当BEB功能在pNIC中实现时,T-VLAN BEB功能可在pNIC硬件中实现。η端口可与在pNIC-PCIe接口实现的虚拟功能(VF)关联。VF可层叠于SR-1OV的顶部,该SR-1OV使得端口队列直接映射到用户空间。C/T-组件568、桥T-VLAN572和/或桥C-VLAN574、以及封装E-组件570可为由pNIC内部固件和/或硬件执行的功能。BEB功能564可存在于边缘网络560和骨干网络578之间。
[0094]VM上的vNIC通过贯穿的超级监视者直接映射到pNIC上的η端口上。pNIC实现学习缓存。桥T-VLAN572和/或桥C-VLAN574可使用解析η端口的T-VID和tDA转发数据。可由桥C-VLAN574使用解析一个或多个端口的C-VID和DA转发数据包。pNIC562可按如下封装T-VLAN数据包。每个端口的寄存器给出tSA、T-VID、SA的值,且如果T-VLAN数据包具有C标签,给出(S卩,C标签的)C-VID的值。如果T-VLAN配置为不具有C标签,那么,使用T-VID或哈希机制从查找表中确定B-VID。可使用T-VID和tDA从学习缓存查找中确定外部目的MAC地址。pNIC nBEB可使具有IEEE802.1Q帧格式“C”的数据包出现在C-VLAN端口,或使全部封装的具有帧格式“E”的IEEE802.1Qah T-VLAN数据包出现在至不知道T-VLAN的pSwitch的外部链路上。
[0095]图6不出了根据本公开的pSwitch的骨干边缘桥。图6显不了与骨干网络构造662通信的边缘网络666,骨干网络构造662和边缘网络666之间具有pSwitch667。pSwitch边缘显示在690 (第一边缘)和692 (第二边缘)。如所示的,骨干边缘边界(BEB)功能664位于pSwitch667中。边缘网络660可包括多个T-VLAN682 (标注为T-VID)和/或C-VLAN684。T-VLAN682和/或C-VLAN684通过可选的S-组件668通信地耦合至一个或多个桥T-VLAN672和/或桥C-VLAN674。边缘处的S-组件668可填加或删除S标签。
[0096]BEB功能664可在pSwitch667 (例如,邻近的pSwitch)中实现。vSwitch (例如,在pSwitch内执行的)可支持C-VLAN和T-VLAN。具有帧格式“C”和“D”的数据包为在pNIC和邻近的pSwitch (例如,pSwitch667)之间的线路上传输的“物理”数据包,且这样的数据包传输还可支持具有适当使能的邻近的pSwitch的VEPA模式。
[0097]T-VLAN682可在边缘vSwitch和pNIC中实现。如在(I)所表示的,T-VLAN682上的数据包可具有帧格式“D”且在线路上向邻近的pSwitch发送。数据包可穿过VEPA的可选的S-组件668 (如在(2)所表示的)向T-VLAN桥672传递,如在(3)所表示的。边缘中的T-VLAN桥672向使用T-VID和tDA解析出的一个或多个端口转发数据包。为了到达其目的端节点,如在(5)所表示的向骨干网络构造662转发的数据包如在(4)所表示的向封装E-组件670传递。如之前描述的,封装E-组件670将数据包改换格式为具有帧格式“E”的数据包并使用学习缓存确定DA MAC地址。具有帧格式“C”的C-VLAN桥674的数据包可传递通过未修改的封装E-组件670。
[0098]从骨干网络构造662向边缘网络666入站的数据包分类为具有帧结构“C”或“E”的数据包。具有帧格式“C”且发向C-VLAN684的数据包传递通过未修改的封装E-组件670。可解封装具有帧格式“E”且发向T-VLAN682的数据包,以形成具有帧格式“D”的数据包并经由T-VLAN桥672转发。
[0099]对vSwitch的多信道虚拟以太网端口聚合器(VEPA)模式的支持可扩展至T-VLAN使能的邻近的交换机。在VEPA模式的vSwitch/pNIC边界(例如,图5中示出的563)发出具有帧格式“C”和/或“D”的数据包,数据包具有由S-组件668填加的S标签。S-组件668可从相反方向的数据包流去除S标签。如在(2)所表示的,可使用转发边缘桥(例如,T-VLAN桥672或C-VLAN桥674)的VEPA修改转发由可选的S-组件668处理的数据包。无论是24位的T-VID还是12位的C-VID,VID的大小不影响VEPA操作的语义。
[0100]对于遗留的pSwitch的pSwitch中的BEB功能,BEB功能可在pSwitch中实现,如图6中在664示出的。边缘网络666中的C-VLAN684的子集可映射到多个T-VLAN (例如,682)中。也即,在边缘网络中,一些C-VID指定用于映射到pSwitch BEB664中的T-VID,且封装C-VID使得映射的C-VLAN684成为给定的T-VLAN682的部分,给定的T-VLAN682使能遗留的pSwitch以及包含C-VLAN的网络,但不知道T-VLAN,以参与到T-VLAN使能的数据中心中。
[0101]更具体地,BEB功能664可在pSwitch667中实现,以使能硬件网络和服务器,该硬件网络和服务器不使能T-VLAN以参与到具有租户上下文的数据中心中。根据本公开的一些实施例,在边缘中的C-VLAN可为如之前讨论地运行或可映射到T-VLAN682中的C-VLAN684(下文中称为tC_VLAN)。E-组件670维护C-VID与C-VLAN684关联的表,如之前讨论的处理该表。也即,向使用C-VID和DA解析出的一个或多个端口转发包括与C-VLAN684关联的C-VID的数据包,且通过封装E-组件670透明地传递数据包,不进行修改。映射到T-VLAN682中的包括与tC_VLAN关联的数据包具有与未映射的C-VLAN684同样的帧格式“C”,但以稍微不同的方式解释。
[0102]在C-VLAN桥674中,可以与之前描述的同样的方式使用12位VID转发数据包。然而,通过封装E-组件670向骨干网络构造662转发tC-VLAN数据包。封装E-组件670通过在由封装E-组件670维护的一个或多个表中查找tC-VID来确定这些tC-VLAN数据包,封装E-组件670可将12位tC-VID映射到24位T-VID。封装E-组件670还可具有学习缓存,用于使用T-VID和tDA确定DA MAC地址。相反地在解封装中,封装E-组件670使用一个或多个查找表将24位T-VID映射到12位tC-VID。
[0103]尽管本文已经说明并描述了具体示例,本领域的那些普通技术人员将理解,计算出实现同样结果的设置可适用于示出的具体示例。本公开的目的在于覆盖本文提供的一个或多个示例的改编或变化。上述描述是以说明方式进行的,而不是限制性的。根据对上述描述的回顾,上述示例的结合以及在本文没有具体描述的其他示例将显而易见。因此,应参考所附的权利要求以及全部等同范围确定本公开的一个或多个示例的范围。[0104]在说明书和权利要求中,下面定义的含义不一定限制术语,而仅提供对术语的说明性示例。“一”和“该”的含义包括复数参考,且“在…中”的含义包括“在…中”和“在...上”。尽管可能,但本文所用的“实施例”不一定指同样的实施例。
[0105]在本公开的上述讨论中,参考了形成其一部分的所附的附图,且在附图中以说明的方式显示出如何实施本公开的示例。充分详细地描述了这些示例以使得本领域的那些普通技术人员能够实施本公开的实施例,且将理解,可使用其他示例,可不脱离本公开的范围作出处理、电气和/或结构变化。
[0106]为了精简本公开的目的,将一些特征聚集到单个实施例中。本公开的此方法不该解释为反应这样的发明:所公开的本公开的示例不得不使用比在每个权利要求中明确叙述的更多的特征。当然,如以下权利要求反应的,发明的主题在于少于单个所公开的实施例的全部特征。因此,以下的权利要求由此并入详细的说明中,每个权利要求自身作为一个独立的实 施例。
【权利要求】
1.一种网络虚拟化方法,包括: 由具有物理资源和/或虚拟资源的数据中心(100)提供多个虚拟租户数据中心(tDatacenter),每个 tDatacenter 与其他 tDatacenter 隔离, 将租户虚拟局域网(T-VLAN) (226、228、682)关联到所述多个tDatacenter中的每个; 将端到端不变网络虚拟局域网(VLAN)身份(VID)标签(T-VID)的值关联到特定的T-VLAN (226、228、682);以及 在边缘网络边界(561)将与所述特定的T-VLAN (226、228、682)关联的网络数据包修改为包括所述T-VID, 其中,所述T-VID配置为具有超过4096个的可能值。
2.根据权利要求1所述的方法,进一步包括按照IEEE802.1Qah运营商骨干桥接服务实例将每个T-VLAN数据包封装到IEEE802.1Qah兼容帧中,其中,所述数据中心100分为骨干区域(102、222、462、562、662)以及多个不相交的边缘区域(224-1、224_Μ、460、560、666),在它们之间的每个边界处具有骨干边缘桥(BEB) (234-1、234-Μ、464、564、664)。
3.根据权利要求2所述的方法,进一步包括将所述IEEE802.1Qah兼容帧的服务标识设置为所述特定的T-VLAN的所述T-VID。
4.根据权利要求2所述的方法,进一步包括从与所述特定的T-VLAN(226、228、682)关联的所述修改的网络数据包中可选的客户虚拟局域网(C-VLAN)标签(347)的客户VID(C-VID)确定边缘处的骨干虚拟局域网(B-VLAN) (688)的骨干VID (B-VID)0
5.根据权利要求2所述的方法,进一步包括在虚拟交换机(vSwitch)(116)中实现所述BEB (234-1、234-Μ、 464、564、664)。
6.根据权利要求2所述的方法,其中,封装每个T-VLAN数据包包括将所述T-VLAN(226、228、682)的多个租户媒体访问控制地址(tMAC) (236)映射到骨干MAC (B-MAC)地址上,所述 tMAC (236)具有 T-VLAN (226、228、682)范围。
7.根据权利要求1所述的方法,其中,将T-VLAN(226、228、682)关联到所述多个tDatacenter中的每个包括:运行所述数据中心(100)使得每个T-VLAN (226、228、682)除了更大的地址空间外具有与客户VLAN (C-VLAN) (230、684)同样的语义。
8.根据权利要求1所述的方法,其中,将T-VID的值关联到特定的T-VLAN(226、228、682)包括提供24位T-VID。
9.根据权利要求8所述的方法,进一步包括: 使用所述24位T-VID解析数据包的目的地址(DA); 在骨干边缘桥(BEB) (234-1、234-Μ、464、564、664),根据所述24位T-VID,使用所述T-VID封装所述数据包; 在 IEEE802.1Q 网络核心第二层构造(102、222、462、562、662)上从所述 BEB (234-1、234-M、464、564、664)向第二 BEB (234_1、234_M、464、564、664)传输已封装的数据包;以及 在所述第二 BEB (234-1、234-Μ、464、564、664)对所述已封装的数据包进行解封装;以及 根据已解析的第一 DA从所述第二 BEB (234-1、234-Μ、464、564、664)转发已解封装的数据包。
10.根据权利要求1所述的方法,其中,修改与所述特定的T-VLAN(226、228、682)关联的所述网络数据包包括由在虚拟机(VM) (118)和虚拟交换机(vSwitch) (116)之间的边界(561)的C/T-组件(468、568、668)进行标签(350)的填加和/或去除,所述vSwitch (116)的端口与所述VM (118)的虚拟网络接口控制器(vNIC)接口。
11.一种网络,包括: 边缘网络,包括多个边缘桥C-VLAN (474、574、674)和/或边缘桥T-VLAN (472、572、672),所述多个边缘桥 C-VLAN (474、574、674)和 / 或边缘桥 T-VLAN (472、572、672)通信地耦合至骨干边缘边界(BEB) (234-1、234-Μ、464、564、664)处的封装功能(470、570、670);以及 多个端节点(466、566),通信地耦合至处理具有C-VID的数据包的所述多个边缘桥C-VLAN(474、574、674)和/或处理具有T-VID的数据包的边缘桥T_VLAN(472、572、672),所述多个端节点(466、566 )的第一部分分别分配了 MAC地址(238 ),且所述多个端节点(466、566)的第二部分分别分配了 tMAC地址(236), 其中,所述T-VID具有比C-VID更多的可能值,所述T-VID具有确定与特定的T-VLAN(226、228、682 )关联的数据包的超过4096个的可能值,且在所述BEB (234-1、234-M、464、564、664)处的所述封装功能(470、570、670)在处理将IEEE802.1数据包修改为IEEE802.1Qah封装的数据包或将IEEE802.1Qah封装的数据包修改为IEEE802.1数据包后,传递未修改所述C-VID的数据包,并传递具有所述T-VID的数据包。
12.根据权利要求11所述的网络,其中,所述BEB(234-1、234-M、464、564、664)以及所述封装功能(470、570、670 )在所述边缘网络(224-1、224-M、460、560、666 )和骨干网络构造(102、222、462、562、662)之间的 pSwitch (110)中实现。
13.根据权利要求11所述的网络,其中,所述BEB(234-1、234-M、464、564、664)以及所述封装功能(470、570、670).在所述多个端节点(466、566)和骨干网络构造(102、222、462、562、662 )之间的 vSwitch (116 )中实现,其中,所述边缘网络(224-1、224-M、460、560、666 )在所述vSwitch (116)中实现。
14.一种非易失性计算机可读介质,具有存储在其上的计算机可读指令,当由一个或多个处理器执行所述计算机可读指令时,引起所述一个或多个处理器: 将租户虚拟局域网(T-VLAN) (226、228、682)关联到多个虚拟租户数据中心(tDatacenter)中的每个,每个 tDatacenter 与其他 tDatacenter 隔离; 将端到端不变网络虚拟局域网(VLAN)身份(VID)标签(T-VID)的值关联到特定的T-VLAN (226、228、682);以及 在边缘网络边界(561)处,根据与所述特定的T-VLAN (226、228、682)对应的端点tMAC地址(236),将与所述特定的T-VLAN (226、228、682)关联的网络数据包修改为包括所述T-VID以及优先编码点, 其中,所述T-VID配置为具有超过4096个的可能值。
15.根据权利要求14所述的非易失性计算机可读介质,进一步具有存储其上的计算机可读指令,当由一个或多个处理器执行所述计算机可读指令时,引起所述一个或多个处理器从与所述特定的T-VLAN (226、228、682)关联的所述修改的网络数据包中可选的客户虚拟局域网(C-VLAN)标签(347)的客户 VID (C-VID)确定边缘(234_1、234_M、464、564、664)处的骨干虚拟局域网(B-VLAN) (688)的骨干VID (B-VID)0
【文档编号】H04L12/46GK103444135SQ201180069690
【公开日】2013年12月11日 申请日期:2011年6月2日 优先权日:2011年6月2日
【发明者】斯蒂芬·G·洛, 保罗·T·康登, 马克·A·皮尔森, 查理斯·L·哈德森 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1