[发明专利]控制iSCSI报文发送、接收的方法和装置及相应系统有效

专利信息
申请号: 200710175312.6 申请日: 2007-09-28
公开(公告)号: CN101132376A 公开(公告)日: 2008-02-27
发明(设计)人: 景冬生 申请(专利权)人: 杭州华三通信技术有限公司
主分类号: H04L12/56 分类号: H04L12/56;H04L29/06;H04L29/08
代理公司: 隆天国际知识产权代理有限公司 代理人: 郭晓东
地址: 310053浙江省杭州市高新技术产业*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 控制 iscsi 报文 发送 接收 方法 装置 相应 系统
【说明书】:

技术领域

发明涉及网络存储领域,尤其涉及一种控制iSCSI(互联网小型计算机系统接口,Internet Small Computer System Interface)报文发送的方法及装置,一种控制iSCSI报文接收的方法及装置,以及一种控制iSCSI报文交互的系统。

背景技术

SCSI(小型计算机系统接口,Small Computer System Interface)是一种广泛使用的连接硬盘和计算机的技术标准。在该标准体系中,发送一个SCSI命令的设备称为Initiator(发起设备),通常为服务器端或者应用主机;接收并响应要求的一方为Target(目标设备),通常为存储设备端,包括磁盘、磁带、光盘、打印机、扫描仪等。具体的,发起设备和目标设备之间的读写操作过程为:发起设备将SCSI命令描述块(Command Data Block,简称CDB)发送给目标设备,该CDB中包括由目标设备执行的SCSI命令和/或数据;目标设备将执行该CDB之后的响应或者数据以CDB的形式发送给发起设备。

发起设备和目标设备之间可以通过不同的物理连接方式来通信,比如光纤连接或者基于IP网络连接。iSCSI是一种基于TCP/IP的SCSI传输协议,通过IP网络在发起设备和目标设备之间完成CDB的封装和可靠转送等处理。目前,基于iSCSI协议进行数据传输的典型应用环境如图1所示,其具体读写操作过程为:发起设备100的SCSI层生成一个适当的SCSI命令和数据请求;iSCSI层封装该命令,并生成多个协议数据单元(protocol dataunit,简称PDU)来承载;为每一个PDU加上TCP/IP协议的包头,然后发送并通过IP网络传输;目标设备200收到这些PDU后,其iSCSI层按照相反的方向进行解封装后,发送给SCSI层进行SCSI命令和数据请求的解析获得CDB,并进行后续的存储处理;将执行该CDB之后的响应或者数据沿相反的路线发送给发起设备。

其中,iSCSI层所添加的TCP/IP协议的包头也称为基本头段(BHS)。为了对传输的iSCSI数据流进行控制,该BHS中设有三个字段CmdSN(命令序列号)、ExpCmdSN(扩展命令序列号)和MaxCmdSN(最大命令序列号),通过对发送的iSCSI命令进行流控,比如控制同时发送的iSCSI命令数等实现对数据流的控制。

可以看出,现有技术中iSCSI流控是一种基于命令的单向流控机制。同时,由于每个iSCSI命令所需要的空间和网络传输时间不同,如一个写命令可能携带大量的数据,而一个查询命令则不携带数据,因此这种单纯针对命令的流控粒度很粗;假设一种情况:根据命令流控的要求,最多同时发出32个命令,则当这32个命令都是写命令,且每个写命令有8MB数据的时候,如果目标设备的SCSI层这个时候忙,那么目标设备的协议栈就需要缓冲至少32×8=256MB的数据。显然,如果每个命令携带的数据量更大,或者对于采用iSCSI协议来做数据的存储和访问的小型设备来说,很可能出现缓存的数据量大于当前可以使用的内存的情况,从而导致设备不可用。总而言之,现有技术中,基于iSCSI的数据传输所采取的是粗粒度的单向流控,并由此导致设备内存占用大,甚至设备不可用的问题。

发明内容

本发明为了克服上述现有技术的缺陷,提供了一种控制iSCSI报文发送、接收和交互的技术方案,旨在实现细化流控粒度,减少设备的内存占用问题。

为实现上述目的,本发明的实施例提供了一种控制iSCSI报文发送的方法,应用于IP存储系统中互为对端的发起设备或目标设备中,其中,该iSCSI报文的/PDU封装有SCSI命令参数;包括以下步骤:

A1、发送端依次赋予PDU一全局序列号并记录在相应的PDU中,以及向接收端发送;

A2、从接收端接收到携带有可处理的PDU最大序列号的发送提示指令时,提取该PDU最大序列号;其中,接收端可处理的PDU最大序列号为接收端已组装为SCSI命令的PDUSN与接收端缓冲队列之和;

A3、检测该PDU序列号是否大于等于发送端下一待发送的PDU全局序列号;是则,从下一PDU开始,重新执行步骤A1;否则,执行步骤A4;

A4、发送端停止发送直至接收到下一次发送提示指令。。

本发明的实施例还提供了一种控制iSCSI报文接收的方法,应用于IP存储系统中互为对端的发起设备或目标设备中,其中,/该iSCSI报文的PDU封装有SCSI命令参数;包括以下步骤:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200710175312.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top