2012年9月1日 星期六

想加速網路,就要減少資料重複傳輸


想加速網路,就要減少資料重複傳輸

其實網路中有許多連線、下載等行為,都是不斷地重複進行,所以透過一些方式減少重複的連線,除了能夠避免頻寬浪費,更能加速網路的傳遞速度 

對外網路速度之所以會慢,大多原因出自於閘道端沒有進行頻寬管理、檔案重複下載、連線重複建立等因素。而面對這些問題,IT人員能夠透過QoS的方式控管頻寬,但其他狀況則須使用Proxy伺服器(代理伺服器)或廣域網路加速器,透過快取(Cache)、連線複用、TCP連線優化等方式加速網路傳輸。

而究竟甚麼是廣域網路加速呢?實際上,它並不是真正地加快網路傳遞速度,設備是透過頻寬管理的方式,進而達到提升網路速度的效果。

透過資料快取,大幅降低重複存取
Proxy伺服器是最傳統的加速傳輸方式,顧名思義,它是代理使用者處理網路連線的伺服器,當用戶端設定好Proxy伺服器時,用戶端的所有連線皆會透過這裡取得資料。

因為這樣的架構,Proxy伺服器也多半會同時提供快取功能,只要使用者瀏覽網頁,就會自動將網頁上的圖片、文字等物件,暫存在Proxy伺服器中。

當內部使用者發出相同的連結需求時,會先從本地端的Proxy伺服器,檢查是否以瀏覽過相同網頁,若有則直接從這裡存取,而不重新下載。並且,Proxy伺服器也會定時查看目標網站或資料,如果有異動也會立即更新。

同理,若使用者下載Windows作業系統、防毒軟體、iTunes等軟體的更新檔時,或者是從iOS或Android下載的App,Proxy伺服器也能夠暫存,快速提供給下一位使用者。如此,就能夠大量降低重複存取相同資料的頻寬,進而將多餘的網路流量提供給其餘服務。

透過串流分離功能轉播影像,減少重複連線
快取功能雖然能夠暫存下載檔案,但像使用RTSP、RTMP、MMS等協定的即時串流影音,Proxy伺服器則無法提供快取。不過,有些產品則提供了串流分離(Stream Splitting)功能,可以將串流影音即時分流給內部使用者,降低使用者直接連線所耗損的頻寬,例如BlueCoat的ProxySG設備就有具備這樣的功能。

雖然Proxy伺服器不能把即時轉播的視訊影音儲存起來,但可以將串流資料暫存一段時間,再分流給內部使用者。假設,今天一家企業透過即時轉播,要給員工進行教育訓練,這種大量且直接的影音連線存取,對於企業網路的頻寬影響甚鉅,但有了這項技術,IT人員可透過串流分離的功能降低頻寬負擔。

舉例來說,轉播過程已經進行到1分20秒,那在Proxy伺服器上則會暫存住前10秒到目前播放的影像,提供給使用者。如此一來,不論是哪個時間點上來觀看的使用者,都能看到相同時間點的影像。


使用壓縮資料、減少重複下載等方式,達到廣域網路加速效果
前者提到的網路加速,大多是針對內部對外部存取的網路加速。但企業若是大型規模、有跨國營運的分公司時,不同營運單位間往往有資料傳輸、檔案備援等流量,因此也需要管理流量,來加快網路的資料傳送速度。

而針對這種Site-to-Site的網路存取,IT人員可透過廣域網路加速設備,降低連線、封包、檔案下載等重複性動作。雖然功能看起來與Proxy伺服器差不多,但廣域網路加速設備在傳輸上有些不同的設計。

在廣域網路加速設備的架構中,需要在2個網路端點上安裝設備,並透過各家廠商擁有的傳輸協定連線,才能大幅降低連線、封包等,這一類會造成連線延遲的現象。

使用重複資料刪除技術,加速內容傳遞速度 
廣域網路加速設備能夠提供重複資料刪除(Dedupe)、TCP連線優化、應用程式優化,甚至也能針對公有雲服務提供連線加速。企業可依照所需的功能,來強化網路內的連線傳輸。

重複資料刪除功能可以大幅降低重複資料的傳送,而它與Proxy伺服器的快取功能則完全不同。使用者在網路中傳輸時,只是單純將檔案互相傳遞。不過,如果使用重複資料刪除功能,傳輸資料時設備會將檔案切割成多個小元件傳送,並產生各元件的指標,而這些指標會存放在傳送端與接收端的廣域網路加速設備上。

