深度分析FCoE:FC与以太网的融合

一、引言
  存储交换领域一直以来纷争不断,众多的交换协议似乎正在进行一场竞走比赛。在这场旷日持久的竞赛中,光纤通道暂时占领上风,目前标准统一到了4Gb,支持8Gb和10Gb的光纤通道协议也近在眼前。光纤通道取得成功的原因是其提供了广泛的全新存储解决方案,包括更好的块传送性能,高可用性的存储存取,先进的数据中心备份及数据保护,基于虚拟化的高层存储服务以及高级管理工具。光纤通道作为一项成功的技术解决了许多与高性能数据块传输相关的难题。例如自动寻址、设备发现、光纤架构和状态变更通知等,这些机制为主机(服务器)和目标设备(存储系统)之间的交换处理提供了便利。

  不过在近几年中,总是有各种各样的新兴技术,例如InfiniBand、NAS和iSCSI,不时地引发人们对于光纤通道发展未来的争论。其中iSCSI发展势头迅猛,根据IDC的报告显示,随着10Gbps以太网日趋成熟,到2010年,iSCSI会达到外部磁盘存储系统市场份额的21%。10Gb的市场瓶颈仍然是其高价位。一旦价格明显下降,那就没有什么能阻碍iSCSI发展的阻力了。
  面对Iscsi的步步紧逼,今年4月5日,由传统存储厂商组成的工作组宣布向美国国家标准协会(ANSI)T11委员会提交一种被称为以太网光纤通道(FC over Ethernet, FCoE)的新技术标准。FCoE允许通过以太网本身传输SAN数据,同时保护并扩展用户目前在存储网络上的投资。支持此项技术的业内领先厂商包括博科、思科、EMC、Emulex、IBM、Intel、Nuova、QLogic和Sun。该提案正是向这个未来标准迈出的第一步。
  二、FCoE协议
  1、帧结构
  光纤通道的体系架构是从FC0到FC4的层次架构,详细定义见FC-FS-2。FCoE以帧结构的模式将光纤通道映射到以太网上。从光纤通道到以太网的映射如图1所示。表示Host端支持FCoE的一种协议栈。
      通常一个以太网的帧最大为1518字节。而一个典型的光纤通道帧最大为大约2112字节。因此在以太网上打包光纤帧时需要进行分段发送,然后在接收方进行重组。这会导致更多的处理开销,阻碍FCoE端到端传输的流畅性。FCoE也必须解决以太网和光纤通道各自所传输的帧之间的差异。因此需要一个更大的以太网帧来平衡光纤通道和以太网帧大小上的差异。有一个称为"巨型帧"(Jumbo Ethernet frames)的实质标准,尽管不是正式的IEEE标准,但它允许以太网帧在长度上达到9k字节。在使用巨型帧时需要注意,所有以太网交换机和终端设备必须支持一个公共的巨型帧格式。
  最大的巨型帧(9K字节)可以实现在一个以太网帧下封装四个光纤通道帧。但是这会使光纤通道连接层恢复以及应用802.3x暂停指令的缓冲流量控制变得更加复杂。如图3所示,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存储服务融合为一体。

  2、防止丢包
  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阻塞通知研究小组负责以太网阻塞问题的研究工作。特别是对于存储事务来说,这有助于增强流控机制的服务层级质量,使得最关键的任务的数据流在可能发生阻塞的情况下获得最高优先权。
  3、冗余路径和故障切换
  光纤通道高可用性的特点主要是得益于其可提供的主机与目标设备之间冗余路径的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与iSCSI比较
  FCoE和iSCSI都是可以在以太网上进行块数据传输的存储协议。然而每一个当初都是以不同的目标和设计标准发展起来。由于FCoE是由专门的数据中心存储协议发展而来,其中包含有FC和数据中心以太网协议。iSCSI是设计用来在包括局域网和广域网在内的任何基于IP的系统上可靠地传输存储数据。如图4所示,iSCSI借助位于第三层的整个TCP/IP协议栈来实现路由和数据包恢复,所以iSCSI可以用于可能存在潜在的网络带宽损耗。

weinxin
DC Farm小程序二维码
扫一扫添加博客小程序
Jim

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: