数据中心网络融合技术
FCoE——数据中心网络融合技术
虚拟机的动态迁移(如 VMWare VMotion)实现了计算资源灵活调配,然而动态迁移的 基础是共享存储(如 SAN)。当前企业数据中心通常用以太网技术构建局域网(LAN),用 FC 技术构建 SAN,服务器装备以太网卡(ETH NIC)用以接入 LAN,装备光纤通道主机总线 适配器(FC HBA)用以接入 SAN。多种类型的接口卡和网络设备削弱了业务灵活性,增加了数 据中心网络管理复杂性、增加了设备成本和电力等方面的开销。FCoE 实现了以太网帧承载 FC 帧,使得 FC SAN 和以太网 LAN 可共享同一个单一的、集成的网络基础设施,解决了不同 类型网络共存所带来的问题,实现了网络基础设施整合、精简的目标。 一、 FC SAN 与以太网 LAN 的差异 1. 以太网 LAN 的模型
图1. 以太网LAN的模型 如图1所示为传统以太网LAN的基本模型,其特点是“无限制性和尽力而为”,我们可 以从以下五点理解该特点: 拓扑结构:以太网由交换机和主机节点这两个基本元素组成,交换机之间成网状 互联,主机节点间没有预先定义的主从访问关系。任何一台主机都可以是发起访 问的客户端,也可以是被访问的服务器; 传输可靠性:传统以太网本身不保证传输可靠性,在转发层层面采用“尽力而为” 的思想,传输可靠性由上层协议实现,例如,通过TCP协议可实现帧重传机制和滑 动窗口机制。 网络服务:以太网本身只负责帧传输,不提供更多网络服务,如L4/L7相关网络服 务由防火墙、负载分担设备、网流分析设备等实现; 流量模型:对于分层(接入、汇聚/分布、核心)网络模型来说,以太网既有同层 间的横向流量 (例如, 同一接入层设备的主机间互访) 也有跨层的纵向流量 , (如, 不同接入层设备的主机跨汇聚/核心的互访); 高可用性:通过物理上的全连接和冗余节点部署,并辅以生成树协议和动态路由 协议实现环路避免和流量分担。
以太网LAN通常采用 “接入——汇聚——核心”分层架构,此模式广泛应用于园区和 数据中心网络,毋庸赘述。 2. FC SAN 的模型
图2. FC SAN的模型 如图2所示为FC SAN的模型,其特点是“流向确定和可靠传输”。FC网络协议栈有五 层,其中FC0定义承载介质类型,FC1定义帧编解码方式,FC2定义分帧协议和流控机制, FC3定义通用服务, FC4定义上层协议到FC的映射。 FC网络本身可承载多种上层协议, 如IP、 SCSI等,但由于FC协议在标准化之初,具备其他协议所不及的高带宽和可靠传输特性(不 丢帧),这种特性满足了SCSI的传输需求,所以FC网络技术的最广泛应用是构建存储网络 (SAN),即通过FC协议承载SCSI帧。与此相比,以太网只有物理层(PHY)与访问控制 层(MAC),其本身所具备的灵活性使以太网更适合于局域网中承载IP帧。对FC SAN“流 向确定和可靠传输”特点的理解包括以下五点: 拓扑结构:FC SAN由FC交换机、Initiator(存储访问的发起方)、Target(受访存 储设备)三种基本元素构成,FC交换机间网状互联。访问发起方与受访端的关系 明确定义,也就是说流量方向明确定义; 传输可靠性:FC网络采用基于BB_Credit(缓冲区到缓冲区信用数)的流控机制保 证无丢帧传输。这是一种用来决定一次可向接收方发送多少个帧的流控机制, BB_Credit 数目代表FC网络端口接收方向可缓存的帧数,当发送一个帧后 BB_Credit减1,当减到0时便不能再发帧,当收到对端发来的帧接受确认时, BB_Credit加1; 网络服务:FC协议内置的网络服务包括DNS(名称服务器)、RSCN(注册状态变 化通知)、FDMI(通过带内通信管理HBA卡等设备的机制)等。 流量模型:对于采用分层(核心—边缘)模型的FC SAN,只有纵向跨层流量(边 缘—核心—边缘)。因此在规划FC SAN时,可以根据Initiator(主机)的数量和流 量,明确定义边缘FC交换机上行端口的收敛比。相比与以太网,由于接入层主机 间存在横线访问流量,因此接入层上行端口的收敛比存在更多不确定性因素。 高可用性:对于高可用的FC SAN,要求从Initiator到Target必须存在两条完全独立 的路径,也就是说从主机的角度看到的是完全不同的、各自独立、没有交叉的两
个FC网路,在每个FC网络内,提供各自的FC网络服务(如DNS等),运行各自的 FC路由协议(FSPF)。
图3. FC SAN 边缘—核心架构 图3所示“边缘—核心”架构是FC SAN设计时最常采用的模式,其特点如下: 服务器端(Initiator)采用双HBA卡分别接入到不同的边缘FC交换机,服务器上通 过多路径软件实现磁盘IO负载分担与磁盘访问的高可用性。 存储设备(Target)采用双归属方式接入到核心FC交换机。对于大型的FC网络, 在存储设备端可增加一层边缘FC交换机,构成“边缘—核心—边缘”架构。 核心FC交换机做为主交换机, 并向边缘FC交换机提供各种FC网络服务 (如DNS) 。 边缘FC交换机之间不做横向互联(FC SAN中没有横向互访需求),不同的边缘交 换机与核心交换机组合,形成多个相互独立的FC SAN网络。 从边缘交换机上行到核心交换机的链路带宽可根据服务器(Initiator)接入数量和 访问带宽进行明确定义。 二、 FCoE 技术架构 1. FCoE 的帧格式与转发方式 FCoE技术是将FC帧封装在以太网帧中,允许以太网LAN和FC SAN的业务流量在同一 个以太网中传送。FCoE保留了FC网络的管理模式及网络架构(N_Port、F_Port、E_Port定 义不变)。如图4,从FC的角度看,FCoE就是将FC帧承载于一种新型链路上;从以太网的 角度看,FCoE仅是其承载的另外一种上层协议。
图4. FCoE的不同视角 对于以太网络中传输的FCoE帧,FC地址在端到端传输中保持不变, 而帧的以太网MAC
地址则是逐跳替换的。如图5所示,左侧的FC存储阵列连接到FC交换机,该FC交换机的 Domain ID为7。右侧为服务器,其FC ID为1.1.1,并且具有一个FCoE的MAC地址。以下是 从FC阵列至服务间帧的4个转发封装阶段: 1) 存储阵列上的FC端口(N_Port类型)发出一个FC帧,其目的地址(D_ID)为1.1.1, 源地址(S_ID)为7.1.1。 Domain ID为7的FC交换机收到FC帧后,查找转发表,将其从距目的地址(1.1.1) 路径最短的端口上发送出去。 Domain ID为3的FCoE交换机收到FC帧后,重复步骤2的查表过程,发现该帧需要 通过以太网端口传送,于是将该FC帧封装成FCoE帧(在原来的FC帧头前在加一个 FCoE头和一个以太网头)。该FCoE帧的以太头的目的MAC地址是B(即接收方 FCoE交换机的MAC地址),而其源MAC地址是A(即发送方FCoE交换机的MAC 地址)。 当FCoE帧到达了MAC地址为B的FCoE交换机后,交换机发现该FCoE帧携带的FC 帧中的FC目的地址(D_ID)在其自身的Domain范围内,则使用新的目的MAC地 址C(即服务器的MAC地址)和新的源MAC地址B,对该FCoE帧进行重新封装, 并从相应的端口发送出去。 服务器 (CNA网卡的MAC地址为C) 收到FCoE帧, 该帧的FC源地址 (S_ID) 为7.1.1, FC目的地址(D_ID)为1.1.1。
2)
3)
4)
5)
图5. FCoE帧的封装与转发 2. FCoE 的控制信令 —— FIP FIP(FCOE初始化协议)是FCoE技术的控制平面协议,主要完成以下功能: VLAN发现: FCoE节点(服务器、存储阵列)传输FCoE流量所使用的VLAN。例 如服务器首先通过FIP获得传输FCoE帧的VLAN ID,此后从服务器CNA卡发出的 FCoE帧的VLAN TAG中都携带此VLAN ID。 FCF(FCoE交换机)发现:FCoE节点通过FIP获取网络中的所有的FCF信息,然 后决定和哪台FCF建立虚链路连接。 虚链路建立: FCoE节点向选中的FCF发送FIP FLOGI或FIP FDISC帧来建立虚链路, FCF将给FCoE节点分配FC地址。 虚链路维护:虚链路建立后,FCF通过收到FCoE节点定期发送保活帧来进行虚链
路的维持,Node上通过定期收到FCF发送的通告帧来进行虚链路的维持。 3. 不丢帧的以太技术标准 传统的以太网是一种尽力服务的网络模式,当网络拥塞时将发生丢帧。传统FC SAN网 络依靠BB_Credit流控机制保证无丢帧传输,FCoE实现了以太网中传输FC帧,所以FCoE需 要以太网实现不丢帧传输技术。当前IEEE 802.1工作组的DCB任务组(Data Center Bridging Task Group)正在制定相关技术标准,如下(在本文写作时,部分技术的标准化还未完成): CN —— Congestion Notification,802.1Qau 当网络中发生拥塞时,由拥塞点向数据源发送指示来限制引起拥塞的流量,并在拥塞 消失时通知其取消限制。这样可以把拥塞限制在网络的边缘,减少了拥塞对网络其他部分 造成的影响。拥塞通知提供了一种在二层网络对持续拥塞的流量端到端管理的方法。例如, 当服务器CNA卡发送FCoE帧时,常出现大块的持续传输的数据流,当传输路径某交换机出 现拥塞,该交换机会在二层网络内发送帧通知服务器CNA卡进行限速,以缓解拥塞(如图6 所示)。
NIC RL
拥塞点
NIC RL NIC RL
反应点
NIC RL
RL:速率限制器
NIC RL
图6. Congestion Notification,802.1Qau PFC —— Priority-based Flow Control,802.1Qbb 链路共享对于FCoE至关重要。在承载FCoE帧的链路上,一种流量的突发不能影响其它 类型流量,一种流量的大量排队不能抢占其他类型流量的帧缓存资源。当前以太网的Pause 机制能够实现不丢帧的要求,但它会阻止整个链路上的所有流量,PFC是对Pause机制的一 种增强,PFC可以在一条以太物理链路上创建8个独立的虚拟链路,并允许单独暂停和重启 其中任意一条虚拟链路。这一方法使网络能够为单个虚拟链路创建无丢帧类别的服务,使 其能够与同一接口上的其他类型的流量共存。FCoE是PFC技术的第一个实际应用。在支持 FCoE的交换机上以通过以太网帧的CoS值区分不同类型流量,FCoE流量对应的CoS使能 PFC,对其它类型采用流量采用尽量转发方式(如图7所示)。
发送队列 以太网链路 接收缓存 8个队列 1 2 3 4 5 6 7 8
stop
图7. Priority-based Flow Control,802.1Qbb
ETS —— Enhanced Transmission Selection,802.1Qaz: ETS可为不同的业务流量设定优先级、保证带宽,并允许低优先级的流量使用高优先级 队列闲置的带宽,其目的是最大化的利用网络带宽。如图8,某10GE链路上同时承载“服务 器集群流量(ETS提供3Gbps保证)”、“FCoE存储流量(ETS提供3Gbps保证)”、“局 域网流量(尽力而为转发)”。在t3时刻,进入网络的“服务器集群流量”降至2Gbps,则 “局域网流量”可暂时升至5Gbps。
发送的流量 10GE链路监管后的实际流量
服务器集群流量
3 Gbps
存储流量
3 Gbps
局域网流量
4 Gbps
图8. Enhanced Transmission Selection,802.1Qaz DCBX —— Data Center Bridging Exchange,802.1ab (LLDP)的扩展: DCBX的作用是为具备DCB(Data Center Bridgin)特性的网络设备提供参数协商和远 程配置功能,包括:发现对端设备的DCB能力(如是否支持PFC等)、发现链路两端设备 DCB参数的配置错误、远程配置对端设备的DCB参数。DCBX通过在LLDP上定义新的TLV (Type Length Values)来实现其参数交互机制。DCBX技术确保了网络设备间DCB参数的 一致性,为不丢帧以太网帧传输创造了条件。 4. FCoE 技术的两种部署模式 FCoE技术在网络中有两种部署模式,如图9所示:
图9. FCoE技术的两种部署模式 FCOE只部署在服务器网络接入层(图9.b)。目的是实现服务器I/O整合,简化服
务器网络接入层的线缆设施。服务器安装支持FCoE的10GE CNA网卡,并连接到接 入层FCoE交换机(FCF或NPV),接入层交换机再分别通过10GE链路和FC链路连接 到现有的LAN和SAN。 整网端到端(接入—汇聚—核心)的FCOE部署(图9.a)。FCoE技术的应用范围 扩大到整网,除接入层交换机外,汇聚核心层交换机也支持FCoE功能;除服务器 外,存储设备也逐渐支持FCoE接口。由此实现了LAN与SAN的融合,简化了整网基 础设施。 三、 结束语 面对数据中心网络基础设施融合化、 标准化的趋势,FCoE将成为一项引入注目的技术。 它通过以太网技术承载LAN和SAN,整合了以前分散的网络资源,简化了I/O适配器与线缆 等基础设施,降低了管理和运营成本。 虽然FCoE整网端到端部署是数据中心网络发展趋势, 但在本文写作的时候,业界还没有出现较为成熟的支持端到端FCoE部署的方案和产品,因 此FCoE的网络接入层部署是当前的主要应用模式。此外,从保护用户现有投资(已建设的 FC SAN) 角度出发问题, 建议现阶段只在网络接入层通过FCoE实现服务器IO整合以简化接 入层线缆部署,而保留原有以太网LAN以及原有FC SAN的独立性。