CN101119374A - iSCSI通信方法以及相应的发起设备和目标设备 - Google Patents
iSCSI通信方法以及相应的发起设备和目标设备 Download PDFInfo
- Publication number
- CN101119374A CN101119374A CNA200710121566XA CN200710121566A CN101119374A CN 101119374 A CN101119374 A CN 101119374A CN A200710121566X A CNA200710121566X A CN A200710121566XA CN 200710121566 A CN200710121566 A CN 200710121566A CN 101119374 A CN101119374 A CN 101119374A
- Authority
- CN
- China
- Prior art keywords
- iscsi
- message
- equipment
- module
- address
- 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
- 230000000977 initiatory effect Effects 0.000 title claims abstract description 116
- 230000006854 communication Effects 0.000 title claims description 33
- 238000004891 communication Methods 0.000 title claims description 28
- 238000000034 method Methods 0.000 title abstract description 9
- 238000005538 encapsulation Methods 0.000 claims abstract description 24
- 230000005540 biological transmission Effects 0.000 claims description 40
- 239000000284 extract Substances 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 14
- 230000009466 transformation Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 3
- 238000006243 chemical reaction Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 238000013519 translation Methods 0.000 description 6
- 230000006855 networking Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 208000019901 Anxiety disease Diseases 0.000 description 1
- 230000036506 anxiety Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
对于目标设备位于NAT设备之后的组网情况,本发明公开了一种iSCSI通信方法,以及相应的发起设备和目标设备。所述iSCSI通信方法主要包括:所述目标设备将其私网地址经由所述NAT设备告知相应的发起设备;所述发起设备或所述目标设备分别利用网络传输协议封装各自生成的iSCSI报文,并将封装而成的报文经由所述NAT设备转发至对方;以及所述发起设备或所述目标设备分别解封装处理来自对方的封装有iSCSI报文的报文,并根据提取出来的iSCSI报文进行相应处理。本发明有效实现了iSCSI对NAT的穿越,还可以避免中间网络对iSCSI报文的影响。
Description
技术领域
本发明涉及iSCSI技术,尤其涉及主要应用在目标设备位于NAT设备之后情况下的一种iSCSI通信方法,以及相应的iSCSI发起设备和iSCSI目标设备。
背景技术
iSCSI(internet Small Computer System Interface,基于互联网的SCSI)协议是一种基于TCP(Transmission Control Protocol,传输控制协议)/IP(Internet Protocol,互联网协议)的SCSI(Small Computer SystemInterface,小型计算机系统接口)传输协议,其在应用主机和存储系统之间利用TCP/IP封装来可靠传输SCSI命令/数据。
iSCSI协议的典型应用环境如图1所示,应用主机110与存储系统120之间通过IP网络130来传输SCSI命令和数据。其中,应用主机110中安装有发起模块(initiator),因此通常又称为发起端;而存储系统120中集成有目标模块(target),因此通常又称为目标端。
然而,由于IP地址不足,现在存在大量的企业都采用私有地址组网(RFC1918),并通过NAT(Network Address Translation,网络地址转换)来控制与公共网络的通信。NAT能够完成私有编址与公网编址的相互转化,还可通过设置相应的包过滤规则让不满足条件的IP(InternetProtocol,因特网协议)包不能够穿透NAT。
图2给出了应用NAT的典型组网示意图。如图2所示,假设私网内设备150的私网地址为10.1.1.5,当其要访问外网130时,则由NAT设备140会分配一个公网地址(比如210.222.10.12)给它,并相应生成一个私有地址10.1.1.5与公网地址210.222.10.12的转换表项。这样,私网内设备150发往外网130的报文中的源地址10.1.1.5将由NAT设备140替换成210.222.10.12之后再发出,而外网130发往公网地址210.222.10.12的报文中的目的地址也将由NAT设备140替换成10.1.1.5之后再转发给设备150。
NAT的运用为IP网络带来了很多好处,比如,缓解了IPv4构架下因特网IP地址紧张的问题,提高了私有网络内部的安全性和可控性。但是,在图2所示的NAT应用组网环境下,如果位于NAT设备140之后的私网内设备150不主动连接位于外网130中的主机,则NAT设备140中就不会存在设备150的地址转换表项,这也就意味着外网130中的主机不能主动发起与设备150的通信连接。
于是,对于目前总是先由发起端主动提出iSCSI登录请求、再由目标端做出响应该iSCSI登录请求的现有iSCSI连接建立技术来说,当目标端120如图3所示位于NAT设备140之后时,则外网130中的发起端110将无法与处于私网中的目标端120建立iSCSI连接。
发明内容
有鉴于此,本发明目的在于提供一种iSCSI通信方法,使得即使目标设备位于NAT设备之后,相应的发起设备还是能够穿越所述NAT设备与所述目标设备建立iSCSI连接并相互传输iSCSI命令/数据。
同时,本发明另一目的在于提供一种iSCSI发起设备,以支持上述方法的实施。
此外,本发明再一目的在于提供一种iSCSI目标设备,用于与上述iSCSI发起设备相配合,以支持上述方法的实施。
为了达到上述目的,本发明公开了一种iSCSI通信方法,主要应用在目标设备位于NAT设备之后的情况下。该iSCSI通信方法主要包括有:
所述目标设备将其私网地址经由所述NAT设备告知发起设备;
所述发起设备或所述目标设备分别利用UDP(User Data Protocol,用户数据报协议)或TCP(Transmit Control Protocol,传输控制协议)等网络传输协议封装各自生成的iSCSI报文,并将所述封装而成的报文经由所述NAT设备转发至对方;以及
所述发起设备或所述目标设备分别解封装处理来自对方的封装有iSCSI报文的报文,并根据提取出来的iSCSI报文进行相应处理。
对于上述iSCSI通信方法,优选地,所述生成及封装iSCSI报文的具体操作包括有:
所述发起设备或所述目标设备生成一个向对方传输iSCSI命令/数据的iSCSI报文,其中向所述目标设备传输iSCSI命令/数据的iSCSI报文的目的地址为所述目标设备的私网地址;
所述发起设备或所述目标设备利用所述UDP(User Data Protocol,用户数据报协议)或TCP(Transmit Control Protocol,传输控制协议)等网络传输协议封装所述iSCSI报文,且封装而成的报文的目的地址为所述目标设备的公网地址或所述发起设备的地址;以及
所述发送设备或所述目标设备将所述封装而成的报文经由所述NAT设备发送给对方。
对于上述iSCSI通信方法,优选地,所述提取并处理iSCSI报文的具体操作包括有:
所述发起设备或所述目标设备解封装处理来自对方的封装有iSCSI报文的报文,以提取出其中的iSCSI报文;以及
所述发起设备或所述目标设备根据所述提取出来的iSCSI报文进行相应处理。
对于上述iSCSI通信方法,优选地,将所述目标设备的私网地址告知所述发起设备的具体操作包括有:
所述目标设备生成一个至少包含其私网地址的消息报文,并将所述消息报文发送给述NAT设备;以及
在收到所述消息报文后,所述NAT设备生成与所述目标设备对应的地址转换表项,并将所述消息报文转发给所述发起设备。
对于上述iSCSI通信方法,进一步优选地,所述消息报文中还包含所述目标设备预先给所述发起设备分配的存储资源信息。
对于上述iSCSI通信方法,更进一步优选地,每隔预定时间重复将所述目标设备的私网地址告知所述发起设备的操作。
为了达到上述另一目的,本发明公开了一种iSCSI发起设备,主要应用在相应的iSCSI目标设备位于NAT设备之后的情况下。该iSCSI发起设备主要包括发起模块,报文封装模块,以及报文提取模块。其中:所述发起模块用于生成和/或处理iSCSI报文,且所述iSCSI报文用于在所述iSCSI发起设备与所述iSCSI目标设备之间相互传输iSCSI命令/数据;所述报文封装模块与所述发起模块相连,用于利用UDP(User DataProtocol,用户数据报协议)或TCP(Transmit Control Protocol,传输控制协议)等网络传输协议封装所述发起模块生成的iSCSI报文,并将所述封装而成的报文发送至所述iSCSI目标设备;而所述报文提取模块与所述发起模块相连,用于解封装处理来自所述iSCSI目标设备的封装有iSCSI报文的报文,并将提取出来的iSCSI报文输出至所述发起模块以进行相应处理。
对于上述iSCSI发起设备,优选地,其还包括对端地址获知模块。所述对端地址获知模块与所述发起模块和/或所述报文封装模块相连,用于分析来自所述iSCSI目标设备的、至少包含所述iSCSI目标设备私网地址信息的消息报文。并且,所述对端地址获知模块将其分析得到的所述iSCSI目标设备私网地址输出给所述发起模块,以使得所述发起模块可以将所述私网地址用作向所述iSCSI目标设备发送iSCSI报文的目的地址;和/或所述对端地址获知模块将其分析得到的所述iSCSI目标设备公网地址输出给所述报文封装模块,以使得所述报文封装模块可以将所述公网地址用作向所述iSCSI目标设备发送封装报文的目的地址。
为了达到上述再一目的,本发明公开了一种iSCSI目标设备,主要应用在所述iSCSI目标设备位于NAT设备的情况下。该iSCSI目标设备主要包括目标模块,私网地址通知模块,报文封装模块,以及报文提取模块。其中:所述目标模块用于生成和/或处理iSCSI报文,且所述iSCSI报文用于在所述iSCSI目标设备与相应的iSCSI发起设备之间相互传输iSCSI命令/数据;所述私网地址通知模块用于将所述iSCSI目标设备的私网地址经由所述NAT设备告知所述iSCSI发起设备;所述报文封装模块与所述目标模块相连,用于利用UDP(User Data Protocol,用户数据报协议)或TCP(Transmit Control Protocol,传输控制协议)等网络传输协议封装所述目标模块生成的iSCSI报文,并将所述封装而成的报文发送至所述iSCSI发起设备;而所述报文提取模块与所述目标模块相连,用于解封装处理来自所述发起设备的封装有iSCSI报文的报文,并将提取出来的iSCSI报文输出至所述目标模块以进行相应处理。
对于上述iSCSI目标设备,优选地,所述私网地址通知模块还用于将所述iSCSI目标设备或所述目标模块预先给所述iSCSI发起设备分配的存储资源信息告知所述iSCSI发起设备。
对于上述iSCSI目标设备,进一步优选地,所述私网地址通知模块每隔预定时间重复一次将所述iSCSI目标设备的私网地址经由所述NAT设备告知所述iSCSI发起设备的操作。
与现有技术相比,本发明具有如下优点:
首先,通过由位于NAT设备之后的目标设备预先将其私网地址告知相应的发起设备,本发明使得外网中的应用主机(发起设备)能够穿越NAT访问内网中的存储系统(目标设备)。
其次,通过将iSCSI报文封装在诸如UDP或TCP之类的网络传输协议报文中,也即在应用主机(发起设备)和存储系统(目标设备)建立UDP或TCP隧道来传输iSCSI报文,本发明有效避免了中间网络对iSCSI报文的影响。
最后,应用本发明技术方案时无需对NAT设备进行任何更改,从而使得本发明技术方案具有很好的通用性。
附图说明
图1为现有技术中iSCSI协议运用的组网示意图;
图2为现有技术中NAT运用的组网示意图;
图3为现有技术中iSCSI目标端位于NAT设备之后的组网示意图;
图4为本发明iSCSI通信方法实施例之一的报文流转图;
图5为本发明iSCSI发起设备实施例之一的结构框图;
图6为本发明iSCSI目标设备实施例之一的结构框图。
具体实施方式
本发明的上述及其他技术特征和有益效果,将通过参照附图进行的优选实施例介绍得到更充分的阐述。
首先,请参阅图4,其为本发明所提供iSCSI通信方法的流程图。如图4所示,该方法主要应用在作为iSCSI目标端的存储系统120位于NAT设备140之后、而作为iSCSI发起端的应用主机110处于外网中的情况下。也就是说,应用主机110与存储系统120之间的通信需要经由NAT设备转发,并且在图4中用突出标识应用主机110与NAT设备140之间的报文传输属于外网通信,而用→突出标识存储系统120与NAT设备140之间的报文传输属于内网通信。
如图4所示,在正式相互进行iSCSI通信之前,作为iSCSI目标端的存储系统120预先给相应的作为iSCSI发起端的应用主机110分配好存储资源(步骤S0)。对此,本领域技术人员应能理解,步骤S0所执行操作为iSCSI的现有技术内容,故在此不多赘述。
接着,鉴于在存储系统120位于NAT设备140之后的情况下,现有需要由应用主机110主动发起的iSCSI通信技术将iSCSI目标端地址未知而无法实施;因此,为了能够穿越NAT建立iSCSI通信,存储系统120需要将其私网地址经由NAT设备140告知给应用主机110。并且,如图4所示,所述私网地址告知的具体操作内容包括有:
步骤S1-1,存储系统120基于其私网地址生成一个消息报文①,并将该消息报文①发送给NAT设备140;
步骤S1-2,NAT设备140在收到消息报文①之后,首先生成一个与存储系统120对应的NAT转换表项,随后基于该NAT转换表项对消息报文①进行NAT转换,并将NAT转换后得到的报文②发送给应用主机110;
步骤S1-3,应用主机110在收到经由NAT设备140转发的消息报文②之后,对该消息报文②进行处理,从中获知存储系统120的私网地址。
至此,由于处于外网中的应用主机110已经获知位于NAT设备之后的存储系统120的私网地址以及公网地址,因而其完全可以主动向存储系统120发起iSCSI连接。
需要说明的是,为了使应用主机110在断开连接或重启后还能够及连接到存储系统120,存储系统120优选地每隔预定时间重复一次将上述的私网地址告知操作。当然,所述预定时间完全可由用户根据实际应用需要灵活设定。
同时,如步骤S0所示,存储系统120预先给应用主机110分配相应的存储资源为现有iSCSI技术的普遍要求。因此,消息报文①中除了包含存储系统120的私网地址信息之外,还可包含相应的存储资源分配信息。甚或,本领域技术人员不难将消息报文①所包含内容延及至任何其它可用来帮助应用主机110主动连接存储系统120的信息。
随后,在应用主机110获知存储系统120的私网地址及公网地址使得相互进行iSCSI通信成为可能之后,本发明还通过在应用主机110和存储系统120之间建立一条iSCSI报文传输隧道,来使得应用主机110和存储系统120相互传输的iSCSI命令/数据能够顺利穿越NAT设备到达对端,同时还可以尽量减少中间网络对iSCSI报文的影响。
而隧道作为一种封装技术,其主要是利用一种网络传输协议将其它协议生成的数据报文封装在它自己的报文中后再进行网络传输。一般来说,可用于建立隧道的网络传输协议有很多,比如UDP(User DataProtocol,用户数据报协议)、或者TCP(Transmit Control Protocol,传输控制协议)等。
基于传输速度方面的考虑,本发明优选利用UDP来建立所述iSCSI报文传输隧道。具体而言:应用主机110或存储系统120分别利用UDP封装各自生成的iSCSI报文,并将封装而成的报文经由NAT设备140转发给对方;以及,应用主机110或存储系统120分别解封装处理来自对方的封装有iSCSI报文的报文,并根据提取出来的iSCSI报文进行相应的iSCSI通信处理。
下面参照图4,并从发起iSCSI连接请求开始,详细介绍应用主机110和存储系统120之间通过UDP隧道穿越NAT进行的iSCSI通信。如图4所示,该iSCSI通信主要包括有:
步骤Si2-1,在应用主机110获知了存储系统120的私网地址及公网地址之后,如果需要与存储系统120进行iSCSI通信,应用主机110则生成一个向存储系统120请求建立iSCSI连接的iSCSI连接请求报文③。
需要注意的是,这里的iSCSI连接请求报文③是一个完整的iSCSI报文,即包括IP首部、TCP首部等;同时,iSCSI连接请求报文③的目的地址为存储系统120的私网地址。
步骤Si2-2,应用主机110对iSCSI连接请求报文③进行UDP封装,并将封装而成的UDP报文④发送给NAT设备140。
需要注意的是,这里的UDP报文④的目的地址为存储系统120的公网地址。这样,NAT设备140在收到该UDP报文④后,才能首先根据其上相应的NAT转换表项对该UDP报文④进行NAT转换,然后再将相应NAT转换后的UDP报文⑤转发给存储系统120。
步骤St3-1,存储系统120在收到经由NAT设备140转发的、来自应用主机110的、包含iSCSI连接请求报文③的UDP报文⑤之后,对该UDP报文⑤进行解封装处理,以提取出其中的iSCSI连接请求报文③。
步骤St3-2,存储系统120根据提取出来的iSCSI连接请求报文③进行相应的iSCSI通信处理,比如生成相应的iSCSI报文⑥以对该iSCSI连接请求报文③作出响应。
步骤St2,与应用主机110端类似,存储系统120也利用UDP封装由其生成的iSCSI报文⑥,并将封装而成的UDP报文⑦发送给NAT设备140。
然而,这里的UDP报文⑦的目的地址为应用主机110的地址。这样,NAT设备140在收到该UDP报文⑦之后,也将首先根据其上相应的NAT转换表项对该UDP报文⑦进行NAT转换,然后再将相应NAT转换后的UDP报文⑧转发给应用主机110。
步骤Si3-1,与存储系统120端类似,在收到经由NAT设备140转发的、来自存储系统120的、包含iSCSI报文⑥的UDP报文⑧之后,应用主机110也会对该UDP报文⑧进行解封装处理,以提取出其中的iSCSI报文⑥。
步骤Si3-2,同样与存储系统120端类似,应用主机120也根据提取出来的iSCSI报文⑥进行相应的iSCSI通信处理,比如生成用于向存储系统120传输iSCSI命令/数据的相应iSCSI报文③。
在相互成功建立了iSCSI连接后,应用主机110与存储系统120分别采用与前述相同的方式处理后续用于数据读写的iSCSI报文,即利用UDP封装本端生成的iSCSI报文③/⑥后再输出、以及解封装来自对端的UDP报文获取包含其中的iSCSI报文⑥/③后进行相应的处理。
通过上述介绍可知,通过将位于NAT设备之后的iSCSI目标端的私网地址预先告知给处于公网中的iSCSI发起端、以及在iSCSI目标端和iSCSI发起端之间建立iSCSI报文传输隧道,本发明所提供iSCSI通信方法不仅有效实现了iSCSI对NAT的穿越,还能够尽量避免中间网络对iSCSI报文的影响。
同时,由于无需对NAT设备进行任何修改,本发明所提供iSCSI通信方法还具有很好的普适性。
下面参照图5详细介绍本发明所提供iSCSI发起设备的一个优选实施例。
如图5所示,iSCSI发起设备500主要应用在相应的iSCSI目标设备600位于NAT设备140之后、而其处于外网中的情况下。该iSCSI发起设备500主要包括发起模块510,对端地址获知模块540、报文封装模块520,以及报文提取模块530。其中:
发起模块510用于生成iSCSI报文③和/或处理iSCSI报文⑥,其中iSCSI报文③用作发起设备500向iSCSI目标设备600传输iSCSI命令/数据,而iSCSI报文⑥在用作iSCSI目标设备600向iSCSI发起设备500传输iSCSI命令/数据。
需要注意的是,此处的iSCSI报文③为完整的iSCSI报文,也即包括相应的IP首部、TCP首部等。同时,该iSCSI报文③的目的地址为iSCSI目标设备600的私网地址⑨,而该iSCSI目标设备600的私网地址⑨是对端地址获知模块540通过分析由NAT设备140转发的消息报文②后得到的。一般来说,消息报文②需要在发起iSCSI连接之前送达iSCSI发起设备,且其中除了包含iSCSI目标设备600的私网地址⑨之外,还可能包含任何其它对发起iSCSI连接有用的信息,比如iSCSI目标设备600预先为iSCSI发起设备500分配的存储资源信息等。
报文封装模块520与发起模块510相连,用于利用UDP或TCP等网络传输协议封装发起模块510生成的iSCSI报文③,并将封装而成的报文④发送给NAT设备140。其中,该封装报文④的目的地址为iSCSI目标设备600的公网地址⑩,从而使得NAT设备140在收到该封装报文④后能够根据相应的NAT转换表项进行NAT转换,并将进行NAT转换之后的封装报文⑤发送给iSCSI目标设备600。类似地,该iSCSI目标设备的公网地址⑩也是对端地址获知模块540通过分析由NAT设备140转发的消息报文②后得到的。
而报文提取模块530也与发起模块510相连,用于解封装处理经由NAT设备140转发的、来自iSCSI目标设备600的封装有完整iSCSI报文的报文⑧,并将从该封装报文⑧中提取出来的完整iSCSI报文⑥输出至发起模块510,从而使得发起模块510能够根据该iSCSI报文⑥进行相应的iSCSI通信处理,比如生成向iSCSI发起设备500传输iSCSI命令/数据的iSCSI报文③。
需要说明的是,上述仅针对本发明所要解决的问题而重点介绍了iSCSI发起设备500中使其支持iSCSI并可以穿越NAT的功能模块。然而,本领域技术人员应能理解,在实际实施本发明时,iSCSI发起设备500还可包括其它通用的应用主机功能模块。也就是说,本发明所提供iSCSI发起设备500包括但不限于发起模块510,报文封装模块520,以及报文提取模块530。
下面参照图6详细介绍本发明所提供iSCSI目标设备的一个优选实施例。
如图6所示,iSCSI目标设备600主要应用在其位于NAT设备140之后、而相应的iSCSI发起设备500处于外网中的情况下。该iSCSI目标设备600主要包括目标模块610,私网地址通知模块620,报文封装模块630,以及报文提取模块640。其中:
目标模块610用于生成iSCSI报文⑥和/或处理iSCSI报文③,其中iSCSI报文③用作发起设备500向iSCSI目标设备600传输iSCSI命令/数据,而iSCSI报文⑥在用作iSCSI目标设备600向iSCSI发起设备500传输iSCSI命令/数据。
私网地址通知模块620用于将iSCSI目标设备600的私网地址经由NAT设备140转发而告知给iSCSI发起设备500。
如图6所示,iSCSI目标设备600告知iSCSI发起设备其私网地址的过程可能具体为:首先,私网地址通知模块620生成一个至少包含其私网地址的消息报文①,并将该消息报文①发送给NAT设备140;接着,NAT设备在收到该消息报文①之后,首先将生成一个与iSCSI目标设备600对应的NAT转换表项,然后利用该NAT转换表项对消息报文①进行NAT转换,并将进行NAT转换后的报文②发送给iSCSI发起设备500;至此,iSCSI发起设备500就可根据经由NAT设备140转发包含私网地址信息的报文②来获知iSCSI目标设备600的私网地址。
通过上述介绍可知,在iSCSI目标设备600中增加私网地址通知模块620的目的是为了将iSCSI目标设备600的私网地址预先告知相应的iSCSI发起设备,以使得iSCSI发起设备500能够穿越NAT主动发起与iSCSI目标设备600的iSCSI连接,即使iSCSI目标设备600位于NAT设备140之后。因此,为了使得iSCSI发起设备500在断开连接或重启后能够及时与iSCSI目标设备600建立连接,私网地址通知模块620优选地每隔预定时间重复一次将iSCSI目标设备600的私网地址经由NAT设备140告知给iSCSI发起设备500的操作。当然,所述预定时间完全可由用户根据实际应用需要灵活设定。
此外,有鉴于现有iSCSI技术普遍要求作为存储系统的iSCSI目标设备预先为作为应用主机的iSCSI发起设备分配存储资源,因此在消息报文①中还可以优选地包含有iSCSI目标设备600(或具体为其中目标模块610)预先为iSCSI发起设备500分配的存储资源相关信息。
报文封装模块630与目标模块610相连,用于利用UDP或TCP等网络传输协议封装目标模块610生成的iSCSI报文⑥,并将封装而成的报文⑦发送给NAT设备140。其中,该封装报文⑦的目的地址为iSCSI发起设备500的地址,从而使得NAT设备140在收到该封装报文⑦后能够根据相应的NAT转换表项进行NAT转换,并将进行NAT转换之后的封装报文⑧发送给iSCSI发起设备500。
而报文提取模块640也与目标模块610相连,用于解封装处理经由NAT设备140转发的、来自iSCSI发起设备500的封装有完整iSCSI报文的报文⑤,并将从该封装报文⑤中提取出来的完整iSCSI报文③输出至目标模块610,从而使得目标模块610能够根据该iSCSI报文③进行相应的iSCSI通信处理,比如生成向iSCSI发起设备500传输iSCSI命令/数据的iSCSI报文⑥。
需要说明的是,上述仅针对本发明所要解决的问题而重点介绍了iSCSI目标设备600中使其支持iSCSI并可以穿越NAT的功能模块。然而,本领域技术人员应能理解,在实际实施本发明时,iSCSI目标设备600还可包括其它通用的存储系统功能模块。也就是说,本发明所提供iSCSI目标设备600包括但不限于目标模块610,私网地址通知模块620,报文封装模块630,以及报文提取模块640。
需要声明的是,上述发明内容及具体实施方式意在证明本发明所提供技术方案的实际应用,不应解释为对本发明保护范围的限定。本领域技术人员在本发明的精神和原理内,当可作各种修改、等同替换、或改进。本发明的保护范围以所附权利要求书为准。
Claims (14)
1.一种iSCSI通信方法,应用在目标设备位于NAT设备之后的情况下;其特征在于,包括有:
所述目标设备将其私网地址经由所述NAT设备告知发起设备;
所述发起设备或所述目标设备分别利用网络传输协议封装各自生成的iSCSI报文,并将所述封装而成的报文经由所述NAT设备转发至对方;以及
所述发起设备或所述目标设备分别解封装处理来自对方的封装有iSCSI报文的报文,并根据提取出来的iSCSI报文进行相应处理。
2.如权利要求1所述的iSCSI通信方法,其特征在于,所述生成及封装iSCSI报文的具体操作包括有:
所述发起设备或所述目标设备生成一个向对方传输iSCSI命令/数据的iSCSI报文,其中向所述目标设备传输iSCSI命令/数据的iSCSI报文的目的地址为所述目标设备的私网地址;
所述发起设备或所述目标设备利用所述网络传输协议封装所述iSCSI报文,且封装而成的报文的目的地址为所述目标设备的公网地址或所述发起设备的地址;以及
所述发送设备或所述目标设备将所述封装而成的报文经由所述NAT设备发送给对方。
3.如权利要求1所述的iSCSI通信方法,其特征在于,所述提取并处理iSCSI报文的具体操作包括有:
所述发起设备或所述目标设备解封装处理来自对方的封装有iSCSI报文的报文,以提取出其中的iSCSI报文;以及
所述发起设备或所述目标设备根据所述提取出来的iSCSI报文进行相应处理。
4.如权利要求1所述的iSCSI通信方法,其特征在于,将所述目标设备的私网地址告知所述发起设备的具体操作包括有:
所述目标设备生成一个至少包含其私网地址的消息报文,并将所述消息报文发送给所述NAT设备;以及
在收到所述消息报文后,所述NAT设备生成与所述目标设备对应的地址转换表项,并将所述消息报文转发给所述发起设备。
5.如权利要求4所述的iSCSI通信方法,其特征在于,所述消息报文中还包含所述目标设备预先给所述发起设备分配的存储资源信息。
6.如权利要求1至5任一所述的iSCSI通信方法,其特征在于,所述网络传输协议为用户数据报协议,或者为传输控制协议。
7.如权利要求1至5任一所述的iSCSI通信方法,其特征在于,每隔预定时间重复将所述目标设备的私网地址告知所述发起设备的操作。
8.一种iSCSI发起设备,包括用于生成和/或处理iSCSI报文的发起模块,且所述iSCSI报文用于在所述iSCSI发起设备与相应的iSCSI目标设备之间传输iSCSI命令/数据;其特征在于,还包括:
报文封装模块,与所述发起模块相连,用于利用网络传输协议封装所述发起模块生成的iSCSI报文,并将所述封装而成的报文发送至所述iSCSI目标设备;以及
报文提取模块,与所述发起模块相连,用于解封装处理来自所述iSCSI目标设备的封装有iSCSI报文的报文,并将提取出来的iSCSI报文输出至所述发起模块。
9.如权利要求8所述的iSCSI发起设备,其特征在于,还包括:
对端地址获知模块,与所述发起模块和/或所述报文封装模块相连,用于分析来自所述iSCSI目标设备的、至少包含所述iSCSI目标设备私网地址信息的消息报文;
所述对端地址获知模块将其分析得到的所述iSCSI目标设备私网地址输出给所述发起模块,而所述发起模块将把所述私网地址作为向所述iSCSI目标设备发送iSCSI报文的目的地址;和/或
所述对端地址获知模块将其分析得到的所述iSCSI目标设备公网地址输出给所述报文封装模块,而所述报文封装模块将所述公网地址作为向所述iSCSI目标设备发送封装报文的目的地址。
10.如权利要求8或9所述的iSCSI发起设备,其特征在于,所述网络传输协议为用户数据报协议,或者为传输控制协议。
11.一种iSCSI目标设备,包括用于生成和/或处理iSCSI报文的目标模块,且所述iSCSI报文用于在所述iSCSI目标设备与相应的iSCSI发起设备之间相互传输iSCSI命令/数据;其特征在于,还包括:
私网地址通知模块,用于在所述iSCSI目标设备位于NAT设备的情况下,将所述iSCSI目标设备的私网地址经由所述NAT设备告知所述iSCSI发起设备;
报文封装模块,与所述目标模块相连,用于利用网络传输协议封装所述目标模块生成的iSCSI报文,并将所述封装而成的报文发送至所述iSCSI发起设备;以及
报文提取模块,与所述目标模块相连,用于解封装处理来自所述发起设备的封装有iSCSI报文的报文,并将提取出来的iSCSI报文输出至所述目标模块。
12.如权利要求11所述的iSCSI目标设备,其特征在于,所述网络传输协议为用户数据报协议,或者为传输控制协议。
13.如权利要求11或12所述的iSCSI目标设备,其特征在于,所述私网地址通知模块还用于将所述iSCSI目标设备或所述目标模块预先给所述iSCSI发起设备分配的存储资源信息告知所述iSCSI发起设备。
14.如权利要求11或12所述的iSCSI目标设备,其特征在于,所述私网地址通知模块每隔预定时间重复一次将所述iSCSI目标设备的私网地址经由所述NAT设备告知所述iSCSI发起设备的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710121566XA CN101119374B (zh) | 2007-09-10 | 2007-09-10 | 基于互联网的小型计算机系统接口通信方法以及相应的发起设备和目标设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710121566XA CN101119374B (zh) | 2007-09-10 | 2007-09-10 | 基于互联网的小型计算机系统接口通信方法以及相应的发起设备和目标设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101119374A true CN101119374A (zh) | 2008-02-06 |
CN101119374B CN101119374B (zh) | 2011-05-11 |
Family
ID=39055308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710121566XA Expired - Fee Related CN101119374B (zh) | 2007-09-10 | 2007-09-10 | 基于互联网的小型计算机系统接口通信方法以及相应的发起设备和目标设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101119374B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325553B (zh) * | 2008-08-04 | 2010-08-25 | 杭州华三通信技术有限公司 | Iscsi数据穿越nat的方法和内网存储系统 |
CN102347990A (zh) * | 2011-11-17 | 2012-02-08 | 杭州华三通信技术有限公司 | 一种tcp连接建立的方法和设备 |
CN102843435A (zh) * | 2012-09-10 | 2012-12-26 | 浪潮(北京)电子信息产业有限公司 | 一种在集群系统中存储介质的访问、响应方法和系统 |
CN103379182A (zh) * | 2012-04-19 | 2013-10-30 | 阿里巴巴集团控股有限公司 | 数据传输方法和客户端 |
CN103838516A (zh) * | 2012-11-23 | 2014-06-04 | 中国科学院声学研究所 | 一种用于多核处理器高效访问iSCSI磁盘阵列的方法及系统 |
CN109413191A (zh) * | 2018-11-07 | 2019-03-01 | 深圳市网心科技有限公司 | 数据传输方法、电子设备及存储介质 |
CN109560947A (zh) * | 2017-09-25 | 2019-04-02 | 北京国双科技有限公司 | 一种转换连接的控制方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100440886C (zh) * | 2003-09-02 | 2008-12-03 | 华为技术有限公司 | 多媒体协议穿越网络地址转换设备的实现方法 |
CN1901539A (zh) * | 2005-07-24 | 2007-01-24 | 中兴通讯股份有限公司 | 一种多媒体业务隧道穿越nat的方法 |
-
2007
- 2007-09-10 CN CN200710121566XA patent/CN101119374B/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325553B (zh) * | 2008-08-04 | 2010-08-25 | 杭州华三通信技术有限公司 | Iscsi数据穿越nat的方法和内网存储系统 |
CN102347990A (zh) * | 2011-11-17 | 2012-02-08 | 杭州华三通信技术有限公司 | 一种tcp连接建立的方法和设备 |
CN102347990B (zh) * | 2011-11-17 | 2014-06-25 | 杭州华三通信技术有限公司 | 一种tcp连接建立的方法和设备 |
CN103379182A (zh) * | 2012-04-19 | 2013-10-30 | 阿里巴巴集团控股有限公司 | 数据传输方法和客户端 |
CN102843435A (zh) * | 2012-09-10 | 2012-12-26 | 浪潮(北京)电子信息产业有限公司 | 一种在集群系统中存储介质的访问、响应方法和系统 |
CN103838516A (zh) * | 2012-11-23 | 2014-06-04 | 中国科学院声学研究所 | 一种用于多核处理器高效访问iSCSI磁盘阵列的方法及系统 |
CN103838516B (zh) * | 2012-11-23 | 2016-09-28 | 中国科学院声学研究所 | 一种用于多核处理器高效访问iSCSI磁盘阵列的方法及系统 |
CN109560947A (zh) * | 2017-09-25 | 2019-04-02 | 北京国双科技有限公司 | 一种转换连接的控制方法及装置 |
CN109413191A (zh) * | 2018-11-07 | 2019-03-01 | 深圳市网心科技有限公司 | 数据传输方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101119374B (zh) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101119374B (zh) | 基于互联网的小型计算机系统接口通信方法以及相应的发起设备和目标设备 | |
CN102546800B (zh) | 一种网关握手、通信方法、网关及Web通信系统 | |
CN102325197B (zh) | 一种内网设备与外网设备通信的方法和网络地址转换设备 | |
CN111294399B (zh) | 一种数据传输方法和装置 | |
Bergmann et al. | A CoAP-gateway for smart homes | |
CN105162674A (zh) | 一种物理机访问虚拟网络的方法及网卡 | |
CN102710811B (zh) | 实现dhcp地址安全分配的方法和交换机 | |
CN103051737A (zh) | 提供融合互联架构上的网络能力 | |
CN104486192A (zh) | 一种虚拟网络隔离方法 | |
WO2011144067A2 (zh) | 处理报文的方法和装置 | |
CN107959620B (zh) | 综采设备识别方法、装置、系统、网关及存储介质 | |
CN102984237B (zh) | 一种基于socket连接的数据传输系统及方法 | |
CN104168257A (zh) | 基于非网络方式的数据隔离装置及其方法与系统 | |
CN102065152A (zh) | 拼接墙系统及其通信装置 | |
CN102594886B (zh) | 浏览器与浏览器直通的方法、装置和通信系统 | |
CN106534178A (zh) | RapidIO网络通用套接字的实现系统及方法 | |
CN102469045A (zh) | 一种提升web安全网关并发性能的方法 | |
CN105376338B (zh) | 一种IPv4与IPv6之间的翻译方法及装置 | |
CN105357329A (zh) | 跨idc网络环境下业务数据的传输方法、装置及系统 | |
CN102882733B (zh) | 一种穿越nat设备实现web网管方法 | |
CN102299862A (zh) | 二层隧道快速转发设备和方法 | |
CN105357130A (zh) | 一种信息传输的系统及控制器 | |
CN113300871A (zh) | 一种仿真网络的组网方法和装置 | |
CN104660728A (zh) | 基于智能家居控制系统的nat穿透方法 | |
CN101621528B (zh) | 基于以太交换机集群管理的会话系统及会话通道实现方法 |
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: NEW H3C TECHNOLOGIES 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: HANGZHOU H3C TECHNOLOGIES Co.,Ltd. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110511 |
|
CF01 | Termination of patent right due to non-payment of annual fee |