《思科数据中心I/O整合》一2.13 VEB:虚拟以太网桥接

2.13 VEB:虚拟以太网桥接

思科数据中心I/O整合
很久以前,服务器还只有单一的CPU、一块以太网网卡(带有一个MAC地址),并且运行在一个操作系统上。而现在,服务器变得越来越复杂,它们可以拥有多个CPU芯片(例如,多个插槽),每一个CPU芯片都包含多个CPU(例如,多个CPU内核),而且每一个CPU都能够并发执行一个或多个线程。这些服务器具有很高的I/O要求,并且使用多个以太网NIC连接网络,用以保证性能和高可用性。这些NIC会进一步得到发展,以便支持SR-IOV和服务器虚拟化。

服务器虚拟化
服务器虚拟化是唯一一种不需要修改/重写应用程序就能够使用全部内核的技术。VMware ESX、Linux XEN和Microsoft Hyper-V都是非常出名的虚拟化解决方案,支持在一台服务器上通过虚拟机管理程序(Hypervisor)运行多个虚拟机(VM)。

虚拟机是一个逻辑服务器实例,它的行为与独立服务器完全相同,但是它与其他虚拟机共享硬件资源,特别是在这里讨论的网络资源。

除了其他的功能外,虚拟机管理程序还使用“软件交换机”模块实现虚拟机之间的通信,实现了与独立服务器不同的模型。

独立服务器会通过专用交换机端口连接一台或多台以太网交换机(参见图2-32)。应用到以太网交换机端口(如图2-32中虚线所示)的网络策略也能够有效地应用到独立服务器上。

虚拟机上运行的逻辑服务器能够连接虚拟机管理程序的软件交换机模块,然后再连接一台或多台以太网交换机(参见图2-33)。应用到以太网交换端口(如图2-33中虚线所示)的网络策略并不一定有效,因为它们应用到了所有虚拟机上(例如,逻辑服务器),且无法专门应用到某个特定的逻辑服务器上。

根据源MAC地址来指定这些策略并非特别有效,因为虚拟机所使用的MAC地址由虚拟化软件所分配,可能会发生变化。而且,系统也可能会受到MAC地址欺骗攻击,例如,虚拟机可能会试图使用另一个虚拟机的MAC地址。

使用虚拟化软件,系统管理员还能够在不同物理服务器之间移动虚拟机,这样会增加网络策略的管理复杂性。虚拟机的数量会远远大于物理服务器数量,从而会引起可扩展性和可管理性问题。

SR-IOV
PCI-SIG有一个小组在专门制定支持I/O虚拟化(IOV)网卡的标准规范。其中关系最密切的是单根I/O虚拟化(Single Root IOV,SR-IOV),它能够处理串行总线(PCI Express)中单根拓扑的I/O虚拟化。这种设备允许多个虚拟机共享串行总线(PCI-Express)设备,从而能够工作在服务器虚拟化环境下,还可能绕过虚拟机管理程序(Hypervisor)。

IEEE标准化进程
从IEEE 802.1工作组建立以来,IEEE一直都在进行以太网交换方面的标准化工作,最近,IEEE决定扩展IEEE 802.1,使之覆盖虚拟化以太网网桥(VEB)。可以从以下两个方面进行突破:

将策略实施和管理移到以太网适配器内部;
由以太网交换机携带虚拟机的身份标识。
思科还开始开发一种名为VN-Link的新架构,其中包括一些兼容IEEE标准的产品。

适配器VEB
所谓“适配器VEB”,是指在网卡(NIC)上实现VEB(参见图2-34)。这就意味着,大型网卡(NIC)制造商将会开始在他们的网卡中集成以太网交换机,使之具有增加网络策略的能力。

乍一看,这种解决方案似乎很吸引人,因为它不会改变网卡与以太网交换机之间链路上的帧格式,然而,它也有一些严重的缺点:网卡必须实现完整的以太网交换机功能,包括所有安全组件,这样不仅会增加成本和复杂性,并且还会影响其他上层协议(ULP)特性的使用,如TCP卸载、RDMA、FC/SCSI、IPC队列对等。

