国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種tcp連接建立的方法和設(shè)備的制作方法

      文檔序號:7976643閱讀:222來源:國知局
      專利名稱:一種tcp連接建立的方法和設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種TCP連接建立的方法和設(shè)備。
      背景技術(shù)
      如圖1所示,為NAT (Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)轉(zhuǎn)換示意圖, Host (主機)A具有私網(wǎng)地址192. 168. 1. 3 ;當(dāng)Host A需要訪問外部網(wǎng)絡(luò)時,由NAT設(shè)備分配公網(wǎng)地址(如20. 1. 1. 1),并生成192. 168. 1.3:1537和20. 1. 1. 1 2001地址轉(zhuǎn)換表項,之后Host A發(fā)送到外部網(wǎng)絡(luò)的報文的源地址均被NAT轉(zhuǎn)換為20. 1. 1. 1:2001 ;外部網(wǎng)絡(luò)發(fā)送到20. 1. 1. 1:2001的報文的目的地址均被NAT轉(zhuǎn)換為192. 168. 1. 3:1537。需要注意的是, 當(dāng)Host A不主動連接外部網(wǎng)絡(luò)時,NAT設(shè)備上不會有到Host A的地址轉(zhuǎn)換表項,外部網(wǎng)絡(luò)的主機無法連接到局域網(wǎng)內(nèi)的Host A。如圖 2 所示,為 iSCSI (Internet Small Computer System Interface,基于互聯(lián)網(wǎng)的小型計算機系統(tǒng)接口)的應(yīng)用場景示意圖,在化1^站01·(連接發(fā)起設(shè)備,即客戶端) 和Target (連接接收設(shè)備,即存儲系統(tǒng))間使用TCP (Transmission Control Protocol, 傳輸控制協(xié)議)/IP封裝并可靠傳輸SCSI命令,并由Initiator主動發(fā)起以下協(xié)議交互過程(1) Discover (發(fā)現(xiàn))會話過程,目的為發(fā)現(xiàn)目標Target (如Name、IP地址等),該過程 Target需要回應(yīng)自身IP地址等信息。(2) Normal (正常)會話過程,Initiator使用Target 回應(yīng)的IP地址建立TCP連接,并利用建立的TCP連接進行Login (注冊),成功后進行數(shù)據(jù)讀寫操作?,F(xiàn)有技術(shù)中,如果在Initiator和Target之間部署有NAT設(shè)備,則Initiator 和Target無法感知到NAT設(shè)備;且由于hitiator為協(xié)議交互過程的主動發(fā)起者,當(dāng) Initiator部署在公網(wǎng),Target部署在私網(wǎng)時,無法實現(xiàn)協(xié)議交互過程,即無法正常建立 TCP連接,從而使得Initiator與Target間無法進行報文傳輸。

      發(fā)明內(nèi)容
      本發(fā)明提供一種TCP連接建立的方法和設(shè)備,以在Initiator與Target之間部署 NAT設(shè)備時,實現(xiàn)TCP連接的建立過程。為了達到上述目的,本發(fā)明提供一種傳輸控制協(xié)議TCP連接建立的方法,應(yīng)用于包括連接發(fā)起設(shè)備hitiator、連接接收設(shè)備Target和網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備的基于互聯(lián)網(wǎng)的小型計算機系統(tǒng)接口 iSCSI網(wǎng)絡(luò)中,該方法包括以下步驟所述Target確定所述Initiator和所述Target的位置情況;當(dāng)確定結(jié)果為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備時,所述Target向所述Initiator發(fā)送TCP連接請求報文,以建立所述Target與所述Initiator之間的TCP連接。所述Target確定所述Initiator和所述Target的位置情況,具體包括所述Target接收來自所述Initiator的發(fā)現(xiàn)會話請求報文,所述發(fā)現(xiàn)會話請求報文中封裝有會話請求內(nèi)容,且所述會話請求內(nèi)容中攜帶有所述Initiator在發(fā)送所述發(fā)現(xiàn)會話請求報文時的源地址和目的地址;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址不同時,所述Target確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址不同時,所述Target確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址相同,且所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址相同時,所述Target確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。在所述Target接收來自所述Initiator的發(fā)現(xiàn)會話請求報文與所述Target向所述Initiator發(fā)送TCP連接請求報文之間,所述方法還包括當(dāng)所述Target位于私網(wǎng),所述hitiator位于公網(wǎng),且所述Target與所述 Initiator之間存在所述NAT設(shè)備時,所述Target向所述Initiator發(fā)送發(fā)現(xiàn)會話的響應(yīng)報文,所述響應(yīng)報文中攜帶由所述Target使能反向TCP連接的信息;由所述Initiator利用所述Target使能反向TCP連接的信息確定TCP連接過程由所述Target發(fā)起,并等待所述Target發(fā)送的TCP連接請求報文,以建立所述Target與所述Initiator之間的TCP連接。所述Target確定所述Initiator和所述Target的位置情況,具體包括所述Target接收來自所述hitiator的發(fā)現(xiàn)會話請求報文,并向所述Initiator 發(fā)送發(fā)現(xiàn)會話的響應(yīng)報文,所述響應(yīng)報文中封裝有會話響應(yīng)內(nèi)容,且所述會話響應(yīng)內(nèi)容中攜帶有所述Target在發(fā)送所述響應(yīng)報文時的源地址和目的地址;由所述Initiator利用所述響應(yīng)報文的報文頭中的源地址和目的地址以及所述會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator和Target的位置情況;當(dāng)確定結(jié)果為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備時,所述Target接收來自所述hitiator的位置情況的通知消息,并利用所述通知消息確定所述Initiator和所述Target的位置情況。所述Initiator利用所述響應(yīng)報文的報文頭中的源地址和目的地址以及所述會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator和Target的位置情況,具體包括當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址不同時,所述Initiator確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述 Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址不同時,所述Initiator確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址相同,且所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址相同時,所述 Initiator確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。
      所述Target向所述Initiator發(fā)送TCP連接請求報文,具體包括所述Target利用IP地址與Target的綁定關(guān)系選擇出口 IP地址,并通過所述出口 IP地址向所述Initiator發(fā)送TCP連接請求報文。—種傳輸控制協(xié)議TCP連接建立的方法,應(yīng)用于包括連接發(fā)起設(shè)備hitiator、連接接收設(shè)備Target和網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備的基于互聯(lián)網(wǎng)的小型計算機系統(tǒng)接口 iSCSI 網(wǎng)絡(luò)中,該方法包括以下步驟所述Initiator將所述Initiator和所述Target的位置情況的信息通知給所述 Target,由所述Target利用該信息確定所述Initiator和所述Target的位置情況;當(dāng)所述Initiator獲知位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備時,所述Initiator確定TCP 連接過程由所述Target發(fā)起,并等待所述Target發(fā)送的TCP連接請求報文,以建立所述 Target與所述Initiator之間的TCP連接。所述Initiator將所述Initiator和所述Target的位置情況的信息通知給所述 Target,由所述Target利用該信息確定所述Initiator和所述Target的位置情況,具體包括所述Initiator向所述Target發(fā)送發(fā)現(xiàn)會話請求報文,所述發(fā)現(xiàn)會話請求報文中封裝有會話請求內(nèi)容,且所述會話請求內(nèi)容中攜帶有所述Initiator在發(fā)送所述發(fā)現(xiàn)會話請求報文時的源地址和目的地址;由所述Target利用所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址和目的地址以及所述會話請求內(nèi)容中的源地址和目的地址確定所述Initiator和所述Target的位置情況。所述Target利用所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址和目的地址以及所述會話請求內(nèi)容中的源地址和目的地址確定所述Initiator和所述Target的位置情況,具體包括當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址不同時,所述Target確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址不同時,所述Target確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址相同,且所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址相同時,所述Target確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。所述Initiator獲知位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備,包括在向所述Target發(fā)送發(fā)現(xiàn)會話請求報文之后,所述Initiator接收來自所述 Target的發(fā)現(xiàn)會話的響應(yīng)報文,且在所述Target確定位置情況為所述Target位于私網(wǎng), 所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備時,所述響應(yīng)報文中攜帶由所述Target使能反向TCP連接的信息;所述Initiator通過所述由所述Target使能反向TCP連接的信息獲知位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述hitiator之間存在所述NAT設(shè)備。所述Initiator將所述Initiator和所述Target的位置情況的信息通知給所述 Target,由所述Target利用該信息確定所述Initiator和所述Target的位置情況,具體包括所述hitiator向所述Target發(fā)送發(fā)現(xiàn)會話請求報文,并接收來自所述Target 的發(fā)現(xiàn)會話的響應(yīng)報文,所述響應(yīng)報文中封裝有會話響應(yīng)內(nèi)容,且所述會話響應(yīng)內(nèi)容中攜帶有所述Target在發(fā)送所述響應(yīng)報文時的源地址和目的地址;所述Initiator利用所述響應(yīng)報文的報文頭中的源地址和目的地址以及所述會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator和Target的位置情況;當(dāng)確定結(jié)果為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備時,所述hitiator向所述Target發(fā)送位置情況的通知消息,由所述Target利用所述通知消息確定所述Initiator和所述Target的位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator 之間存在所述NAT設(shè)備。所述Initiator利用所述響應(yīng)報文的報文頭中的源地址和目的地址以及所述會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator和Target的位置情況,具體包括當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址不同時,所述Initiator確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述 Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址不同時,所述Initiator確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址相同,且所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址相同時,所述 Initiator確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。所述Initiator等待所述Target發(fā)送的TCP連接請求報文,具體包括所述Initiator等待所述Target通過出口 IP地址向所述Initiator發(fā)送的TCP 連接請求報文,且所述出口 IP地址為所述Target利用IP地址與Target的綁定關(guān)系選擇的出口 IP地址。一種連接接收設(shè)備Target,應(yīng)用于包括連接發(fā)起設(shè)備hitiator、所述Target和網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備的基于互聯(lián)網(wǎng)的小型計算機系統(tǒng)接口 iSCSI網(wǎng)絡(luò)中,所述Target包括確定模塊,用于確定所述Initiator和所述Target的位置情況;通信模塊,用于當(dāng)確定結(jié)果為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備時,向所述Initiator發(fā)送傳輸控制協(xié)議TCP連接請求報文,以建立所述Target與所述Initiator之間的TCP連接。所述通信模塊,還用于接收來自所述hitiator的發(fā)現(xiàn)會話請求報文,所述發(fā)現(xiàn)會話請求報文中封裝有會話請求內(nèi)容,且所述會話請求內(nèi)容中攜帶有所述Initiator在發(fā)送所述發(fā)現(xiàn)會話請求報文時的源地址和目的地址;所述確定模塊,具體用于當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址不同時,確定位置情況為所述Target位于私網(wǎng),所述 Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址不同時,確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述Target 與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址相同,且所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址相同時,確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。所述通信模塊,還用于當(dāng)所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述 Target與所述Initiator之間存在所述NAT設(shè)備時,向所述Initiator發(fā)送發(fā)現(xiàn)會話的響應(yīng)報文,所述響應(yīng)報文中攜帶由所述Target使能反向TCP連接的信息;由所述Initiator利用所述Target使能反向TCP連接的信息確定TCP連接過程由所述Target發(fā)起,并等待所述Target發(fā)送的TCP連接請求報文,以建立所述Target與所述Initiator之間的TCP連接。所述通信模塊,還用于接收來自所述hitiator的發(fā)現(xiàn)會話請求報文,并向所述 Initiator發(fā)送發(fā)現(xiàn)會話的響應(yīng)報文,所述響應(yīng)報文中封裝有會話響應(yīng)內(nèi)容,且所述會話響應(yīng)內(nèi)容中攜帶有所述Target在發(fā)送所述響應(yīng)報文時的源地址和目的地址;由所述Initiator利用所述響應(yīng)報文的報文頭中的源地址和目的地址以及所述會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator和Target的位置情況;當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址不同時,確定位置情況為所述 Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址不同時,確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址相同,且所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址相同時,確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備;當(dāng)確定結(jié)果為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備時,接收來自所述hitiator的位置情況的通知消息;所述確定模塊,具體用于利用所述通知消息確定所述hitiator和所述Target的位置情況。所述通信模塊,具體用于利用IP地址與Target的綁定關(guān)系選擇出口 IP地址,并通過所述出口 IP地址向所述Initiator發(fā)送TCP連接請求報文。一種連接發(fā)起設(shè)備hitiator,應(yīng)用于包括所述hitiator、連接接收設(shè)備Target 和網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備的基于互聯(lián)網(wǎng)的小型計算機系統(tǒng)接口 iSCSI網(wǎng)絡(luò)中,所述 Initiator 包括通信模塊,用于將所述Initiator和所述Target的位置情況的信息通知給所述Target,由所述Target利用所述信息確定所述Initiator和所述Target的位置情況;處理模塊,用于當(dāng)獲知位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備時,確定傳輸控制協(xié)議TCP連接過程由所述Target發(fā)起,并等待所述Target發(fā)送的TCP連接請求報文,以建立所述Target 與所述Initiator之間的TCP連接。所述通信模塊,具體用于向所述Target發(fā)送發(fā)現(xiàn)會話請求報文,所述發(fā)現(xiàn)會話請求報文中封裝有會話請求內(nèi)容,且所述會話請求內(nèi)容中攜帶有所述Initiator在發(fā)送所述發(fā)現(xiàn)會話請求報文時的源地址和目的地址;由所述Target利用所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址和目的地址以及所述會話請求內(nèi)容中的源地址和目的地址確定所述Initiator和所述Target的位置情況;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址不同時,確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target 與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址不同時,確定位置情況為所述Target位于公網(wǎng),所述 Initiator位于私網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址相同,且所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址相同時,確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。所述通信模塊,還用于在向所述Target發(fā)送發(fā)現(xiàn)會話請求報文之后,接收來自所述Target的發(fā)現(xiàn)會話的響應(yīng)報文,且在所述Target確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備時, 所述響應(yīng)報文中攜帶由所述Target使能反向TCP連接的信息;所述處理模塊,具體用于通過所述由所述Target使能反向TCP連接的信息獲知位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述 Initiator之間存在所述NAT設(shè)備。所述通信模塊,具體用于向所述Target發(fā)送發(fā)現(xiàn)會話請求報文,并接收來自所述 Target的發(fā)現(xiàn)會話的響應(yīng)報文,所述響應(yīng)報文中封裝有會話響應(yīng)內(nèi)容,且所述會話響應(yīng)內(nèi)容中攜帶有所述Target在發(fā)送所述響應(yīng)報文時的源地址和目的地址;當(dāng)所述Target位于私網(wǎng),所述hitiator位于公網(wǎng),且所述Target與所述 Initiator之間存在所述NAT設(shè)備時,向所述Target發(fā)送位置情況的通知消息,由所述 Target利用所述通知消息確定所述Initiator和所述Target的位置情況為所述Target 位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT 設(shè)備;所述處理模塊,還用于利用所述響應(yīng)報文的報文頭中的源地址和目的地址以及所述會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator和Target的位置情況。所述處理模塊,具體用于當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址不同時,確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng), 且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址不同時,確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址相同,且所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址相同時,確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。所述TCP連接請求報文為所述Target通過出口 IP地址向所述Initiator發(fā)送的 TCP連接請求報文,且所述出口 IP地址為所述Target利用IP地址與Target的綁定關(guān)系選擇的出口 IP地址。與現(xiàn)有技術(shù)相比,本發(fā)明至少具有以下優(yōu)點在確定Target位于私網(wǎng),Initiator 位于公網(wǎng),且Target與Initiator之間存在NAT設(shè)備時,由Target主動發(fā)起TCP連接過程,從而可以保證TCP連接的正常建立,并使得Initiator與Target間可以正常進行報文傳輸。


      圖1是現(xiàn)有技術(shù)中NAT轉(zhuǎn)換示意圖;圖2是現(xiàn)有技術(shù)中iSCSI的應(yīng)用場景示意圖;圖3是本發(fā)明應(yīng)用場景示意圖;圖4是本發(fā)明中當(dāng)Target確定位置情況為=Target位于私網(wǎng),Initiator位于公網(wǎng),且Target與Initiator之間存在NAT設(shè)備時,所提供的一種TCP連接建立的方法流程圖;圖5是本發(fā)明中當(dāng)Initiator確定位置情況為=Target位于私網(wǎng),Initiator位于公網(wǎng),且Target與Initiator之間存在NAT設(shè)備時,所提供的一種TCP連接建立的方法流程圖;圖6是本發(fā)明提出的一種連接接收設(shè)備Target的結(jié)構(gòu)示意圖;圖7是本發(fā)明提出的一種連接發(fā)起設(shè)備hitiator的結(jié)構(gòu)示意圖。
      具體實施例方式本發(fā)明提出一種TCP連接建立的方法,該方法應(yīng)用于包括Initiator和Target 的iSCSI網(wǎng)絡(luò)中,此外,根據(jù)實際網(wǎng)絡(luò)部署情況,還可以在網(wǎng)絡(luò)中部署NAT設(shè)備,網(wǎng)絡(luò)中 Initiator和Target的位置情況分為以下情況(I)Target位于私網(wǎng),Initiator位于私網(wǎng),且Target與Initiator之間不存在 NAT設(shè)備;或,Target位于公網(wǎng),Initiator位于公網(wǎng),且Target與Initiator之間不存在 NAT設(shè)備。上述情況下,由于Target與Initiator之間不存在NAT設(shè)備,因此NAT設(shè)備不會對Target與Initiator造成隔離,不存在通信障礙,也不存在NAT穿越的問題。O) Initiator 位于私網(wǎng),Target 位于公網(wǎng),且 Target 與 Initiator 之間存在 NAT 設(shè)備。上述情況下,雖然NAT設(shè)備對Target與Initiator造成隔離,但由于hitiator 為協(xié)議交互過程的主動發(fā)起者,Initiator可以通過NAT映射訪問到Target,Target與 Initiator之間不存在通信障礙,也不存在NAT穿越的問題。(3) Target 位于私網(wǎng),Initiator 位于公網(wǎng),且 Target 與 Initiator 之間存在 NAT設(shè)備。上述情況下,NAT設(shè)備對Target與Initiator造成隔離,且由于hitiator為協(xié)議交互過程的主動發(fā)起者,因此Target與Initiator之間存在通信障礙,即存在NAT穿越的問題,其原因在于A、由于Initiator位于公網(wǎng),Target位于私網(wǎng),則Initiator不能直接到達私網(wǎng)內(nèi)的Target,其只能到達NAT設(shè)備。B、即使Initiator發(fā)送的報文可以通過NAT設(shè)備映射到Target,但由于協(xié)議交互過程包括Discover會話過程(用于發(fā)現(xiàn)Target)和Normal會話過程(用于連接Target), 在Discover會話過程中,Target將自身的IP地址(私網(wǎng)地址)發(fā)送給hitiator ;在 Normal會話過程中,Initiator會使用該IP地址連接到Target。但是Normal會話過程之前,Target不會使用該IP地址向Initiator發(fā)送報文,NAT設(shè)備也就不會記錄該IP地址所對應(yīng)的地址映射表項,因此在Initiator使用該IP地址連接Target時,通信過程會失敗, 無法建立TCP連接。綜上所述,針對上述情況( ,會存在Initiator與Target間無法建立TCP連接, 繼而無法進行報文傳輸?shù)膯栴},針對上述存在的問題,當(dāng)Target位于私網(wǎng),Initiator位于公網(wǎng),且Target與Initiator之間存在NAT設(shè)備時,本發(fā)明中,需要由Target主動發(fā)起TCP 連接過程,以保證TCP連接的正常建立。以圖3為本發(fā)明應(yīng)用場景示意圖,Target (即Host)位于私網(wǎng),Initiator (即存儲系統(tǒng))位于公網(wǎng),且Target與hitiator之間存在NAT設(shè)備。實際應(yīng)用中,可以由Target 確定位置情況為Target位于私網(wǎng),Initiator位于公網(wǎng),且Target與化行13切1·之間存在 NAT設(shè)備;也可以由Initiator確定位置情況為=Target位于私網(wǎng),Initiator位于公網(wǎng),且 Target與Initiator之間存在NAT設(shè)備。當(dāng)Target確定位置情況為Target位于私網(wǎng),Initiator位于公網(wǎng),且Target與 Initiator之間存在NAT設(shè)備時,如圖4所示,該TCP連接建立的方法包括步驟401,hitiator向Target發(fā)送發(fā)現(xiàn)會話請求報文,該發(fā)現(xiàn)會話請求報文中封裝有會話請求內(nèi)容,且會話請求內(nèi)容中攜帶有Initiator在發(fā)送發(fā)現(xiàn)會話請求報文時的源地址和目的地址(即報文頭的源地址和目的地址)。在Discover會話過程中,Initiator需要向Target發(fā)送發(fā)現(xiàn)會話請求報文;本發(fā)明中,為了實現(xiàn)hitiator與Target的通信,可以將NAT設(shè)備的公網(wǎng)IP地址配置給所有 Initiator,各Initiator在需要發(fā)起Discover會話過程時,均會向配置的公網(wǎng)IP地址發(fā)送發(fā)現(xiàn)會話請求報文。以圖3的應(yīng)用場景為例,可將NAT設(shè)備的公網(wǎng)IP地址20. 1. 1. 1配置給各 Initiator,而Initiator在發(fā)送發(fā)現(xiàn)會話請求報文時,發(fā)現(xiàn)會話請求報文的報文頭中,源地址為自身的IP地址1. 1. 1. 1,目的地址為公網(wǎng)IP地址20. 1. 1. 1。此外,發(fā)現(xiàn)會話請求報文中還封裝有會話請求內(nèi)容(即具體的數(shù)據(jù)),該會話請求內(nèi)容中同樣攜帶源地址為 1. 1. 1. 1,目的地址為20. 1. 1. 1的信息;實際應(yīng)用中可將源地址和目的地址的信息封裝在發(fā)現(xiàn)會話請求報文的Datasegment字段。步驟402,NAT設(shè)備接收化^化切!·發(fā)送給Target的發(fā)現(xiàn)會話請求報文,對報文頭的目的地址進行轉(zhuǎn)換,并將轉(zhuǎn)換后的發(fā)現(xiàn)會話請求報文發(fā)送給Target。需要說明的是,內(nèi)部服務(wù)器功能是NAT設(shè)備上使外網(wǎng)設(shè)備主動訪問內(nèi)網(wǎng)服務(wù)器的功能,用于完成地址映射。在具體實現(xiàn)時,首先配置IP地址A、PORTA、協(xié)議iSCSI、IP地址 B,PORTB的五元組,當(dāng)通過IP地址A和PORTA接收到報文,且報文的協(xié)議為iSCSI時,則NAT 設(shè)備需要建立地址映射,將報文從IP地址B和PORTB轉(zhuǎn)發(fā)出去。為了方便描述,后續(xù)對端口不再贅述。本發(fā)明中,需要在NAT設(shè)備上使能內(nèi)部服務(wù)器功能,并將IP地址A配置給 Initiator ;以圖3的應(yīng)用場景為例,則NAT設(shè)備上可以配置20. 1. 1. 1為地址A,且 Initiator的發(fā)現(xiàn)會話請求報文的目的地址為20. 1. 1. 1 ;當(dāng)NAT設(shè)備接收到發(fā)現(xiàn)會話請求報文后,查詢五元組對應(yīng)關(guān)系,將發(fā)現(xiàn)會話請求報文發(fā)送至IP地址B (IP地址B設(shè)置為 Target對應(yīng)的某個接口地址,圖3中IP地址B為192. 168. 1. 1),從而使得NAT設(shè)備可以通過IP地址B (192. 168. 1. 1)將發(fā)現(xiàn)會話請求報文發(fā)送給Target。需要說明的是,由于發(fā)現(xiàn)會話請求報文的目的地址為NAT設(shè)備的公網(wǎng)IP地址 (20. 1. 1. 1),因此NAT設(shè)備還需要將發(fā)現(xiàn)會話請求報文的目的地址轉(zhuǎn)換為Target的私網(wǎng)IP 地址(192. 168. 1.4),并將轉(zhuǎn)換后的發(fā)現(xiàn)會話請求報文發(fā)送給Target ;通過上述處理,可以將發(fā)現(xiàn)會話請求報文傳輸?shù)絋arget上。步驟403,Target接收來自Initiator的發(fā)現(xiàn)會話請求報文,該發(fā)現(xiàn)會話請求報文中封裝有會話請求內(nèi)容,且會話請求內(nèi)容中攜帶有Initiator在發(fā)送發(fā)現(xiàn)會話請求報文時的源地址和目的地址。步驟404,Target根據(jù)發(fā)現(xiàn)會話請求報文的報文頭中的目的地址和源地址以及會話請求內(nèi)容中的目的地址和源地址確定Initiator和Target的位置情況。情況一、當(dāng)發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與會話請求內(nèi)容中的目的地址不同時,則Target確定位置情況為Target位于私網(wǎng),Initiator位于公網(wǎng),且Target 與Initiator之間存在NAT設(shè)備。以圖3的應(yīng)用場景為例,在接收到發(fā)現(xiàn)會話請求報文后, 報文頭中的目的地址為192. 168. 1.4,源地址為1. 1. 1. 1 ;而會話請求內(nèi)容中的目的地址為 20. 1. 1. 1,源地址為1. 1. 1. 1 ;通過對比發(fā)現(xiàn)二者的目的地址不同,因此可以確定位置情況為Target位于私網(wǎng),Initiator位于公網(wǎng),且Target與Initiator之間存在NAT設(shè)備。情況二、當(dāng)發(fā)現(xiàn)會話請求報文的報文頭中的源地址與會話請求內(nèi)容中的源地址不同時,則Target確定位置情況為Target位于公網(wǎng),Initiator位于私網(wǎng),且Target與 Initiator之間存在NAT設(shè)備。情況三、當(dāng)發(fā)現(xiàn)會話請求報文的報文頭中的源地址與會話請求內(nèi)容中的源地址相同,且發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與會話請求內(nèi)容中的目的地址相同時, 則Target確定位置情況為=Target與Initiator之間沒有NAT設(shè)備,可以為Target與 Initiator均位于私網(wǎng)或者均位于公網(wǎng)。步驟405,Target向Initiator發(fā)送發(fā)現(xiàn)會話的響應(yīng)報文。針對上述情況一、當(dāng)Target位于私網(wǎng),Initiator位于公網(wǎng),且Target與 Initiator之間存在NAT設(shè)備時,對于Target向Initiator發(fā)送的發(fā)現(xiàn)會話的響應(yīng)報文, 該響應(yīng)報文中需要攜帶由Target使能反向TCP連接的信息(該信息表示需要由Target主動發(fā)起TCP連接過程);之后,由Initiator利用Target使能反向TCP連接的信息確定TCP 連接過程由Target發(fā)起,并等待Target發(fā)送的TCP連接請求報文。一種優(yōu)選的實施方式中,在發(fā)送發(fā)現(xiàn)會話的響應(yīng)報文時,在該響應(yīng)報文中增加字段REVERSE-CONN,當(dāng)REVERSE-CONN置為1時表示由Target使能反向TCP連接,否則,不通過Target使能反向TCP連接。此外,還可以在響應(yīng)報文中增加字段IN-NAT,當(dāng)IN-NAT置為 1時表示Target位于私網(wǎng),否則,表示Target不位于私網(wǎng)。針對上述情況二和情況三,不需要由Target主動發(fā)起TCP連接過程,仍是由 Initiator主動發(fā)起TCP連接過程,因此不會造成Initiator訪問Target時出現(xiàn)困難;對于Target向Initiator發(fā)送的發(fā)現(xiàn)會話的響應(yīng)報文,按照現(xiàn)有方式進行處理即可,本發(fā)明中不再贅述。步驟406 Jnitiator接收來自Target的發(fā)現(xiàn)會話的響應(yīng)報文;對于NAT設(shè)備的轉(zhuǎn)發(fā)過程,在此不再贅述。本發(fā)明中,當(dāng)發(fā)現(xiàn)會話的響應(yīng)報文中攜帶由Target使能反向TCP連接的信息時, 則Initiator可以利用Target使能反向TCP連接的信息確定TCP連接過程由Target發(fā)起, 并等待Target發(fā)送的TCP連接請求報文。具體的,在Normal會話過程中,Initiator將不再主動發(fā)起TCP連接過程,而是等待Target主動發(fā)起TCP連接過程,從而建立Initiator 與Target之間的TCP連接。此外,當(dāng)發(fā)現(xiàn)會話的響應(yīng)報文中沒有攜帶由Target使能反向TCP連接的信息時, 該響應(yīng)報文中會攜帶Target返回的IP地址,且Initiator可通過響應(yīng)報文得知Target并不在私網(wǎng),或者Target與Initiator均在私網(wǎng)中,該情況下不需要等待Target主動發(fā)起 TCP連接過程,而是由Initiator主動發(fā)起TCP連接過程,并進行后續(xù)的Login請求等過程。本發(fā)明中,當(dāng)確定結(jié)果為Target位于私網(wǎng),Initiator位于公網(wǎng),且Target與 Initiator之間存在NAT設(shè)備時,在Normal會話過程中,將由Target主動發(fā)起TCP連接過程,該過程進一步包括以下步驟步驟407,Target向Initiator發(fā)送TCP連接請求報文,以建立Target與 Initiator之間的TCP連接。本發(fā)明中,Target向Initiator發(fā)送TCP連接請求報文具體包括=Target利用IP 地址與Target的綁定關(guān)系選擇出口 IP地址(即反向連接的出口 IP地址),并通過出口 IP 地址向Initiator發(fā)送TCP連接請求報文。具體的,由于存儲系統(tǒng)(如IPSAN等設(shè)備)有很多網(wǎng)卡和很多出接口 IP地址,分配給每個Target的IP地址為多個出接口 IP地址中的一個;因此,Target需要利用IP地址與Target的綁定關(guān)系選擇出口 IP地址。例如,Initiator需要連接的Target為Targetl, 通過查詢Target-IP綁定關(guān)系列表,發(fā)現(xiàn)Targetl綁定的IP地址為10. 10. 10. 1 ;因此選擇的出口 IP地址為10. 10. 10. 1。Target主動發(fā)起TCP連接的過程為=Target使用10. 10. 10. 1向Initiator的公網(wǎng)地址1. 1. 1. 1發(fā)送TCP連接請求報文(源地址為10. 10. 10. 1,目的地址為1. 1. 1. 1)。此外,還可增加1個iSCSI協(xié)議的內(nèi)容(如增加iSCSI login message報文),在TCP連接建立完成后,Target發(fā)送該報文,且該報文的內(nèi)容用于通知Target在私網(wǎng)中,且報文中也可包含2個字段IN-NAT和REVERSE-C0NN,2個字段都置為1則表示Target在私網(wǎng),并且使能反向TCP連接。本發(fā)明中,Initiator在接收到TCP連接請求報文后,則Initiator可建立TCP連接并發(fā)起iSCSI login請求,以及執(zhí)行后續(xù)相關(guān)處理。Initiator與Target建立TCP連接的過程不再詳加贅述;當(dāng)hitiator接收到iSCSI login message報文后,即可得知在私網(wǎng) (即NAT內(nèi)部)的Target的反向TCP連接已經(jīng)建立完成。需要注意的是,假設(shè)Target發(fā)起的反向TCP連接的源/目的IP地址和端口為10. 10. 10. 1:3260/1. 1. 1. 1:15151,在經(jīng)過NAT設(shè)備轉(zhuǎn)換后,變?yōu)?20. 1. 1. 1:25000/1. 1. 1. 1 15151,源地址和端口發(fā)生變化;之后,Initiator會采用變化后的源地址20. 1. 1. 1 25000作為Target的目的地址進行Login請求,且由于NAT設(shè)備地址映射關(guān)系已建立,則該Login請求會到達Target的10. 10. 10. 1的IP地址和接口上,Target 正常響應(yīng)即可,相應(yīng)處理本發(fā)明中不再贅述。當(dāng)Initiator確定位置情況為Target位于私網(wǎng),Initiator位于公網(wǎng),且Target 與Initiator之間存在NAT設(shè)備時,如圖5所示,該TCP連接建立的方法包括步驟501,Initiator向Target發(fā)送發(fā)現(xiàn)會話請求報文。該發(fā)現(xiàn)會話請求報文中封裝有會話請求內(nèi)容,且該場景下,會話請求內(nèi)容中可以不攜帶Initiator在發(fā)送發(fā)現(xiàn)會話請求報文時的源地址和目的地址。在Discover會話過程中,Initiator需要向Target發(fā)送發(fā)現(xiàn)會話請求報文;本發(fā)明中,為了實現(xiàn)hitiator與Target的通信,可以將NAT設(shè)備的公網(wǎng)IP地址配置給所有 Initiator,各Initiator在需要發(fā)起Discover會話過程時,均會向配置的公網(wǎng)IP地址發(fā)送發(fā)現(xiàn)會話請求報文。以圖3的應(yīng)用場景為例,可將NAT設(shè)備的公網(wǎng)IP地址20. 1. 1. 1配置給各 Initiator,而Initiator在發(fā)送發(fā)現(xiàn)會話請求報文時,發(fā)現(xiàn)會話請求報文的報文頭中,源地址為自身的IP地址1. 1. 1. 1,目的地址為公網(wǎng)IP地址20. 1. 1. 1。步驟502,NAT設(shè)備接收Initiator發(fā)送給Target的發(fā)現(xiàn)會話請求報文,對報文頭的目的地址進行轉(zhuǎn)換,并將轉(zhuǎn)換后的發(fā)現(xiàn)會話請求報文發(fā)送給Target。由于發(fā)現(xiàn)會話請求報文的目的地址為NAT設(shè)備的公網(wǎng)IP地址1. 1. 1), 因此NAT設(shè)備需要將發(fā)現(xiàn)會話請求報文的目的地址轉(zhuǎn)換為Target的私網(wǎng)IP地址 (192. 168. 1. 4),并將轉(zhuǎn)換后的發(fā)現(xiàn)會話請求報文發(fā)送給Target ;本步驟與上述步驟402的處理相同,在此不再重復(fù)贅述。步驟503,Target接收來自Initiator的發(fā)現(xiàn)會話請求報文,該發(fā)現(xiàn)會話請求報文中封裝有會話請求內(nèi)容。步驟504,Target向Initiator發(fā)送發(fā)現(xiàn)會話的響應(yīng)報文,該響應(yīng)報文中封裝有會話響應(yīng)內(nèi)容,且會話響應(yīng)內(nèi)容中攜帶有Target在發(fā)送響應(yīng)報文時的源地址和目的地址;由 Initiator利用響應(yīng)報文的報文頭中的源地址和目的地址以及會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator和Target的位置情況。在Discover會話過程中,當(dāng)接收到來自Initiator的發(fā)現(xiàn)會話請求報文后, Target需要向Initiator發(fā)送發(fā)現(xiàn)會話的響應(yīng)報文,在響應(yīng)報文的報文頭中,源地址為自身的IP地址,目的地址為hitiator的IP地址;此外,該響應(yīng)報文中還會封裝有會話響應(yīng)內(nèi)容(即具體的數(shù)據(jù)),且該會話響應(yīng)內(nèi)容中同樣需要攜帶源地址和目的地址的信息。步驟505 Jnitiator接收來自Target的發(fā)現(xiàn)會話的響應(yīng)報文,該響應(yīng)報文中封裝有會話響應(yīng)內(nèi)容,且會話響應(yīng)內(nèi)容中攜帶有Target在發(fā)送響應(yīng)報文時的源地址和目的地址;對于NAT設(shè)備的轉(zhuǎn)發(fā)過程,在此不再贅述。
      步驟506,Initiator利用響應(yīng)報文的報文頭中的源地址和目的地址以及會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator和Target的位置情況。情況一、當(dāng)響應(yīng)報文的報文頭中的源地址與會話響應(yīng)內(nèi)容中的源地址不同時, 則hitiator確定位置情況為Target位于私網(wǎng),Initiator位于公網(wǎng),且Target與 Initiator之間存在NAT設(shè)備。情況二、當(dāng)響應(yīng)報文的報文頭中的目的地址與會話響應(yīng)內(nèi)容中的目的地址不同時,Initiator確定位置情況為則Target位于公網(wǎng),Initiator位于私網(wǎng),且Target與 Initiator之間存在NAT設(shè)備。情況三、當(dāng)響應(yīng)報文的報文頭中的源地址與會話響應(yīng)內(nèi)容中的源地址相同,且響應(yīng)報文的報文頭中的目的地址與會話響應(yīng)內(nèi)容中的目的地址相同時,則Initiator確定位置情況為=Target與Initiator之間沒有NAT設(shè)備,可以為Target與Initiator均位于私網(wǎng)或者均位于公網(wǎng)。針對上述情況二和情況三,不需要由Target主動發(fā)起TCP連接過程,仍是由 Initiator主動發(fā)起TCP連接過程,因此不會造成Initiator訪問Target時出現(xiàn)困難,按照現(xiàn)有方式進行處理即可,本發(fā)明中不再贅述。針對上述情況一、當(dāng)Target位于私網(wǎng),Initiator位于公網(wǎng),且Target與 Initiator之間存在NAT設(shè)備時,該方法還包括以下步驟步驟507,Initiator向Target發(fā)送位置情況的通知消息(用于通知Initiator和 Target的位置情況的信息),即通知Target當(dāng)前位置情況為Target位于私網(wǎng),Initiator 位于公網(wǎng),且Target與Initiator之間存在NAT設(shè)備,且通知Target使能反向TCP連接。當(dāng)Initiator獲知位置情況為Target位于私網(wǎng),Initiator位于公網(wǎng),且Target 與Initiator之間存在NAT設(shè)備時,則Initiator確定TCP連接過程需要由Target發(fā)起,向 Target發(fā)送位置情況的通知消息,并等待Target發(fā)送的TCP連接請求報文,以建立Target 與Initiator之間的TCP連接。具體的,在Normal會話過程中,Initiator將不再主動發(fā)起TCP連接過程,而是等待Target主動發(fā)起TCP連接過程,從而建立Initiator與Target 之間的TCP連接。步驟508,Target接收來自hitiator的位置情況的通知消息,并利用通知消息確定Initiator和Target的位置情況,即確定Target位于私網(wǎng),Initiator位于公網(wǎng),且 Target與Initiator之間存在NAT設(shè)備。步驟509,Target向Initiator發(fā)送TCP連接請求報文,以建立Target與 Initiator之間的TCP連接。需要說明的是,Initiator在Target返回響應(yīng)報文的基礎(chǔ)上,需要向Target發(fā)送 Login message消息(該消息的內(nèi)容包含reverse-conn字段,1為使能);在Target接收到該Login message消息后,Target采用Target所綁定的IP地址向Initiator發(fā)起反向 TCP連接,并由Initiator經(jīng)過反向TCP連接向Target發(fā)起Normal login會話等后續(xù)過程。本發(fā)明中,Target向Initiator發(fā)送TCP連接請求報文具體包括=Target利用IP 地址與Target的綁定關(guān)系選擇出口 IP地址(即反向連接的出口 IP地址),并通過出口 IP 地址向Initiator發(fā)送TCP連接請求報文。
      具體的,由于存儲系統(tǒng)(如IPSAN等設(shè)備)有很多網(wǎng)卡和很多出接口 IP地址,分配給每個Target的IP地址為多個出接口 IP地址中的一個;因此,Target需要利用IP地址與Target的綁定關(guān)系選擇出口 IP地址。例如,Initiator需要連接的Target為Targetl, 通過查詢Target-IP綁定關(guān)系列表,發(fā)現(xiàn)Targetl綁定的IP地址為10. 10. 10. 1 ;因此選擇的出口 IP地址為10. 10. 10. 1。Target主動發(fā)起TCP連接的過程為=Target使用10. 10. 10. 1向Initiator的公網(wǎng)地址1. 1. 1. 1發(fā)送TCP連接請求報文(源地址為10. 10. 10. 1,目的地址為1. 1. 1. 1)。本發(fā)明中,Initiator在接收到TCP連接請求報文后,則Initiator可建立TCP連接并發(fā)起 iSCSI login請求,以及執(zhí)行后續(xù)相關(guān)處理。Initiator與Target建立TCP連接的過程不再詳加贅述。需要注意的是,假設(shè)Target發(fā)起的反向TCP連接的源/目的IP地址和端口為10. 10. 10. 1:3260/1. 1. 1. 1:15151,在經(jīng)過NAT設(shè)備轉(zhuǎn)換后,變?yōu)?20. 1. 1. 1:25000/1. 1. 1. 1 15151,源地址和端口發(fā)生變化;之后,Initiator會采用變化后的源地址20. 1. 1. 1 25000作為Target的目的地址進行Login請求,且由于NAT設(shè)備地址映射關(guān)系已建立,則該Login請求會到達Target的10. 10. 10. 1的IP地址和接口上,Target 正常響應(yīng)即可,相應(yīng)處理本發(fā)明中不再贅述?;谂c上述方法同樣的發(fā)明構(gòu)思,本發(fā)明還提出了一種連接接收設(shè)備Target,應(yīng)用于包括連接發(fā)起設(shè)備hitiator、所述Target和網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備的基于互聯(lián)網(wǎng)的小型計算機系統(tǒng)接口 iSCSI網(wǎng)絡(luò)中,如圖6所示,所述Target包括確定模塊11,用于確定所述Initiator和所述Target的位置情況;通信模塊12,用于當(dāng)確定結(jié)果為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng), 且所述Target與所述Initiator之間存在所述NAT設(shè)備時,向所述Initiator發(fā)送傳輸控制協(xié)議TCP連接請求報文,以建立所述Target與所述Initiator之間的TCP連接。所述通信模塊12,還用于接收來自所述hitiator的發(fā)現(xiàn)會話請求報文,所述發(fā)現(xiàn)會話請求報文中封裝有會話請求內(nèi)容,且所述會話請求內(nèi)容中攜帶有所述Initiator在發(fā)送所述發(fā)現(xiàn)會話請求報文時的源地址和目的地址;所述確定模塊11,具體用于當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址不同時,確定位置情況為所述Target位于私網(wǎng),所述 Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址不同時,確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述Target 與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址相同,且所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址相同時,確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。所述通信模塊12,還用于當(dāng)所述Target位于私網(wǎng),所述Initiator位于公網(wǎng), 且所述Target與所述Initiator之間存在所述NAT設(shè)備時,向所述Initiator發(fā)送發(fā)現(xiàn)會話的響應(yīng)報文,所述響應(yīng)報文中攜帶由所述Target使能反向TCP連接的信息;由所述 Initiator利用所述Target使能反向TCP連接的信息確定TCP連接過程由所述Target發(fā)起,并等待所述Target發(fā)送的TCP連接請求報文,以建立所述Target與所述Initiator之間的TCP連接。所述通信模塊12,還用于接收來自所述hitiator的發(fā)現(xiàn)會話請求報文,并向所述^iitiator發(fā)送發(fā)現(xiàn)會話的響應(yīng)報文,所述響應(yīng)報文中封裝有會話響應(yīng)內(nèi)容,且所述會話響應(yīng)內(nèi)容中攜帶有所述Target在發(fā)送所述響應(yīng)報文時的源地址和目的地址;由所述Initiator利用所述響應(yīng)報文的報文頭中的源地址和目的地址以及所述會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator和Target的位置情況;當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址不同時,確定位置情況為所述 Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址不同時,確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址相同,且所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址相同時,確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備;當(dāng)確定結(jié)果為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備時,接收來自所述hitiator的位置情況的通知消息;所述確定模塊11,具體用于利用所述通知消息確定所述Initiator和所述Target 的位置情況。所述通信模塊12,具體用于利用IP地址與Target的綁定關(guān)系選擇出口 IP地址, 并通過所述出口 IP地址向所述Initiator發(fā)送TCP連接請求報文。其中,本發(fā)明裝置的各個模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊?;谂c上述方法同樣的發(fā)明構(gòu)思,本發(fā)明還提出了一種連接發(fā)起設(shè)備hitiator, 應(yīng)用于包括所述hitiator、連接接收設(shè)備Target和網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備的基于互聯(lián)網(wǎng)的小型計算機系統(tǒng)接口 iSCSI網(wǎng)絡(luò)中,如圖7所示,所述Initiator包括通信模塊21,用于將所述Initiator和所述Target的位置情況的信息通知給所述 Target,由所述Target利用所述信息確定所述Initiator和所述Target的位置情況;處理模塊22,用于當(dāng)獲知位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備時,確定傳輸控制協(xié)議TCP 連接過程由所述Target發(fā)起,并等待所述Target發(fā)送的TCP連接請求報文,以建立所述 Target與所述Initiator之間的TCP連接。所述通信模塊21,具體用于向所述Target發(fā)送發(fā)現(xiàn)會話請求報文,所述發(fā)現(xiàn)會話請求報文中封裝有會話請求內(nèi)容,且所述會話請求內(nèi)容中攜帶有所述Initiator在發(fā)送所述發(fā)現(xiàn)會話請求報文時的源地址和目的地址;由所述Target利用所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址和目的地址以及所述會話請求內(nèi)容中的源地址和目的地址確定所述Initiator和所述Target的位置情況;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址不同時,確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址不同時,確定位置情況為所述Target位于公網(wǎng),所述 Initiator位于私網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址相同,且所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址相同時,確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。所述通信模塊21,還用于在向所述Target發(fā)送發(fā)現(xiàn)會話請求報文之后,接收來自所述Target的發(fā)現(xiàn)會話的響應(yīng)報文,且在所述Target確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備時,所述響應(yīng)報文中攜帶由所述Target使能反向TCP連接的信息;所述處理模塊22,具體用于通過所述由所述Target使能反向TCP連接的信息獲知位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述 Initiator之間存在所述NAT設(shè)備。所述通信模塊21,具體用于向所述Target發(fā)送發(fā)現(xiàn)會話請求報文,并接收來自所述Target的發(fā)現(xiàn)會話的響應(yīng)報文,所述響應(yīng)報文中封裝有會話響應(yīng)內(nèi)容,且所述會話響應(yīng)內(nèi)容中攜帶有所述Target在發(fā)送所述響應(yīng)報文時的源地址和目的地址;當(dāng)所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述 Initiator之間存在所述NAT設(shè)備時,向所述Target發(fā)送位置情況的通知消息,由所述 Target利用所述通知消息確定所述Initiator和所述Target的位置情況為所述Target 位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT 設(shè)備;所述處理模塊22,還用于利用所述響應(yīng)報文的報文頭中的源地址和目的地址以及所述會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator和Target的位置情況。所述處理模塊22,具體用于當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址不同時,確定位置情況為所述Target位于私網(wǎng),所述hitiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址不同時,確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址相同,且所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址相同時,確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。所述TCP連接請求報文為所述Target通過出口 IP地址向所述Initiator發(fā)送的 TCP連接請求報文,且所述出口 IP地址為所述Target利用IP地址與Target的綁定關(guān)系選擇的出口 IP地址。其中,本發(fā)明裝置的各個模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是⑶-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布于實施例的裝置中,也可以進行相應(yīng)變化位于不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。上述本發(fā)明序號僅僅為了描述,不代表實施例的優(yōu)劣。以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護范圍。
      權(quán)利要求
      1.一種傳輸控制協(xié)議TCP連接建立的方法,應(yīng)用于包括連接發(fā)起設(shè)備hitiator、連接接收設(shè)備Target和網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備的基于互聯(lián)網(wǎng)的小型計算機系統(tǒng)接口 iSCSI網(wǎng)絡(luò)中,其特征在于,該方法包括以下步驟所述Target確定所述Initiator和所述Target的位置情況; 當(dāng)確定結(jié)果為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述 Initiator之間存在所述NAT設(shè)備時,所述Target向所述Initiator發(fā)送TCP連接請求報文,以建立所述Target與所述Initiator之間的TCP連接。
      2.如權(quán)利要求1所述的方法,其特征在于,所述Target確定所述Initiator和所述 Target的位置情況,具體包括所述Target接收來自所述^itiator的發(fā)現(xiàn)會話請求報文,所述發(fā)現(xiàn)會話請求報文中封裝有會話請求內(nèi)容,且所述會話請求內(nèi)容中攜帶有所述Initiator在發(fā)送所述發(fā)現(xiàn)會話請求報文時的源地址和目的地址;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址不同時,所述Target確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址不同時,所述Target確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述 Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址相同, 且所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址相同時,所述Target確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。
      3.如權(quán)利要求2所述的方法,其特征在于,在所述Target接收來自所述hitiator的發(fā)現(xiàn)會話請求報文與所述Target向所述Initiator發(fā)送TCP連接請求報文之間,所述方法還包括當(dāng)所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator 之間存在所述NAT設(shè)備時,所述Target向所述Initiator發(fā)送發(fā)現(xiàn)會話的響應(yīng)報文,所述響應(yīng)報文中攜帶由所述Target使能反向TCP連接的信息;由所述Initiator利用所述Target使能反向TCP連接的信息確定TCP連接過程由所述Target發(fā)起,并等待所述Target發(fā)送的TCP連接請求報文,以建立所述Target與所述 Initiator之間的TCP連接。
      4.如權(quán)利要求1所述的方法,其特征在于,所述Target確定所述Initiator和所述 Target的位置情況,具體包括所述Target接收來自所述Initiator的發(fā)現(xiàn)會話請求報文,并向所述Initiator發(fā)送發(fā)現(xiàn)會話的響應(yīng)報文,所述響應(yīng)報文中封裝有會話響應(yīng)內(nèi)容,且所述會話響應(yīng)內(nèi)容中攜帶有所述Target在發(fā)送所述響應(yīng)報文時的源地址和目的地址;由所述Initiator利用所述響應(yīng)報文的報文頭中的源地址和目的地址以及所述會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator和Target的位置情況;當(dāng)確定結(jié)果為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述 Initiator之間存在所述NAT設(shè)備時,所述Target接收來自所述hitiator的位置情況的通知消息,并利用所述通知消息確定所述Initiator和所述Target的位置情況。
      5.如權(quán)利要求4所述的方法,其特征在于,所述^itiator利用所述響應(yīng)報文的報文頭中的源地址和目的地址以及所述會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator和 Target的位置情況,具體包括當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址不同時,所述 Initiator確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述 Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址不同時,所述Initiator確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述 Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址相同,且所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址相同時,所述Initiator 確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。
      6.如權(quán)利要求1所述的方法,其特征在于,所述Target向所述Initiator發(fā)送TCP連接請求報文,具體包括所述Target利用IP地址與Target的綁定關(guān)系選擇出口 IP地址,并通過所述出口 IP 地址向所述Initiator發(fā)送TCP連接請求報文。
      7.一種傳輸控制協(xié)議TCP連接建立的方法,應(yīng)用于包括連接發(fā)起設(shè)備hitiator、連接接收設(shè)備Target和網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備的基于互聯(lián)網(wǎng)的小型計算機系統(tǒng)接口 iSCSI網(wǎng)絡(luò)中,其特征在于,該方法包括以下步驟所述Initiator將所述Initiator和所述Target的位置情況的信息通知給所述 Target,由所述Target利用該信息確定所述Initiator和所述Target的位置情況;當(dāng)所述Initiator獲知位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng), 且所述Target與所述Initiator之間存在所述NAT設(shè)備時,所述Initiator確定TCP連接過程由所述Target發(fā)起,并等待所述Target發(fā)送的TCP連接請求報文,以建立所述Target 與所述Initiator之間的TCP連接。
      8.如權(quán)利要求7所述的方法,其特征在于,所述Initiator將所述Initiator和所述Target的位置情況的信息通知給所述Target,由所述Target利用該信息確定所述 Initiator和所述Target的位置情況,具體包括所述^itiator向所述Target發(fā)送發(fā)現(xiàn)會話請求報文,所述發(fā)現(xiàn)會話請求報文中封裝有會話請求內(nèi)容,且所述會話請求內(nèi)容中攜帶有所述Initiator在發(fā)送所述發(fā)現(xiàn)會話請求報文時的源地址和目的地址;由所述Target利用所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址和目的地址以及所述會話請求內(nèi)容中的源地址和目的地址確定所述Initiator和所述Target的位置情況。
      9.如權(quán)利要求8所述的方法,其特征在于,所述Target利用所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址和目的地址以及所述會話請求內(nèi)容中的源地址和目的地址確定所述 Initiator和所述Target的位置情況,具體包括當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址不同時,所述Target確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址不同時,所述Target確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述 Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址相同, 且所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址相同時,所述Target確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。
      10.如權(quán)利要求8或9所述的方法,其特征在于,所述Initiator獲知位置情況為所述 Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備,包括在向所述Target發(fā)送發(fā)現(xiàn)會話請求報文之后,所述hitiator接收來自所述Target 的發(fā)現(xiàn)會話的響應(yīng)報文,且在所述Target確定位置情況為所述Target位于私網(wǎng),所述 Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備時,所述響應(yīng)報文中攜帶由所述Target使能反向TCP連接的信息;所述Initiator通過所述由所述Target使能反向TCP連接的信息獲知位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備。
      11.如權(quán)利要求7所述的方法,其特征在于,所述Initiator將所述Initiator和所述Target的位置情況的信息通知給所述Target,由所述Target利用該信息確定所述 Initiator和所述Target的位置情況,具體包括所述hitiator向所述Target發(fā)送發(fā)現(xiàn)會話請求報文,并接收來自所述Target的發(fā)現(xiàn)會話的響應(yīng)報文,所述響應(yīng)報文中封裝有會話響應(yīng)內(nèi)容,且所述會話響應(yīng)內(nèi)容中攜帶有所述Target在發(fā)送所述響應(yīng)報文時的源地址和目的地址;所述Initiator利用所述響應(yīng)報文的報文頭中的源地址和目的地址以及所述會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator和Target的位置情況;當(dāng)確定結(jié)果為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述 Initiator之間存在所述NAT設(shè)備時,所述hitiator向所述Target發(fā)送位置情況的通知消息,由所述Target利用所述通知消息確定所述Initiator和所述Target的位置情況為 所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備。
      12.如權(quán)利要求11所述的方法,其特征在于,所述Initiator利用所述響應(yīng)報文的報文頭中的源地址和目的地址以及所述會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator 和Target的位置情況,具體包括當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址不同時,所述 Initiator確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述 Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址不同時,所述Initiator確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述 Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址相同,且所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址相同時,所述Initiator 確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。
      13.如權(quán)利要求7所述的方法,其特征在于,所述Initiator等待所述Target發(fā)送的 TCP連接請求報文,具體包括所述Initiator等待所述Target通過出口 IP地址向所述Initiator發(fā)送的TCP連接請求報文,且所述出口 IP地址為所述Target利用IP地址與Target的綁定關(guān)系選擇的出口 IP地址。
      14.一種連接接收設(shè)備Target,應(yīng)用于包括連接發(fā)起設(shè)備hitiator、所述Target和網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備的基于互聯(lián)網(wǎng)的小型計算機系統(tǒng)接口 iSCSI網(wǎng)絡(luò)中,其特征在于,所述 Target 包括確定模塊,用于確定所述Initiator和所述Target的位置情況;通信模塊,用于當(dāng)確定結(jié)果為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述 Target與所述Initiator之間存在所述NAT設(shè)備時,向所述Initiator發(fā)送傳輸控制協(xié)議 TCP連接請求報文,以建立所述Target與所述Initiator之間的TCP連接。
      15.如權(quán)利要求14所述的Target,其特征在于,所述通信模塊,還用于接收來自所述^itiator的發(fā)現(xiàn)會話請求報文,所述發(fā)現(xiàn)會話請求報文中封裝有會話請求內(nèi)容,且所述會話請求內(nèi)容中攜帶有所述Initiator在發(fā)送所述發(fā)現(xiàn)會話請求報文時的源地址和目的地址;所述確定模塊,具體用于當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址不同時,確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址不同時,確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址相同, 且所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址相同時,確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。
      16.如權(quán)利要求15所述的Target,其特征在于,所述通信模塊,還用于當(dāng)所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述 Target與所述Initiator之間存在所述NAT設(shè)備時,向所述Initiator發(fā)送發(fā)現(xiàn)會話的響應(yīng)報文,所述響應(yīng)報文中攜帶由所述Target使能反向TCP連接的信息;由所述Initiator利用所述Target使能反向TCP連接的信息確定TCP連接過程由所述Target發(fā)起,并等待所述Target發(fā)送的TCP連接請求報文,以建立所述Target與所述 Initiator之間的TCP連接。
      17.如權(quán)利要求14所述的Target,其特征在于,所述通信模塊,還用于接收來自所述^itiator的發(fā)現(xiàn)會話請求報文,并向所述 Initiator發(fā)送發(fā)現(xiàn)會話的響應(yīng)報文,所述響應(yīng)報文中封裝有會話響應(yīng)內(nèi)容,且所述會話響應(yīng)內(nèi)容中攜帶有所述Target在發(fā)送所述響應(yīng)報文時的源地址和目的地址;由所述Initiator利用所述響應(yīng)報文的報文頭中的源地址和目的地址以及所述會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator和Target的位置情況;當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址不同時,確定位置情況為所述Target 位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT 設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址不同時, 確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述Target與所述 Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址相同,且所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址相同時,確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備;當(dāng)確定結(jié)果為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述 Initiator之間存在所述NAT設(shè)備時,接收來自所述hitiator的位置情況的通知消息;所述確定模塊,具體用于利用所述通知消息確定所述Initiator和所述Target的位置情況。
      18.如權(quán)利要求14所述的Target,其特征在于,所述通信模塊,具體用于利用IP地址與Target的綁定關(guān)系選擇出口 IP地址,并通過所述出口 IP地址向所述Initiator發(fā)送TCP連接請求報文。
      19.一種連接發(fā)起設(shè)備hitiator,應(yīng)用于包括所述hitiator、連接接收設(shè)備Target 和網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備的基于互聯(lián)網(wǎng)的小型計算機系統(tǒng)接口 iSCSI網(wǎng)絡(luò)中,其特征在于, 所述Initiator包括通信模塊,用于將所述Initiator和所述Target的位置情況的信息通知給所述 Target,由所述Target利用所述信息確定所述Initiator和所述Target的位置情況;處理模塊,用于當(dāng)獲知位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備時,確定傳輸控制協(xié)議TCP連接過程由所述Target發(fā)起,并等待所述Target發(fā)送的TCP連接請求報文,以建立所述Target與所述Initiator之間的TCP連接。
      20.如權(quán)利要求19所述的hitiator,其特征在于,所述通信模塊,具體用于向所述Target發(fā)送發(fā)現(xiàn)會話請求報文,所述發(fā)現(xiàn)會話請求報文中封裝有會話請求內(nèi)容,且所述會話請求內(nèi)容中攜帶有所述Initiator在發(fā)送所述發(fā)現(xiàn)會話請求報文時的源地址和目的地址;由所述Target利用所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址和目的地址以及所述會話請求內(nèi)容中的源地址和目的地址確定所述Initiator和所述Target的位置情況;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址不同時, 確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述 Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址不同時,確定位置情況為所述Target位于公網(wǎng),所述Initiator 位于私網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述發(fā)現(xiàn)會話請求報文的報文頭中的源地址與所述會話請求內(nèi)容中的源地址相同,且所述發(fā)現(xiàn)會話請求報文的報文頭中的目的地址與所述會話請求內(nèi)容中的目的地址相同時,確定位置情況為所述 Target與所述Initiator之間沒有NAT設(shè)備。
      21.如權(quán)利要求20所述的hitiator,其特征在于,所述通信模塊,還用于在向所述Target發(fā)送發(fā)現(xiàn)會話請求報文之后,接收來自所述 Target的發(fā)現(xiàn)會話的響應(yīng)報文,且在所述Target確定位置情況為所述Target位于私網(wǎng), 所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備時,所述響應(yīng)報文中攜帶由所述Target使能反向TCP連接的信息;所述處理模塊,具體用于通過所述由所述Target使能反向TCP連接的信息獲知位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備。
      22.如權(quán)利要求19所述的hitiator,其特征在于,所述通信模塊,具體用于向所述Target發(fā)送發(fā)現(xiàn)會話請求報文,并接收來自所述 Target的發(fā)現(xiàn)會話的響應(yīng)報文,所述響應(yīng)報文中封裝有會話響應(yīng)內(nèi)容,且所述會話響應(yīng)內(nèi)容中攜帶有所述Target在發(fā)送所述響應(yīng)報文時的源地址和目的地址;當(dāng)所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator 之間存在所述NAT設(shè)備時,向所述Target發(fā)送位置情況的通知消息,由所述Target利用所述通知消息確定所述Initiator和所述Target的位置情況為所述Target位于私網(wǎng),所述 Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;所述處理模塊,還用于利用所述響應(yīng)報文的報文頭中的源地址和目的地址以及所述會話響應(yīng)內(nèi)容中的源地址和目的地址確定Initiator和Target的位置情況。
      23.如權(quán)利要求22所述的hitiator,其特征在于,所述處理模塊,具體用于當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址不同時,確定位置情況為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址不同時,確定位置情況為所述Target位于公網(wǎng),所述Initiator位于私網(wǎng),且所述Target與所述 Initiator之間存在所述NAT設(shè)備;當(dāng)所述響應(yīng)報文的報文頭中的源地址與所述會話響應(yīng)內(nèi)容中的源地址相同,且所述響應(yīng)報文的報文頭中的目的地址與所述會話響應(yīng)內(nèi)容中的目的地址相同時,確定位置情況為所述Target與所述Initiator之間沒有NAT設(shè)備。
      24.如權(quán)利要求19所述的hitiator,其特征在于,所述TCP連接請求報文為所述 Target通過出口 IP地址向所述Initiator發(fā)送的TCP連接請求報文,且所述出口 IP地址為所述Target利用IP地址與Target的綁定關(guān)系選擇的出口 IP地址。
      全文摘要
      本發(fā)明公開了一種TCP連接建立的方法和設(shè)備,該方法包括Target確定Initiator和Target的位置情況;當(dāng)確定結(jié)果為所述Target位于私網(wǎng),所述Initiator位于公網(wǎng),且所述Target與所述Initiator之間存在NAT設(shè)備時,所述Target向所述Initiator發(fā)送TCP連接請求報文,以建立所述Target與所述Initiator之間的TCP連接。本發(fā)明中,可以保證TCP連接的正常建立,并使得Initiator與Target間可以正常進行報文傳輸。
      文檔編號H04L29/08GK102347990SQ20111036491
      公開日2012年2月8日 申請日期2011年11月17日 優(yōu)先權(quán)日2011年11月17日
      發(fā)明者余劍聲, 周迪 申請人:杭州華三通信技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1