<p id="nxp5x"><big id="nxp5x"><noframes id="nxp5x">

    <var id="nxp5x"><video id="nxp5x"></video></var>

          <em id="nxp5x"></em>

              首 頁 本刊概況 出 版 人 發行統計 在線訂閱 歡迎投稿 市場分析 1 組織交流 1 關于我們
             
            1
               通信短波
            1
               新品之窗
            1
               優秀論文
            1
               通信趨勢
            1
               特別企劃
            1
               運營商動態
            1
               技術前沿
            1
               市場聚焦
            1
               通信視點
            1
               信息化論壇
            1
            當前位置:首頁 > 優秀論文
            面向容災專網的TCP傳輸優化技術研究
            作者:汪志發,陳海濤,王強
            來源:本站原創
            更新時間:2009/11/12 12:14:00
            正文:

            1    概述

            軍事業務容災系統中,為確保關鍵數據的安全性,數據中心通常置于遠離戰事爆發的后方地帶,而前端應用一般位于戰事爆發的前沿地帶,應用訪問數據須跨越廣域網絡進行,廣域網的巨大傳輸延遲大幅度降低了數據傳輸效率。在軍事業務容災系統中,如何優化廣域網數據傳輸成為一個具有挑戰性的問題。

            當前減少廣域網數據傳輸延遲的方法主要包括數據壓縮(參考文獻[1])、數據緩存、傳輸協議修改等技術。綜合考慮研究的復雜性、可行性等因素,本文主要從傳輸協議優化的角度研究如何減少數據訪問的延遲。當前,已有國內、外學者提出了加速數據傳輸的傳輸層協議,如T/TCP協議(參考文獻[5]),但是TCP協議作為一種標準的、成熟的傳輸協議,因其提供了面向連接的可靠服務,已經得到了廣泛的應用。并且,從當前的發展趨勢來看,還沒有跡象表明TCP協議將被取代,當前大部分的網絡應用程序仍是基于TCP協議提供的接口實現的。本文在保證原有TCP協議接口不變的前提下,通過對TCP連接建立過程中三次握手的優化來提高軍事容災系統中數據訪問的效率。

            在傳統的基于類似因特網環境的應用中,由于網絡的大眾共享特性和網絡應用的多樣化,用戶對網絡的競爭使用是相對無序的,因而網絡性能具有很大的不穩定性。在這樣的應用環境中,TCP協議在數據通信之前必須進行三次握手才能確保連接建立的完成,測試網絡狀況,從而決定有無必要進行數據通信。

            但是,在容災專網中,數據傳輸通過廣域專網進行,傳輸的可靠性很高;同時,用戶對網絡的使用是有序可控的。容災應用可根據網絡擁堵狀態控制應用的數據傳輸,避免過度擁塞引起的報文丟失。在這種可控性、可靠性都比較高的網絡中,TCP連接建立成功的概率很高,因此數據通信之前的三次握手意義并不很大。

            在廣域網中,對于通信量較小、TCP連接建立的時間很短的應用而言,三次握手的延遲對性能的影響也較大。本文分析了TCP連接的三次握手過程對短TCP連接的性能影響,并針對容災專網可控性、可靠性較高,以及廣域網中短TCP連接的特點,提出了一種對三次握手過程進行優化的算法。我們基于NS2的實驗仿真對此算法進行了分析驗證,實驗表明該算法能提高容災專網中數據傳輸的性能。

            2                               三次握手對容災業務性能的影響

            2.1                    三次握手的延遲分析

            假定進行數據通信的雙方為節點C與節點S。節點C向節點S發起建立TCP連接的請求,節點S監聽請求。TCP連接的建立過程如圖1所示(詳細過程見參考文獻[5]

             

             1TCP連接的建立過程

            節點C在發送完TCP連接建立過程中的最后一個ACK之后,開始進行數據傳輸。從圖1中可以看到,三次握手過程帶來的數據傳輸延遲是一個RTTRTTround trip time。指發送報文的節點從發送報文到正確接收到對方的應答所經歷的時間。 這段時間包括節點C中的應用程序發送數據的數據發送延時t1、報文在網絡中傳輸的傳輸延時t2(包括數據從節點C傳送到節點S的延時以及應答消息從節點S傳送到節點C的延時)、節點S中的應用程序接收報文中的有效數據并最終給出應答的延時t3。在三次握手過程中,由于節點C并沒有向節點S發送有效數據,因此t1t3的值都為0,RTTt2)。

            2.2                    三次握手延遲對數據通信性能的影響

            在軍事容災業務系統中,應用環境有如下一些特點:

            1、跨越廣域網進行的點對點通信。在這種情況下,數據通信過程中用于數據發送的時間t1和用于數據接收的時間t3相對于報文的傳輸延時t2,都可以忽略不計,因此可以將RTT的值近似看作等于t2。

            2、建立的每個TCP連接所發送的數據量是非常少的(即短TCP連接),在進行數據發送過程中,擁塞窗口cwnd的變化過程采用傳統的慢啟動算法,并且假定每次TCP連接,在擁塞窗口增大到慢啟動門限值ssthreshold之前, 所有的數據都已經發送完畢。

            3、進行數據通信的網絡,對于用戶來說是透明的,用戶可以控制利用網絡進行數據傳輸的TCP連接數的多少,因此網絡具有高可靠性、可控性的特點,在這樣的環境中,我們可以假設發生報文丟失的概率很小。

            在滿足以上三個條件的情況下,參照圖1所示的TCP連接建立的過程,如果節點C在發起建立TCP連接請求的同時就進行數據傳輸,在節點C變成TCP_ESTABLISHED的時刻T,C便已經收到了S的應答消息,并將cwnd增大為原來的兩倍,而原始的TCP協議,在此時才開始初始化cwnd。因此在時刻T,如果在握手過程中就進行數據傳輸,cwnd的值將是原始TCP協議的兩倍。由于在慢啟動過程中,cwnd的變化過程是一致的,數據發送方收到接收方的正確應答消息后,都是將cwnd的值變為原來的兩倍,又由于網絡是高可靠性的,可以認為節點C發送的數據都被S正確接收,因此在擁塞窗口的慢啟動過程中,如果省去三次握手的過程,cwnd的值將一直保持原始TCP協議中cwnd值的兩倍。又因為每一次TCP連接中,所有的數據在cwnd達到慢啟動門限值之前全部傳送完畢,因此可以預測,如果省去三次握手的過程,數據吞吐量將會接近原先的兩倍,若傳送同等大小的數據,傳送延遲將接近為原先的一半。

            3                               FCTCP(Fast Connection TCP)協議

            本文提出一種TCP協議的傳輸加速協議(FCTCP協議),通過在握手過程中進行數據傳輸,能有效提高廣域網中短連接的數據吞吐量。FCTCP協議主要包括客戶端(C side)和服務器(S side)兩個部分(為簡化分析的過程,假設服務端只向應用端發送應答消息),其狀態遷移描述如下:

             

            偽代碼如下:

            客戶端(Client side)

             

             

            服務端(Server side):

             

            FCTCP連接的建立過程如圖2所示

             

            2FCTCP連接的建立過程

            1、   減少了數據傳輸的延遲。由于連接建立的過程中,對原始TCP協議的單純用于進行連接的三次握手過程進行了優化,使得連接建立過程中減少了一個RTT的數據傳輸延遲。鑒于2.2節的分析,可以看到,當擁塞窗口使用傳統的慢啟動算法進行變化時,對于短TCP連接,連接建立時減少的一個RTT延遲,可使得吞吐量提升為原先的兩倍,數據傳輸的延遲減少為原先的一半。另外,在進行建立連接請求的同時,用第三方軟件判斷網絡的狀態,若網絡出現故障,則連接建立的請求立即報錯返回,避免了對網絡資源的浪費。

            2、   相對于其他的數據傳輸加速的協議,FCTCP協議具有對應用程序透明的優點。在史蒂芬先生的《TCP/IP》詳解的第3卷中(參考文獻[5]),提出了一種對TCP進行加速的T/TCP協議。其主要原理是進行TCP連接的雙方都設一個連接計數器CC,通過比較CC的值來判斷須進行的TCP連接是否是一個新的連接以及之前連接的建立是否成功。T/TCP協議也避免了TCP協議中單純的用于進行建立連接的三次握手,加快了數據傳輸的速度。但應用該協議,須在連接雙方的TCP控制塊中增加有關計數據器的數據結構,比較復雜,且這種新的機制與原始TCP協議的應用層接口還存在一定的兼容問題,對應用程序來說透明性不好。而FCTCP協議是完全基于原始的TCP協議進行改進的,其應用層接口完全沒有變化,只是在進行連接建立過程中,對connect中的三次握手過程進行了一些優化,用戶仍然可以用connect()函數發起TCP連接建立的請求,因此對應用程序來說是完全透明的。

            3、   充分利用容災專網特點,采用獨立進程對專網傳輸狀態進行維護,在網絡出錯時能夠迅速返回,在網絡正常時使網絡連接可快速建立。

            4                               實驗測試

            4.1                    實驗平臺簡介

            NS2是通用的網絡測試和仿真平臺,提供了對有線和無線網絡、局域網和廣域網、網絡分層模型各協議的豐富支持,具有擴展性好、易配置等優點。本實驗采用廣泛使用的開源仿真軟件NS2,在NS2中實現了加速TCP數據傳輸的FCTCP協議;NS2模擬器測試了原始TCP協議和FCTCP協議的數據吞吐量,以及數據傳輸延遲等性能參數。

            4.2                    仿真實驗

            實驗環境配置:點對點通信的兩節點(節點C和節點S)之間數據傳輸的單向延遲(指從節點C開始發送數據到節點S接收到數據的延遲)30毫秒;每個數據報文的最大大小(MSS)576字節,發送數據的節點(節點C)的擁塞窗口(cwnd)初始值為1個數據報文,慢啟動的門限值(ssthresh)為100個數據報文,為了使所有數據報文在cwnd達到ssthresh之前全部傳送完畢,每個TCP連接的持續時間不能超過 毫秒(見注1);[1]兩節點之間共建立了5條短TCP數據流(在本章中,我們將持續時間少于420毫秒的TCP連接稱為短數據流),為了簡化數據分析的過程,假定5條數據流是依次生成并結束的,其開始和結束的時間分別如下:

             

            實驗結果如圖3所示,其中橫坐標軸代表時間(time),單位為秒(s),縱坐標軸代表的是吞吐量(throughput),單位為千位每秒(kb/s),綠線為采用原始TCP協議進行數據傳輸的吞吐量,紅線為采用FCTCP協議進行數據傳輸的吞吐量。

             

                                                 圖3 :吞吐量比較

            從圖中可以看出,采用原始TCP協議和FCTCP協議進行數據通信時,吞吐量的峰值分別接近800kb/s1600kb/s,而且在相同的時刻,FCTCP協議的吞吐量也幾乎都是原TCP協議的兩倍,這與我們之前分析的結果基本上是一致的。另外,由于避免了單純用于建立連接的握手過程,使得數據傳輸延遲減少了一個RTT。對于數據傳輸量非常小的短數據流(例如上傳幾十kb的圖片,一般只需幾個RTT),一個RTT的數據延遲對數據傳輸性能的影響還是比較大的。

            通過上面的分析,我們可以看到,對于短數據流,FCTCP協議通過對原始TCP協議中三次握手過程的優化,使得數據吞吐量增大為原先的兩倍,并且較大幅度減少了數據傳輸的延遲。因此,FCTCP協議較大幅度提高了短數據流的數據傳輸性能。

            5                               結論

            廣域網數據傳輸中,傳統TCP連接建立過程中三次握手的開銷對短TCP連接數據傳輸性能具有很大的影響,本文提出一種三次握手傳輸協議優化算法,大幅提高了短TCP連接數據傳輸的吞吐量,并由此帶來了容災業務系統中數據傳輸性能的提升。傳統TCP連接結束過程中采用了四次握手的過程,研究對TCP連接結束過程的優化以提高容災系統中數據傳輸的性能將是下一步的研究工作。

            參考文獻(References)

            〔1〕                     Wei-Je Huang, Edward J.McCluskey  Transient Errors and Rollback Recovery in LZ CompressionCENTER FOR RELIABLE COMPUTING

            〔2〕                       任勇毛,唐海娜,李俊,錢華林 《高速網絡TCP改進協議NS2仿真性能比較》        計算機工程 20091

            〔3〕                          Oliver Spatscheck,  Jorgen S. Hansen,  John H. Hartman,  Larry L. Peterson  Optimizing TCP Forwarder PerformanceIEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 8, NO. 2, APRIL 2000

            〔4〕                     David D. Clark, Van Jacobson, John Romkey, Howard Salwen An Analysis Of TCP Processing OverheadIEEE COMMUNICATIONS MAGAZINE , VOL.27, NO.6, JUNE 1989

            〔5〕                     W. Richard Stevens  TCP/IP 詳解》卷1,3  機械工業出版社

            〔6〕                     http://www.nagios.org

            作者簡介:

            汪志發: 1982年出生,男,籍貫安徽省桐城縣,碩士生,主要研究方向為信息系統容災;

            陳海濤:博士,助理研究員,主要研究方向為信息系統容災、高性能計算;

            王強:碩士生,主要研究方向為系統軟件與理論。


            1cwnd <= ssthresh的最大值為64, cwnd增大到ssthresh之前需 7RTT,RTT的值為30*260毫秒, 因此為使所有數據報文在cwnd達到ssthresh之前全部傳送完畢,每個TCP連接持續時間不能超過7*RTT=420毫秒。

             09080

             
             
               
            《通信市場》 中國·北京·復興路49號通信市場(100036) 點擊查看具體位置
            電話:86-10-6820 7724, 6820 7726
            京ICP備05037146號-8
            建議使用 Microsoft IE4.0 以上版本 800*600瀏覽 如果您有什么建議和意見請與管理員聯系
            欧美成人观看免费全部欧美老妇0