基本概念: SCSI(Small Computer System interface)是一种广泛用于计算机存储的接口技术,请求-响应式的工作方式,主要设备部件有initiator,target,和SCSI Bus。其中initiator就可以看作我们常说的HOST端,SCSI HBA,而target可以是disk,tape或RAID controller等后端存储设备
SAN(Storage area networks)是一种利用光纤通道(Fibre Channel)技术来传输SCSI数据的存储网络技术,其技术原理是SCSI-FCP协议将SCSI数据或命令通过FC传输(不再使用SCSI Bus),从而实现SCSI传输的距离限制和SCSI Bus总线上设备数目的限制.FC HBA扮演initiator的角色,target仍然是disk,tape或RAID controller等后端存储设备
IP SAN是利用IP技术来实现的SAN(Storage area networks),与之有关的技术协议主要有:FCIP,iFCP,iSCSI.其中iSCSI协议是一种将SCSI数据或命令通过TCP/IP网络传输(不使用SCSI Bus和FC)的映射协议,iSCSI HBA扮演initiator的角色,target仍然是disk,tape或RAID controller等后端存储设备.iFCP与iSCSI类似,也是一种映射协议,目的是将FC层数据传输至target端.从而实现SCSI数据和命令的传输.iFCP HBA扮演initiator的角色,target仍然是disk,tape或RAID controller等后端存储设备.FCIP是一种隧道协议,用于将FC SAN互联.
技术分析: 所谓各种网络存储技术,主要致力于SCSI数据和命令的传输上.技术与性能差别也就在传输技术上.FC使用的是令牌环的技术,而iSCSI和iFCP的实际传输是在TCP/IP上,
不同协议的数据帧的大小是不同的,Fibre Channel协议帧的大小是2K,iSCSI(iFCP)采用的以太帧大小是1.5K,如果存储应用程序发送一个I/O请求,传送一个10K大小的数据包时,这个数据包必须重新分解成更小的帧,到达目的地后,又必须重新组合成10K大小的数据包。考虑到执行分解、组合操作的软件运行开销,数据帧大的协议要优于数据帧小的协议,并且FC HBA本身可以完成数据包的分解和组合,因而可以减少主机处理器的负载,而iSCSI(iFCP)若采用通用以太网卡来实现,则必须由操作系统来实现数据帧的分解和组合,相对而言增加了主机软件开销,加重了主机处理器的负担。当然还有TOE和iSCSI HBA实现,因而也可以减少主机处理器的负载,.
Fibre Channel采用的是基于发送许可证(credit)的流量控制机制,由数据的接收方给发送方分配许可证,发送方只有在它还没有用完自己的许可证的时候才可以继续发送,接收方根据自己的可用缓冲区大小来决定是否分配新的许可证,基于许可证的流量可以避免数据的冲突而导致的数据包的丢失。iSCSI(iFCP)则采用TCP/IP协议的端到端的流量控制机制,以可变发送窗口的方式进行流量控制,发送窗口在连接建立时由双方商定,但在通信过程中,接收方可根据自己的资源使用情况,随时动态地调整自己的接受窗口(可增大或减小),然后告诉对方,使发送方的发送窗口和自己接收窗口一致。由于发送方等待得到接收方的发送许可要耗去大量的时间,在网络传输延迟较大的广域网中,基于许可证的流量控制机制将造成网络性能的降低。
iSCSI(iFCP)协议采用的是TCP协议的自适应超时重发算法,可根据网络的情况动态调整。发送方可能过早或过迟地出现超时,这对改善网络的综合性能不利。相对而言,iSCSI(iFCP)由于可以动态地自适应于网络的当前情况,因而可以改善网络的综合性能,从这个角度而言,iSCSI(iFCP)应该优于光纤通道,更加适合目前现实的网络情况。
有时候具体优劣要视具体应用.
阅读(447) | 评论(0) | 转发(0) |