1、引言
存储区域网络是当前存储应用的发展趋势,而IP存储区域网络又是其中的热点。IP存储网络技术是一种封装串行SCSI(Small Computer System Interface)实现在IP网络中传输的存储区域网络技术,利用IP存储网络技术,企业能够构建本地数据中心,能够实现数据备份和远程容灾。相比于以往的Fibre Channel(FC,光线通道)存储网络技术,IP存储网络技术具有低成本、被广泛采用、良好的标准化情况、高扩展性、易管理、良好的广域网连接以及灵活的安全性和QoS保证等诸多优点,特别是吉比特以太网技术的使用和万兆以太网技术的出现也消除了IP存储网络技术在性能上的瓶颈,因此IP网络存储技术必将成为未来构筑存储区域网络的主流技术。
2、IP存储网络技术介绍
IP存储区域网络主要包含两方面的含义,一是对已有的FC存储区域网络的扩展和连接,二是构建纯粹的IP存储区域网络。简言之,IP存储区域网络技术主要包括从FC存储区域网络到IP存储区域网络的过渡技术,纯粹的IP存储网络技术两大类。
目前,IP存储网络技术主要有三种技术(见图1):FCIP(Fibre Channel over IP)技术、iFCP(Internet Fibre Channel Protocol)技术和iSCSI(Internet SCSI)技术,前两种技术属于过渡技术,而后者属于纯粹的IP存储网络技术。
2.1 FCIP技术
FCIP使用TCP/IP封装FC帧,主要用于连接广域的FC存储区域网络。FCIP协议是一种隧道(Tunnel)协议,IP地址和TCP 连接只用在位于IP网络终点的FCIP隧道设备中。FCIP能够为两个FC存储区域网络“孤岛”之间提供IP连接,而不能为两个独立存储设备之间提供IP 连接,也就是不能端到端地利用IP来连接FC设备。
如图2所示,FCIP帧只是简单的将FC帧封装到TCP/IP中。FC报头、SOF、EOF分隔符、FCCRC以及FC数据都不被FCIP修改。FCIP在FC帧和TCP报头之间加入了FCIP报头,用来显示FCIP协议的版本、帧长度等字段。在FCIP接收端设备接收到FCIP帧后,能够通过EOF,SOF和帧长度来验证帧的有序发送。
发送端FCIP设备将FC帧封装为FCIP帧,通过IP网络发送。接收端FCIP设备剥离IP及TCP报头,解封装后的FC帧与本地的FC帧一样,通过一个或者多个FC交换机发送到目的节点。FCIP利用TCP传输层的保序、差错控制及拥塞控制机制实现FC数据在IP网络上的可靠传送。由于 FC帧在FCIP设备中被原封不动地封装和转发,整个过程对于IP网络完全透明,因此两个FCIP设备之间的隧道连接建立以后,两个单独的存储区域网络就可以合并(Merge)组成一个逻辑存储区域网络。
FCIP协议的一个重要问题是错误恢复。对于FCIP协议,FC网络和IP网络彼此是透明的,FC帧的内容对IP网络来说是不可见的。 FCIP只负责处理IP网络产生的错误,而对于FC层产生的任何错误,包括底层错误、CRC错误和FC路由层次错误等是不感知和不处理的。当一个存储区域网络中存在错误时,该错误会被透明地传播到另一个存储区域网络中。另一方面,两个FCIP设备之间的TCP连接因各种原因关闭后,原本连接而成的单一的逻辑存储区域网络将分割成两个单独的存储区域网络,各自进行本地数据交换,即使TCP连接恢复后,这种状况也不会改变,除非人为干预。
由于FC帧在不透明的管道中传输,IP网管工具不能穿透FC会话层,因此在网络管理方面,FCIP网络的运维需要IP和FC两套管理系统。
在服务质量(QoS)方面,FCIP可以直接利用IP网络的QoS技术,另外FCIP还可以通过加强IP报头的解释,为FC网络提供更好的QoS服务。
2.2 iFCP技术
iFCP是一个网关到网关的协议,为TCP/IP网络上的FC端设备提供FC网络服务,也就是可以实现端到端的IP连接。FC存储阵列、HBA(主机总线适配器,Host Bus Adapter)、交换机等可以直接连接到iFCP网关上。
如图2所示,iFCP帧也是将FC帧封装到TCP/IP中,但与FCIP不同之处在于,iFCP对封装的FC帧进行了修改,在协议实现中删除了FC的FC-2层(用于保障底层传输和路由功能)。对于去除FC-2后所缺失的路由功能(即FC-2对应的功能),iFCP将24位的FC网络地址映射到一个惟一的IP地址上,为FC设备提供本地IP编址,从而实现FC路由功能。另外,iFCP直接利用了TCP保障可靠传输的机制替代了FC-2的相关功能。
每个FC设备都具有一个24位的FC N_Port地址,分成3个8位的部分,DomainID,Area ID和Port ID。DomainID表示设备连接的交换机,Area/PortID表示设备连接的交换机的端口。每个交换机能够提供6.5万个地址。iFCP为端设备的24位的FC地址描述定义了两种编制技术:地址透明模式和地址转换模式。地址透明模式使用传统的FC编址方案,代价是每个iFCP网关将至少消耗6.5 个地址;在地址转换模式中,iFCP网关除了给本地设备分配地址外,还要为远程设备分配地址,使它看起来和本地资源一样。iFCP网关在这种模式下,将维护一个远程设备地址和本地代理地址的转换表,在数据转发时,使用远端地址代替代理地址。在网络通信时,iFCP网关进行FCN_Port地址和IP地址的映射,维护N_Port地址到IP地址的查找表,分别将对应的IP地址和N_Port地址放入到IP报头和FC报头中。在接收端,iFCP网关根据地址转换表进行路由寻址,将数据报转送到端设备。
iFCP是一个被设计成既支持FC又支持IP的协议,因此iFCP需要模拟FC网络服务,包括登录、SNS(Storage Name Service)注册。
iFCP不支持分割的存储区域网络的合并(Merge),因此无法组成单一的逻辑SAN。并且iFCP提供FC设备端到端的连接,TCP连接的中断只会影响到一个通信对,而不会影响到其他通信,也不会将一个设备的错误带给其他设备。iFCP的网络管理只需要单一的网管系统。
iFCP的安全性考虑要比FCIP强。iFCP利用类似于FC中的分区(Zoning)功能的发现域(Discovery Domain)功能来实现存储资源的隔离,只允许经过授权的引发器发现特定的目标设备并与之建立会话。同时,iFCP还可以利用IP网络的安全技术来保障安全,如IPSec,ACL和VPN等。
2.3 iSCSI技术
相比于上述两种IP存储网络技术,iSCSI是一种纯粹意义上的IP存储网络技术,它不包含任何FC的内容,iSCSI存储端设备支持TCP/IP协议栈,直接接入IP网络。iSCSI为通过IP网络进行块数据传输定义了自己的串行SCSI实现。
iSCSI协议的帧格式如图2所示。在SCSI CDB(Command Descriptor Block)前加入iSCSI头,帮助接收端解释SCSI命令。iSCSI头和SCSICDB组成iSCSI协议数据单元,并封装进TCP中,在IP网络中传输。
图1 FCIP技术、iFCP技术和iSCSI技术
图2 FCIP帧格式、iFCP帧格式和iSCSI帧格式