随着处理器功能的增强和内存容量的增加,虚拟机数量也随之增加,从而也会出现与所支持虚拟机数量相关的潜在扩展性问题,因为每一个虚拟机都需要使用网卡的硬件资源。

适配器VEB在管理方面也存在问题。服务器通常由IT工程师管理,而网络一般由另一组网络工程师管理,而适配器中的VEB要求这两个小组进行协作,共同管理服务器,这样就会增加额外的运营开销。

为了克服这些局限性,标准组织开发了交换机架构VEB。

交换机VEB
“交换机VEB”解决方案将与性能密切相关的复杂数据寻址功能放到一台外部的以太网交换机上,如图2-35所示。以太网交换机负责保证所有虚拟机的特性统一,使之不受它们所在位置的影响(例如,与逻辑服务器所在的虚拟机管理程序或物理服务器无关)。

需要管理的交换机数量并不会增加,因为网卡内部并不存在交换机。网络管理员并不需要管理服务器组件。

通过改进数据移动和上层协议特性,如TCP卸载、RDMA和FC/SCSI,网卡设计人员可以使用现有的逻辑方法提高网卡到上层协议的性能。

这种方法需要在网卡和以太网交换机之间开发新的以太网标记模式,用来确定与帧相关的虚拟网卡(vNIC)。思科率先提出了虚拟网卡标签(VNTag)模式。这是一种接口虚拟化(IV)模式,它能够将虚拟机接口移到外部以太网交换机上,并将它们变成虚拟化接口。这种新型虚拟化接口即所谓的虚拟化以太网(Veth),以太网交换机可以将它们视为物理端口。以太网交换机可以在Veth上执行在物理端口上能够执行的任何操作。

这种新标签会将每一个虚拟网卡绑定到一个Veth上,反之亦然。策略先应用到Veth上,从而再应用到vNIC上。这些策略包括访问控制列表(ACL)、流量管理(例如,PFC和ETS参数)、身份验证和加密等。

这种新标签比MAC地址更难伪装,因为它由NIC或虚拟机管理程序插入到数据帧中,而不是由虚拟机插入。

当虚拟机从一台服务器迁移到另一台服务器时,它的vNIC、Veth和策略也会随之迁移。这样就能够保证特性与策略的一致性,而不受虚拟机位置的影响。

这种方法的实现要求在网卡和以太网交换机之间使用一种控制协议,来创建、分配、修改和终止vNIC与Veth之间的关系。例如,当虚拟机从主机A迁移到主机B时,这个控制协议会负责终止主机A所连接的以太网交换机的vNIC/Veth,然后在主机B所连接的以太网交换机上创建这些vNIC/Veth。此外,Veth的移动意味着相关策略也会随之发生移动。

在图2-35中,NIC包含一个接口虚拟器(例如,执行进出vNIC帧调度的实体)。接口虚拟器并不是交换机(例如,两个vNIC之间不允许直接通信)。接口虚拟器只允许一个vNIC与以太网交换机进行通信,然后这个以太网交换机再与一个或多个vNIC进行通信。

以太网交换机模型并没有发生变化:以太网交换机仅仅是增加了端口数量(Veth),每一个端口连接一个vNIC。虚拟端口的以太网交换机功能并没有发生变化。

VNTag
VNTag是一种以太网标签,在MAC-DA和MAC-SA之后被插入到以太网帧头中(参见图2-36),它的前面可能是IEEE MACsec(身份验证与加密)标签。

VNTag将扩大以太网交换机的转发能力,使之能够运行于虚拟化环境中。事实上,如果源及目标Mac地址来自于同一个端口,那么传统以太网交换机不会转发该数据帧,因此它也无法在连接到同一交换机端口的两台虚拟机之间转发数据帧。VNTag会为每一个虚拟机在交换机上创建虚拟以太网接口,从而能够解决这一问题。由于交换机能够在虚拟以太网接口之间进行流量转发,所以它能够在连接到同一个物理端口的虚拟机之间转发流量。

VNTag是一个6字节标签,其格式如图2-37所示。在交换机VEB和接口虚拟器之间会使用该标签。它的主要概念是“vif ”(即虚拟接口标识符),VNTag中的vif是src_
vif(源vif)和dst_vif(目标vif)。

VNTag开头是两个字节的Ethertype = VNTag,用于标识这种类型的标签。下面是接下来的4个字节。

v:version:表示帧头所带VNTag协议的版本,目前版本为0。
r:reserved:这是保留域。
d:direction:d = 0表示该帧从接口虚拟器发送到以太网交换机,d = 1表示该帧从以太网交换机发送到接口虚拟器(一个或多个vNIC)。
dst_vif & p:pointer:当从以太网交换机向接口虚拟器发送数据帧时,这些域用来选择接收数据帧的下行链路接口。显然,当d = 1时,它们才有效;当d = 0时,这些域也必须设置为0。
p = 0表示dst_vif选择一个vNIC,通常用于转发单播帧。
p = 1表示dst_vif是虚拟接口清单表的索引,这种情况用于组播帧的传输。
src_vif:表示发出该数据帧的源vNIC。从接口虚拟器转发到以太网交换机(d = 0)的所有帧都必须设置src_vif。此外,转发到接口虚拟器的帧可以设置src_vif以表示环路。
l:looped:表示以太网交换机将数据帧回送到发出该帧的接口虚拟器。在这种情况下,接口虚拟器必须保证设置src_vif的vNIC不接收这个帧,因为该数据帧是它自己发出的。
vif只是vNIC与指定链路Veth之间关联的标识符,用于表示一种本地链路归属关系(以太网交换机的物理端口),并且它在网络中并不是唯一的。如果虚拟化发生迁移,vNIC和Veth也会随之迁移,当前链路的vNIC和Veth之间的关联就会结束,然后新的链路会创建新的关联。新关联再由新链路的本地有效的vif进行标识,它可能与前一个vif截然不同。

VNTag的应用和删除可以通过支持VNTag的NIC硬件或虚拟机管理程序的软件来实现。

接口虚拟器一般位于服务器的NIC之中,但是它也可能位于独立的设备上,该设备可以作为连接以太网交换机的远程多路器。这种设备通常称为矩阵扩展器(Fabric Extender)。

矩阵扩展器(Fabric Extender)
矩阵扩展器是独立实现的接口虚拟器,它对上行以太网交换机使用VNTag标记。矩阵扩展器也可以看作是以太网交换机的远程线卡,或者看作是以太网多路复用器。它的主要目标是在不增加管理节点的前提下增加可用端口的数量,作为一个简单设备,它还能够减少解决方案的总成本。Nexus 2000系列交换机就是一种矩阵扩展器。思科统一计算系统(UCS)也使用了矩阵扩展器。

图2-38显示了3台结构扩展器与两台以太网交换机相连的网络结构,通过虚线的链路都使用VNTag封装。

例如,矩阵扩展器可能是1 RU(机架单元),带有48个连接服务器的1GE端口,以及4个连接以太网交换机的10GE上行链路。在这种情况下,矩阵扩展器使用48个vif,每一个1GE端口对应一个vif,但是1GE端口上不使用VNTag。

矩阵扩展器的上行链路可以通过以太网通道进行聚合。在图2-38中,最左边和最右边的矩阵扩展器分别将4个上行链路聚合成一组,再连接一个以太网交换机;中间的矩阵扩展器也将4个上行链路分聚合成为一个以太网通道,但是会连接到两台独立的以太网交换机;在后一种配置中,两台以太网交换机或者属于VSS的组成部分,或者运行vPC,或者是L2MP云的DBridge。

Nexus 5020,作为唯一管理节点,可以连接12台矩阵扩展器(每台矩阵扩展器支持以4个10GE端口连接到Nexus 5020上,在Nexus 5020上总共支持48个10GE端口),从而可以在12 RU中支持总共576个1GE端口。事实上,矩阵扩展器并不是独立被管理的设备,只有Nexus 5000才是。

