專利名稱:一種衛星網絡tcp地面加速方法
技術領域:
本發明涉及ー種衛星網絡TCP地面加速方法。
背景技術:
TCP協議是面向連接的傳輸層協議,向有關應用提供可靠的數據傳輸。隨著通信事業的發展,大量衛星通信系統承載了大量的網絡應用,其中基于TCP協議的應用大約占了應用總量的85%以上。衛星通信鏈路有其自身的優點的同時也存在著影響TCP傳輸的缺點,比如鏈路傳輸距離遠、鏈路延時大、易受干擾、帶寬有限等,由此對TCP的傳輸性能造成了影響,比如衛 星鏈路延時過大造成TCP最大呑吐率降低,信道差錯率高造成TCP報文發送速率降低等,所以傳統的TCP協議很難適應衛星鏈路傳輸,需要對TCP協議進行相應的修改才能使其性能得到保證。目前提高衛星系統中TCP性能的方法主要有端對端方式和分割連接方式兩種。端對端方式著重TCP協議本身的改進,而分段連接機制則考慮對不同物理連接分割為不同的段,在每段內采用不同的優化方式進行優化。中國專利申請CN03147470. 5,ー種分布式的衛星網絡TCP性能加速協議格式和方法中提出了基于分布式PEP網絡結構和兩路半握手連接機制,采用流量控制、動態帶寬分配算法和基于發送方主動請求的延遲確認機制等手段優化了下行鏈路的呑吐量和帶寬利用率。但是此專利存在其弊端,如只優化下行鏈路,上行鏈路采用低速地面鏈路有地域局限性,沒有對TCP數據包頭進行優化處理造成帶寬浪費等。
發明內容
本發明所要解決的技術問題是克服現有TCP技術在衛星通信領域中的不足,提供一種能夠提高衛星鏈路吞吐量,高效利用衛星鏈路帶寬資源,提高TCP傳輸速率的衛星網絡優化方法。本發明包括如下技術方案ー種衛星網絡TCP地面加速方法,包括如下步驟(I)建立連接客戶端發送會話請求數據包,該會話請求數據包通過客戶端衛星協議網關轉發給服務器端衛星協議網關;服務器端衛星協議網關接收到該會話請求數據包后將其轉發給服務器端,并且保存該會話請求數據包的IP頭和TCP頭的相關數據;服務器端收到會話請求數據包后發送第一握手應答數據包,該第一握手應答數據包通過服務器端衛星協議網關發送到客戶端衛星協議網關;客戶端衛星協議網關在收到第一握手應答數據包后,保存該第一握手應答數據包的IP頭和TCP頭的相關數據并將該第一握手應答數據包轉發給客戶端;客戶端Cl收到第一握手應答數據包后發送第二握手應答數據包;該第二握手應答數據包通過客戶端衛星協議網關G1、服務器端衛星協議網關G2轉發給服務器端C2 ;(2)在建立連接后客戶端開始進彳了路徑MTU探測,在完成路徑MTU探測后,客戶端發送ー個開啟包頭壓縮和協議欺騙功能的數據包給服務器端,客戶端衛星協議網關和服務器端衛星協議網關在收到該數據包時開啟包頭壓縮功能和協議欺騙功能;(3)進行數據傳輸客戶端發送正式數據包,當客戶端衛星協議網關接收到正式數據包吋,首先進行包頭壓縮獲得壓縮后的數據包,然后偽裝成服務器端發送假應答數據包給客戶端,最后將壓縮后的數據包轉發給服務器端衛星協議網關;服務器端衛星協議網關收到壓縮后的數據包后進行包頭恢復,然后將恢復包頭信息的數據包轉發給服務器端,并偽裝成服務器端發送假應答數據包給客戶端衛星協議網關;
服務器端在收到服務器端衛星協議網關轉發的數據后發送應答數據包給服務器端衛星協議網關;⑷撤銷連接在傳輸完數據后,客戶端發送連接拆除數據包,通過客戶端衛星協議網關、服務器端衛星協議網關發送至服務器端;從服務器端發送連接拆除數據包,通過服務器端衛星協議網關、客戶端衛星協議網關發送至客戶端。所述開啟包頭壓縮和協議欺騙功能的數據包為數據長度為I個字節的內容為OxFF的數據包。步驟(4)中的撤銷連接具體包括如下步驟客戶端發送連接拆除數據包,客戶端衛星協議網關在收到連接拆除數據包后首先進行包頭壓縮獲得壓縮后的數據包,偽裝成服務器端發送假應答,最后將壓縮后的數據包轉發給服務器端衛星協議網關;服務器端衛星協議網關在收到壓縮后的數據包后進行包頭恢復,然后將恢復包頭信息的數據包轉發給服務器端,并偽裝成服務器端發送假應答;服務器端在收到該連接拆除數據包后發送應答數據包;然后服務器端發送連接拆除數據包,服務器端衛星協議網關在收到服務器端發送的連接拆除數據包后首先進行包頭壓縮獲得壓縮后的數據包,偽裝成客戶端發送假應答,最后將壓縮后的數據包轉發給客戶端衛星協議網關;客戶端衛星協議網關在收到壓縮后的數據包后進行包頭恢復,然后將恢復包頭信息的數據包轉發給客戶端,并偽裝成客戶端發送假應答;客戶端收到恢復包頭信息的數據包后發送應答數據包。本發明與現有技術相比具有如下優點(I)本方法在傳統網絡的基礎上將協議欺騙和TCP數據包頭壓縮技術進行了融合,提高了帶寬的有效利用率,緩解了信道不對稱的問題。(2)本方法在協議欺騙和包頭壓縮功能啟動前采取了路徑MTU主動探測技木,降低了傳輸擁塞率。(3)本方法采用應答欺騙技術減少了應答反應時間,縮短了衛星鏈路數據傳輸延時,提高了傳輸速率。
圖I為本發明方法的系統示意圖;圖2為本發明方法中應答欺騙示意圖。
具體實施方式
本發明的衛星網絡TCP地面加速方法運行的環境如圖I所示包括服務器端C2、客戶端衛星協議網關G1、服務器端衛星協議網關G2和客戶端Cl。包頭壓縮和協議欺騙策略需要通過客戶端衛星協議網關Gl和服務器端衛星協議網關G2實現,MTU主動探測需要在客戶端Cl運行。如圖2所示,本發明的衛星網絡TCP地面加速方法包括如下步驟I)建立連接客戶端Cl發起會話請求,客戶端衛星協議網關Gl將接收到的客戶端Cl發送的會話請求轉發給服務器端衛星協議網關G2。此時客戶端衛星協議網關Gl并不啟動頭部壓縮和應答欺騙功能。服務器端衛星協議網關G2接收到客戶端衛星協議網關Gl轉發的請求后,將該請求轉發給服務器端C2,并且保存請求端發送的會話請求數據包的IP頭和TCP頭部信息。服務器端C2接收到該請求后發送應答數據包。服務器端衛星協議網關G2接收到服務器端C2發送的應答后向客戶端衛星協議網關Gl轉發該應答。客戶端衛星協議網關Gl在收到服務器端衛星協議網關G2轉發的應答后保存應答數據包的IP頭和TCP頭部信息并將該應答轉發給客戶端Cl。客戶端Cl收到服務器端C2的應答后發送ACK進行第三次握手。客戶端衛星協議網關Gl收到客戶端Cl發送的應答后將其應答轉發給服務器端衛星協議網關G2。服務器端衛星協議網關G2將客戶端衛星協議網關Gl轉發的應答轉發給服務器端C2,完成三次握手。2)連接建立初期在完成連接后客戶端開始進行路徑最大傳輸單元(MTU)探測,首先客戶端發送一個長度為1500字節的IP數據報給服務器端,該IP數據報設置了不需分片標志位(DF位);如果收到ICMP差錯,則說明當前的兩個主機之間的路徑上任何網絡上的MTU小于1500字節,TCP客戶端就減少段大小并進行重傳,優選地,毎次減少5個字節再進行重傳。一直這樣,直到找到最終的路徑MTU。3)數據傳輸階段在完成路徑MTU的探測后客戶端Cl發送ー個長度為I個字節的OxFF數據包給服務器端C2,衛星協議網關在收到該數據包時開啟包頭壓縮功能和協議欺騙功能,利用連接建立階段保存的IP頭和TCP頭信息偽裝成服務器端C2給客戶端Cl發送應答,若客戶端Cl接收到客戶端衛星協議網關Gl發送的假應答則開始發送正式數據。
當客戶端衛星協議網關Gl接收到客戶端Cl發送的正式數據時,首先壓縮IP包頭和TCP包頭,然后偽裝成服務器端發送假ACK應答信息給客戶端Cl,最后將經過壓縮的數據包轉發給服務器端衛星協議網關G2。服務器端衛星協議網關G2收到經過壓縮的數據包后進行包頭恢復,然后將恢復包頭信息的數據轉發給服務器端C2,并偽裝成服務器端C2發送ACK應答給客戶端衛星協議網關Gl。服務器端C2在收到服務器端衛星協議網關G2轉發的數據后發送應答數據包給服務器端衛星協議網關G2。由于服務器端衛星協議網關G2已經偽裝成服務器端C2發送ACK給客戶端衛星協議網關Gl 了,所以在收到服務器端C2發送的真實的ACK應答后就不需要將該真實的ACK發送給客戶端衛星協議網關Gl 了,從而減少了應答反應時間。4)連接撤銷階段在傳輸完數據后,客戶端發送連接拆除數據包FIN,客戶端衛星協議網關Gl在收 到客戶端Cl發送的連接撤銷數據包后首先進行包頭壓縮獲得壓縮后的數據包,然后偽裝成服務器端C2發送假應答數據包ACK,最后將壓縮后的數據包轉發給服務器端衛星協議網關G2。服務器端衛星協議網關G2在收到壓縮后的數據包后進行包頭恢復,然后將恢復包頭信息的數據包轉發給服務器端C2,并偽裝成服務器端發送假應答;服務器端C2在收到連接拆除數據包后發送應答ACK。然后,服務器端C2發送連接撤銷數據包FIN ;服務器端衛星協議網關G2在接收到服務器端C2發送的連接拆除數據包FIN后首先進行包頭壓縮獲得壓縮后的數據包,偽裝成客戶端發送假應答,最后將壓縮后的數據包轉發給客戶端衛星協議網關;客戶端衛星協議網關Gl在收到壓縮后的數據包后進行包頭恢復,然后將恢復包頭信息的數據包轉發給客戶端,并偽裝成客戶端發送假應答。客戶端Cl收到恢復包頭信息的數據包后發送應答數據包。由于客戶端衛星協議網關Gl已經偽裝成客戶端Cl發送了 ACK給服務器端衛星協議網關G2,所以客戶端衛星協議網關Gl在收到客戶端Cl發送的真實的ACK后無需將此真實ACK發送給服務器端衛星協議網關G2,撤銷過程到此結束。本發明未詳細說明部分屬本領域技術人員公知常識。
權利要求
1.ー種衛星網絡TCP地面加速方法,包括如下步驟 (1)建立連接 客戶端發送會話請求數據包,該會話請求數據包通過客戶端衛星協議網關轉發給服務器端衛星協議網關; 服務器端衛星協議網關接收到該會話請求數據包后將其轉發給服務器端,并且保存該會話請求數據包的IP頭和TCP頭的相關數據;服務器端收到會話請求數據包后發送第一握手應答數據包,該第一握手應答數據包通過服務器端衛星協議網關發送到客戶端衛星協議網關; 客戶端衛星協議網關在收到第一握手應答數據包后,保存該第一握手應答數據包的IP頭和TCP頭的相關數據并將該第一握手應答數據包轉發給客戶端; 客戶端Cl收到第一握手應答數據包后發送第二握手應答數據包;該第二握手應答數據包通過客戶端衛星協議網關G1、服務器端衛星協議網關G2轉發給服務器端C2 ; (2)在建立連接后客戶端開始進行路徑MTU探測,在完成路徑MTU探測后,客戶端發送一個開啟包頭壓縮和協議欺騙功能的數據包給服務器端,客戶端衛星協議網關和服務器端衛星協議網關在收到該數據包時開啟包頭壓縮功能和協議欺騙功能; (3)進行數據傳輸 客戶端發送正式數據包,當客戶端衛星協議網關接收到正式數據包吋,首先進行包頭壓縮獲得壓縮后的數據包,然后偽裝成服務器端發送假應答數據包給客戶端,最后將壓縮后的數據包轉發給服務器端衛星協議網關; 服務器端衛星協議網關收到壓縮后的數據包后進行包頭恢復,然后將恢復包頭信息的數據包轉發給服務器端,并偽裝成服務器端發送假應答數據包給客戶端衛星協議網關; 服務器端在收到服務器端衛星協議網關轉發的數據后發送應答數據包給服務器端衛星協議網關; (4)撤銷連接 在傳輸完數據后,客戶端發送連接拆除數據包,通過客戶端衛星協議網關、服務器端衛星協議網關發送至服務器端; 從服務器端發送連接拆除數據包,通過服務器端衛星協議網關、客戶端衛星協議網關發送至客戶端。
2.根據權利要求I所述的衛星網絡TCP地面加速方法,其特征在于所述開啟包頭壓縮和協議欺騙功能的標志位數據包為數據長度為I個字節的內容為OxFF的數據包。
3.根據權利要求I所述的衛星網絡TCP地面加速方法,其特征在干步驟(4)中的撤銷連接具體包括如下步驟 客戶端發送連接拆除數據包,客戶端衛星協議網關在收到連接拆除數據包后首先進行包頭壓縮獲得壓縮后的數據包,偽裝成服務器端發送假應答,最后將壓縮后的數據包轉發給服務器端衛星協議網關; 服務器端衛星協議網關在收到壓縮后的數據包后進行包頭恢復,然后將恢復包頭信息的數據包轉發給服務器端,并偽裝成服務器端發送假應答; 服務器端在收到該連接拆除數據包后發送應答數據包; 然后服務器端發送連接拆除數據包,服務器端衛星協議網關在收到服務器端發送的連接拆除數據包后首先進行包頭壓縮獲得壓縮后的數據包,偽裝成客戶端發送假應答,最后將壓縮后的數據包轉發給客戶端衛星協議網關; 客戶端衛星協議網關在收到壓縮后的數據包后進行包頭恢復,然后將恢復包頭信息的數據包轉發給客戶端,并偽裝成客戶端發送假應答;客戶端收到恢復包頭信息的數據包后發送應答數據包。
全文摘要
本發明公開了一種衛星網絡TCP地面加速方法,將MTU主動探測、協議欺騙和TCP數據包頭壓縮技術進行了融合;其中包頭壓縮和協議欺騙需要通過客戶端衛星協議網關和服務器端衛星協議網關實現,MTU主動探測需要在客戶端C1運行。本發明的方法能夠提高衛星鏈路吞吐量,高效利用衛星鏈路帶寬資源,提高TCP傳輸速率。
文檔編號H04B7/185GK102694810SQ20121017904
公開日2012年9月26日 申請日期2012年5月31日 優先權日2012年5月31日
發明者劉敏, 廖百健, 石云, 鄒光南 申請人:航天恒星科技有限公司