




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
iSCSI技术白皮书 收藏 打印 推荐第1章背景技术1.1iSCSI概述2003年2月11日,IETF(Internet Engineering Task Force,互联网工程任务组)通过了iSCSI(Internet SCSI)标准,这项由IBM、Cisco共同发起的技术标准,经过三年20个版本的不断完善,终于得到了IETF认可。这吸引了很多的厂商参与到相关产品的开发中来,也推动了更多的用户采用iSCSI的解决方案。iSCSI,全称:Internet Small Computer System Interface,它是通过TCP/IP网络传输SCSI指令的协议。iSCSI协议参照SAM-3(SCSI Architecture Model3)制订。在SAM-3的体系结构,iSCSI属于传输层协议,在TCP/IP模型中属于应用层协议。1.2SCSI技术要了解iSCSI协议,首先需要了解SCSI。SCSI全称是Small Computer System Interface,小型计算机接口。SCSI是1979年由美国的施加特(Shugart)公司(希捷的前身)研发并制订,由美国国家标准协会(ANSI)公布的接口标准。SCSI Architecture Model(SAM-3)用一种较松散的方式定义了SCSI的体系架构。图1-1SCSI体系结构分解图SCSI Architecture Model-3,是SCSI体系模型的标准规范;它自底向上分为4个层次:l物理连接层(Physical Interconnects)如Fibre Channel Arbitrated Loop、Fibre Channel Physical Interfaces;lSCSI传输协议层(SCSI Transport Protocols)如SCSI Fibre Channel Protocol、Serial Bus Protocol、Internet SCSI;l共享指令集(SCSI Primary Command),适用于所有设备类型;设备类型l专用指令集(Device-Type Specific Command Sets)如块设备指令集SBC(SCSI Block Commands);流设备指令集SSC(SCSI Stream Commands);多媒体指令集MMC(SCSI-3 Multimedia Command Set)简单地说,SCSI定义了一系列规则提供给I/O设备,用以请求相互之间的服务用。每个I/O设备称为“逻辑单元”(LU),每个逻辑单元都有一个唯一的地址来区分它们,这个地址称为“逻辑单元号”(LUN)。SCSI模型采用客户端/服务器(C/S,Client/Server)模式,客户端称为initiator,服务器称为target,数据传输时,initiator向target发送request,target回应response,在iSCSI协议中也沿用了这套思路。图1-2SCSI设备服务和任务请求交互模型第2章iSCSI协议2.1iSCSI协议栈描述iSCSI是集成了SCSI协议和TCP/IP协议的新的协议。它是在SCSI基础上扩展了网络功能,也就是可以让SCSI命令通过网络传送到远程SCSI设备上,而SCSI协议只能访问本地的SCSI设备。iSCSI是传输层之上的协议,使用TCP连接建立会话。在initiator端的TCP端口号随机选取,target的端口号默认是3260。iSCSI使用客户/服务器模型。客户端称为initiator,服务器端称为target。Initiator:通常指用户主机系统,用户产生SCSI请求,并将SCSI命令和数据封装到TCP/IP包中发送到IP网络中。Target:通常存在于存储设备上,用于转换TCP/IP包中的SCSI命令和数据。 图2-1iSCSI协议栈2.2iSCSI通信模型iSCSI结构模型见下图,从图中可以看出,在iSCSI结构模型中的网络实体可以包含多个iSCSI节点(Initiator或者Target),而网络实体之间又通过网络入口(Network Portal)连接。2.3iSCSI名字规范iSCSI协议中,initiator和target是通过名字进行通信的,因此,每一个iSCSI节点(即initiator)必须拥有一个iSCSI名字。iSCSI协议定义了3类名称结构:1、iqn(iSCSI Qualified Name)格式是:“iqn”+“年月”+“.”+“域名的颠倒”+“:”+“设备的具体名称”,之所以颠倒域名是为了避免可能的冲突。举例:.h3c.rd:test2、eui(Extend Unique Identifier)eui来源与IEEE中的EUI,格式是:“eui”+“64bits的唯一标识(16个字母)”。64bits中,前24bits(6个字母)是公司的唯一标识,后面40bits(10个字母)是设备的标识。举例:eui.acde48234667abcd3、naa(Network Address Authority)由于SAS协议和FC协议都支持naa,iSCSI协议定义也支持这种名字结构。 naa的格式:“naa”+“64bits(16个字母)或者128bits(32个字母)的唯一标识”。举例:naa. 52004567BA64678D naa. 62004567BA64678D0123456789ABCDEF在实际使用过程中,iSCSI节点名称可以不这么复杂。第3章iSCSI协议会话交互过程3.1背景3.1.1会话和连接的概念1.会话(Session)Initiator和Target间的一组TCP连接,逻辑层概念(等价于SCSI规范中的I_T nexus)2.连接(Connection)Initiator和Target间的一个TCP连接,实体层概念(源地址:源端口号+目的地址:目的端口号唯一确定了一个TCP连接)iSCSI报文交互是在由连接构成的会话上进行的。iSCSI协议在设计的时候,为了提高性能,允许在1个会话包含多个连接,在会话建立过程中,第一个连接建立成功的同时会话也成功建立。3.连接忠贞(Connection Allegiance)在iSCSI协议中,有连接忠贞的概念:如果一个iSCSI请求是通过某个TCP连接(称为A)发送的,那么相应的应答以及其他相关的PDU必须在该连接(A)上发送。因此,虽然一个会话可以有多个连接,如果一个SCSI命令通过连接A发送出去,那么必须在连接A上得到回应。3.1.2会话类型和会话阶段iSCSI协议包括2种会话类型,每种会话类型又分为3个阶段。1.两种会话类型l发现会话(Discovery Session)用于发现指定的iSCSI网关上可用的Target,该会话建立后仅允许发送Text Command/Response,Logout Request/Response PDU,其他类型报文PDU一律拒绝,SessionType=Discovery;这种会话类型主要用在4.11中的第2种方法:“发现会话”。如果initiator只有target网关的地址,而没有target的名字,就需要使用Discovery类型的会话,发起会话建立请求。l正常操作会话(Normal Operational Session)没有任何限制的会话类型,SessionType=Normal。Initiator与target会话建立成功后,使用的会话类型就是Normal类型。2.每种会话类型又分三种会话阶段lSecurity Negotiation Phase 安全协商阶段0x00lLogin Operational Negotiation Phase 操作协商阶段0x01lFull Feature Phase 全功能阶段0x03安全协商阶段和操作协商阶段统称为登录阶段。Initiator和target只有到达全功能阶段后,才能进行数据读写操作。3.2发现会话(Discovery)Discovery会话主要用于initiator通过target portal发现所有的target,为接下来initiator与target连接作准备。3.2.1过程概述Discovery会话建立的过程主要分为以下几步:(1)、建立TCP连接(2)、进行安全协商(3)、进行操作协商(4)、获得可用资源(5)、关闭会话(6)、关闭TCP连接3.3正常操作会话3.3.1发现会话和正常操作会话的不同作用l实际的数据传输都是通过正常操作会话来进行,所以它和SCSI层的关系更为紧密,所有的PDU都可以在正常操作会话中传输l在发现会话建立初始化时,照例要进行login request/response(这点和发现会话的登录过程相似)l发现会话进入全功能阶段时,仅能传输Text Command和Logout Command,其他类型的报文会reject;而正常操作会话进入全功能阶段后,则开始包含SCSI指令的数据进行传输发现会话只是为了获得Target网关上可用的Target列表,其他什么事情也不干;而正常操作会话的建立才是为了实际的数据读写操作!发现会话是为正常会话服务的,通过发现会话,initiator可以获得target的名称和IP地址,从而与target建立正常会话。正常会话的建立过程与发现会话类似,下面着重介绍正常会话建立完毕后,SCSI读写过程。3.3.2SCSI读写过程1.数据读写准备过程数据读写之前,需要有一个读写准备的过程,这个过程中,initiator和target端的动作包括:lInitiator-Target:读写前的设备状态、大小查询uReport LUNSuInquiryuSCSI Read CapacityuSCSI Mode SenselTargetInitiator:uSCSI ResponseuSCSI Data InReport LUNS用于从I_T连接中获取逻辑单元的目录。INQUIRY命令用于请求逻辑单元和SCSI目标设备发送信息给申请用户。Read Capacity命令属于SCSI块命令(SBC),该命令请求设备服务器向输入缓冲区传输8字节的参数数据,用于描述直接存取块设备的存储介质的格式和容量。Mode sense命令用于申请用户指定存储介质、逻辑单元或外围设备参数给设备服务器Initiator向target发送上述信息后,target对这些信息进行回应。下面是以上命令的大致流程,它们之间并没有明确的顺序关系,所以下图实际上是4个流程的大致组合:2.SCSI读过程lInitiator-Target: SCSI Read(10)(ExpectedDataSegmentLength)lTarget-Initiator: SCSI Data In(Solicted data)lTarget-Initiator: SCSI Response (or included in the final Data In PDU)Initiator首先向target发送读请求,其中包含了需要读的数据长度;target收到请求后,向initiator发送Solicted data,最后target发出response报文(或者该response报文包含在最后一个Data-IN报文中)。3.SCSI写过程数据写有2种情况,一种是target需要确认状态;另外一种是target端不需要确认状态。一、需要确认状态的情况lInitiator-Target:读写前的设备状态查询和设置lInitiator-Target: SCSI Write(10)uExpectedDataLengthuImmediate DatalTarget-Initiator: R2TlInitiator-Target: SCSI Data OutuSolicited DatalTargetInitiator: SCSI Response二、不需要确认状态的情况lInitiator-Target:读写前的设备状态查询和设置lInitiator-Target: SCSI Write(10)uExpectedDataLengthuUnsolicited DatalTargetInitiator: SCSI Response3.4iSCSI错误恢复机制3.4.1可能的错误iSCSI协议中,将可能发生的错误归为3类:l协议错误;可能由程序引起,需要SCSI层重启会话来恢复lCRC校验出错;这一错误可能发生在头校验位或数据校验位;重新发送PDU可能修复该错误;lTCP/IP或链路连接错误;这一错误可以通过重启连接或将会话从失败的连接上移开来恢复3.4.2三种错误恢复级别根据3种可能发生的错误,有3种错误恢复级别lErrorRecoveryLevel=0(又称会话恢复级)不论出现什么样的连接错误,都会重启会话;CRC校验出错时,Initiator会中止会话并向SCSI层返回错误码;SCSI层将负责恢复错误lErrorRecoveryLevel=1(又称校验恢复级),如果需要,可以转向Leve
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023-2029年中国碳酸饮料制品行业市场发展现状及投资方向研究报告
- 2023-2029年中国通信终端设备制造行业市场发展现状及投资方向研究报告
- 磷石膏砌块项目可行性研究报告
- 智能建筑项目可行性研究报告
- 公司信息群管理办法
- 仓库旧物料管理办法
- 航海遗址出土航海日志研究跨学科应用合同
- 律师事务所管理制度
- 秘书长办公会议管理制度
- 旋毛虫感染经济损失-洞察及研究
- 20道中国人民财产保险股份有限公司保险理赔员岗位常见面试问题含HR常问问题考察点及参考回答
- 肥料登记申请书表格
- 2023电动汽车快换电池箱通信协议
- 房山区G107大修工程施工组织方案
- 《人才池 人才培育的靶心战略》读书笔记思维导图
- JJG 10-2005专用玻璃量器
- GB/T 5907.4-2015消防词汇第4部分:火灾调查
- BB/T 0019-2000包装容器方罐与扁圆罐
- 超市生鲜蔬菜培训资料
- 2020浙江高考英语一轮复习课件:专题十二-文章
- 新编物理基础学(上下册)课后习题详细答案 王少杰 顾社主编
评论
0/150
提交评论