另一个例子是在矩阵扩展器中使用32个10GE端口连接服务器,使用8个10GE端口连接以太网交换机。在这种情况下,矩阵扩展器使用256个vif,并且将它们动态分配到32个10GE端口上,同时对服务器使用VNTag,这样就阐明了对已经使用VNTag的链路进行聚合的可能性。

5台这样的矩阵扩展器以及一台Nexus 5020,利用统一网络(Unified Fabric)的支持,就可以在7 RU中提供160个10GE端口,并且它们只需要使用一个管理节点。

矩阵扩展器可以部署在靠近服务器的位置,而且服务器与矩阵扩展器之间可以采用廉价的铜线连接。以太网交换机可以部署在机柜末端(EOR),然后在矩阵扩展器和以太网交换机之间使用价格更高的光纤连接。最终的解决方案是超配的(Oversubscribe),但是却能够以较低的价格实现10GE连接,并减少了管理节点的数目。

VN-Link
虚拟网络链路(Virtual Network Link,VN-Link)由思科公司和VMware公司合作开发,目标是解决VEB等问题。VN-Link拉近了服务器与网络的距离,从而简化虚拟化环境的管理与监控。VN-Link能够通过统一的策略管理实现整个网络的虚拟机可见性和移动性。

作为VN-Link开发的组成部分,IEEE 802.1提交了一个规范,在硬件网络平台上通过交换机VEB支持网络接口虚拟化。

1.VN-Link与Nexus 1000V
Nexus 1000V是第一个实现VN-Link架构的产品,它是一个嵌入到VMware ESX虚拟机管理程序的思科软件交换机。它符合思科与VMware合作开发的VMware虚拟化网络分布式交换机(vNDS)的API接口标准。当VMotion或分布式资源调度器(DRS)移动虚拟机时,虚拟机策略也会随之应用和迁移,不仅策略会跟随虚拟机一起移动,统计计数器、Netflow状态和ERSPAN会话也会随之移动。

网络策略即是端口模板(Port Profile),由网络管理员在Nexus 1000V上使用CLI命令创建。端口模板会自动传输到VMware虚拟中心(Virtual Center)内部。在VMware虚拟基础架构的客户端内部端口模板作为端口组(Port Group),而服务器管理员可以将它们分配给vNIC,然后再分配给虚拟机。

端口模板构成了VN-Link,它能够在服务器管理员和网络管理员之间建立协同操作模型,而且不要求他们使用任何新管理工具。

Veth和端口模板都是实现自动化虚拟机连接和策略移动性的基础(例如,允许接口配置、接口状态和接口统计信息跟随虚拟机在服务器之间移动),这样也能够保证安全和连接策略的持续性。

Nexus 1000V是Nexus交换机产品线的一员,它运行NX-OS。图2-39显示了Nexus 1000V的基本构成,“Nexus 1000V VEM”(虚拟以太网模块)安装在VMware ESX中,可以通过Nexus 1000V虚拟化管理模块(Nexus 1000V Virtual Supervisor Module,VSM)进行远程配置和管理,VSM运行在NX-OS设备(物理的或者虚拟的)或Nexus交换机(如Nexus 5000或Nexus 7000)上。在图2-39中,虚线表示VEM和VSM之间的管理和配置关系,一个VSM可以管理多个VEM。此外,VSM可以为服务器管理员维护VMware虚拟中心的配置模型。

作为Nexus产品线的成员,Nexus 1000V在常规软件交换机之上还提供许多增值特性,如ACL、QoS标记和排队、Cisco TrustSec、CDP v2、Netflow V9、端口模板、Cisco CLI、XMP API、SNMP读/写、详细接口计算器与统计、端口安全性等。例如,它支持封装的远程SPAN(Encapsulated Remote SPAN,ERSPAN),同样是在虚拟机迁移过程中,它能够将虚拟机流量映射到位于数据中心中央的外部嗅探器上(Sniffer)。