當之後使用者下載相同或類似資料時,廣域網路加速設備會先分析需求,並從本地端確認資料是否存在,若存在則只傳送指標及新元件,如此就能大幅提升傳輸速度。

將封包快取在設備上,省去封包遺失所造成的延遲時間
資料在傳送的時候,如果使用者感到速度太慢,原因除了網路本身速度不夠快、頻寬不足以外,更大的原因在於封包遺失。

而封包遺失時,接收端會再次發送請求重新傳輸封包,而就在請求與封包的傳遞之間,造成網路的緩慢。

而TCP連線優化,主要是透過設備的緩存區儲存傳送中的封包,所以遺失封包,重新請求傳輸資料時,會直接從傳送端的廣域網路加速設備傳遞,不需要重新建立連線傳送資料,來降低遺失封包後重複請求的延遲時間。例如Citrix的NetScaler Branch Repeater、Cisco Wide Area Application Services(WAAS),都具有這樣的功能。

除了一般的TCP連線外,有些應用程式在傳輸時會使用其專屬協定。不過,有的傳輸協定使用起來的效能並不理想,光是應用程式往返傳遞的次數,會讓人覺得連線速度不夠快。

應用程式優化功能是使用設備建立應用程式的連線,減少用戶點對點間連線所需的往返流量。透過大量降低重複連線,來達到傳輸加速的效果。該功能支援的應用程式協定,一般有HTTP、CIFS、微軟的Exchange、SQL Server等。而像Juniper的WXC、Riverbed的Steelhead等設備,皆針對應用程式提供優化功能。


針對雲端服務,技術上現在也能夠使用廣域網路加速功能
廣域網路加速的技術,大多都需要在接收端與傳送端放置專用設備,並透過特有的技術加快傳輸速度,但不能加速一般的上網行為,或是雲端服務。

不過,有些廠商的產品已經可以支援到公有雲的服務,例如Riverbed。他們推出了雲端加速功能,它能夠針對微軟Office 365、Google Apps和Salesforce的雲端服務,進行廣域網路加速。

Riverbed的做法是與CDN(內容分散傳遞服務,Content Delivery Network)服務廠商Akamai合作。實作上,是在Akamai服務中最靠近雲端服務廠商的節點上,租用CSH(Cloud SteelHead),它是VM版本的Riverbed SteelHead,藉此達到廣域網路加速的效果。

用雲端服務也能夠享受廣域網路加速的效果 
使用雲端服務通常最為人詬病的是,需花時間等待系統回應需求,當網路速度不穩,或是品質不佳的時候,往往連線上都會形成延遲。

而Riverbed所推出的雲端加速功能,它可以透過在CDN廠商的網路節點上,租用CSH(Cloud SteelHead),它是VM版的廣域網路加速設備,讓使用者在連線使用雲端服務時,也可以使用網路加速的功能。



藉由壓縮圖片、文字資料,加速開啟網頁及減少頻寬損耗 
為了要達到網路加速的效果,企業網路除了使用廣域網路加速設備、Proxy伺服器,減少重複連線及資料下載外,也能藉由像是內容網站等外部服務供應者,透過伺服器負載平衡(SLB,Server Loading Balancing)或ADC(Application Delivery Controller)設備,利用上面的壓縮圖片、優化CSS樣式及JavaScript等功能,降低傳輸頻寬外,還能加速網頁開啟速度。

這些功能除了能讓使用者,減少開啟網頁所需的流量外,如果企業網路內還建有網路服務或網站時,則能夠降低對外服務的流量,進而避免影響到企業內部使用者,例如F5 Web Accelerator模組,具備這些功能。

以壓縮圖片功能來說,由於現今用來上網的載具,已經不只有電腦,而是能透過智慧型手機、平板電腦等瀏覽。但網頁上的圖片,對於螢幕較小的設備而言,其實不需要原始圖片的大小。

圖片壓縮功能為了因應BYOD的趨勢,它能夠偵測使用者裝置,再透過降低圖片品質及大小的方式,快速提供給使用者。除此之外,該功能還可以移除圖片的Metadata等不必要資訊,或將圖片轉檔成不同的檔案格式。

而內容優化方面,它能夠壓縮文字並快取在設備上外,還能夠將像CSS樣式及JavaScript的資料,轉換成能快取在使用者端。因為像CSS樣式及JavaScript的物件,有些是能夠設定快取在使用者端,但物件在設計時沒有開啟該功能。而透過設備開啟後,使用者開啟網頁時,就不需要重新抓取網頁。

轉載自《iThome》