<<iSCSI: The universal storage connection>>读书笔记

iSCSI: The universal storage connection


1.preface
iSCSI只是一个传输层,作为SCSI协议的携带者,以传送SCSI协议

4.An overvie of iSCSI
4.1
APP-to-LU command flow
主机系统由APP组成,它通过以下一种与SCSI-class driver连接的方式来实现与SCSI设备的连接:文件系统和应用程序API。

SCSI流如下,
1).SCSI类驱动将由APP或文件系统产生的设备请求转化为SCSI命令,由CDB携带;
2).SCSI类驱动激活合适的硬件设备驱动;
3).硬件设备驱动通过a verdor-specific interface与HBA交互;
4).HBA向远程SCSI设备的HBA和设备驱动发送CDBs和数据;
5).在SCSI设备内部,SCSI处理如下,
解析命令;
接收数据;
向合适的LU发送指令;
因此,真实的SCSI连接是由SCSI类驱动到target端设备的SCSI处理。SCSI类驱动从应用程序接收指令后,SCSI target process把指令
发送给LU。此是通过SCSI协议实现了APP到LU的连接。

4.2 TCP/IP
errr-free in-order dilivery;
congestion management;
storage needs an even higher degree of error detection than is normally available to TCP/IP;

iSCSI transport protocol的主要传输路径:
假设,initiator发现了一iSCSI设备的地址,并被授权予以访问。此设备有一IP地址。
则,iSCSI设备驱动,或者HBA内的协议处理器,生成一包含合适CDB和LUN的PDU。
然后,它向tcp/ip socket转发此包,TCP加上合适的TCP Header,并将此包转发IP网络。
IP决定具体的路由地址,加上合适的ip header后,向以太网发送。
心态网加上物理链接头部及trailer发送,并在它的通路上发送final packet。

iSCSI/TCP/IP/Ethernet transport encapsulation

4.3 iSCSI-Related Protocol Layers
iSCSI建立在TCP/IP之上,作为其传输层协议,并通过TCP/IP来传送它的协议数据单元。
同样,SCSI把iSCSI作为其传输层协议,从SCSI initiator向SCSI target传送CDBs。


协议栈
栈顶层是app和lu(app 将尝试对其执行I/O操作)。
为此,app向os kernel发送一I/O请求,os kernel直接将其发送到合适的SCSI类驱动。有时候,它会经过文件系统层转发。SCSI类驱动由
I/O请求生成合适的SCSI命令,将其封装在CDB中,并通过合适的本地设备驱动发送到SCSI设备。本地设备驱动指示了需要操作的LU。


从结构观点来看,iSCSI设备驱动是iSCSI传输层的开始。iSCSI层将CDB,连同LUN一同放到PDU中,通过会话向远端iSCSI partner发送。
其中,会话可由一个或多个TCP/IP连接组成。如果系统没有iSCSI offload HBA,那么它会由本地设备驱动生成iSCSI PDU包,并激活TCP/IP
连接。如果系统有iSCSI HBA,那么iSCSI层扩展到HBA,并由HBA的iSCSI功能生成PDU。
This offloaded function in turn interfaces to the TCP/IP TOE, which is also on the HBA. In either case (with or without the iSCSI HBA), the iSCSI layer interfaces to the TCP/IP layer and uses one TCP/IP connection or more to form a session to carry the PDUs.


1data transfer direction
2scsi read and scsi write;区别,发起端总是知道其接收缓冲区大小。而写操作时,发起端不知道目标端当前有多大缓存空间用于保存数据,
因此,需要流控。
3cmdSN non-immdiate
4expected data length  estimate
5 scsi command's cmdSN represents the next non-immediate command to be sents

































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值