2.VN-Link与Nexus 5000
Nexus 5000支持VN-Link架构。它可以作为交换机的VEB,在虚拟机管理程序的接口虚拟器与Nexus 5000之间使用VNTag。

接口虚拟器负责为离开虚拟机的帧添加标签,可以通过以下两种方式来实现。

第一种方法是在虚拟机管理程序的软件交换机(Nexus 1000V或VMware交换机)中应用VNTag,然后再将数据包转发到Nexus 5000。
第二种方法是使用支持在硬件中添加VNTag的NIC(例如,SR-IOV NIC)。在这种方法中,SR-IOV NIC还可以实现虚拟机管理程序旁路。
和在Nexus 1000V上使用VN-Link相比,Nexus 5000上使用VN-Link也具有相同的外部行为和优点,但是所有以太网特性(交换、ACL、ERSPAN、QoS等)都会线速的在Nexus 5000的硬件中执行。

和前一种情况一样,网络策略仍然按照端口模板进行定义,VMotion/DRS及其他VN-Link特性也一样被支持。

时间: 2024-10-22 16:15:17

《思科数据中心I/O整合》一2.13 VEB:虚拟以太网桥接的相关文章

《思科数据中心I/O整合》一2.8 基于优先级的流量控制(PFC)

2.8 基于优先级的流量控制(PFC) 思科数据中心I/O整合 基于优先级的流量控制(PFC),也称为按优先级暂停(Per Priority Pause,PPP),这是一种精细的流控制机制.IEEE 802.1Q定义了一个标签(如图2-5所示),其中包含了3个比特(bits)的优先级字段(即它最多支持8种优先级).PFC能够基于优先级启用PAUSE功能. 如果将不同的流量类型映射到不同的优先级,那么就不会出现流量干扰问题.例如,在图2-6中,存储流量映射到优先级3,并且它是PAUSE的,同时IP

《思科数据中心I/O整合》一2.12 二层多路径技术(L2MP)

2.12 二层多路径技术(L2MP) 思科数据中心I/O整合 在所有参与传输的交换机中,用二层多路径技术替代STP其他协议,从而可以增加2层网络的带宽.双向带宽得到提高的原因有两个: 不再有拥塞端口,所有链路都处于思发状态: 网络中两点之间的流量可以通过多条路径进行传播. 多路径技术常用于IP网络,如果接入层链路和骨干链路之间的速度受限或者没有差别,那么这种技术将变得特别重要.正如第1章中所介绍的那样,这正是数据中心网络的场景,其中所有链路都是10GE. 多路径技术的另一个优点是降低延迟时间,因

《思科数据中心I/O整合》一2.11 活动-活动连接(Active-Active)

2.11 活动-活动连接(Active-Active) 思科数据中心I/O整合以太网通道以太网通道是一种端口聚合技术,在1994年由思科公司提出,并且在2000年,由IEEE 802的IEEE 802.3ad 项目实现了标准化.这个协议在思科和非思科交换机上都得到了广泛应用. 以太网通道支持将多个物理以以太网链路聚合为一个逻辑以太网链路,其带宽等同于所聚合链路的带宽之和.以太网通道可以聚合二至八条链路,而且所有高层协议都会将多条链路视为一个连接,如图2-18所示. 以太网通道有利于在交换机.路由

《思科数据中心I/O整合》一2.4 比较信用与PAUSE

2.4 比较信用与PAUSE 思科数据中心I/O整合人们最常问到的问题是"PAUSE是否等同于信用机制?"和"信用机制是否更好?". 光纤通道中使用信用机制来实现无损耗行为.在每一条链路上,链路在初始化过程中就预先确定了缓存区的数量,而每一条链路的节点都会记录空闲的缓存区.例如,如图2-3所示的链路,交换机A是发送端,它只有在交换机B存在至少一个空闲缓存区时才会发送数据帧.在如图2-3所示的例子中,B不存在空闲的缓存区,因为缓存区到缓存区(B2B)的计数为零,因此交

《思科数据中心I/O整合》一2.10 跨越生成树

