论文部分内容阅读
SCSI (Small Computer System Interface小型计算机系统接口)是用于应用程序和存储设备之间传输数据的协议。SCS工有一个主要的缺陷是SCSI总线长度有限。随着SAN(Storage Area Network,存储区域网络)技术的发展,提出了一些可以扩展SCSI总线长度的协议,它们有互联网光纤通道协议(Internet Fibre Channel Protocol,iFCP)、基于IP的光纤通道(Fibre Channel Over TCP/IP,FCIP)、互联网小型计算机系统接口(Internet Small Computer systems Interface,iSCSI)。这些协议技术都要求使用发起端(Initiator)和目标端(Target)来实现。发起端负责SCSI命令的发起,目标端则负责接收、处理SCSI命令。通常我们把发起端和目标端所要做的主要工作作为一个逻辑代码单元独立出来,称之为中间层(Mid—Level)。当前Linux下已经实现了SCSI发起端的中间层,它用来和各种发起端交互,但是Linux中并没有实现SCSI目标端的中间层。本文通过对SCSI协议和iSCSI协议的研究,为Linux实现了SCSI目标端中间层,并且在此基础上实现了基于iSCSI协议的SAN。