发新话题
打印

【原创】详细解析FCoE协议

【原创】详细解析FCoE协议

要不是能够推动成本或性能优势的发展,新技术很难取代已有的的成熟技术。例如,尽管令牌环(Token Ring)相较以太网有更高的性能(16Mb/s vs. 10Mb/s)和更强的功能,但以太网依仗其规模经济优势在局域网传输领域上顺利取代了令牌环。

  要不是能够推动成本或性能优势的发展,新技术很难取代已有的的成熟技术。例如,尽管令牌环(Token Ring)相较以太网有更高的性能(16Mb/s vs. 10Mb/s)和更强的功能,但以太网依仗其规模经济优势在局域网传输领域上顺利取代了令牌环。相比较之下,ATM网络也无法取代以太网成为桌面系统的连接标准,这主要是由于它无法与以太网庞大的安装基础相兼容。
  ATM的LANE(局域网仿真)实在存在太多问题。尽管InfiniBand以高性能的服务器集群应用证明了它在高端用户中的价值,但是它一直无法在局域网或存储局域网传输上与其它技术相抗衡。InfiniBand独特的布线方式和高速传输模式下的距离限制使得IT管理者们纷纷放弃高攀的念头。
  光纤通道作为一项成功的技术解决了许多与高性能数据块传输相关的难题。毕竟,光纤通道是一种模拟数据中心大型机环境的传输架构。大多的传输通道往往都是以高带宽和低负荷为手段,在最大程度上实现数据中心环境中大量数据的高效传输。为了保持稳定一致的性能,光纤通道借助包括Buffer-to-buffer Credit等在内的内部机制来降低网络阻塞的潜在影响。
  如果丢失一个帧,光纤通道不会像TCP一样马上停止直到恢复丢失的帧,而是以数千兆的传输速率重新发送整个序列的帧。光纤通道拥有一系列领先的存储机制,例如自动寻址、设备发现、光纤架构和状态变更通知等,这些机制为主机(服务器)和目标设备(存储系统)之间的交换处理提供了便利。
  光纤通道也为高可靠和高可用性架构引进了一系列更高层的服务。光纤路由协议、基于策略的路由、基于硬件的中继、虚拟光纤网络、光纤网络安全以及故障隔离等服务都成为了实现稳定传输的基础。针对存储虚拟化和数据保护所提供的,基于光纤网络的应用服务也进一步促进了存储管理的简化及自动化。光纤通道标准和符合标准的产品均针对存储数据进行了优化,最大程度上提高了数据的性能和可用性。
  因此,基于光纤通道的SAN为全球主要的企业和学院提供着强大的技术支持。
  最近业内发布了一项新的光纤通道标准,以实现在以太网上运行光纤通道协议。这项名为FCoE(Fibre Channel over Ethernet )协议希望能在现有光纤通道的成功基础上,借助于以太网的力量重新保持自身在数据中心存储局域网中的霸主地位。一些业内分析人士表示,FCoE是光纤通道厂商与iSCSI阵营进行竞争的新尝试。毕竟iSCSI也是通过以太网传输数据存储块。
  然而当我们拿FCoE与iSCSI做比较时会发现,实际上这两个协议解决是完全不同的问题。iSCSI通过TCP/IP协议在可能产生损耗或阻塞的局域网和宽带网上传送数据存储块。相比之下,FCoE则只是利用了以太网的拓展性,并保留了光纤通道在高可靠性和高效率方面的优势。届时这些优势还将在10G以太网上有更好的体现。我们目前暂且将其称为CEE(Converged Enhanced Ethernet)。
  FCoE并不是要代替传统的光纤通道技术,而是在不同连接传输层上对光纤通道进行拓展。正如图1所示,FCoE的价值在于在同样的网络基础体系上用户有权利选择是将整个逻辑网络全部当成传输存储数据与信号的专用局域网,或是作为混合存储数据、信息传送、网络电话、视频流以及其它数据传输的共用网络。FCoE的目标是在继续保持用户对光纤通道SAN所期望的高性能和功能性的前提下,将存储传输融入以太网架构。FCoE还特别针对刀片服务器平台提供了一种简化接口和布线的方法。
  FCoE目前已经正式提交给了管理光纤通道标准的官方组织--美国国家标准委员会(ANSI)T11 委员会进行审批。并且会收录到新的Fibre Channel Backbone Generation 5 (FC-BB-5)规范中。由于FCoE具备了新一代增强形以太网的众多优势,所以这项标准的审批需要与管理以太网技术标准的美国电气与电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)保持密切合作。
  早期业内就在以太网存储协议的标准化方面做过很多努力,但限于当时百兆或千兆以太网性能而均未能如愿。例如在2001年,Nishan Systems公司开发了针对局域网或数据中心的mFCP(metro Fibre Channel Protocol)协议以及针对广域应用的Internet光纤通道协议(iFCP)。mFCP 支持在基于以太网的光纤通道上应用UDP和IP协议,但是mFCP中缺少TCP中其它的用于数据包恢复的协议。
  mFCP 协议假设以太网基础体系本身的设计已经可以避免网络阻塞,并且具备基本的流量控制机制将丢帧减到最低。如果确实发生了丢帧,mFCP协议将会借助上层的光纤通道协议对适当的帧序列做出重传的回应。除IP路由层之外,mFCP 协议的实际运作与光纤通道Class-3的未确认服务(Unacknowledged Service)相类似。
  尽管iFCP 协议被广泛地应用于灾难恢复及其它远程存储应用,但由于10G以太网还在建设之中,所以mFCP无法在1 Gb/s的速率下得很好的效果。但mFCP 的主要优点在于它可以整合以太网和光纤通道SAN,提高光纤通道协议栈的效率。
  此外还有一些其它的小众协议试图将存储协议直接与以太网相结合,如AoE协议和HyperSCSI以太网存储协议。但这些技术标准仅限定于低性能存储应用。例如HyperSCSI借助SCSI协议来验证和恢复传输错误,所以在数据中心领域缺乏光纤通道协议的优势。
  基于以太网的蜕变
  光纤通道和以太网传输都是使用的数据链路层协议(第二协议层)。在OSI七层模型中,第一协议层是传输网络信号的物理媒介,第二协议层是成帧协议(Framing Protocol ),当上层协议处理网络路由和会话管理等更高层级服务时,本层协议会立即作用于下层介质。因为每个附加协议层都会带来更多的协议处理和开销,所以第二协议层是从一个网络节点向另一个网络节点快速传输数据的最为快捷的途径。
  光纤通道作为链路层传输协议,最初是专门被设计用来保证数据中心传输通道的高效率。这其中多方面原因的。首先,在千兆或数千兆的速率下,网络需要一个流控机制来避免网络阻塞引起的丢帧问题。光纤通道借助Buffer-to-buffer Credit解决了流控制问题。一端设备只有当接收方的缓冲区已清空并且发出接收准备信号((R_RDY))后才能发送附加帧。其次,光纤通道结构从本质上来说是一个独立的子网,专门处理在数据中心内的主机与目标设备之间的数据通讯问题。尽管现在光纤通道有SAN到SAN交流的辅助路由能力,但光纤通道路由使用的是网络地址转换协议 (Network Address Translation,NAT),而不是上面第三层的路由协议。
  光纤通道技术在这几年时间中,发展出了很多更适用于存储需求的更高层功能。例如,基于每台光纤通道交换机都配备的简单域名服务(Simple Name Service,SNS),就为发起者寻找目标资源提供了设备发现机制。基于端口或WWN(World Wide Name)的分区实现了不同存储单位间的彼此隔离,防止未授权服务器与特定存储资产之间通信。
  注册状态变化通告(Registered state change notifications,RSCNs)提供了一种将服务器与存储网络中存储系统相链接的方式。通信重路由(Fabric Shortest Path First ,FSPF)协议可在多台交换机架构下建立最佳的路径。并允许多在多台交换机之间进行多重连接,以提高带宽。具备故障隔离的光纤路由实现了各个独立SAN间的资源共享。虚拟光纤网络技术可以使不同部门或应用程序之间共享一个公共的SAN,而相互不受影响与限制。
  为了保持此前光纤通道所具备的传输优势和以存储为中心的特征,FCoE需要对传统的以太网和相应的控制器进行重大的改进,以提供设备发现、通知(Notification)、安全和其他高级存储服务。如果以太网可以满足数据中心的苛刻要求的话,那么通过以太网封装光纤通道帧的FCoE协议就完全能够成为终端到终端传输(FCoE发起者与FCoE目标直接通信)或网关应用(FCoE发起者通过网关与光纤通道目标设备通信)最简单直接的解决方法。但是为了使用户实施成为可行,那些光纤通道上的高级服务必须得到保留。
  防止丢包
  FCoE发展过程中所遇到的第一个挑战是将通过本地光纤通道的Buffer-to-buffer Credits特性所实现的流控制机制得以延续。虽然以太网交换机没有相对应的缓冲到缓冲机制,但以太网标准可以通过支持MAC控制帧来调节流入的信息量。IEEE 802.3x 流量控制标准是基于暂停帧流量控制技术的。这个技术会使得发送者后面的传输内容延迟一段特定的时间再发送,如果接收设备在这段时间过去之前清除缓冲,那么它会重新发送暂停帧,同时将终止时间归零。这使发送者可以重新传送直至接收到另一个暂停帧。
  因为FCoE机制必须支持存储数据的读写,所以所有网络存储路径下的终端设备和以太网交换机必须支持双向IEEE 802.3x流控制。尽管这样的效果可能不如Buffer-to-buffer Credits机制那么理想,但是IEEE 802.3x暂停帧可以提供对应的功能性,来调节存储流量并防止阻塞和缓冲区溢出引起的丢帧。
  IEEE中的IEEE 802.3ar阻塞管理研究小组和IEEE 802.1au阻塞通知研究小组负责以太网阻塞问题的研究工作。特别是对于存储事务来说,这有助于增强流控机制的服务层级质量,使得最关键的任务的数据流在可能发生阻塞的情况下获得最高优先权。
  冗余路径和故障切换
  光纤通道高可用性的特点主要是得益于其可提供的主机与目标设备之间冗余路径的Flat或CORE/EDGE的拓扑网络。从主路径到辅路径的主机总线适配卡、链路、交换机端口、交换机或存储端口,其中任何一点发生故障就会引发整个网络的故障。在某些情况下,这两条路径都是动态的并且兼备高性能和可用性。光纤通道架构中的光纤最短路径优先协议用来决定光纤交换机间传输的最佳路径,其判断基于交换机的链路带宽与流量负荷。
  以太网基础体系必须为FCoE提供相应的耐障碍性来保证存储访问的畅通无阻。当多以太网交换机通过交换机内链路(例如以完全网路拓扑)连接时,IEEE 802.1D快速生成树协议在网络上建立主路径,避免帧的发送形成无止境的环形回路。交换机之间的动态桥接端口处于推进状态,非动态失效切换桥接端口处于阻塞状态。
  但由于阻塞的连接不能用于数据的传输,所以网路中的阻塞连接都表示未利用和闲置的资源。快速生成树通过网桥协议数据单元来监控所有桥接端口的情况,如果连接、桥接端口或交换失效的话,快速生成树协议启动必要的失效切换桥接端口,在网络上建立选择路径。
  此外,IEEE 802.1s 多生成树协议(Multiple Spanning Tree Protocol,MSTP)和IEEE 802.1Q-2003虚拟LAN(VLAN)技术定义了另外的增强以太网路径切换的机制。与光纤通道的硬分区技术相类似,VLAN 标记可实现多达4096个群集节点组共存于一个公共的以太网基础体系内。
  在多业务传输平台上对生成树的增强可以使每个VLAN组中有一个单独的生成树。因此,一个虚拟局域网阻塞模式下的桥接端口可以调节成另一个虚拟局域网的转发模式,并且实现对所有网络互连性更充分的利用。
  即使有多业务传输设备的增强,已使用的网络连接仍不可避免地导致了快速生成树协议对转发和阻塞状态的依赖。越来越多复杂的第三层路由协议,例如开放最短路径优先协议(Open Shortest Path First,OSPF),在跳跃计数、带宽、延迟时间和其他测量标准的基础上选择末端节点之间的最佳路径,并且实现多路径上的负载均衡。即时串流传输协议(RSTP)作为第二层协议无法支持这样的附加功能性而保持向后兼容。需要设法找到将负载均衡、多点接入(例如一个节点有接入同一以太网网段的两条动态链路)、多播技术和广播技术引入第二层以太网的方法。
  从光纤通道到以太网的映射
  FCoE也必须解决以太网和光纤通道各自所传输的帧之间的差异。通常一个以太网的帧最大为1518字节。而一个典型的光纤通道帧最大为大约2112字节。因此在以太网上打包光纤帧时需要进行分段发送,然后在接收方进行重组。这会导致更多的处理开销,阻碍FCoE端到端传输的流畅性。
  因此需要一个更大的以太网帧来平衡光纤通道和以太网帧大小上的差异。有一个称为"巨型帧"的实质标准,尽管不是正式的IEEE标准,但它允许以太网帧在长度上达到9k字节。在使用"巨型帧"时需要注意,所有以太网交换机和终端设备必须支持一个公共的"巨型帧"格式。
  最大的巨型帧(9K字节)可以实现在一个以太网帧下封装四个光纤通道帧。但是这会使光纤通道连接层恢复以及应用802.3x暂停指令的缓冲流量控制变得更加复杂。如图2所示,FCoE向一个巨型以太网帧内封装一个完整的光纤帧(不使用循环冗余校验)。因为以太网已经提供了帧检验序列(FCS)来检验传输数据的完整性,所以不需要光纤帧的循环冗余校验(CRC)。这进一步降低了传输层所需的处理开销,同时提高通道的性能。由于光纤帧可能包括拓展的、可选择的信头或虚拟光纤标记信息,所以以太网"巨型帧"的大小就不合适,并且会随着封装光纤帧的需要而发生变化。
  FCoE帧是使用六字节MAC硬件目的地址和源地址的本地第二层以太网帧。但MAC地址是存储透明的,并且只能用于从源到目的地帧的交换。以FCoE帧中保留了存储事务中需要的光纤通道寻址,所以需要从FCID(Fibre Channel ID)到以太网MAC地址映射的方法。可以选择一个与地址解析协议(ARP)相类似的协议来实现FCID到MAC的地址映射。
  例如,在第三层IP环境下,地址解析协议用于从上层IP网络地址到第二层硬件MAC地址映射。此外,光纤通道使用一些较为熟知的地址来获得存储服务(例如通过SNS发现设备机制)。FCoE要求有相应的功能性来完成从熟知的地址到对应MAC地址的映射。
  在传统光纤通道中,HBA或存储端口在连接到以太网交换机时会接收FCID。FCoE设备无法确保通用以太网交换机提供专门的存储服务,所以必须依靠可用于FCoE交换机内部的域控制器和存储服务引擎来提供光纤通道登陆、寻址和其它高级服务。未来的数据中心导向器将会在一个高可靠性、多协议平台上将以太网、光纤通道和FCoE存储服务融合为一体。
  FCoE、iSCSI和FCIP
  FCoE、iSCSI和FCIP都是可以在以太网上进行块数据传输的存储协议。然而每一个当初都是以不同的目标和设计标准发展起来。由于FCoE是由专门的数据中心存储协议发展而来,其中包含有FC和数据中心以太网协议。iSCSI是设计用来在包括局域网和广域网在内的任何基于IP的系统上可靠地传输存储数据。如图3所示,iSCSI借助位于第三层的整个TCP/IP协议栈来实现路由和数据包恢复,所以iSCSI可以用于可能存在潜在的网络带宽损耗。相比之下,FCIP被设计为用于远程连接FC SAN的隧道协议。象iSCSI一样,FCIP亦承担TCP/IP的处理开销,因此它的设计不适合本地高性能数据中心应用。
  iSCSI主要作用在于其经济性,发挥空闲的驱动器、以太网卡、以太网交换机和IP路由器,在服务器和存储之间传输SCSI数据块。尽管服务器接入和网络基础系统成本较低,但是iSCSI存储目标成本会随着是否使用廉价磁盘驱动和是否配置基于硬盘或基于软盘的控制器而改变。因为没有专门的本地iSCSI磁盘驱动,iSCSI目标必须依靠某种形式的协议桥接(从iSCSI 到SAS/SATA或从iSCSI到FC)控制器来存储和检索数据块。所以iSCSI并不等同于那些有时用于部门级FC SAN中的JBOD。
  在1Gb以太网中,iSCSI不需花费很多就可实现通过网关将低性能的二级服务器整合到现有的数据中心的FC SAN中,或为部门使用提供共享存储。但是在10G以太网中,iSCSI就渐渐失去了广泛宣扬的成本优势。在服务器上使用10G以太网意味着主程序要求高性能和可靠性。尽管标准NIC卡可在10G下使用,但10G的iSCSI服务器通过例如TCP可卸载适配器等辅助设备来增强性能,并通过iSER logic来避免从接口到应用存储器的SCSI数据的多存储副本。设计精密的10GB iSCSI适配器增加了成本,但使iSCSI 可以在主机上将CPU开支减到最低,来更充分地利用更大的带宽。
  总结
  介于庞大的安装基础,早已成熟的光纤通道技术已经具备了众多的存储特性和管理工具,这大大利于对数据中心内的共享存储系统进行各种配置。聚合增强以太网(CEE)技术使用户可以在公共以太网基础体系数据中心将存储、信息传送、网络电话、视频和其它数据结合在一起。FCoE是实现以太网高效率块存储的组件技术。FCoE不是光纤通道的替代物而是光纤通道的拓展,并且将与光纤通道SAN共存。
  因为FCoE是对以太网的进一步增强,所以它的发展需要光纤通道和以太网的技术专家和标准组织之间的相互协调。尽管流控制和以太网生成树协议等连接层问题是一个重大的挑战,但是还需要提出更多的解决方案来继续保留用户正有效配置的光纤通道高级服务。即使是在10G网络传输速率下,仍需要对今天的以太网技术进行深入研究以适合数据中心存储的应用。作为光纤通道架构技术的先驱,博科公司在保留数据中心性能、可靠性和高级存储服务所提供的优势的同时,也向FCoE引入了专业技术以降低其他解决方案的复杂性。
发新话题