2.10 跨越生成树 思科数据中心I/O整合2层网络基于生成树协议(Spanning Tree Protocol,STP)创建的生成树来转发帧.生成树(STP)会裁剪网状网络的一些链接,从而将它缩减为树状网络.从以太网出现以来,生成树这项技术就一直被使用.多年来,IEEE 802.1通过各种方法对其进行了改进.例如,在Per-VLAN生成树(PVST)中提供多个独立的树,以及减少生成树收敛时间. 生成树的主要设计目的之一就是消除网络拓扑中的所有环路,这是因为以太网帧的头部不包含任何"存活时间&q

《思科数据中心I/O整合》一2.7 为什么PAUSE未被广泛部署?

2.7 为什么PAUSE未被广泛部署? 思科数据中心I/O整合其主要原因是实现方式不统一.IEEE 802.3标准定义了基本机制,但是没有提供完整的实现方式.然而,这个问题很容易通过进入市场中的新产品来得到解决. 一定要注意的是,I/O整合需要使用一条链路来传输多种流量类型.而PAUSE适用于整个链路(即这是一种适合于所有类型流量使用的机制).通常,不同类型的流量会存在互不兼容的需求(例如,有一些需要有损耗行为,而另一些则需要无损耗行为),而这可能会导致"流量干扰"问题.例如,如果使用

《思科数据中心I/O整合》一2.14 问题与答案

2.14 问题与答案 思科数据中心I/O整合FCoE是否使用信用机制?问:FCoE是否需要/能够使用FC缓存区到缓存区的信用机制来管理队列? 答:在FCoE要求的无损耗以太网中,FC缓存区到缓存区的信用机制会替换为基于优先级的流量控制(或按优先级暂停). AUSE与信用机制的高可用性问:PAUSE与信用机制之间是否存在一些"高可用性"区别? 答:PAUSE或信用机制在高可用性方面并无区别.如果交换机出现故障,那么交换机临时存储的所有数据帧都会丢失,而与信用机制或是PAUSE无关.如果丢

《思科数据中心I/O整合》一2.15 术语

2.15 术语 思科数据中心I/O整合本章讨论的以太网扩展可以按照不同的名称进行分组. 数据中心桥接(DCB)指的是IEEE 802.1的标准化活动.IEEE 802.1 DCB工作小组正在开发的项目包括: 基于优先级的流量控制: 带宽管理: 配置(DCBX): 拥塞通知. DCB标准已提交到IEEE,但是仍未被批准为标准,所以现在被称为DCB v0(版本0),而且有一些供应商已经及时推出了一些可兼容DCB v0的产品. 术语聚合增强以太网(CEE)和数据中心以太网(DCE)还可用于将这些技术按

《思科数据中心I/O整合》一2.9 其他组件

2.9 其他组件 思科数据中心I/O整合我们目前讨论的是实现I/O整合所需要的基本组件,其他还有一些技术可以帮助实现更大规模的I/O整合部署.在下一节中,我们将介绍以下组件: 发现协议(例如,DCBX):带宽管理器(例如,ETS):拥塞管理(例如,BCN/ QCN).DCBX:数据中心桥接交换DCBX的名称来自于IEEE 802.1数据中心桥接工作小组,它涉及文档中所描述的大多数以太网扩展.DCBX是数据中心桥接的管理协议,由IEEE 802.1Qaz项目定义.DCBX是链路层发现协议(LLDP

《思科数据中心I/O整合》一导读

前 言 思科数据中心I/O整合本书主要介绍Nuova Systems与思科(两家公司)在2006年至2007年完成的以太网向数据中心网络的演进工作.本书介绍的技术已经得到了行业认可,从2008年开始,它们开始逐渐形成产品与(行业)标准. 其中,FC-BB-5标准,定义了以太网光纤通道(FCoE协议),2009年6月4日通过了信息技术标准国际委员会(INCITS)T11光纤通道委员会的批准,转交给INCITS发布,成为一个美国国家标准机构(ANSI)的标准.本书主要反映FCoE标准. 本书从教学角