如今,排名全球2000名以內的企業均朝向數據中心整合與服務器整合的方向發展,數據中心從數以百計縮減為少數幾個,應用程序也整合到少數幾臺服務器上。由此,越來越多的企業員工以遠程方式或在分公司內工作。
企業在建設集中數據中心時大多使用廣域網作為傳輸網絡,而廣域網的傳輸性能問題,也為集中數據中心應用的效率帶來了全新的挑戰,這個問題經常造成數據中心訪問速度低下,而廣域網的傳輸性能主要受到以下的因素影響:傳輸線路帶寬的大小、數據的傳輸效率、網絡的延時和TCP協議傳輸控制方式等。
而為了解決廣域網的傳輸性能問題,Juniper、F5、Citrix、RiverBed、深信服等網絡設備廠商都紛紛推出了各種各樣的解決措施,例如數據壓縮、Cache動態緩存、TCP協議優化、應用協議優化、QoS優化等系列廣域網加速手段.
在多種網間加速方法中,除了數據壓縮、Cache動態緩存這兩種主要的加速手段外,相對重要的就要算TCP協議和應用協議優化了。
100Mb/s到底比2Mb/s帶寬快多少?
目前有一種常規的認識是,100Mb/s帶寬肯定比2Mb/s帶寬的數據傳輸速率高,并且會高很多。真的是這樣的么?
回答是不幸的。這里有一份來自國內網絡設備廠商深信服給企業所做的實際測試數據。某企業同時使用100Mb/s帶寬接入和2Mb/s帶寬的帶寬接入,并對之進行對比。
根據實際測試數據顯示,一條2Mb/s的ADSL線路在最大64K字節窗口(TCP數據傳輸協議的相關數據傳輸原理術語)情況下,在網絡延時小于40ms時,線路能達到其帶寬允許的最高數據吞吐量,但是當網絡延時逐漸增大的時候,線路傳輸效率明顯下降,實際的吞吐量只能達到帶寬所允許的最高數據吞吐量的10%以下。
在另外的100Mb/s帶寬的線路上面進行相同(64K字節窗口)的測試,得到的結果顯示在網絡延時大于40ms以后,100Mb/s帶寬線路的數據吞吐量和2Mb/s的線路幾乎下降到同樣的水平,所以說存在網絡延時以及TCP窗口不合適的時候100Mb/s帶寬線路的數據傳輸能力并不比2Mb/s帶寬線路的數據傳輸能力強多少。
從上面的測試可見,并不是帶寬足夠大了,網絡的傳輸能力就一定能夠同步增長,寬帶足夠大只是必要條件,不是充分條件,它還受制于數據的傳輸協議以及網絡延時對傳輸協議的影響等多種因素。
協議優化如何影響速率?
現在我們知道,在網絡傳輸的過程中,網絡協議通常會對數據傳輸產生較大的影響,這些典型的協議既包括處在傳輸層的TCP協議,也包含各種應用層的協議比如:MAPI協議、CIFS協議、HTTP協議、基于RPC的應用協議等,下面我們就從這兩個層面來看網間加速技術是如何來針對性的解決這些問題的。
TCP協議:應答信號避過廣域網,提高響應率
TCP/IP是很多的不同的協議組成,實際上是一個協議組,TCP用戶數據報表協議(也稱作TCP傳輸控制協議-Transport Control Protocol,可靠的主機到主機層協議。這里要先強調一下,傳輸控制協議是OSI網絡的第四層的叫法,TCP傳輸控制協議是TCP/IP傳輸的6個基本協議的一種。TCP是一種可靠的面向連接的傳送服務,它在傳送數據時是分段進行的,主機交換數據必須建立一個會話。
TCP協議是一個確保連接和安全的傳輸協議,而使用的手段就是連接握手和Ack機制。在TCP會話初期,有所謂的“三握手”:對每次發送的數據量是怎樣跟蹤進行協商使數據段的發送和接收同步,根據所接收到的數據量而確定的數據確認數及數據發送、接收完畢后何時撤消聯系,并建立虛連接;同時在每一次數據包的傳輸過程中都需要客戶端和服務端之間進行Ack,這樣在客戶端和服務端之間就存在著大量的應答交互,這些應答交互放到公網上以后就會收到網絡延時的影響,并且隨著應答交互次數的增加將延時的影響進行放大。
根據測試數據,在一個2M帶寬的網絡條件下,使用TCP協議進行數據傳輸時,網絡傳輸速度和延時存在著如下的關系:
![]() |
圖1 |
從上圖我們可以看到在網絡延時小于40ms的時候,傳輸速度可以達到網絡帶寬的90%左右,但是隨著網絡延時的增加,傳輸速度逐漸減小,當網絡延時達到120ms以上后,傳輸速度將到帶寬的10%了。
現在我們知道TCP協議會受到網絡延時的影響了,那么是否有方法來解決這個問題,能不能既確保數據傳輸的安全性同時又把網絡延時造成的影響降到最低程度,接下來就看看網間加速是怎么解決這個問題的。
![]() |
圖2 |
實際上,網間加速技術采用的是類似于“代理”這樣的方式來解決這個問題的,就是說將原本需要通過廣域網進行傳輸的應答消息,改成由本地網間加速設備來進行處理,在分支機構的網間加速設備代替服務器來處理客戶端的應答消息,而在總部的網間加速設備則代替客戶端來處理服務端的應答消息,這樣所有的應答消息都是在本地網絡進行傳輸,自然就消除了廣域網的影響。
TCP協議經過以上的優化,眾多的應答消息就直接避開了廣域網,從而極大地減少了網絡延時,提高了網絡傳輸效率。
應用協議:多招優化提網速
除了TCP協議對網絡傳輸有影響外,應用層協議同樣會對網絡傳輸有重要的影響。目前,很多以前的軟件應用在設計時并沒有考慮廣域網的特殊環境,比如微軟的CIFS和Exchange/Outlook(MAPI)等,大量的使用小包及在應用層面存在過多的Request/Response交互,這種設計在局域網中運行很順暢,但在廣域網這種延時巨大的環境中(由于地理距離,跨越多個路由設備以及運營商之間的路由策略造成)會造成帶寬使用率低下的結果。
由此可見,以前的很多同數據傳輸有關的應用層協議已經不再隨應時代了,協議也需要革命。目前需要革命的應用協議主要有:基于RPC的應用協議、MAPI協議、CIFS協議、HTTP協議等。現在,我們分別來看一下網間加速設備是如何通過應用協議優化手段,來提升網絡傳輸速率的。
優化手段一:提前下載網絡MAPI協議消息
這是專門針對協議MAPI協議,該協議主要是用于Exchange服務,對于接入集中Exchange服務器的遠程Outlook用戶來說,網間加速技術允許用戶在請求消息片斷前下載WAN上的全部消息,從而大幅度加快響應速度。網間加速技術隨后可確保整個電子郵件及其附件以LAN速度發送給用戶,從而加速Exchange性能并簡化效率極低的連續性大塊傳輸。
優化手段二:擔前請求文件的數據塊
這招主要用在CIFS協議身上,這個協議用來打開和傳輸文件,并且會采用以小型數據塊的方式連續傳輸數據。網間加速技術可在用戶請求前請求文件的數據塊,加速并改進遠程文件服務的性能,從而加快WAN鏈路上的CIFS傳輸速度。
優化手段三:對網頁對象請求實施本地緩存
這招有點像二級緩存的方法。我們知道,典型的網頁包括數十個單獨對象,這些對象每次一個連續請求。因此,構建網頁至少需要多次往返。為了加快分支辦事處的網頁下載速度,網間加速技術“了解”與特定URL相關的對象,并在鏈路上傳輸它們,以便在這些對象下次被請求時能夠在本地提供它們。
優化手段四:避開網絡應答過程
一些國內常用的ERP系統通常是基于RPC協議來進行數據訪問的,它們也是采用“閑談”的方式來進行數據傳輸的,這種方式放在本地局域網里面是沒有問題的,但是一旦放到了廣域網上面,就會將網絡延時的影響進行放大,甚至可能導致系統根本無法部署到廣域網上。
和TCP協議的情況類似,網間加速技術也是通過減少通過廣域網交互的次數來解決這個問題的,即在分支機構的網間加速設備代替服務器來處理客戶端的應答消息,而在總部的網間加速設備則代替客戶端來處理服務端的應答消息,這樣所有的應答消息都是在本地網絡進行傳輸。
協議優化讓Web訪問速度提升10倍?
通過TCP協議和應用層協議的優化,對網絡傳輸速率的提升是非常有效的。下面是深信服在給國內的一家企業做測試時,協議優化給企業所帶來的好處(當然數據壓縮、Cache緩存也有功勞)。
這家物流企業的主業務系統為物流管理系統,該系統使用WEB技術開發,在公司總部所在地深圳進行集中部署。武漢和北京設立華中和華北兩個大區,分別有100個和130個客戶代表,各大區和總部之間通過Internet方式部署VPN來進行連接。原來都通過2M的ADSL線路進行連接,當客戶代表集中訪問公司管理系統的時候,普遍反映速度相當慢。
通過測試部署網間加速設備后,系統頁面訪問速度可以提高10倍以上。并且原來因為傳輸速度較低,為了不影響訪問質量,頁面上面只能表現比較簡單的數據,現在可以使用復雜的圖表、圖像等元素,不用擔心訪問速度的問題了。