[发明专利]传输小型计算机系统接口SCSI包的方法和装置无效
申请号: | 200910145553.5 | 申请日: | 2009-05-27 |
公开(公告)号: | CN101572716A | 公开(公告)日: | 2009-11-04 |
发明(设计)人: | 夏飞;周迪 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/56 |
代理公司: | 北京鑫媛睿博知识产权代理有限公司 | 代理人: | 龚家骅 |
地址: | 310053浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 传输 小型 计算机系统 接口 scsi 方法 装置 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种传输小型计算机系统接口SCSI包的方法和装置。
背景技术
随着信息时代的到来,信息的采集与处理成为决定现代企业生存与发展的关键因素,多数企业通过iSCSI(Internet Small Computer System Interface,互联网小型计算机系统接口)协议直接访问存储设备,实现数据的批量封装和可靠传输。
iSCSI协议是一种在IP(Internet Protocol,互联网协议)网络上,特别是以太网上进行数据块传输的协议,目前已经成为新一代存储技术的标准协议。iSCSI协议可以实现在IP网络上运行SCSI(Small Computer System Interface,小型计算机系统接口)协议和应用SCSI的功能,充分利用了现有IP网络的成熟性和普及性等优势,允许用户通过TCP(Transmission Control Protocol,传输控制协议)/IP网络来构建SAN(Storage Area Network,存储区域网络)。
iSCSI协议层次模型包括:SCSI应用层、iSCSI协议层、TCP/IP层和以太网层,其中,SCSI应用层将自身构建的SCSI CDB(Command Descriptor Block,命令描述块)传送给iSCSI协议层,同时接收来自iSCSI协议层的SCSI CDB;iSCSI协议层对接收到的来自SCSI应用层的SCSI CDB进行封装,构建iSCSIPDU(Protocol Data Unit,协议数据单元),并通过一个或者多个TCP连接发送和接收iSCSI PDU,上述TCP连接组成Initiator-Target(发起端-接收端)会话,负责传送包含控制消息、SCSI命令、参数和数据的iSCSI PDU,可以被加入会话或者从会话中移除;TCP/IP层提供端到端的透明可靠传输,对IP报文进行路由和转发;以太网层提供点到点的无差错传输。
现有技术中,通过在发起端上安装Initiator软件与接收端连接,对接收端进行数据读写。Initiator软件首先将SCSI包封装成iSCSI包,再将iSCSI包封装成TCP包,通过网口将TCP包发送出去。接收端接收到TCP包后,依次去掉TCP头和iSCSI头,将TCP包中的SCSI CDB发送给自身的存储资源,存储资源根据接收到的SCSI CDB对数据进行处理,并将处理结果按照上述封装顺序返回给发起端。
在上述处理过程中,发起端首先将SCSI包存放在缓存中,然后再通过网口将封装后的SCSI包发送出去。由于IP网络的特性,当通过网口发送一个SCSI包时,网络流量会出现一个瞬时的峰值;如果多个SCSI包同时发送,将会使网络流量的峰值超过网络的网口速率,从而导致网络出现拥塞,甚至可能导致缓存中的数据丢失。例如,假设一个SCSI包的大小为1MB,发起端在10ms内将一个SCSI包发送出去,即网络上的瞬时传输速率为100MB/s(即100兆字节每秒),接近800Mb/s(即800兆比特每秒);如果在10ms内需要同时发送两个1MB的SCSI包,网络上的瞬时传输速率为1600Mb/s,会使网口速率为1000Mb/s的IP网络发生拥塞,同时影响发送发SCSI包的速率,并在缓存填满时导致数据丢失。
为避免上述情况,可以限制SCSI包的大小,发送较小的SCSI包,并使每个SCSI包通过网口发送时间隔一段时间(例如5毫秒)。例如,如果1个SCSI包只有100KB,对于网口速率为1000Mb/s的IP网络来说,可以同时发送10个SCSI包而不发生网络拥塞。然而在接收端,处理每个SCSI包的时间是一定的,例如,16KB的SCSI包和1000KB的SCSI包的处理时间均在15-18ms之间。SCSI包越小,接收端的处理时间越长,存储的速率就会越慢。例如,对于1MB的SCSI包,如果作为一个包发送,接收端的处理时间为18ms;如果按照100KB的SCSI包发送,接收端需要处理10个包,接收端的处理时间将会超过150ms;如果按照32KB的SCSI包发送,接收端需要处理30个SCSI包,接收端的处理时间将会超过450ms。
综上所述,现有技术提出的SCSI包传输方案中,发起端通过网口发送的SCSI包比较大时,会造成网络流量的瞬时峰值过大,并导致网络拥塞和数据丢失;发起端限制SCSI包的大小,发送较小的SCSI包时,会影响数据存储的速率。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910145553.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种合金加料缓冲结构
- 下一篇:节能草地灯