CN101483671A - 提高iSCSI会话传输速率的方法、***和发起端装置 - Google Patents
提高iSCSI会话传输速率的方法、***和发起端装置 Download PDFInfo
- Publication number
- CN101483671A CN101483671A CNA2009100774707A CN200910077470A CN101483671A CN 101483671 A CN101483671 A CN 101483671A CN A2009100774707 A CNA2009100774707 A CN A2009100774707A CN 200910077470 A CN200910077470 A CN 200910077470A CN 101483671 A CN101483671 A CN 101483671A
- Authority
- CN
- China
- Prior art keywords
- iscsi
- rtt
- session
- nop
- end device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种提高基于因特网的小型计算机***接口(iSCSI)会话传输速率的方法、***和发起端装置,其中方法包括:周期性地获取iSCSI会话中一个iSCSI连接的环回时间(RTT),判断该RTT是否超过预先设定的门限值,当超过门限值时,重新建立一个iSCSI连接,将所述重新建立的iSCSI连接加入所述iSCSI会话中。本发明能够提高iSCSI会话的传输速率。
Description
技术领域
本发明涉及基于因特网的小型计算机***接口(iSCSI,internet SmallComputer System Interface)协议技术领域,特别涉及一种提高iSCSI会话传输速率的方法、***和发起端装置。
背景技术
iSCSI协议是一种传输协议,硬件编码器通过iSCSI协议与存储设备通信,进行数据传输。iSCSI协议的实现可以在IP网络上应用SCSI的功能,充分利用了现有的IP网络的成熟性和普及性等优势,允许用户通过TCP/IP网络来构建存储区域网(SAN,Storage Area Network),为企业提供了直接访问存储设备的能力。
iSCSI协议的发起端(Initiator)和目标端(Target)之间的通信由一个或多个iSCSI连接完成,iSCSI连接通过发送iSCSI协议数据单元(iSCSI
PDU)来传输数据。连接一个Initiator和Target的所有iSCSI连接构成一个iSCSI会话(iSCSI Session),每个iSCSI连接可以被加入iSCSI会话或者从iSCSI会话中移出。
由于iSCSI协议是承载在TCP协议之上的,在建立iSCSI连接之前首先需要建立TCP连接。基于IP的iSCSI传输完全依赖于TCP连接,对于通过一个TCP连接传送的任何iSCSI请求,相应的响应和/或其他相关的iSCSIPDU必须经由同一个TCP连接来发送。
TCP协议具备经受时延确认的机制,即接收端在接收到数据时并不立即发送ACK消息,而是将ACK消息推迟,并与下一个需要沿该方向发送的数据一起发送。TCP协议的经受时延确认机制对TCP连接的传输速率造成影响,具体体现于如下公式:
其中,环回时间(RTT,Round-Trip Time)表示从发送端发送数据开始,到发送端收到来自接收端的确认消息之间的时间;
P表示数据包丢失率;
由上述公式可见,TCP协议的经受时延确认机制直接导致RTT的增大,由于RTT与TCP连接的传输速率成反比,进而导致TCP连接的传输速率降低。
由于iSCSI连接的建立完全依赖于TCP连接,因此,iSCSI连接的传输速率也受上述公式的影响,即:由TCP协议的经受时延确认机制导致iSCSI连接的传输速率下降。进一步地,由于iSCSI会话由iSCSI连接组成,最终导致iSCSI会话的传输速率下降。
发明内容
本发明实施例提出一种提高iSCSI会话传输速率的方法,能够提高iSCSI会话的传输速率,有效地提高iSCSI的传输吞吐量。
本发明实施例还提出一种提高iSCSI会话传输速率的***和发起端装置,能够提高iSCSI会话的传输速率,有效地提高iSCSI的传输吞吐量。
本发明实施例的技术方案是这样实现的:
一种提高iSCSI会话传输速率的方法,包括:
周期性地获取iSCSI会话中一个iSCSI连接的RTT,判断该RTT是否超过预先设定的门限值,当超过门限值时,重新建立一个iSCSI连接,将所述重新建立的iSCSI连接加入所述iSCSI会话中。
一种提高iSCSI会话传输速率的***,包括:发起端装置和目标端装置;
发起端装置,用于周期性地获取iSCSI会话中一个iSCSI连接的RTT,判断该RTT是否超过预先设定的门限值,当超过门限值时,重新建立一个发起端装置和目标端装置之间的iSCSI连接,将所述重新建立的iSCSI连接加入所述iSCSI会话中。
一种提高iSCSI会话传输速率的发起端装置,包括:
RTT监控模块,用于周期性地获取iSCSI会话中一个iSCSI连接的RTT,判断该RTT是否超过预先设定的门限值,当超过门限值时,命令iSCSI会话维持模块建立新的iSCSI连接;
iSCSI会话维持模块,用于根据RTT监控模块的命令建立iSCSI连接,将该iSCSI连接中加入iSCSI会话中。
可见,本发明提出的提高iSCSI会话传输速率的方法、***和发起端装置,实时地获取iSCSI连接上数据传输的RTT值,当iSCSI连接的RTT值过大而影响数据传输速率时,在当前iSCSI会话中增加iSCSI连接,实现负载的有效分担,从而提高iSCSI会话的传输速率。
附图说明
图1为本发明方法实施例流程图;
图2为本发明方法实施例中获取iSCSI连接的RTT的实现流程图;
图3为本发明实施例发起端装置的结构示意图。
具体实施方式
本发明的设计思想是:当iSCSI会话的初始iSCSI连接建立成功,进行iSCSIPDU的传输时,周期性地获取初始iSCSI连接的RTT并判断RTT是否超过预期的可接受范围,直至判断出超过时,说明由于受TCP协议经受时延确认机制的影响使得整个iSCSI会话的传输速率过低,此时立即增加新的iSCSI连接。
增加新的iSCSI连接后,如果整个iSCSI会话的传输速率提高,说明网络带宽还有富余,这种情况下可以在iSCSI连接的RTT超过预期的可接受范围时再次增加iSCSI连接;如果整个iSCSI会话的传输速率没有提高,说明已经达到了网络带宽的极限值,使新增加的iSCSI连接由于没有空闲的网络带宽供其使用而无法起到负载分担的效果,这种情况下结束本流程。
本发明提出的提高iSCSI会话传输速率的方法可以包括:
周期性地获取iSCSI会话中一个iSCSI连接的RTT,判断该RTT是否超过预先设定的门限值,当超过门限值时,重新建立一个iSCSI连接,将所述重新建立的iSCSI连接加入所述iSCSI会话中。
针对iSCSI会话仅包含一个初始iSCSI连接的情况,上述获取iSCSI会话中一个iSCSI连接的RTT可以具体为:获取iSCSI会话中初始iSCSI连接的RTT。
针对iSCSI会话中包含多个iSCSI连接的情况,上述获取iSCSI会话中一个iSCSI连接的RTT可以具体为:获取iSCSI会话中任意一个iSCSI连接的RTT;
获取iSCSI会话中任意一个iSCSI连接的RTT之前可以进一步包括:判断所述iSCSI会话的传输速率是否允许提高,如果允许提高,则继续执行所述获取iSCSI会话中任意一个iSCSI连接的RTT的步骤;如果不允许提高,则结束当前流程。
上述方法中,判断iSCSI会话的传输速率是否允许提高的方式可以具体为:将加入新的iSCSI连接之后的iSCSI会话的传输速率与加入新的iSCSI连接之前的iSCSI会话的传输速率进行比较,当加入后的传输速率大于加入前的传输速率时,则判定所述iSCSI会话的传输速率允许提高。
以下参照附图1详细介绍本发明。参见图1,图1为本发明方法实施例流程图。本发明提出的提高iSCSI会话传输速率的方法包括:
步骤101:建立iSCSI会话的初始iSCSI连接。
步骤102:周期性地获取初始iSCSI连接的RTT,并判断该RTT是否超过预先设定的门限值,直至RTT超过预先设定的门限值时,执行步骤103;此处预先设定的门限值可以为RTT预期的可接受范围。
步骤103:建立新的iSCSI连接。
步骤104:将新的iSCSI连接加入到iSCSI会话中。
上述方法中,步骤104之后可以进一步包括:
步骤105:判断iSCSI会话的传输速率是否允许提高,如果允许提高,则执行步骤106;否则结束本方法流程。在本步骤中,判断iSCSI会话的传输速率是否允许提高的方式为:将加入新的iSCSI连接之后的iSCSI会话的传输速率与加入新的iSCSI连接之前的iSCSI会话的传输速率进行比较,当加入后的传输速率大于加入前的传输速率时,则判定iSCSI会话的传输速率允许提高。其中,iSCSI会话的传输速率可以通过在发起端装置计算特定时长内发送的字节数来获得。
步骤106:周期性地获取iSCSI会话中任意一个iSCSI连接的RTT,并判断该RTT是否超过所述预先设定的门限值(由于同一个iSCSI会话中每个iSCSI连接的RTT相差无几,因此可以采用其中任意一个iSCSI连接的RTT来作判断),直至RTT超过预先设定的门限值时,返回执行步骤103。本步骤中,预先设定的门限值可以为RTT预期的可接受范围。
从上述过程可见,当iSCSI会话中增加新的iSCSI连接后,如果整个iSCSI会话的传输速率没有提高,说明此时网络带宽已经饱和,再增加iSCSI会话也不会起到负载分担的效果,这种情况下就不再计算iSCSI连接的RTT、也不再增加新的iSCSI连接。这样既可以在一个iSCSI会话中利用多个iSCSI连接进行负载分担,又不会无谓地增加新的iSCSI连接造成浪费,有效地提高了iSCSI会话的传输速率。
在本发明中,可以通过iSCSI协议中已经定义的NOP-Out PDU及NOP-OutPDU周期性地进行时间信息的交互,实时地获取iSCSI连接的RTT。具体过程参见图2,图2为本发明方法实施例中获取iSCSI连接的RTT的实现流程图。
步骤201:发起端装置采用iSCSI连接向目标端装置发送NOP-Out PDU,所述NOP-Out PDU包含表示发起端发送NOP-Out PDU时刻的时间戳A1;
步骤202:目标端装置接收NOP-Out PDU,生成对应的NOP-In PDU,NOP-InPDU包含时间戳A1,在NOP-In PDU中增加表示目标端装置接收NOP-Out PDU时刻的时间戳B1;
步骤203:目标端装置采用发起端装置所采用的iSCSI连接发送NOP-InPDU时,在NOP-In PDU中增加表示目标端装置发送NOP-In PDU时刻的时间戳B2;
步骤204:发起端装置接收该NOP-In PDU,记录接收该NOP-In PDU的时刻A2;
至此,发起端装置有足够的信息计算该iSCSI连接的RTT,即:
RTT=B1-A1+A2-B2
上述方法中,时间戳可以采用NOP-In PDU或NOP-Out PDU中的保留(reserve)字段进行封装。
本发明实施例还提出一种提高iSCSI会话传输速率的***,包括:发起端装置和目标端装置;
发起端装置,用于周期性地获取iSCSI会话中一个iSCSI连接的RTT,判断该RTT是否超过预先设定的门限值,当超过门限值时,重新建立一个发起端装置和目标端装置之间的iSCSI连接,将所述重新建立的iSCSI连接加入所述iSCSI会话中。
上述***中,发起端装置获取iSCSI会话中一个iSCSI连接的RTT可以为:获取iSCSI会话中初始iSCSI连接的RTT。
上述***中,发起端装置获取iSCSI会话中一个iSCSI连接的RTT还可以为:获取iSCSI会话中任意一个iSCSI连接的RTT;
发起端装置还可以用于,判断iSCSI会话的传输速率是否允许提高,当允许提高时,继续执行所述获取iSCSI会话中任意一个iSCSI连接的RTT的步骤。
本发明实施例还提出一种提高iSCSI会话传输速率的发起端装置,参见图3,图3为本发明实施例发起端装置的结构示意图,包括:
RTT监控模块301,用于周期性地获取iSCSI会话中一个iSCSI连接的RTT,判断该RTT是否超过预先设定的门限值,当超过门限值时,命令iSCSI会话维持模块302建立新的iSCSI连接;
iSCSI会话维持模块302,用于根据RTT监控模块301的命令建立iSCSI连接,将该iSCSI连接中加入iSCSI会话中。
上述发起端装置还可以包括:
iSCSI会话速率监控模块303,用于判断iSCSI会话的传输速率是否允许提高,当允许提高时,命令RTT监控模块301获取iSCSI会话中任意一个iSCSI连接的RTT。
上述发起端装置中,RTT监控模块可以包括:
NOP-Out PDU发送模块,用于采用iSCSI连接向目标端装置发送NOP-OutPDU,所述NOP-Out PDU包含表示发起端装置发送NOP-Out PDU时刻的时间戳A1;
NOP-In PDU接收模块,用于接收所述NOP-Out PDU对应的NOP-In PDU,记录NOP-In PDU的接收时刻A2;获取NOP-In PDU中所包含的表示发起端装置发送NOP-Out PDU时刻的时间戳A1、表示目标端装置接收NOP-Out PDU时刻的时间戳B1和表示目标端装置发送NOP-In PDU时刻的时间戳B2;
RTT计算模块,用于采用RTT=B1-A1+A2-B2计算iSCSI连接的RTT。
综上所述,本发明提出的提高iSCSI会话传输速率的方法、***和发起端装置,利用iSCSI协议中已定义的NOP-Out/-In PDU进行时间信息的封装,以便实时地获取iSCSI连接上数据传输的RTT值。当iSCSI连接的RTT值较大而影响数据传输速率时,在当前iSCSI会话中增加iSCSI连接,实现负载的有效分担从而提高iSCSI会话的传输速率。同时,本发明在iSCSI会话中每增加新的iSCSI连接后,即对iSCSI会话的传输速率进行监测,保证每一次iSCSI连接的增加都能有效地提高iSCSI会话的传输速率。当iSCSI会话的传输速率不再增加时,立即停止对RTT值的计算,有效节省***资源,避免无谓地增加多余的iSCSI连接。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (11)
1、一种提高基于因特网的小型计算机***接口iSCSI会话传输速率的方法,其特征在于,所述方法包括:
周期性地获取iSCSI会话中一个iSCSI连接的环回时间RTT,判断该RTT是否超过预先设定的门限值,当超过门限值时,重新建立一个iSCSI连接,将所述重新建立的iSCSI连接加入所述iSCSI会话中。
2、根据权利要求1所述的方法,其特征在于,所述获取iSCSI会话中一个iSCSI连接的RTT为:获取iSCSI会话中初始iSCSI连接的RTT。
3、根据权利要求1所述的方法,其特征在于,所述获取iSCSI会话中一个iSCSI连接的RTT为:获取iSCSI会话中任意一个iSCSI连接的RTT;
所述获取iSCSI会话中任意一个iSCSI连接的RTT之前进一步包括:判断所述iSCSI会话的传输速率是否允许提高,如果允许提高,则继续执行所述获取iSCSI会话中任意一个iSCSI连接的RTT的步骤;如果不允许提高,则结束当前流程。
4、根据权利要求3所述的方法,其特征在于,所述判断iSCSI会话的传输速率是否允许提高为:将加入新的iSCSI连接之后的iSCSI会话的传输速率与加入新的iSCSI连接之前的iSCSI会话的传输速率进行比较,当加入后的传输速率大于加入前的传输速率时,判定所述iSCSI会话的传输速率允许提高。
5、根据权利要求1至4中任意一项所述的方法,其特征在于,获取iSCSI连接的RTT的方式为:发起端装置采用iSCSI连接向目标端装置发送NOP-Out协议数据单元PDU,所述NOP-Out PDU包含表示发起端装置发送NOP-OutPDU时刻的时间戳A1;
目标端装置接收所述NOP-Out PDU,生成对应的NOP-In PDU,所述NOP-InPDU包含时间戳A1,在NOP-In PDU中增加表示目标端接收NOP-Out PDU时刻的时间戳B1;
目标端装置采用所述iSCSI连接发送所述NOP-In PDU,在NOP-In PDU中增加表示目标端发送NOP-In PDU时刻的时间戳B2;
发起端装置接收所述NOP-In PDU,记录发起端装置接收NOP-In PDU的时刻A2,采用RTT=B1-A1+A2-B2计算iSCSI连接的RTT。
6、一种提高iSCSI会话传输速率的***,其特征在于,所述***包括:发起端装置和目标端装置;
所述发起端装置,用于周期性地获取iSCSI会话中一个iSCSI连接的RTT,判断该RTT是否超过预先设定的门限值,当超过门限值时,重新建立一个发起端装置和目标端装置之间的iSCSI连接,将所述重新建立的iSCSI连接加入所述iSCSI会话中。
7、根据权利要求6所述的***,其特征在于,所述发起端装置获取iSCSI会话中一个iSCSI连接的RTT为:获取iSCSI会话中初始iSCSI连接的RTT。
8、根据权利要求6所述的***,其特征在于,所述发起端装置获取iSCSI会话中一个iSCSI连接的RTT为:获取iSCSI会话中任意一个iSCSI连接的RTT;
所述发起端装置还用于,判断iSCSI会话的传输速率是否允许提高,当允许提高时,继续执行所述获取iSCSI会话中任意一个iSCSI连接的RTT的步骤。
9、一种提高iSCSI会话传输速率的发起端装置,其特征在于,所述发起端装置包括:
RTT监控模块,用于周期性地获取iSCSI会话中一个iSCSI连接的RTT,判断该RTT是否超过预先设定的门限值,当超过门限值时,命令iSCSI会话维持模块建立新的iSCSI连接;
iSCSI会话维持模块,用于根据RTT监控模块的命令建立iSCSI连接,将该iSCSI连接中加入iSCSI会话中。
10、根据权利要求9所述的发起端装置,其特征在于,所述发起端装置还包括:
iSCSI会话速率监控模块,用于判断所述iSCSI会话的传输速率是否允许提高,当允许提高时,命令RTT监控模块获取iSCSI会话中任意一个iSCSI连接的RTT。
11、根据权利要求9或10所述的发起端装置,其特征在于,所述RTT监控模块包括:
NOP-Out PDU发送模块,用于采用iSCSI连接向目标端装置发送NOP-OutPDU,所述NOP-Out PDU包含表示发起端装置发送NOP-Out PDU时刻的时间戳A1;
NOP-In PDU接收模块,用于接收所述NOP-Out PDU对应的NOP-In PDU,记录NOP-In PDU的接收时刻A2;获取NOP-In PDU中所包含的表示发起端装置发送NOP-Out PDU时刻的时间戳A1、表示目标端装置接收NOP-Out PDU时刻的时间戳B1和表示目标端装置发送NOP-In PDU时刻的时间戳B2;
RTT计算模块,用于采用RTT=B1-A1+A2-B2计算iSCSI连接的RTT。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100774707A CN101483671B (zh) | 2009-02-12 | 2009-02-12 | 提高iSCSI会话传输速率的方法、***和发起端装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100774707A CN101483671B (zh) | 2009-02-12 | 2009-02-12 | 提高iSCSI会话传输速率的方法、***和发起端装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101483671A true CN101483671A (zh) | 2009-07-15 |
CN101483671B CN101483671B (zh) | 2011-10-26 |
Family
ID=40880596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100774707A Expired - Fee Related CN101483671B (zh) | 2009-02-12 | 2009-02-12 | 提高iSCSI会话传输速率的方法、***和发起端装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101483671B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017101875A1 (zh) * | 2015-12-18 | 2017-06-22 | 华为技术有限公司 | 一种基于iSCSI协议的传输速率控制方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1745604B1 (en) * | 2004-05-05 | 2011-06-15 | Telefonaktiebolaget LM Ericsson (publ) | Hsdpa flow control, control frames rtt measurement |
CN101115009B (zh) * | 2007-08-31 | 2010-06-02 | 杭州华三通信技术有限公司 | 存储资源访问控制方法、存储控制***及应用主机 |
-
2009
- 2009-02-12 CN CN2009100774707A patent/CN101483671B/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017101875A1 (zh) * | 2015-12-18 | 2017-06-22 | 华为技术有限公司 | 一种基于iSCSI协议的传输速率控制方法和装置 |
CN106899510A (zh) * | 2015-12-18 | 2017-06-27 | 华为技术有限公司 | 一种基于iSCSI协议的传输速率控制方法和装置 |
CN106899510B (zh) * | 2015-12-18 | 2020-04-03 | 华为技术有限公司 | 一种基于iSCSI协议的传输速率控制方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101483671B (zh) | 2011-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101611600B (zh) | 在无线通信***中提供反馈给媒体服务器的方法 | |
CN101729303B (zh) | 测量网络性能参数的方法和装置 | |
CN111817977B (zh) | 一种网络拥塞控制方法和装置 | |
US8649304B2 (en) | Optimized selection of transmission protocol respecting thresholds | |
US20110007660A1 (en) | System for measuring transmission bandwidth for media streaming and method for same | |
CN112436924B (zh) | 一种数据传输方法及电子设备 | |
WO2012006744A1 (en) | A system and method for transmission of data signals over a wireless network | |
JP2015511409A5 (zh) | ||
CN102404170B (zh) | 报文丢失检测方法、装置、及*** | |
CN202841192U (zh) | 一种支持广域网的高速、可靠的单向传输*** | |
CN103957155A (zh) | 报文传输方法、装置及互联接口 | |
JP2008312126A5 (zh) | ||
CN104052676B (zh) | 一种发送通路装置及发送通路的数据处理方法 | |
US8391285B2 (en) | Communication apparatus, communication system, and communication method | |
CN101483671B (zh) | 提高iSCSI会话传输速率的方法、***和发起端装置 | |
CN110808917B (zh) | 多链路聚合数据重传方法及发送设备 | |
Oljira et al. | Mdtcp: Towards a practical multipath transport protocol for telco cloud datacenters | |
CN110290552B (zh) | 缓存深度的测量方法和装置、存储介质、电子装置 | |
CN111400653A (zh) | 一种基于多路径传输***的鲁棒性分析模型测评方法 | |
CN106941694A (zh) | 数据包的无线传输跨层优化方法及装置 | |
Hisamatsu et al. | Non bandwidth-intrusive video streaming over TCP | |
CN114205867A (zh) | 一种数据包传输方法、装置、终端设备和存储介质 | |
US9882751B2 (en) | Communication system, communication controller, communication control method, and medium | |
CN103179087A (zh) | 应用层到TCP层异步Socket数据传输方法及*** | |
JP2012151693A (ja) | 監視プログラム、監視装置、及び監視方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111026 Termination date: 20200212 |
|
CF01 | Termination of patent right due to non-payment of annual fee |