亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種衛(wèi)星網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)tcp傳輸?shù)姆椒跋鄳?yīng)的網(wǎng)關(guān)的制作方法

文檔序號(hào):10538684閱讀:309來(lái)源:國(guó)知局
一種衛(wèi)星網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)tcp傳輸?shù)姆椒跋鄳?yīng)的網(wǎng)關(guān)的制作方法
【專利摘要】一種衛(wèi)星網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)TCP傳輸?shù)姆椒跋鄳?yīng)的網(wǎng)關(guān),包括:PEP中與客戶機(jī)連接的網(wǎng)關(guān)執(zhí)行以下處理:截取客戶機(jī)發(fā)送給服務(wù)器的TCP連接請(qǐng)求,從中提取第一連接信息并向客戶機(jī)發(fā)送偽應(yīng)答,與客戶機(jī)建立第一TCP連接;以第一連接信息為數(shù)據(jù)部分并封裝TMSG頭,生成請(qǐng)求建立連接的報(bào)文并通過衛(wèi)星鏈路發(fā)送給與服務(wù)器連接的對(duì)端網(wǎng)關(guān),TMSG頭攜帶第一TCP連接標(biāo)識(shí);接收到對(duì)端網(wǎng)關(guān)返回的連接建立成功的應(yīng)答報(bào)文后,記錄其中TMSG頭攜帶的第二TCP連接標(biāo)識(shí)并與第一TCP連接標(biāo)識(shí)關(guān)聯(lián)。本發(fā)明無(wú)需對(duì)服務(wù)器和客戶機(jī)的協(xié)議棧進(jìn)行改動(dòng),實(shí)現(xiàn)了客戶機(jī)和服務(wù)器之間TCP傳輸?shù)南嚓P(guān)處理。
【專利說明】
一種衛(wèi)星網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)TCP傳輸?shù)姆椒跋鄳?yīng)的網(wǎng)關(guān)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及衛(wèi)星通信,更具體地,涉及一種基于衛(wèi)星網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)TCP傳輸?shù)姆椒跋鄳?yīng)的網(wǎng)關(guān)。
【背景技術(shù)】
[0002]由于衛(wèi)星技術(shù)在現(xiàn)代通訊基礎(chǔ)設(shè)施中發(fā)揮越來(lái)越重要的作用,衛(wèi)星網(wǎng)與地面IP網(wǎng)的結(jié)合是當(dāng)今衛(wèi)星通信領(lǐng)域最熱門的發(fā)展趨勢(shì)。TCP協(xié)議是面向連接的傳輸層協(xié)議,向有關(guān)應(yīng)用提供可靠的數(shù)據(jù)傳輸。據(jù)統(tǒng)計(jì),目前Internet上95%以上的數(shù)據(jù)流使用TCP作為傳輸協(xié)議。然而當(dāng)將TCP協(xié)議應(yīng)用于衛(wèi)星網(wǎng)絡(luò)環(huán)境時(shí),由于衛(wèi)星信道區(qū)別于地面鏈路的一些固有特點(diǎn),嚴(yán)重影響了 TCP的性能,降低了衛(wèi)星信道帶寬的利用率。
[0003]關(guān)于如何提高衛(wèi)星網(wǎng)絡(luò)環(huán)境下TCP的性能,人們已經(jīng)進(jìn)行了許多研究,目前常用的提高衛(wèi)星系統(tǒng)中TCP性能的方法主要采取加速代理(PEP,Performe Enhancment Proxy)的方式,該方式分為單端和雙端兩種。其中,雙端PEP包括分別放置在衛(wèi)星網(wǎng)絡(luò)兩端的兩個(gè)網(wǎng)關(guān),如圖1所示,所有的TCP連接分割成三段:服務(wù)器和主站端PEP(設(shè)置在與服務(wù)器連接的網(wǎng)關(guān)中)連接,主站端PEP和小站端PEP (設(shè)置在與客戶機(jī)連接的網(wǎng)關(guān)中)連接,小站端PEP和客戶機(jī)連接。雙端PEP方案不對(duì)通信雙方的協(xié)議棧和應(yīng)用程序做改動(dòng),但是,為了適合于衛(wèi)星鏈路的特點(diǎn),兩個(gè)網(wǎng)關(guān)之間采用不同于TCP的其他協(xié)議進(jìn)行數(shù)據(jù)傳輸,此時(shí)如何實(shí)現(xiàn)客戶機(jī)和服務(wù)器之間的TCP傳輸,是急待解決的技術(shù)問題。

【發(fā)明內(nèi)容】

[0004]有鑒于此,本發(fā)明提供了一種衛(wèi)星網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)TCP傳輸?shù)姆椒?,?yīng)用于雙端加速代理PEP中與客戶機(jī)連接的網(wǎng)關(guān),所述方法包括以下連接建立的處理:
[0005]截取客戶機(jī)發(fā)送給服務(wù)器的TCP連接請(qǐng)求,從中提取第一連接信息并向所述客戶機(jī)發(fā)送偽應(yīng)答,與所述客戶機(jī)建立第一 TCP連接;
[0006]以所述第一連接信息為數(shù)據(jù)部分并封裝轉(zhuǎn)換消息TMSG頭,生成請(qǐng)求建立連接的報(bào)文并通過衛(wèi)星鏈路發(fā)送給與所述服務(wù)器連接的對(duì)端網(wǎng)關(guān),所述TMSG頭攜帶用于標(biāo)識(shí)所述第一 TCP連接的第一 TCP連接標(biāo)識(shí);
[0007]接收到所述對(duì)端網(wǎng)關(guān)返回的連接建立成功的應(yīng)答報(bào)文后,記錄其中TMSG頭攜帶的第二 TCP連接標(biāo)識(shí)并與所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián),所述第二 TCP連接標(biāo)識(shí)為所述對(duì)端網(wǎng)關(guān)和所述服務(wù)器建立的TCP連接的標(biāo)識(shí)。
[0008]較佳地,
[0009]所述TMSG頭包括消息類型、連接標(biāo)識(shí)和消息長(zhǎng)度字段,其長(zhǎng)度小于TCP頭的長(zhǎng)度。
[0010]較佳地,
[0011]所述方法還包括以下數(shù)據(jù)傳輸?shù)奶幚?
[0012]截取所述客戶機(jī)通過第一 TCP連接發(fā)送給所述服務(wù)器的TCP數(shù)據(jù)報(bào)文并進(jìn)行應(yīng)答,從所述TCP數(shù)據(jù)報(bào)文中提取數(shù)據(jù)部分并封裝TMSG頭,生成的數(shù)據(jù)發(fā)送報(bào)文通過所述衛(wèi)星鏈路發(fā)送給所述對(duì)端網(wǎng)關(guān),所述TMSG頭攜帶與所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián)的所述第二TCP連接標(biāo)識(shí);及
[0013]從所述衛(wèi)星鏈路接收數(shù)據(jù)發(fā)送報(bào)文,如其中TMSG頭的連接標(biāo)識(shí)為所述第一 TCP連接標(biāo)識(shí),則從所述數(shù)據(jù)發(fā)送報(bào)文中提取數(shù)據(jù)部分并封裝相應(yīng)的TCP頭,生成的TCP數(shù)據(jù)報(bào)文通過所述第一 TCP連接發(fā)送給所述客戶機(jī)。
[0014]較佳地,
[0015]所述方法還包括以下連接斷開的處理:
[0016]檢測(cè)到所述第一 TCP連接的通信中斷;
[0017]通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)發(fā)送請(qǐng)求關(guān)閉連接的報(bào)文,其中的TMSG頭攜帶所述第二 TCP連接標(biāo)識(shí);
[0018]接收到所述對(duì)端網(wǎng)關(guān)返回的連接關(guān)閉成功的應(yīng)答報(bào)文后,斷開所述第一 TCP連接。
[0019]較佳地,
[0020]所述連接建立的處理還包括:將所述第一 TCP連接與所述衛(wèi)星鏈路關(guān)聯(lián);
[0021]所述方法還包括以下連接斷開的處理:檢測(cè)到所述衛(wèi)星鏈路斷開,將與所述衛(wèi)星鏈路關(guān)聯(lián)的所有TCP連接斷開。
[0022]有鑒于此,本發(fā)明還提供了一種應(yīng)用于雙端加速代理PEP中與客戶機(jī)連接的網(wǎng)關(guān),包括用戶側(cè)協(xié)議實(shí)體和衛(wèi)星側(cè)協(xié)議實(shí)體,其中:
[0023]所述用戶側(cè)協(xié)議實(shí)體包括底層的包過濾模塊和上層的Socket服務(wù)器;
[0024]所述包過濾模塊包括:
[0025]反向轉(zhuǎn)發(fā)單元,用于截取客戶機(jī)與服務(wù)器建立TCP連接時(shí)發(fā)送的連接請(qǐng)求報(bào)文和ACK報(bào)文,將報(bào)文中的目的IP地址和目的端口替換為所述Socket服務(wù)器的IP地址和端口后發(fā)送給所述Socket服務(wù)器;其中,截取所述連接請(qǐng)求報(bào)文時(shí),還記錄其中包括源IP地址、源端口、目的IP地址和目的端口的第一連接信息并發(fā)送給所述Socket服務(wù)器;
[0026]前向轉(zhuǎn)發(fā)單元,用于將所述Socket服務(wù)器發(fā)送給所述客戶機(jī)的ACK報(bào)文中的源IP地址和源端口替換為所述第一連接信息中的目的IP地址和目的端口后,發(fā)送給所述客戶機(jī);
[0027]所述Socket服務(wù)器包括:連接建立模塊,用于收到包過濾模塊發(fā)送的所述連接請(qǐng)求報(bào)文和第一連接信息后,向客戶機(jī)發(fā)送ACK報(bào)文;及在收到包過濾模塊發(fā)送的所述ACK報(bào)文后,建立與所述客戶機(jī)的第一 TCP連接并生成第一 TCP連接標(biāo)識(shí),通知所述衛(wèi)星側(cè)協(xié)議實(shí)體第一 TCP連接建立成功,攜帶所述第一連接信息;
[0028]所述衛(wèi)星側(cè)協(xié)議實(shí)體包括:連接建立模塊,用于收到所述Socket服務(wù)器的第一TCP連接建立成功的通知后,以所述第一連接信息為數(shù)據(jù)部分并封裝轉(zhuǎn)換消息TMSG頭,生成請(qǐng)求建立連接的報(bào)文并通過衛(wèi)星鏈路發(fā)送給對(duì)端網(wǎng)關(guān),所述TMSG頭攜帶所述第一 TCP連接標(biāo)識(shí);及用于收到所述對(duì)端網(wǎng)關(guān)通過所述衛(wèi)星鏈路返回的連接建立成功的應(yīng)答報(bào)文后,記錄其中TMSG頭攜帶的第二 TCP連接標(biāo)識(shí)并與所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián),所述第二 TCP連接標(biāo)識(shí)為所述對(duì)端網(wǎng)關(guān)和所述服務(wù)器建立的TCP連接的標(biāo)識(shí)。
[0029]較佳地,
[0030]所述衛(wèi)星側(cè)協(xié)議實(shí)體的連接建立模塊封裝的所述TMSG頭包括消息類型、連接標(biāo)識(shí)和消息長(zhǎng)度字段,其長(zhǎng)度小于TCP頭的長(zhǎng)度。
[0031]較佳地,
[0032]所述包過濾模塊中的反向轉(zhuǎn)發(fā)單元還用于截取經(jīng)過的TCP數(shù)據(jù)報(bào)文,如其中的連接信息與所述第一連接信息匹配,則所述TCP數(shù)據(jù)報(bào)文來(lái)自第一 TCP連接,將所述TCP數(shù)據(jù)報(bào)文中的目的IP地址和目的端口替換為所述Socket服務(wù)器的IP地址和端口,發(fā)送給所述Socket服務(wù)器;
[0033]所述Socket服務(wù)器還包括:報(bào)文處理模塊,用于接收來(lái)自第一 TCP連接的所述TCP數(shù)據(jù)報(bào)文并發(fā)送TCP應(yīng)答報(bào)文;
[0034]所述包過濾模塊中的前向轉(zhuǎn)發(fā)單元還用于將所述Socket服務(wù)器發(fā)送給所述客戶機(jī)的TCP應(yīng)答報(bào)文中的源IP地址和源端口替換為所述第一連接信息中的目的IP地址和目的端口后,發(fā)送給所述客戶機(jī);
[0035]所述衛(wèi)星側(cè)協(xié)議實(shí)體還包括:報(bào)文收發(fā)模塊,用于在來(lái)自第一 TCP連接的所述TCP數(shù)據(jù)報(bào)文的數(shù)據(jù)部分前封裝TMSG頭,生成的數(shù)據(jù)發(fā)送報(bào)文通過所述衛(wèi)星鏈路發(fā)送給所述對(duì)端網(wǎng)關(guān),所述TMSG頭攜帶與所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián)的所述第二 TCP連接標(biāo)識(shí)。
[0036]較佳地,
[0037]所述衛(wèi)星側(cè)協(xié)議實(shí)體的報(bào)文收發(fā)模塊還用于從所述衛(wèi)星鏈路接收發(fā)送給所述客戶機(jī)的數(shù)據(jù)發(fā)送報(bào)文;
[0038]所述Socket服務(wù)器中的報(bào)文處理模塊還用于識(shí)別所述衛(wèi)星側(cè)協(xié)議實(shí)體接收的數(shù)據(jù)發(fā)送報(bào)文,如其中TMSG頭的連接標(biāo)識(shí)為所述第一 TCP連接標(biāo)識(shí),則從所述數(shù)據(jù)發(fā)送報(bào)文中提取數(shù)據(jù)部分并封裝相應(yīng)的TCP頭,生成的TCP數(shù)據(jù)報(bào)文并通過所述第一 TCP連接發(fā)送給所述客戶機(jī);
[0039]所述包過濾模塊中的前向轉(zhuǎn)發(fā)單元還用于將所述Socket服務(wù)器發(fā)送給所述客戶機(jī)的TCP數(shù)據(jù)報(bào)文中的源IP地址和源端口替換為所述第一連接信息中的目的IP地址和目的端口后,發(fā)送給所述客戶機(jī)。
[0040]較佳地,
[0041]所述Socket服務(wù)器還包括:連接維護(hù)模塊,用于檢測(cè)到所述第一 TCP連接通信中斷時(shí),通知所述衛(wèi)星側(cè)協(xié)議實(shí)體第一 TCP連接中斷;及收到所述衛(wèi)星側(cè)協(xié)議實(shí)體的連接關(guān)閉成功的通知后,斷開所述第一 TCP連接;
[0042]所述衛(wèi)星側(cè)協(xié)議實(shí)體還包括:連接維護(hù)模塊,用于收到所述Socket服務(wù)器的第一TCP連接中斷的通知后,通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)發(fā)送請(qǐng)求關(guān)閉連接的報(bào)文,其中的TMSG頭攜帶所述第二TCP連接標(biāo)識(shí);及用于在接收到所述對(duì)端網(wǎng)關(guān)返回的連接關(guān)閉成功的應(yīng)答報(bào)文后,通知所述Socket服務(wù)器連接關(guān)閉成功。
[0043]較佳地,
[0044]所述衛(wèi)星側(cè)協(xié)議實(shí)體的連接維護(hù)模塊還用于在檢測(cè)到所述衛(wèi)星鏈路斷開時(shí),向所述Socket服務(wù)器發(fā)送所述衛(wèi)星鏈路斷開的通知;
[0045]所述Socket服務(wù)器的連接維護(hù)模塊還用于將所述第一 TCP連接與所述衛(wèi)星鏈路關(guān)聯(lián);收到所述衛(wèi)星鏈路斷開的通知后,將與所述衛(wèi)星鏈路關(guān)聯(lián)的所有TCP連接斷開。
[0046]有鑒于此,本發(fā)明還提供一種衛(wèi)星網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)TCP傳輸?shù)姆椒?,?yīng)用于雙端加速代理PEP中與服務(wù)器連接的網(wǎng)關(guān),所述方法包括以下連接建立的處理:
[0047]接收到與客戶機(jī)連接的對(duì)端網(wǎng)關(guān)經(jīng)衛(wèi)星鏈路發(fā)送的連接建立請(qǐng)求的報(bào)文后,記錄其中轉(zhuǎn)換消息TMSG頭攜帶的第一 TCP連接標(biāo)識(shí)及數(shù)據(jù)部分?jǐn)y帶所述客戶機(jī)與所述對(duì)端網(wǎng)關(guān)建立的第一 TCP連接的第一連接信息,所述第一 TCP連接標(biāo)識(shí)用于標(biāo)識(shí)所述第一 TCP連接;
[0048]與所述服務(wù)器建立第二 TCP連接,連接建立完成后,通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)返回連接建立成功的應(yīng)答報(bào)文,其中的TMSG頭攜帶用于標(biāo)識(shí)所述第二 TCP連接的第二TCP連接標(biāo)識(shí);將所述第二 TCP連接標(biāo)識(shí)和所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián)。
[0049]較佳地,
[0050]所述TMSG頭包括消息類型、連接標(biāo)識(shí)和消息長(zhǎng)度字段,其長(zhǎng)度小于TCP頭的長(zhǎng)度。
[0051]較佳地,
[0052]所述方法還包括以下數(shù)據(jù)傳輸?shù)奶幚?
[0053]接收到所述服務(wù)器通過所述第二 TCP連接發(fā)送給所述客戶機(jī)的TCP數(shù)據(jù)報(bào)文后進(jìn)行應(yīng)答,從所述TCP數(shù)據(jù)報(bào)文中提取數(shù)據(jù)部分并封裝TMSG頭,生成數(shù)據(jù)發(fā)送報(bào)文并通過所述衛(wèi)星鏈路發(fā)送給所述對(duì)端網(wǎng)關(guān),所述TMSG頭攜帶與所述第二 TCP連接標(biāo)識(shí)關(guān)聯(lián)的所述第一TCP連接標(biāo)識(shí);及
[0054]從所述衛(wèi)星鏈路接收到發(fā)送給所述服務(wù)器的數(shù)據(jù)發(fā)送報(bào)文,如其中TMSG頭攜帶的連接標(biāo)識(shí)為所述第二 TCP連接標(biāo)識(shí),從所述數(shù)據(jù)發(fā)送報(bào)文中提取數(shù)據(jù)部分并封裝相應(yīng)的TCP頭,生成的TCP數(shù)據(jù)報(bào)文通過所述第二 TCP連接發(fā)送給所述服務(wù)器。
[0055]較佳地,
[0056]所述方法還包括以下連接斷開的處理:
[0057]檢測(cè)到所述第二 TCP連接的通信中斷;
[0058]通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)發(fā)送請(qǐng)求關(guān)閉連接的報(bào)文,其中的TMSG頭攜帶所述第一 TCP連接標(biāo)識(shí);
[0059]接收到所述對(duì)端網(wǎng)關(guān)經(jīng)所述衛(wèi)星鏈路返回的連接關(guān)閉成功的應(yīng)答報(bào)文后,斷開所述第二 TCP連接。
[0060]較佳地,
[0061]所述連接建立的處理還包括:將所述第二 TCP連接與所述衛(wèi)星鏈路相關(guān)聯(lián);
[0062]所述方法還包括以下連接斷開的處理:檢測(cè)到所述衛(wèi)星鏈路斷開后,將所述衛(wèi)星鏈路關(guān)聯(lián)的所有TCP連接斷開。
[0063]有鑒于此,本發(fā)明還提供了一種應(yīng)用于雙端加速代理PEP中與服務(wù)器連接的網(wǎng)關(guān),包括服務(wù)器側(cè)協(xié)議實(shí)體和衛(wèi)星側(cè)協(xié)議實(shí)體,其中:
[0064]所述衛(wèi)星側(cè)協(xié)議實(shí)體包括:連接建立模塊,用于接收到與客戶機(jī)連接的對(duì)端網(wǎng)關(guān)經(jīng)衛(wèi)星鏈路發(fā)送的連接建立請(qǐng)求的報(bào)文后,記錄其中轉(zhuǎn)換消息TMSG頭攜帶的第一 TCP連接標(biāo)識(shí)及數(shù)據(jù)部分?jǐn)y帶的第一連接信息,并通知所述服務(wù)器側(cè)協(xié)議實(shí)體建立與服務(wù)器的第二TCP連接;所述第一連接信息為所述對(duì)端網(wǎng)關(guān)與所述客戶機(jī)建立的第一 TCP連接的連接信息,所述第一 TCP連接標(biāo)識(shí)用于標(biāo)識(shí)所述第一 TCP連接;
[0065]所述服務(wù)器側(cè)協(xié)議實(shí)體包括:連接建立模塊,用于收到所述建立TCP連接的通知后,與所述服務(wù)器建立所述第二 TCP連接,生成用于標(biāo)識(shí)所述第二 TCP連接的第二 TCP連接標(biāo)識(shí),通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)返回連接建立成功的應(yīng)答報(bào)文,攜帶所述第二 TCP連接標(biāo)識(shí),并通知所述衛(wèi)星側(cè)協(xié)議實(shí)體第二 TCP連接建立成功,攜帶所述第二 TCP連接標(biāo)識(shí);
[0066]所述衛(wèi)星側(cè)協(xié)議實(shí)體的連接建立模塊還用于收到服務(wù)器側(cè)協(xié)議實(shí)體所述第二 TCP連接建立成功的通知后,通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)返回連接建立成功的應(yīng)答報(bào)文,其中的TMSG頭攜帶所述第二 TCP連接標(biāo)識(shí);將所述第二 TCP連接標(biāo)識(shí)和所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián)。
[0067]較佳地,
[0068]所述服務(wù)器側(cè)協(xié)議實(shí)體還包括:報(bào)文收發(fā)模塊,用于接收所述服務(wù)器通過所述第二TCP連接發(fā)送給所述客戶機(jī)的TCP數(shù)據(jù)報(bào)文并進(jìn)行應(yīng)答;
[0069]所述衛(wèi)星側(cè)協(xié)議實(shí)體還包括:報(bào)文收發(fā)模塊,用于從所述服務(wù)器側(cè)協(xié)議實(shí)體接收的所述TCP數(shù)據(jù)報(bào)文中提取數(shù)據(jù)部分并封裝TMSG頭,生成的數(shù)據(jù)發(fā)送報(bào)文通過所述衛(wèi)星鏈路發(fā)送給所述對(duì)端網(wǎng)關(guān),其中的TMSG頭攜帶與所述第二 TCP連接標(biāo)識(shí)關(guān)聯(lián)的所述第一 TCP連接標(biāo)識(shí)。
[0070]較佳地,
[0071]所述衛(wèi)星側(cè)協(xié)議實(shí)體的報(bào)文收發(fā)模塊還用于從所述衛(wèi)星鏈路接收發(fā)送給所述服務(wù)器的數(shù)據(jù)發(fā)送報(bào)文;
[0072]所述服務(wù)器側(cè)協(xié)議實(shí)體的報(bào)文收發(fā)模塊還用于識(shí)別所述衛(wèi)星側(cè)協(xié)議實(shí)體接收的數(shù)據(jù)發(fā)送報(bào)文,如其中的TMSG頭攜帶的連接標(biāo)識(shí)為所述第二 TCP連接標(biāo)識(shí),則從所述數(shù)據(jù)發(fā)送報(bào)文中提取數(shù)據(jù)部分并封裝相應(yīng)的TCP頭,生成的TCP數(shù)據(jù)報(bào)文通過所述第二 TCP連接發(fā)送給所述服務(wù)器。
[0073]較佳地,
[0074]所述衛(wèi)星側(cè)協(xié)議實(shí)體的報(bào)文收發(fā)模塊封裝的所述TMSG頭包括消息類型、連接標(biāo)識(shí)和消息長(zhǎng)度字段,其長(zhǎng)度小于TCP頭的長(zhǎng)度。
[0075]較佳地,
[0076]所述服務(wù)器側(cè)協(xié)議實(shí)體還包括:連接維護(hù)模塊,用于檢測(cè)到所述第二 TCP連接的通信中斷時(shí),通知所述衛(wèi)星側(cè)協(xié)議實(shí)體第二 TCP連接中斷;及收到所述衛(wèi)星側(cè)協(xié)議實(shí)體的連接關(guān)閉成功的通知后,斷開所述第二 TCP連接;
[0077]所述衛(wèi)星側(cè)協(xié)議實(shí)體還包括:連接維護(hù)模塊,用于收到第二 TCP連接中斷的通知后,通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)發(fā)送請(qǐng)求關(guān)閉連接的報(bào)文,其中的TMSG頭攜帶所述第一 TCP連接標(biāo)識(shí);及收到所述對(duì)端網(wǎng)關(guān)返回的連接關(guān)閉成功的應(yīng)答報(bào)文后,通知所述服務(wù)器側(cè)協(xié)議實(shí)體連接關(guān)閉成功。
[0078]較佳地,
[0079]所述衛(wèi)星側(cè)協(xié)議實(shí)體的連接維護(hù)模塊還用于在檢測(cè)到所述衛(wèi)星鏈路斷開時(shí),向所述服務(wù)器側(cè)協(xié)議實(shí)體發(fā)送所述衛(wèi)星鏈路斷開的通知;
[0080]所述服務(wù)器側(cè)協(xié)議實(shí)體的連接維護(hù)模塊還用于將所述第二 TCP連接與所述衛(wèi)星鏈路關(guān)聯(lián);在收到所述衛(wèi)星鏈路斷開的通知后,將與所述衛(wèi)星鏈路關(guān)聯(lián)的所有TCP連接斷開。
[0081]上述方案在雙端PEP場(chǎng)景下,兩個(gè)網(wǎng)關(guān)分別針對(duì)服務(wù)器和客戶機(jī)使用TCP欺騙,在無(wú)需對(duì)服務(wù)器和客戶機(jī)的協(xié)議棧進(jìn)行改動(dòng)的情況下,實(shí)現(xiàn)了客戶機(jī)和服務(wù)器之間TCP傳輸?shù)南嚓P(guān)處理,還可以通過將TCP頭置換為更為簡(jiǎn)單的TMSG頭,減少了對(duì)帶寬的占用。
【附圖說明】
[0082]此處所說明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0083]圖1是根據(jù)本發(fā)明典型的衛(wèi)星通訊應(yīng)用場(chǎng)景的示意圖;
[0084]圖2是本發(fā)明實(shí)施例一方法的連接建立的流程圖;
[0085]圖3是本發(fā)明實(shí)施例一 TMSG頭結(jié)構(gòu)的示意圖;
[0086]圖4是本發(fā)明實(shí)施例一方法的數(shù)據(jù)傳輸?shù)牧鞒虉D;
[0087]圖5是本發(fā)明實(shí)施例一方法的連接斷開處理的流程圖;
[0088]圖6是本發(fā)明實(shí)施例一與客戶機(jī)連接的網(wǎng)關(guān)的模塊圖;
[0089]圖7是本發(fā)明實(shí)施例二方法的連接建立的流程圖;
[0090]圖8是本發(fā)明實(shí)施例二方法的數(shù)據(jù)傳輸?shù)牧鞒虉D;
[0091]圖9是本發(fā)明實(shí)施例二方法的連接斷開處理的流程圖;
[0092]圖10是本發(fā)明實(shí)施例二與服務(wù)器連接的網(wǎng)關(guān)的模塊圖;
[0093]圖11是本發(fā)明應(yīng)用不例各網(wǎng)兀的協(xié)議找的不意圖。
【具體實(shí)施方式】
[0094]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
[0095]實(shí)施例一
[0096]本實(shí)施例涉及衛(wèi)星網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)TCP傳輸?shù)姆椒?,?yīng)用于雙端加速代理PEP中與客戶機(jī)連接的網(wǎng)關(guān)。
[0097]如圖2所示,所述方法包括以下連接建立的處理:
[0098]步驟110,截取客戶機(jī)發(fā)送給服務(wù)器的TCP連接請(qǐng)求,從中提取第一連接信息并向所述客戶機(jī)發(fā)送偽應(yīng)答,與所述客戶機(jī)建立第一 TCP連接;
[0099]步驟120,以所述第一連接信息為數(shù)據(jù)部分并封裝轉(zhuǎn)換消息TMSG頭,生成請(qǐng)求建立連接的報(bào)文并通過衛(wèi)星鏈路發(fā)送給與所述服務(wù)器連接的對(duì)端網(wǎng)關(guān),所述TMSG頭攜帶第一TCP連接標(biāo)識(shí);
[0100]上述第一 TCP連接標(biāo)識(shí)用于標(biāo)識(shí)所述第一 TCP連接。
[0101]如圖3所示,本實(shí)施例的TMSG頭包括消息類型、連接標(biāo)識(shí)和消息長(zhǎng)度字段,其長(zhǎng)度小于TCP頭的長(zhǎng)度。其中:
[0102]消息類型,包括請(qǐng)求建立連接消息,連接建立成功應(yīng)答消息,請(qǐng)求關(guān)閉連接消息,關(guān)閉連接成功應(yīng)答消息,關(guān)閉所有連接消息,數(shù)據(jù)發(fā)送報(bào)文等類型的消息,但本發(fā)明對(duì)消息名稱并不限制。
[0103]連接標(biāo)識(shí),包括用于標(biāo)識(shí)客戶機(jī)與網(wǎng)關(guān)之間的第一 TCP連接的第一 TCP連接標(biāo)識(shí),及用于標(biāo)識(shí)網(wǎng)關(guān)與服務(wù)器之間的第二 TCP連接的第二 TCP連接標(biāo)識(shí)。
[0104]消息長(zhǎng)度-報(bào)文長(zhǎng)度,即包含TMSG在內(nèi)的消息長(zhǎng)度。
[0105]步驟130,接收到對(duì)端網(wǎng)關(guān)返回的連接建立成功的應(yīng)答報(bào)文后,記錄其中TMSG頭攜帶的第二 TCP連接標(biāo)識(shí)并與所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián)。
[0106]所述第二 TCP連接標(biāo)識(shí)為所述對(duì)端網(wǎng)關(guān)和所述服務(wù)器建立的TCP連接的標(biāo)識(shí)。
[0107]如圖4所示,本實(shí)施例方法還包括與客戶機(jī)連接的網(wǎng)關(guān)傳輸數(shù)據(jù)的以下處理:
[0108]步驟210,截取所述客戶機(jī)通過第一 TCP連接發(fā)送給所述服務(wù)器的TCP數(shù)據(jù)報(bào)文并進(jìn)行應(yīng)答,從所述TCP數(shù)據(jù)報(bào)文中提取數(shù)據(jù)部分并封裝TMSG頭,生成的數(shù)據(jù)發(fā)送報(bào)文通過所述衛(wèi)星鏈路發(fā)送給對(duì)端網(wǎng)關(guān),所述TMSG頭攜帶與所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián)的所述第二TCP連接標(biāo)識(shí);
[0109]步驟220,從所述衛(wèi)星鏈路接收數(shù)據(jù)發(fā)送報(bào)文,如其中TMSG頭的連接標(biāo)識(shí)為所述第一 TCP連接標(biāo)識(shí),則從所述數(shù)據(jù)發(fā)送報(bào)文中提取數(shù)據(jù)部分并封裝相應(yīng)的TCP頭,生成的TCP數(shù)據(jù)報(bào)文通過所述第一 TCP連接發(fā)送給所述客戶機(jī)。
[0110]如圖5所示,本實(shí)施例方法還包括與客戶機(jī)連接的網(wǎng)關(guān)斷開連接的以下處理:
[0111]步驟310,檢測(cè)到所述第一 TCP連接的通信中斷;
[0112]步驟320,通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)發(fā)送請(qǐng)求關(guān)閉連接的報(bào)文,其中的TMSG頭攜帶所述第二 TCP連接標(biāo)識(shí);
[0113]步驟330,接收到所述對(duì)端網(wǎng)關(guān)返回的連接關(guān)閉成功的應(yīng)答報(bào)文后,斷開所述第一TCP連接。
[0114]如果檢測(cè)到所述衛(wèi)星鏈路斷開,則與客戶機(jī)連接的網(wǎng)關(guān)將與所述衛(wèi)星鏈路關(guān)聯(lián)的所有TCP連接斷開。當(dāng)然在此之前,需要在建立第一 TCP連接后將所述第一 TCP連接與所述衛(wèi)星鏈路關(guān)聯(lián)。
[0115]相應(yīng)地,本實(shí)施例還提供了一種應(yīng)用于雙端加速代理PEP中與客戶機(jī)連接的網(wǎng)關(guān),如圖6所示,包括用戶側(cè)協(xié)議實(shí)體10和衛(wèi)星側(cè)協(xié)議實(shí)體20,其中:
[0116]所述用戶側(cè)協(xié)議實(shí)體10包括底層(指物理層)的包過濾模塊101和上層(TCP協(xié)議層)的Socket月艮務(wù)器103 ;
[0117]所述包過濾模塊101包括:
[0118]反向轉(zhuǎn)發(fā)單元1011,用于截取客戶機(jī)與服務(wù)器建立TCP連接時(shí)發(fā)送的連接請(qǐng)求報(bào)文和ACK報(bào)文,將報(bào)文中的目的IP地址和目的端口替換為所述Socket服務(wù)器的IP地址和端口后發(fā)送給所述Socket服務(wù)器;其中,截取所述連接請(qǐng)求報(bào)文時(shí),還記錄其中包括源IP地址、源端口、目的IP地址和目的端口的第一連接信息并發(fā)送給所述Socket服務(wù)器;
[0119]前向轉(zhuǎn)發(fā)單元1013,用于將所述Socket服務(wù)器發(fā)送給所述客戶機(jī)的ACK報(bào)文中的源IP地址和源端口替換為所述第一連接信息中的目的IP地址和目的端口后,發(fā)送給所述客戶機(jī);
[0120]所述Socket服務(wù)器103包括:
[0121]連接建立模塊1031,用于收到包過濾模塊發(fā)送的所述連接請(qǐng)求報(bào)文和第一連接信息后,向客戶機(jī)發(fā)送ACK報(bào)文;及在收到包過濾模塊發(fā)送的所述ACK報(bào)文后,建立與所述客戶機(jī)的第一 TCP連接并生成第一 TCP連接標(biāo)識(shí),通知所述衛(wèi)星側(cè)協(xié)議實(shí)體第一 TCP連接建立成功,攜帶所述第一連接信息;
[0122]所述衛(wèi)星側(cè)協(xié)議實(shí)體20包括:
[0123]連接建立模塊201,用于收到所述Socket服務(wù)器的第一 TCP連接建立成功的通知后,以所述第一連接信息為數(shù)據(jù)部分并封裝轉(zhuǎn)換消息TMSG頭,生成請(qǐng)求建立連接的報(bào)文并通過衛(wèi)星鏈路發(fā)送給對(duì)端網(wǎng)關(guān),所述TMSG頭攜帶所述第一 TCP連接標(biāo)識(shí);及用于收到所述對(duì)端網(wǎng)關(guān)通過所述衛(wèi)星鏈路返回的連接建立成功的應(yīng)答報(bào)文后,記錄其中TMSG頭攜帶的第二 TCP連接標(biāo)識(shí)并與所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián),所述第二 TCP連接標(biāo)識(shí)為所述對(duì)端網(wǎng)關(guān)和所述服務(wù)器建立的TCP連接的標(biāo)識(shí)。較佳地,所述TMSG頭包括消息類型、連接標(biāo)識(shí)和消息長(zhǎng)度字段,其長(zhǎng)度小于TCP頭的長(zhǎng)度。
[0124]較佳地,
[0125]所述包過濾模塊101中的反向轉(zhuǎn)發(fā)單元1011還用于截取經(jīng)過的TCP數(shù)據(jù)報(bào)文,如其中的連接信息與所述第一連接信息匹配,則所述TCP數(shù)據(jù)報(bào)文來(lái)自第一 TCP連接,將所述TCP數(shù)據(jù)報(bào)文中的目的IP地址和目的端口替換為所述Socket服務(wù)器的IP地址和端口,發(fā)送給所述Socket服務(wù)器;
[0126]所述Socket服務(wù)器103還包括:
[0127]報(bào)文處理模塊1033,用于接收來(lái)自第一 TCP連接的所述TCP數(shù)據(jù)報(bào)文并發(fā)送TCP應(yīng)答報(bào)文;
[0128]所述包過濾模塊101中的前向轉(zhuǎn)發(fā)單元1013還用于將所述Socket服務(wù)器發(fā)送給所述客戶機(jī)的TCP應(yīng)答報(bào)文中的源IP地址和源端口替換為所述第一連接信息中的目的IP地址和目的端口后,發(fā)送給所述客戶機(jī);
[0129]所述衛(wèi)星側(cè)協(xié)議實(shí)體20還包括:
[0130]報(bào)文收發(fā)模塊203,用于在來(lái)自第一 TCP連接的所述TCP數(shù)據(jù)報(bào)文的數(shù)據(jù)部分前封裝TMSG頭,生成的數(shù)據(jù)發(fā)送報(bào)文通過所述衛(wèi)星鏈路發(fā)送給所述對(duì)端網(wǎng)關(guān),所述TMSG頭攜帶與所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián)的所述第二 TCP連接標(biāo)識(shí)。
[0131]較佳地,
[0132]所述衛(wèi)星側(cè)協(xié)議實(shí)體20的報(bào)文收發(fā)模塊203還用于從所述衛(wèi)星鏈路接收發(fā)送給所述客戶機(jī)的數(shù)據(jù)發(fā)送報(bào)文;
[0133]所述Socket服務(wù)器103中的報(bào)文處理模塊1033還用于識(shí)別所述衛(wèi)星側(cè)協(xié)議實(shí)體20接收的數(shù)據(jù)發(fā)送報(bào)文,如其中TMSG頭的連接標(biāo)識(shí)為所述第一 TCP連接標(biāo)識(shí),則從所述數(shù)據(jù)發(fā)送報(bào)文中提取數(shù)據(jù)部分并封裝相應(yīng)的TCP頭,生成的TCP數(shù)據(jù)報(bào)文并通過所述第一 TCP連接發(fā)送給所述客戶機(jī);
[0134]所述包過濾模塊101中的前向轉(zhuǎn)發(fā)單元1013還用于將所述Socket服務(wù)器發(fā)送給所述客戶機(jī)的TCP數(shù)據(jù)報(bào)文中的源IP地址和源端口替換為所述第一連接信息中的目的IP地址和目的端口后,發(fā)送給所述客戶機(jī)。
[0135]較佳地,
[0136]所述Socket服務(wù)器103還包括:
[0137]連接維護(hù)模塊1035,用于檢測(cè)到所述第一 TCP連接通信中斷時(shí),通知所述衛(wèi)星側(cè)協(xié)議實(shí)體20第一 TCP連接中斷;及收到所述衛(wèi)星側(cè)協(xié)議實(shí)體20的連接關(guān)閉成功的通知后,斷開所述第一 TCP連接;
[0138]所述衛(wèi)星側(cè)協(xié)議實(shí)體20還包括:
[0139]連接維護(hù)模塊205,用于收到所述Socket服務(wù)器的第一 TCP連接中斷的通知后,通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)發(fā)送請(qǐng)求關(guān)閉連接的報(bào)文,其中的TMSG頭攜帶所述第二TCP連接標(biāo)識(shí);及用于在接收到所述對(duì)端網(wǎng)關(guān)返回的連接關(guān)閉成功的應(yīng)答報(bào)文后,通知所述Socket服務(wù)器連接關(guān)閉成功。
[0140]較佳地,
[0141]所述衛(wèi)星側(cè)協(xié)議實(shí)體20的連接維護(hù)模塊205還用于在檢測(cè)到所述衛(wèi)星鏈路斷開時(shí),向所述Socket服務(wù)器103發(fā)送所述衛(wèi)星鏈路斷開的通知;
[0142]所述Socket服務(wù)器103的連接維護(hù)模塊1035還用于將所述第一 TCP連接與所述衛(wèi)星鏈路關(guān)聯(lián);收到所述衛(wèi)星鏈路斷開的通知后,將與所述衛(wèi)星鏈路關(guān)聯(lián)的所有TCP連接斷開。
[0143]實(shí)施例二
[0144]本實(shí)施例涉及衛(wèi)星網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)TCP傳輸?shù)姆椒?,?yīng)用于雙端加速代理PEP中與服務(wù)器連接的網(wǎng)關(guān)。
[0145]如圖7所示,所述方法包括以下連接建立的處理:
[0146]步驟410,接收到與客戶機(jī)連接的對(duì)端網(wǎng)關(guān)經(jīng)衛(wèi)星鏈路發(fā)送的連接建立請(qǐng)求的報(bào)文后,記錄其中轉(zhuǎn)換消息TMSG頭攜帶的第一 TCP連接標(biāo)識(shí)及數(shù)據(jù)部分?jǐn)y帶所述客戶機(jī)與所述對(duì)端網(wǎng)關(guān)建立的第一 TCP連接的第一連接信息,所述第一 TCP連接標(biāo)識(shí)用于標(biāo)識(shí)所述第一TCP連接;
[0147]較佳地,所述TMSG頭包括消息類型、連接標(biāo)識(shí)和消息長(zhǎng)度字段,其長(zhǎng)度小于TCP頭的長(zhǎng)度。
[0148]步驟420,與所述服務(wù)器建立第二 TCP連接,連接建立完成后,通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)返回連接建立成功的應(yīng)答報(bào)文,其中的TMSG頭攜帶用于標(biāo)識(shí)所述第二 TCP連接的第二 TCP連接標(biāo)識(shí);將所述第二 TCP連接標(biāo)識(shí)和所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián)。
[0149]如圖8所示,所述方法還包括以下數(shù)據(jù)傳輸?shù)奶幚?
[0150]步驟510,接收到所述服務(wù)器通過所述第二 TCP連接發(fā)送給所述客戶機(jī)的TCP數(shù)據(jù)報(bào)文后進(jìn)行應(yīng)答,從所述TCP數(shù)據(jù)報(bào)文中提取數(shù)據(jù)部分并封裝TMSG頭,生成數(shù)據(jù)發(fā)送報(bào)文并通過所述衛(wèi)星鏈路發(fā)送給所述對(duì)端網(wǎng)關(guān),所述TMSG頭攜帶與所述第二 TCP連接標(biāo)識(shí)關(guān)聯(lián)的所述第一 TCP連接標(biāo)識(shí);
[0151]步驟520,從所述衛(wèi)星鏈路接收到發(fā)送給所述服務(wù)器的數(shù)據(jù)發(fā)送報(bào)文,如其中TMSG頭攜帶的連接標(biāo)識(shí)為所述第二 TCP連接標(biāo)識(shí),從所述數(shù)據(jù)發(fā)送報(bào)文中提取數(shù)據(jù)部分并封裝相應(yīng)的TCP頭,生成的TCP數(shù)據(jù)報(bào)文通過所述第二 TCP連接發(fā)送給所述服務(wù)器。
[0152]如圖9所示,所述方法還可包括以下連接斷開的處理:
[0153]步驟610,檢測(cè)到所述第二 TCP連接的通信中斷;
[0154]步驟620,通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)發(fā)送請(qǐng)求關(guān)閉連接的報(bào)文,其中的TMSG頭攜帶所述第一 TCP連接標(biāo)識(shí);
[0155]步驟630,接收到所述對(duì)端網(wǎng)關(guān)經(jīng)所述衛(wèi)星鏈路返回的連接關(guān)閉成功的應(yīng)答報(bào)文后,斷開所述第二 TCP連接。
[0156]如果檢測(cè)到所述衛(wèi)星鏈路斷開后,則與服務(wù)器連接的網(wǎng)關(guān)將所述衛(wèi)星鏈路關(guān)聯(lián)的所有TCP連接斷開。當(dāng)然,該網(wǎng)關(guān)需要在建立第二 TCP連接后,將所述第二 TCP連接與所述衛(wèi)星鏈路相關(guān)聯(lián)。
[0157]相應(yīng)地,本實(shí)施例還提供了一種應(yīng)用于雙端加速代理PEP中與服務(wù)器連接的網(wǎng)關(guān),如圖10所示,包括服務(wù)器側(cè)協(xié)議實(shí)體50和衛(wèi)星側(cè)協(xié)議實(shí)體60,其中:
[0158]所述衛(wèi)星側(cè)協(xié)議實(shí)體60包括:
[0159]連接建立模塊601,用于接收到與客戶機(jī)連接的對(duì)端網(wǎng)關(guān)經(jīng)衛(wèi)星鏈路發(fā)送的連接建立請(qǐng)求的報(bào)文后,記錄其中轉(zhuǎn)換消息TMSG頭攜帶的第一 TCP連接標(biāo)識(shí)及數(shù)據(jù)部分?jǐn)y帶的第一連接信息,并通知所述服務(wù)器側(cè)協(xié)議實(shí)體建立與服務(wù)器的第二 TCP連接;所述第一連接信息為所述對(duì)端網(wǎng)關(guān)與所述客戶機(jī)建立的第一 TCP連接的連接信息,所述第一 TCP連接標(biāo)識(shí)用于標(biāo)識(shí)所述第一 TCP連接;
[0160]所述服務(wù)器側(cè)協(xié)議實(shí)體50包括:
[0161]連接建立模塊501,用于收到所述建立TCP連接的通知后,與所述服務(wù)器建立所述第二 TCP連接,生成用于標(biāo)識(shí)所述第二 TCP連接的第二 TCP連接標(biāo)識(shí),通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)返回連接建立成功的應(yīng)答報(bào)文,攜帶所述第二 TCP連接標(biāo)識(shí),并通知所述衛(wèi)星側(cè)協(xié)議實(shí)體第二 TCP連接建立成功,攜帶所述第二 TCP連接標(biāo)識(shí);
[0162]所述衛(wèi)星側(cè)協(xié)議實(shí)體的連接建立模塊601還用于收到服務(wù)器側(cè)協(xié)議實(shí)體所述第二TCP連接建立成功的通知后,通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)返回連接建立成功的應(yīng)答報(bào)文,其中的TMSG頭攜帶所述第二 TCP連接標(biāo)識(shí);將所述第二 TCP連接標(biāo)識(shí)和所述第一TCP連接標(biāo)識(shí)關(guān)聯(lián)。
[0163]較佳地,
[0164]所述服務(wù)器側(cè)協(xié)議實(shí)體50還包括:
[0165]報(bào)文收發(fā)模塊503,用于接收所述服務(wù)器通過所述第二 TCP連接發(fā)送給所述客戶機(jī)的TCP數(shù)據(jù)報(bào)文并進(jìn)行應(yīng)答;
[0166]所述衛(wèi)星側(cè)協(xié)議實(shí)體60還包括:
[0167]報(bào)文收發(fā)模塊603,用于從所述服務(wù)器側(cè)協(xié)議實(shí)體接收的所述TCP數(shù)據(jù)報(bào)文中提取數(shù)據(jù)部分并封裝TMSG頭,生成的數(shù)據(jù)發(fā)送報(bào)文通過所述衛(wèi)星鏈路發(fā)送給所述對(duì)端網(wǎng)關(guān),其中的TMSG頭攜帶與所述第二 TCP連接標(biāo)識(shí)關(guān)聯(lián)的所述第一 TCP連接標(biāo)識(shí)。
[0168]較佳地,
[0169]所述衛(wèi)星側(cè)協(xié)議實(shí)體60的報(bào)文收發(fā)模塊603還用于從所述衛(wèi)星鏈路接收發(fā)送給所述服務(wù)器的數(shù)據(jù)發(fā)送報(bào)文;
[0170]所述服務(wù)器側(cè)協(xié)議實(shí)體50的報(bào)文收發(fā)模塊503還用于識(shí)別所述衛(wèi)星側(cè)協(xié)議實(shí)體接收的數(shù)據(jù)發(fā)送報(bào)文,如其中的TMSG頭攜帶的連接標(biāo)識(shí)為所述第二 TCP連接標(biāo)識(shí),則從所述數(shù)據(jù)發(fā)送報(bào)文中提取數(shù)據(jù)部分并封裝相應(yīng)的TCP頭,生成的TCP數(shù)據(jù)報(bào)文通過所述第二TCP連接發(fā)送給所述服務(wù)器。
[0171]較佳地,
[0172]所述衛(wèi)星側(cè)協(xié)議實(shí)體60的報(bào)文收發(fā)模塊603封裝的所述TMSG頭包括消息類型、連接標(biāo)識(shí)和消息長(zhǎng)度字段,其長(zhǎng)度小于TCP頭的長(zhǎng)度。
[0173]較佳地,
[0174]所述服務(wù)器側(cè)協(xié)議實(shí)體50還包括:
[0175]連接維護(hù)模塊505,用于檢測(cè)到所述第二 TCP連接的通信中斷時(shí),通知所述衛(wèi)星側(cè)協(xié)議實(shí)體第二 TCP連接中斷;及收到所述衛(wèi)星側(cè)協(xié)議實(shí)體的連接關(guān)閉成功的通知后,斷開所述第二 TCP連接;
[0176]所述衛(wèi)星側(cè)協(xié)議實(shí)體60還包括:
[0177]連接維護(hù)模塊605,用于收到第二 TCP連接中斷的通知后,通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)發(fā)送請(qǐng)求關(guān)閉連接的報(bào)文,其中的TMSG頭攜帶所述第一 TCP連接標(biāo)識(shí);及收到所述對(duì)端網(wǎng)關(guān)返回的連接關(guān)閉成功的應(yīng)答報(bào)文后,通知所述服務(wù)器側(cè)協(xié)議實(shí)體連接關(guān)閉成功。
[0178]較佳地,
[0179]所述衛(wèi)星側(cè)協(xié)議實(shí)體60的連接維護(hù)模塊605還用于在檢測(cè)到所述衛(wèi)星鏈路斷開時(shí),向所述服務(wù)器側(cè)協(xié)議實(shí)體發(fā)送所述衛(wèi)星鏈路斷開的通知;
[0180]所述服務(wù)器側(cè)協(xié)議實(shí)體50的連接維護(hù)模塊505還用于將所述第二 TCP連接與所述衛(wèi)星鏈路關(guān)聯(lián);在收到所述衛(wèi)星鏈路斷開的通知后,將與所述衛(wèi)星鏈路關(guān)聯(lián)的所有TCP連接斷開。
[0181]上述實(shí)施例在雙端PEP場(chǎng)景下,兩個(gè)網(wǎng)關(guān)分別針對(duì)服務(wù)器和客戶機(jī)使用TCP欺騙,在無(wú)需對(duì)服務(wù)器和客戶機(jī)的協(xié)議棧進(jìn)行改動(dòng)的情況下,實(shí)現(xiàn)了客戶機(jī)和服務(wù)器之間TCP傳輸?shù)南嚓P(guān)處理,還可以通過將TCP頭置換為更為簡(jiǎn)單的TMSG頭,對(duì)IP+TCP頭部進(jìn)行轉(zhuǎn)換和壓縮,減少了對(duì)帶寬的占用。
[0182]下面再以一個(gè)應(yīng)用示例,從整體上對(duì)本發(fā)明方法和網(wǎng)關(guān)做一個(gè)說明。
[0183]圖11示出了上述實(shí)施例涉及的客戶機(jī)、與客戶機(jī)連接的網(wǎng)關(guān)、與服務(wù)器連接的網(wǎng)關(guān)以及服務(wù)器上的協(xié)議棧的示意圖。
[0184]客戶機(jī)(Client)和服務(wù)器上的協(xié)議棧均包括TCP、IP和MAC,無(wú)需變化。
[0185]與客戶機(jī)連接的網(wǎng)關(guān)上,與客戶機(jī)連接的一側(cè)的協(xié)議棧包括:TCP、IP和MAC,物理層協(xié)議棧未示出。如上述實(shí)施例一中的說明,需要在物理層中設(shè)置包過濾模塊,與TCP層中的Socket服務(wù)器配合,實(shí)現(xiàn)對(duì)客戶機(jī)的TCP欺騙(即客戶機(jī)與該網(wǎng)關(guān)通信時(shí),會(huì)認(rèn)為對(duì)端就是服務(wù)器)。該網(wǎng)關(guān)與衛(wèi)星網(wǎng)絡(luò)連接一側(cè)的協(xié)議棧包括=TMSG和RMAC,TMSG協(xié)議用于對(duì)報(bào)文進(jìn)行TMSG頭的封裝和解封裝,RMAC協(xié)議可以使用各種基于衛(wèi)星鏈路的通信協(xié)議,如可以是某些針對(duì)衛(wèi)星鏈路改進(jìn)的TCP協(xié)議,或者專門針對(duì)衛(wèi)星網(wǎng)絡(luò)而設(shè)計(jì)的專有協(xié)議等,本發(fā)明不做局限。
[0186]與服務(wù)器連接的網(wǎng)關(guān)上,與衛(wèi)星網(wǎng)絡(luò)連接一側(cè)的協(xié)議棧包括:TMSG和RMAC,同樣,TMSG協(xié)議用于對(duì)報(bào)文進(jìn)行TMSG頭的封裝和解封裝,RMAC協(xié)議是基于衛(wèi)星鏈路的通信協(xié)議。
[0187]下面描述本示例的連接建立、數(shù)據(jù)傳輸以及連接關(guān)閉的處理步驟。其中:
[0188]建立過程包括:
[0189]I)客戶機(jī)向服務(wù)器發(fā)起TCP連接請(qǐng)求;
[0190]2)連接請(qǐng)求經(jīng)過GWl時(shí),Gffl截獲請(qǐng)求報(bào)文,記錄TCP連接信息;
[0191]3) Gffl對(duì)客戶機(jī)進(jìn)行TCP欺騙,發(fā)送偽應(yīng)答,同時(shí)向GW2發(fā)起建鏈請(qǐng)求;
[0192]4)GW2收到后,記錄相關(guān)信息,然后根據(jù)GWl發(fā)送的建鏈請(qǐng)求里面所帶的信息,由GW2與服務(wù)器建立TCP連接,TCP建立成功后向GWl回應(yīng)建鏈成功消息;
[0193]5)雙方建立連接成功。
[0194]一種示例性的更為具體的處理步驟,包括:
[0195]I)客戶向服務(wù)器發(fā)起TCP連接請(qǐng)求;
[0196]2)連接請(qǐng)求經(jīng)過GWl時(shí),GWl底層協(xié)議棧包過濾模塊截獲請(qǐng)求報(bào)文,記錄TCP連接信息,包括源IP,源端口,目的IP,目的端口 ;
[0197]3)Gffl上包過濾模塊將該請(qǐng)求報(bào)文的目的IP替換GWl的IP,目的端口替換為10086,送到GWl上層的Socket服務(wù)器,Socket服務(wù)器收到TCP請(qǐng)求消息,對(duì)該請(qǐng)求進(jìn)行應(yīng)答,應(yīng)答消息發(fā)送給客戶機(jī)的過程中,經(jīng)過GWl底層,包過濾模塊從記錄表里查找第二步中記錄的連接信息,如果能找到,則將該應(yīng)答消息的源IP和源端口替換為表中記錄?的服務(wù)器的IP和端口 ;
[0198]4)客戶機(jī)收到該應(yīng)答消息,認(rèn)為是真實(shí)服務(wù)器發(fā)送過來(lái)的,回應(yīng)TCP三次握手中的第三條報(bào)文,該報(bào)文經(jīng)過GWl時(shí)底層抓包模塊時(shí)同樣也被替換掉目的IP和目的端口,發(fā)往GWl的上層Socket服務(wù)器,至此客戶機(jī)與GWl之間的TCP連接建立完畢,Gffl上會(huì)生成一個(gè)該連接對(duì)應(yīng)的Socket ID,用作TMSG頭中的連接標(biāo)識(shí);
[0199]5)客戶機(jī)與GWl之間TCP Socket建立完成后,GWl向GW2發(fā)送連接請(qǐng)求,封裝TMSG頭,消息類型為請(qǐng)求建立連接,連接標(biāo)識(shí)填第四步中記錄的Socket ID(GfflSID),報(bào)文內(nèi)容為第二步中記錄的客戶機(jī)的源IP源端口,以及服務(wù)器的IP和端口 ;
[0200]6)GW2收到后請(qǐng)求,記錄報(bào)文中攜帶的源IP,源端口,目的IP,目的端口以及Socket ID,然后向服務(wù)器建立TCP連接,TCP三次握手建立成功后,生成一個(gè)本端的SocketID (GW2SID),向GWl回應(yīng)建鏈成功消息,封裝TMSG頭,消息類型為連接建立成功,連接標(biāo)識(shí)填寫為GW2SID,報(bào)文內(nèi)容為空;
[0201]7) Gffl收到連接建立成功的報(bào)文,記錄下GW2SID ;
[0202]8)雙方建立連接成功。
[0203]客戶機(jī)-> 服務(wù)器方向的數(shù)據(jù)傳輸過程包括:
[0204]I)客戶機(jī)發(fā)送數(shù)據(jù)到服務(wù)器上;
[0205]2) Gffl收到后,截獲數(shù)據(jù)報(bào)文,取出需要傳輸?shù)膬?nèi)容,封裝TMSG頭,通過RMAC協(xié)議發(fā)送到GW2上去,同時(shí)對(duì)客戶機(jī)進(jìn)行偽應(yīng)答;
[0206]3)GW2收到后,取出數(shù)據(jù)內(nèi)容,通過和服務(wù)器建好的TCP鏈路發(fā)送給服務(wù)器;
[0207]4)服務(wù)器收到數(shù)據(jù)后轉(zhuǎn)發(fā)到應(yīng)用層,做進(jìn)一步處理。
[0208]一種示例性的更為具體的處理步驟,包括:
[0209]I)客戶發(fā)送數(shù)據(jù)到服務(wù)器上;
[0210]2)Gffl收到該報(bào)文后,通過包過濾模塊收到客戶發(fā)送的TCP數(shù)據(jù)報(bào)文后,查表通過源IP,源端口,目的IP,目的端口來(lái)判斷是否存在連接請(qǐng)求記錄,不存在則丟棄。存在,則修改TCP數(shù)據(jù)報(bào)文的目的IP地址修改為GWl的IP地址,目的端口修改為10086,送至上層Socket服務(wù)器,GWl上層Socket服務(wù)器對(duì)該數(shù)據(jù)報(bào)文進(jìn)行應(yīng)答,至底層包過濾模塊,查表替換源IP源端口送至客戶機(jī),其處理步驟類似連接建立過程;
[0211]3) Gffl上層Socket服務(wù)器取出TCP報(bào)文數(shù)據(jù)內(nèi)容,封裝TMSG頭發(fā)送到GW2上,消息類型封裝為數(shù)據(jù)發(fā)送,標(biāo)識(shí)連接封裝為建立連接時(shí)記錄的GW2SID ;
[0212]3)GW2收到該報(bào)文后,從中取出數(shù)據(jù)內(nèi)容,根據(jù)TSMG頭中的GW2SID,查找對(duì)應(yīng)的TCP連接,將數(shù)據(jù)轉(zhuǎn)發(fā)到服務(wù)器上。
[0213]服務(wù)器-> 客戶機(jī)方向的數(shù)據(jù)傳輸過程包括:
[0214]I)服務(wù)器發(fā)送數(shù)據(jù)到客戶機(jī)上;
[0215]2)GW2收到后,取出數(shù)據(jù)內(nèi)容,封裝TMSG頭,通過RMAC協(xié)議發(fā)送到GWl上,由于服務(wù)器是與GW2建立的TCP連接,所以直接由GW2的協(xié)議棧直接給服務(wù)器回送應(yīng)答;
[0216]3) Gffl收到GW2發(fā)送的RMAC報(bào)文,取出數(shù)據(jù),轉(zhuǎn)換成TCP報(bào)文,同時(shí)將源IP和源端口換成服務(wù)器的源IP和源端口,發(fā)送給客戶;
[0217]4)客戶收到數(shù)據(jù),轉(zhuǎn)發(fā)到應(yīng)用層,做進(jìn)一步處理。
[0218]一種示例性的更為具體的處理步驟,包括:
[0219]I)服務(wù)器發(fā)送數(shù)據(jù)到客戶機(jī);
[0220]2) GW2收到服務(wù)器發(fā)送過來(lái)的數(shù)據(jù),取出數(shù)據(jù),封裝TMSG頭發(fā)送到GWl上,消息類型為數(shù)據(jù)發(fā)送,標(biāo)識(shí)連接為建立連接時(shí)記錄的GWlSID ;
[0221]3)Gffl收到該報(bào)文后,取出GW1SID,查找對(duì)應(yīng)的TCP連接,將報(bào)文發(fā)送至客戶機(jī);
[0222]4)底層包過濾模塊截獲該報(bào)文,后查找連接建立過程中記錄的表信息,替換源IP為服務(wù)器IP,源端口為服務(wù)器端口 ;
[0223]5)客戶收到數(shù)據(jù)后,送至上層應(yīng)用。
[0224]客戶機(jī)斷開連接的過程包括:
[0225]DGffl檢測(cè)到與客戶機(jī)之間的TCP連接的通信中斷,向GW2發(fā)送斷開連接請(qǐng)求;
[0226]2)GW2收到后關(guān)閉與服務(wù)器之間的TCP連接,同時(shí)清除記錄的該連接相關(guān)信息,完成后向GWl發(fā)送關(guān)閉成功消息;
[0227]3)Gffl收到消息,關(guān)閉與客戶之間對(duì)應(yīng)的TCP連接,同時(shí)清除相關(guān)信息。
[0228]一種示例性的更為具體的處理步驟,包括:
[0229]DGffl檢測(cè)到與客戶機(jī)的TCP連接的通信中斷:
[0230]2) Gffl向GW2發(fā)送關(guān)閉連接請(qǐng)求,封裝TMSG頭,消息類型為連接關(guān)閉,連接標(biāo)示符為GW2SID,報(bào)文內(nèi)容為空;
[0231]3)GW2收到該請(qǐng)求后,取出GW2SID,關(guān)閉與服務(wù)器之間的TCP連接,同時(shí)向GWl發(fā)送關(guān)閉成功消息,封裝TMSG頭,消息類型為連接關(guān)閉成功;
[0232]4)Gffl收到回應(yīng)消息,關(guān)閉與客戶機(jī)之間的TCP連接。
[0233]服務(wù)器斷開連接的過程包括:
[0234]I)Gff2檢測(cè)到與服務(wù)器之間的TCP連接的通信中斷,向GWl發(fā)送斷開連接請(qǐng)求;
[0235]2)Gffl收到請(qǐng)求后,關(guān)閉與客戶機(jī)之間的TCP連接,同時(shí)清除記錄的該連接相關(guān)信息,完成后向GW2發(fā)送關(guān)閉成功消息;
[0236]3)GW2收到消息,關(guān)閉與服務(wù)器之間的連接,同時(shí)清除相關(guān)信息。
[0237]一種示例性的更為具體的處理步驟,包括:
[0238]I) Gff2檢測(cè)到與服務(wù)器之間的TCP連接的通信中斷;
[0239]2) GW2向GWl發(fā)送關(guān)閉連接請(qǐng)求,封裝TMSG頭,消息類型為連接關(guān)閉,連接標(biāo)示符為GW1SID,報(bào)文內(nèi)容為空;
[0240]3)Gffl收到該請(qǐng)求后,取出GW1SID,關(guān)閉與客戶機(jī)之間的TCP連接,同時(shí)向GW2發(fā)送關(guān)閉成功消息,封裝TMSG頭,消息類型為連接關(guān)閉成功;
[0241]4)GW2收到回應(yīng)消息,斷開與服務(wù)器之間的TCP連接。
[0242]衛(wèi)星鏈路斷開后的處理包括:
[0243]I) Gffl底層RMAC協(xié)議檢測(cè)到衛(wèi)星鏈路斷開,關(guān)閉與客戶機(jī)之間所有與該衛(wèi)星鏈路關(guān)聯(lián)的TCP連接;
[0244]2)GW2底層RMAC協(xié)議檢測(cè)到衛(wèi)星鏈路斷開,關(guān)閉與服務(wù)器之間所有與該衛(wèi)星鏈路關(guān)聯(lián)的TCP連接。
[0245]本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來(lái)指令相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn),相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
[0246]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種衛(wèi)星網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)TCP傳輸?shù)姆椒?,?yīng)用于雙端加速代理PEP中與客戶機(jī)連接的網(wǎng)關(guān),所述方法包括以下連接建立的處理: 截取客戶機(jī)發(fā)送給服務(wù)器的TCP連接請(qǐng)求,從中提取第一連接信息并向所述客戶機(jī)發(fā)送偽應(yīng)答,與所述客戶機(jī)建立第一 TCP連接; 以所述第一連接信息為數(shù)據(jù)部分并封裝轉(zhuǎn)換消息TMSG頭,生成請(qǐng)求建立連接的報(bào)文并通過衛(wèi)星鏈路發(fā)送給與所述服務(wù)器連接的對(duì)端網(wǎng)關(guān),所述TMSG頭攜帶用于標(biāo)識(shí)所述第一TCP連接的第一 TCP連接標(biāo)識(shí); 接收到所述對(duì)端網(wǎng)關(guān)返回的連接建立成功的應(yīng)答報(bào)文后,記錄其中TMSG頭攜帶的第二TCP連接標(biāo)識(shí)并與所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián),所述第二 TCP連接標(biāo)識(shí)為所述對(duì)端網(wǎng)關(guān)和所述服務(wù)器建立的TCP連接的標(biāo)識(shí)。2.如權(quán)利要求1所述的方法,其特征在于: 所述TMSG頭包括消息類型、連接標(biāo)識(shí)和消息長(zhǎng)度字段,其長(zhǎng)度小于TCP頭的長(zhǎng)度。3.如權(quán)利要求1或2所述的方法,其特征在于: 所述方法還包括以下數(shù)據(jù)傳輸?shù)奶幚? 截取所述客戶機(jī)通過第一 TCP連接發(fā)送給所述服務(wù)器的TCP數(shù)據(jù)報(bào)文并進(jìn)行應(yīng)答,從所述TCP數(shù)據(jù)報(bào)文中提取數(shù)據(jù)部分并封裝TMSG頭,生成的數(shù)據(jù)發(fā)送報(bào)文通過所述衛(wèi)星鏈路發(fā)送給所述對(duì)端網(wǎng)關(guān),所述TMSG頭攜帶與所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián)的所述第二 TCP連接標(biāo)識(shí);及 從所述衛(wèi)星鏈路接收數(shù)據(jù)發(fā)送報(bào)文,如其中TMSG頭的連接標(biāo)識(shí)為所述第一 TCP連接標(biāo)識(shí),則從所述數(shù)據(jù)發(fā)送報(bào)文中提取數(shù)據(jù)部分并封裝相應(yīng)的TCP頭,生成的TCP數(shù)據(jù)報(bào)文通過所述第一 TCP連接發(fā)送給所述客戶機(jī)。4.如權(quán)利要求1或2所述的方法,其特征在于: 所述方法還包括以下連接斷開的處理: 檢測(cè)到所述第一 TCP連接的通信中斷; 通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)發(fā)送請(qǐng)求關(guān)閉連接的報(bào)文,其中的TMSG頭攜帶所述第二 TCP連接標(biāo)識(shí); 接收到所述對(duì)端網(wǎng)關(guān)返回的連接關(guān)閉成功的應(yīng)答報(bào)文后,斷開所述第一 TCP連接。5.如權(quán)利要求1或2所述的方法,其特征在于: 所述連接建立的處理還包括:將所述第一 TCP連接與所述衛(wèi)星鏈路關(guān)聯(lián); 所述方法還包括以下連接斷開的處理:檢測(cè)到所述衛(wèi)星鏈路斷開,將與所述衛(wèi)星鏈路關(guān)聯(lián)的所有TCP連接斷開。6.一種應(yīng)用于雙端加速代理PEP中與客戶機(jī)連接的網(wǎng)關(guān),其特征在于,包括用戶側(cè)協(xié)議實(shí)體和衛(wèi)星側(cè)協(xié)議實(shí)體,其中: 所述用戶側(cè)協(xié)議實(shí)體包括底層的包過濾模塊和上層的Socket服務(wù)器; 所述包過濾模塊包括: 反向轉(zhuǎn)發(fā)單元,用于截取客戶機(jī)與服務(wù)器建立TCP連接時(shí)發(fā)送的連接請(qǐng)求報(bào)文和ACK報(bào)文,將報(bào)文中的目的IP地址和目的端口替換為所述Socket服務(wù)器的IP地址和端口后發(fā)送給所述Socket服務(wù)器;其中,截取所述連接請(qǐng)求報(bào)文時(shí),還記錄其中包括源IP地址、源端口、目的IP地址和目的端口的第一連接信息并發(fā)送給所述Socket服務(wù)器; 前向轉(zhuǎn)發(fā)單元,用于將所述Socket服務(wù)器發(fā)送給所述客戶機(jī)的ACK報(bào)文中的源IP地址和源端口替換為所述第一連接信息中的目的IP地址和目的端口后,發(fā)送給所述客戶機(jī); 所述Socket服務(wù)器包括:連接建立模塊,用于收到包過濾模塊發(fā)送的所述連接請(qǐng)求報(bào)文和第一連接信息后,向客戶機(jī)發(fā)送ACK報(bào)文;及在收到包過濾模塊發(fā)送的所述ACK報(bào)文后,建立與所述客戶機(jī)的第一 TCP連接并生成第一 TCP連接標(biāo)識(shí),通知所述衛(wèi)星側(cè)協(xié)議實(shí)體第一 TCP連接建立成功,攜帶所述第一連接信息; 所述衛(wèi)星側(cè)協(xié)議實(shí)體包括:連接建立模塊,用于收到所述Socket服務(wù)器的第一 TCP連接建立成功的通知后,以所述第一連接信息為數(shù)據(jù)部分并封裝轉(zhuǎn)換消息TMSG頭,生成請(qǐng)求建立連接的報(bào)文并通過衛(wèi)星鏈路發(fā)送給對(duì)端網(wǎng)關(guān),所述TMSG頭攜帶所述第一 TCP連接標(biāo)識(shí);及用于收到所述對(duì)端網(wǎng)關(guān)通過所述衛(wèi)星鏈路返回的連接建立成功的應(yīng)答報(bào)文后,記錄其中TMSG頭攜帶的第二 TCP連接標(biāo)識(shí)并與所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián),所述第二 TCP連接標(biāo)識(shí)為所述對(duì)端網(wǎng)關(guān)和所述服務(wù)器建立的TCP連接的標(biāo)識(shí)。7.如權(quán)利要求6所述的網(wǎng)關(guān),其特征在于: 所述衛(wèi)星側(cè)協(xié)議實(shí)體的連接建立模塊封裝的所述TMSG頭包括消息類型、連接標(biāo)識(shí)和消息長(zhǎng)度字段,其長(zhǎng)度小于TCP頭的長(zhǎng)度。8.如權(quán)利要求6或7所述的網(wǎng)關(guān),其特征在于: 所述包過濾模塊中的反向轉(zhuǎn)發(fā)單元還用于截取經(jīng)過的TCP數(shù)據(jù)報(bào)文,如其中的連接信息與所述第一連接信息匹配,則所述TCP數(shù)據(jù)報(bào)文來(lái)自第一 TCP連接,將所述TCP數(shù)據(jù)報(bào)文中的目的IP地址和目的端口替換為所述Socket服務(wù)器的IP地址和端口,發(fā)送給所述Socket服務(wù)器; 所述Socket服務(wù)器還包括:報(bào)文處理模塊,用于接收來(lái)自第一 TCP連接的所述TCP數(shù)據(jù)報(bào)文并發(fā)送TCP應(yīng)答報(bào)文; 所述包過濾模塊中的前向轉(zhuǎn)發(fā)單元還用于將所述Socket服務(wù)器發(fā)送給所述客戶機(jī)的TCP應(yīng)答報(bào)文中的源IP地址和源端口替換為所述第一連接信息中的目的IP地址和目的端口后,發(fā)送給所述客戶機(jī); 所述衛(wèi)星側(cè)協(xié)議實(shí)體還包括:報(bào)文收發(fā)模塊,用于在來(lái)自第一 TCP連接的所述TCP數(shù)據(jù)報(bào)文的數(shù)據(jù)部分前封裝TMSG頭,生成的數(shù)據(jù)發(fā)送報(bào)文通過所述衛(wèi)星鏈路發(fā)送給所述對(duì)端網(wǎng)關(guān),所述TMSG頭攜帶與所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián)的所述第二 TCP連接標(biāo)識(shí)。9.如權(quán)利要求8所述的網(wǎng)關(guān),其特征在于: 所述衛(wèi)星側(cè)協(xié)議實(shí)體的報(bào)文收發(fā)模塊還用于從所述衛(wèi)星鏈路接收發(fā)送給所述客戶機(jī)的數(shù)據(jù)發(fā)送報(bào)文; 所述Socket服務(wù)器中的報(bào)文處理模塊還用于識(shí)別所述衛(wèi)星側(cè)協(xié)議實(shí)體接收的數(shù)據(jù)發(fā)送報(bào)文,如其中TMSG頭的連接標(biāo)識(shí)為所述第一 TCP連接標(biāo)識(shí),則從所述數(shù)據(jù)發(fā)送報(bào)文中提取數(shù)據(jù)部分并封裝相應(yīng)的TCP頭,生成的TCP數(shù)據(jù)報(bào)文并通過所述第一 TCP連接發(fā)送給所述客戶機(jī); 所述包過濾模塊中的前向轉(zhuǎn)發(fā)單元還用于將所述Socket服務(wù)器發(fā)送給所述客戶機(jī)的TCP數(shù)據(jù)報(bào)文中的源IP地址和源端口替換為所述第一連接信息中的目的IP地址和目的端口后,發(fā)送給所述客戶機(jī)。10.如權(quán)利要求6或7或9所述的網(wǎng)關(guān),其特征在于: 所述Socket服務(wù)器還包括:連接維護(hù)模塊,用于檢測(cè)到所述第一 TCP連接通信中斷時(shí),通知所述衛(wèi)星側(cè)協(xié)議實(shí)體第一 TCP連接中斷;及收到所述衛(wèi)星側(cè)協(xié)議實(shí)體的連接關(guān)閉成功的通知后,斷開所述第一 TCP連接; 所述衛(wèi)星側(cè)協(xié)議實(shí)體還包括:連接維護(hù)模塊,用于收到所述Socket服務(wù)器的第一 TCP連接中斷的通知后,通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)發(fā)送請(qǐng)求關(guān)閉連接的報(bào)文,其中的TMSG頭攜帶所述第二 TCP連接標(biāo)識(shí);及用于在接收到所述對(duì)端網(wǎng)關(guān)返回的連接關(guān)閉成功的應(yīng)答報(bào)文后,通知所述Socket服務(wù)器連接關(guān)閉成功。11.如權(quán)利要求10所述的網(wǎng)關(guān),其特征在于: 所述衛(wèi)星側(cè)協(xié)議實(shí)體的連接維護(hù)模塊還用于在檢測(cè)到所述衛(wèi)星鏈路斷開時(shí),向所述Socket服務(wù)器發(fā)送所述衛(wèi)星鏈路斷開的通知; 所述Socket服務(wù)器的連接維護(hù)模塊還用于將所述第一 TCP連接與所述衛(wèi)星鏈路關(guān)聯(lián);收到所述衛(wèi)星鏈路斷開的通知后,將與所述衛(wèi)星鏈路關(guān)聯(lián)的所有TCP連接斷開。12.一種衛(wèi)星網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)TCP傳輸?shù)姆椒?,?yīng)用于雙端加速代理PEP中與服務(wù)器連接的網(wǎng)關(guān),所述方法包括以下連接建立的處理: 接收到與客戶機(jī)連接的對(duì)端網(wǎng)關(guān)經(jīng)衛(wèi)星鏈路發(fā)送的連接建立請(qǐng)求的報(bào)文后,記錄其中轉(zhuǎn)換消息TMSG頭攜帶的第一 TCP連接標(biāo)識(shí)及數(shù)據(jù)部分?jǐn)y帶所述客戶機(jī)與所述對(duì)端網(wǎng)關(guān)建立的第一 TCP連接的第一連接信息,所述第一 TCP連接標(biāo)識(shí)用于標(biāo)識(shí)所述第一 TCP連接; 與所述服務(wù)器建立第二 TCP連接,連接建立完成后,通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)返回連接建立成功的應(yīng)答報(bào)文,其中的TMSG頭攜帶用于標(biāo)識(shí)所述第二 TCP連接的第二TCP連接標(biāo)識(shí);將所述第二 TCP連接標(biāo)識(shí)和所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián)。13.如權(quán)利要求12所述的方法,其特征在于: 所述TMSG頭包括消息類型、連接標(biāo)識(shí)和消息長(zhǎng)度字段,其長(zhǎng)度小于TCP頭的長(zhǎng)度。14.如權(quán)利要求11或12所述的方法,其特征在于: 所述方法還包括以下數(shù)據(jù)傳輸?shù)奶幚? 接收到所述服務(wù)器通過所述第二 TCP連接發(fā)送給所述客戶機(jī)的TCP數(shù)據(jù)報(bào)文后進(jìn)行應(yīng)答,從所述TCP數(shù)據(jù)報(bào)文中提取數(shù)據(jù)部分并封裝TMSG頭,生成數(shù)據(jù)發(fā)送報(bào)文并通過所述衛(wèi)星鏈路發(fā)送給所述對(duì)端網(wǎng)關(guān),所述TMSG頭攜帶與所述第二 TCP連接標(biāo)識(shí)關(guān)聯(lián)的所述第一TCP連接標(biāo)識(shí);及 從所述衛(wèi)星鏈路接收到發(fā)送給所述服務(wù)器的數(shù)據(jù)發(fā)送報(bào)文,如其中TMSG頭攜帶的連接標(biāo)識(shí)為所述第二 TCP連接標(biāo)識(shí),從所述數(shù)據(jù)發(fā)送報(bào)文中提取數(shù)據(jù)部分并封裝相應(yīng)的TCP頭,生成的TCP數(shù)據(jù)報(bào)文通過所述第二 TCP連接發(fā)送給所述服務(wù)器。15.如權(quán)利要求11或12所述的方法,其特征在于: 所述方法還包括以下連接斷開的處理: 檢測(cè)到所述第二 TCP連接的通信中斷; 通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)發(fā)送請(qǐng)求關(guān)閉連接的報(bào)文,其中的TMSG頭攜帶所述第一 TCP連接標(biāo)識(shí); 接收到所述對(duì)端網(wǎng)關(guān)經(jīng)所述衛(wèi)星鏈路返回的連接關(guān)閉成功的應(yīng)答報(bào)文后,斷開所述第二 TCP連接。16.如權(quán)利要求11或12所述的方法,其特征在于: 所述連接建立的處理還包括:將所述第二 TCP連接與所述衛(wèi)星鏈路相關(guān)聯(lián); 所述方法還包括以下連接斷開的處理:檢測(cè)到所述衛(wèi)星鏈路斷開后,將所述衛(wèi)星鏈路關(guān)聯(lián)的所有TCP連接斷開。17.—種應(yīng)用于雙端加速代理PEP中與服務(wù)器連接的網(wǎng)關(guān),其特征在于,包括服務(wù)器側(cè)協(xié)議實(shí)體和衛(wèi)星側(cè)協(xié)議實(shí)體,其中: 所述衛(wèi)星側(cè)協(xié)議實(shí)體包括:連接建立模塊,用于接收到與客戶機(jī)連接的對(duì)端網(wǎng)關(guān)經(jīng)衛(wèi)星鏈路發(fā)送的連接建立請(qǐng)求的報(bào)文后,記錄其中轉(zhuǎn)換消息TMSG頭攜帶的第一 TCP連接標(biāo)識(shí)及數(shù)據(jù)部分?jǐn)y帶的第一連接信息,并通知所述服務(wù)器側(cè)協(xié)議實(shí)體建立與服務(wù)器的第二 TCP連接;所述第一連接信息為所述對(duì)端網(wǎng)關(guān)與所述客戶機(jī)建立的第一 TCP連接的連接信息,所述第一 TCP連接標(biāo)識(shí)用于標(biāo)識(shí)所述第一 TCP連接; 所述服務(wù)器側(cè)協(xié)議實(shí)體包括:連接建立模塊,用于收到所述建立TCP連接的通知后,與所述服務(wù)器建立所述第二 TCP連接,生成用于標(biāo)識(shí)所述第二 TCP連接的第二 TCP連接標(biāo)識(shí),通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)返回連接建立成功的應(yīng)答報(bào)文,攜帶所述第二 TCP連接標(biāo)識(shí),并通知所述衛(wèi)星側(cè)協(xié)議實(shí)體第二 TCP連接建立成功,攜帶所述第二 TCP連接標(biāo)識(shí); 所述衛(wèi)星側(cè)協(xié)議實(shí)體的連接建立模塊還用于收到服務(wù)器側(cè)協(xié)議實(shí)體所述第二 TCP連接建立成功的通知后,通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)返回連接建立成功的應(yīng)答報(bào)文,其中的TMSG頭攜帶所述第二 TCP連接標(biāo)識(shí);將所述第二 TCP連接標(biāo)識(shí)和所述第一 TCP連接標(biāo)識(shí)關(guān)聯(lián)。18.如權(quán)利要求17所述的網(wǎng)關(guān),其特征在于: 所述服務(wù)器側(cè)協(xié)議實(shí)體還包括:報(bào)文收發(fā)模塊,用于接收所述服務(wù)器通過所述第二TCP連接發(fā)送給所述客戶機(jī)的TCP數(shù)據(jù)報(bào)文并進(jìn)行應(yīng)答; 所述衛(wèi)星側(cè)協(xié)議實(shí)體還包括:報(bào)文收發(fā)模塊,用于從所述服務(wù)器側(cè)協(xié)議實(shí)體接收的所述TCP數(shù)據(jù)報(bào)文中提取數(shù)據(jù)部分并封裝TMSG頭,生成的數(shù)據(jù)發(fā)送報(bào)文通過所述衛(wèi)星鏈路發(fā)送給所述對(duì)端網(wǎng)關(guān),其中的TMSG頭攜帶與所述第二 TCP連接標(biāo)識(shí)關(guān)聯(lián)的所述第一 TCP連接標(biāo)識(shí)O19.如權(quán)利要求18所述的網(wǎng)關(guān),其特征在于: 所述衛(wèi)星側(cè)協(xié)議實(shí)體的報(bào)文收發(fā)模塊還用于從所述衛(wèi)星鏈路接收發(fā)送給所述服務(wù)器的數(shù)據(jù)發(fā)送報(bào)文; 所述服務(wù)器側(cè)協(xié)議實(shí)體的報(bào)文收發(fā)模塊還用于識(shí)別所述衛(wèi)星側(cè)協(xié)議實(shí)體接收的數(shù)據(jù)發(fā)送報(bào)文,如其中的TMSG頭攜帶的連接標(biāo)識(shí)為所述第二 TCP連接標(biāo)識(shí),則從所述數(shù)據(jù)發(fā)送報(bào)文中提取數(shù)據(jù)部分并封裝相應(yīng)的TCP頭,生成的TCP數(shù)據(jù)報(bào)文通過所述第二 TCP連接發(fā)送給所述服務(wù)器。20.如權(quán)利要求18或19所述的網(wǎng)關(guān),其特征在于: 所述衛(wèi)星側(cè)協(xié)議實(shí)體的報(bào)文收發(fā)模塊封裝的所述TMSG頭包括消息類型、連接標(biāo)識(shí)和消息長(zhǎng)度字段,其長(zhǎng)度小于TCP頭的長(zhǎng)度。21.如權(quán)利要求17或18或19所述的網(wǎng)關(guān),其特征在于: 所述服務(wù)器側(cè)協(xié)議實(shí)體還包括:連接維護(hù)模塊,用于檢測(cè)到所述第二 TCP連接的通信中斷時(shí),通知所述衛(wèi)星側(cè)協(xié)議實(shí)體第二 TCP連接中斷;及收到所述衛(wèi)星側(cè)協(xié)議實(shí)體的連接關(guān)閉成功的通知后,斷開所述第二 TCP連接; 所述衛(wèi)星側(cè)協(xié)議實(shí)體還包括:連接維護(hù)模塊,用于收到第二 TCP連接中斷的通知后,通過所述衛(wèi)星鏈路向所述對(duì)端網(wǎng)關(guān)發(fā)送請(qǐng)求關(guān)閉連接的報(bào)文,其中的TMSG頭攜帶所述第一TCP連接標(biāo)識(shí);及收到所述對(duì)端網(wǎng)關(guān)返回的連接關(guān)閉成功的應(yīng)答報(bào)文后,通知所述服務(wù)器側(cè)協(xié)議實(shí)體連接關(guān)閉成功。22.如權(quán)利要求21所述的網(wǎng)關(guān),其特征在于: 所述衛(wèi)星側(cè)協(xié)議實(shí)體的連接維護(hù)模塊還用于在檢測(cè)到所述衛(wèi)星鏈路斷開時(shí),向所述服務(wù)器側(cè)協(xié)議實(shí)體發(fā)送所述衛(wèi)星鏈路斷開的通知; 所述服務(wù)器側(cè)協(xié)議實(shí)體的連接維護(hù)模塊還用于將所述第二 TCP連接與所述衛(wèi)星鏈路關(guān)聯(lián);在收到所述衛(wèi)星鏈路斷開的通知后,將與所述衛(wèi)星鏈路關(guān)聯(lián)的所有TCP連接斷開。
【文檔編號(hào)】H04L12/66GK105897665SQ201510038936
【公開日】2016年8月24日
【申請(qǐng)日】2015年1月26日
【發(fā)明人】常偉, 唐雄, 麥偉鵬, 晏文彬
【申請(qǐng)人】中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1