在今天重視關(guān)鍵性任務(wù)應(yīng)用及立即式響應(yīng)的世代,更多的應(yīng)用也隨著信息技術(shù)的發(fā)展而開(kāi)始依托網(wǎng)絡(luò)來(lái)進(jìn)行操控,使得常規(guī)業(yè)務(wù)與IT高度融合,眾多傳統(tǒng)業(yè)務(wù)模式被一個(gè)個(gè)IT應(yīng)用所取代,不僅節(jié)約了人力同時(shí)也將擴(kuò)大了業(yè)務(wù)覆蓋面,為企業(yè)帶來(lái)了更多的機(jī)遇!但隨著對(duì)于應(yīng)用的要求逐漸復(fù)雜,傳統(tǒng)的網(wǎng)絡(luò)技術(shù)已經(jīng)無(wú)法滿足現(xiàn)階段的需求,越來(lái)越多的擁塞、癱瘓以及安全問(wèn)題一次次考驗(yàn)著我們的IT應(yīng)用,即使當(dāng)有充分帶寬時(shí),延時(shí)(網(wǎng)絡(luò)傳輸文件所用的時(shí)間)也會(huì)降低應(yīng)用程序效率。面對(duì)如此困境我們究竟該如何去面對(duì)?
信息化時(shí)代的到來(lái)為我們帶來(lái)了前所未有的便利。隨著應(yīng)用水平的提高,企業(yè)對(duì)互聯(lián)網(wǎng)的應(yīng)用早已擴(kuò)大到電子商務(wù)、移動(dòng)辦公人員的VPN撥入、系統(tǒng)的遠(yuǎn)程維護(hù)等關(guān)系到企業(yè)日常運(yùn)行的應(yīng)用。但是在快捷與便利的后面,多樣化的辦公模式和復(fù)雜多變的上網(wǎng)環(huán)境無(wú)疑令企業(yè)的可持續(xù)增長(zhǎng)不得不面對(duì)更多的難題。現(xiàn)階段,為了解決越趨復(fù)雜的網(wǎng)絡(luò)問(wèn)題,及網(wǎng)絡(luò)應(yīng)用與安全集于一身的全新概念——“應(yīng)用交付網(wǎng)絡(luò)(ADN)”開(kāi)始了它的使命。
就目前來(lái)看,應(yīng)用交付有著兩個(gè)重要的發(fā)展趨勢(shì):
一是橫向發(fā)展趨勢(shì),應(yīng)用交付的功能、手段越來(lái)越多樣化,例如,它包括了安全、流量管理、流量負(fù)載分擔(dān)、鏈路負(fù)載均衡、VPN、網(wǎng)絡(luò)加速等。
二是縱向發(fā)展趨勢(shì),應(yīng)用交付從高端向普及化發(fā)展。此前,應(yīng)用交付設(shè)備首先在電信、移動(dòng)、銀行、大型網(wǎng)站等單位進(jìn)行了應(yīng)用,因?yàn)槠渚W(wǎng)絡(luò)流量瓶頸的現(xiàn)象最突出,另外的原因是此類設(shè)備太貴了。
惠爾頓公司于2008年研發(fā)上市的應(yīng)用加速AA系列產(chǎn)品,集成五大應(yīng)用加速技術(shù):數(shù)據(jù)流緩存技術(shù)、對(duì)象緩存技術(shù)、數(shù)據(jù)流壓縮技術(shù)、TCP協(xié)議優(yōu)化技術(shù)、QoS帶寬管理技術(shù),突破速度限制,為您的應(yīng)用加速,給您更加流暢的應(yīng)用體驗(yàn)。
一、數(shù)據(jù)流緩存技術(shù)

在我們使用遠(yuǎn)程應(yīng)用的時(shí)候,我們需要不斷的和服務(wù)器進(jìn)行交互、發(fā)送數(shù)據(jù)、接收數(shù)據(jù),這樣在客戶端和服務(wù)器之間的數(shù)據(jù)就好似流水一樣。在我們和服務(wù)器通信的數(shù)據(jù)的時(shí)候,可能有大量的數(shù)據(jù)是曾經(jīng)在客戶端和服務(wù)器之間已經(jīng)流通過(guò)。比如說(shuō),我們先執(zhí)行了一個(gè)SQL查詢語(yǔ)句,返回了1000記錄;后來(lái)增加了幾條記錄再執(zhí)行同樣的SQL查詢語(yǔ)句,這次返回的有1000多條記錄,但是這些記錄其中1000條記錄都是曾經(jīng)已經(jīng)從服務(wù)器到客戶端,這1000條記錄是否可以不再需要傳輸呢?那么,如果我們能在第一次傳輸?shù)臅r(shí)候,將這1000記錄都緩存在服務(wù)器和客戶端的網(wǎng)關(guān)設(shè)備上,當(dāng)再次查詢的時(shí)候就只需要只傳輸新增的那幾條記錄了。
首先,當(dāng)數(shù)據(jù)流通過(guò)網(wǎng)關(guān)設(shè)備的時(shí)候,在設(shè)備上建立數(shù)據(jù)的緩存和索引,如圖建立索引索引"16"和數(shù)據(jù)"13A5……6548"、"17"和數(shù)據(jù)"354A……5F23"、索引"18"和數(shù)據(jù)"1321……6542"等之間的對(duì)應(yīng)關(guān)系。然后,在準(zhǔn)備發(fā)送數(shù)據(jù)"……6548354A……5F238986……"時(shí),通過(guò)快速匹配算法,發(fā)現(xiàn)"354A……5F23"和已經(jīng)建立的索引能夠匹配,于是將"354A……5F23"替換成"17",這樣原來(lái)的數(shù)據(jù)就變成了"……6548178986……";最后,在接收端再交索引17還原成為數(shù)據(jù)"354A……5F23",這樣對(duì)于上層應(yīng)用接收到的數(shù)據(jù)就是"……6548354A……5F238986……",跟原始數(shù)據(jù)是完全一樣的。這種匹配替換可以同段數(shù)據(jù)流中替換很多次,甚至有時(shí)候整個(gè)數(shù)據(jù)流只需要一個(gè)索引就能完全的代替,這樣極大的減少了在網(wǎng)絡(luò)傳輸中的數(shù)據(jù)。對(duì)于用戶來(lái)說(shuō)這一切完全是透明的,但是用戶能感覺(jué)到在原來(lái)的網(wǎng)絡(luò)上傳輸了更多的數(shù)據(jù),數(shù)據(jù)傳輸?shù)酶炝恕?/font>
這種數(shù)據(jù)流緩存技術(shù),能夠大量地刪除重復(fù)數(shù)據(jù),如"13A5……6548"、"354A……5F23"、"1321……6542"等,這些數(shù)據(jù)只需要傳輸一次而無(wú)需不斷地在網(wǎng)絡(luò)上傳輸。由于數(shù)據(jù)和索引之間的長(zhǎng)度比可能很大,可能是5倍、10倍、甚至100倍,即是說(shuō)能夠?qū)⒃紨?shù)據(jù)壓縮5倍、10倍、甚至100倍,這樣極大的減少了數(shù)據(jù)在網(wǎng)絡(luò)上的傳輸,節(jié)約了帶寬,傳輸了更多的有效數(shù)據(jù),更加有效地利用了帶寬。在進(jìn)行數(shù)據(jù)匹配的時(shí)候,采用了線性匹配算法,使得數(shù)據(jù)的匹配更加快速。并且這種匹配算法跟匹配的數(shù)據(jù)在數(shù)據(jù)流中的位置是沒(méi)有關(guān)系的,即不管匹配的數(shù)據(jù)在數(shù)據(jù)流的前部、中部、還是后部都沒(méi)有關(guān)系,都能夠快速地匹配,這樣保證了更加有效的更多的數(shù)據(jù)匹配。
這種數(shù)據(jù)流緩存技術(shù),能夠加速所有基本于TCP協(xié)議的應(yīng)用,能夠有效地節(jié)約帶寬,更加有效地利用帶寬。
二、對(duì)象緩存技術(shù)

我們有很多的應(yīng)用,有很多的應(yīng)用協(xié)議,如HTTP、POP3、SMTP、CIFS,對(duì)于不同的協(xié)議,它們有各自己的對(duì)象。當(dāng)我們使用我們的應(yīng)用的時(shí)候,也需要不斷地請(qǐng)求服務(wù)器上的對(duì)象,比如一個(gè)網(wǎng)頁(yè)對(duì)象、一個(gè)圖片對(duì)象、郵件中的一個(gè)附件等,這種對(duì)象我們也有可能向服務(wù)器請(qǐng)求多次,但是可能這些對(duì)象在我們的多次請(qǐng)求過(guò)程中并沒(méi)有發(fā)生變化,或者我們很多客戶端同時(shí)請(qǐng)求這些對(duì)象。因此,能不能像數(shù)據(jù)流緩存技術(shù)那樣,將這些這對(duì)象也緩存起來(lái),加速我們的應(yīng)用呢?答案是肯定的,這就是對(duì)象緩存技術(shù)。
由于不同的應(yīng)用協(xié)議認(rèn)為的對(duì)象是不一樣的,需要不同的應(yīng)用協(xié)議區(qū)別設(shè)計(jì),他與對(duì)象緩存技術(shù)的原理是一樣的,所以HTTP協(xié)議的Web對(duì)象為例解釋對(duì)外對(duì)象緩存技術(shù)。這種技術(shù)可以有多種部署方式,根據(jù)方式的不同,產(chǎn)生的效果也是不同的。首先,可以只在客戶端部署對(duì)象緩存技術(shù)設(shè)備,以加速客戶端對(duì)應(yīng)用的訪問(wèn)。比如,在一個(gè)分支機(jī)構(gòu)里,在網(wǎng)關(guān)設(shè)備下10臺(tái)PC,現(xiàn)在這些PC都要訪問(wèn)遠(yuǎn)程應(yīng)用——公司網(wǎng)站。第一臺(tái)PC先通過(guò)網(wǎng)關(guān)設(shè)備訪問(wèn)了這個(gè)網(wǎng)站,在這個(gè)PC訪問(wèn)網(wǎng)站的時(shí)候,從網(wǎng)站下載了網(wǎng)頁(yè)、圖片、.swf文件、.css文件等對(duì)象。當(dāng)它下載這些對(duì)象的時(shí)候,在網(wǎng)關(guān)設(shè)備里也識(shí)別到了這些對(duì)象,于是在網(wǎng)關(guān)設(shè)備里為這些對(duì)象建立緩存。當(dāng)這臺(tái)PC再次訪問(wèn)的時(shí)候,或者其它PC訪問(wèn)的時(shí)候,如果這些對(duì)象沒(méi)有更新,那么就可以直接從本地的網(wǎng)關(guān)設(shè)備里將這些返回給這些PC。這樣,后來(lái)的訪問(wèn)都不需要再通過(guò)Internet訪問(wèn)原始的應(yīng)用服務(wù)器,不需要再在網(wǎng)絡(luò)上傳輸這些對(duì)象,不需要等待傳輸這些對(duì)象的時(shí)間——可能由于網(wǎng)絡(luò)延遲比較大,而傳輸這些對(duì)象需要比較長(zhǎng)的時(shí)間。這樣有效地節(jié)約了帶寬,減少了由于網(wǎng)絡(luò)延遲帶來(lái)的影響。
其次,可以只在服務(wù)器端部署緩存技術(shù)設(shè)備,以減輕服務(wù)器的負(fù)載、加速應(yīng)用的訪問(wèn)。一般的應(yīng)用可能很多的任務(wù),比如要處理復(fù)雜的業(yè)務(wù)邏輯、要連接后臺(tái)數(shù)據(jù)庫(kù)服務(wù)器查詢數(shù)據(jù)、要?jiǎng)討B(tài)生成對(duì)象、要將這些對(duì)象傳輸給遠(yuǎn)程客戶端。在遠(yuǎn)程客戶端訪問(wèn)應(yīng)用的時(shí)候,先通過(guò)緩存服務(wù)器,如果緩存服務(wù)器上有對(duì)象并且對(duì)象是最新,則緩存服務(wù)器就可以直接響應(yīng)客戶端的請(qǐng)求。并且在沒(méi)有客戶端請(qǐng)求的時(shí)候,如果緩存服務(wù)器比較空閑,則可以查檢對(duì)象是否過(guò)期,如果已經(jīng)過(guò)期,則更新對(duì)象。這樣就無(wú)需要等到請(qǐng)求這些對(duì)象的時(shí)候,再更新對(duì)象,以加速應(yīng)用的訪問(wèn)。這樣原始服務(wù)器,只需要傳輸一次對(duì)象到緩存服務(wù)器,之后的對(duì)象請(qǐng)求都將由緩存服務(wù)器完全代替原始服務(wù)器,以減少原始服務(wù)器的負(fù)載,這樣原始服務(wù)器可以專注于處理自己的業(yè)務(wù)邏輯。
甚至,還可以在服務(wù)器端和客戶端都部署緩存服務(wù)器,這樣既能節(jié)約帶寬、減少由于網(wǎng)絡(luò)延遲帶來(lái)的影響,還能減輕原始服務(wù)器的負(fù)載。進(jìn)一步的,還一個(gè)新的特點(diǎn),在緩存服務(wù)器中的對(duì)象需要更新的時(shí)候,由于在兩端的緩存服務(wù)器都舊的對(duì)象,而服務(wù)器端的緩存服務(wù)器同時(shí)還有最新的對(duì)象,這樣在更新對(duì)象的時(shí)候,只需要傳輸這個(gè)對(duì)象變化了的一不部分,而無(wú)需傳輸整個(gè)更新了的對(duì)象。這樣就更進(jìn)一步的節(jié)約了帶寬,更進(jìn)一步的有效地利用了帶寬。
三、數(shù)據(jù)流壓縮技術(shù)

雖然我們將數(shù)據(jù)流緩存到了網(wǎng)關(guān)設(shè)備里,但是有時(shí)候數(shù)據(jù)流可能在緩存并沒(méi)緩存,或者沒(méi)有全部緩存起來(lái),這樣還是需要在網(wǎng)關(guān)設(shè)備之間傳輸數(shù)據(jù)流。當(dāng)在進(jìn)行數(shù)據(jù)流傳輸?shù)臅r(shí)候,對(duì)數(shù)據(jù)流進(jìn)行壓縮,使原本比較大的數(shù)據(jù)變小,使數(shù)據(jù)傳輸變得更快。如圖,現(xiàn)在有1440字節(jié)的數(shù)據(jù)需要傳輸,在網(wǎng)關(guān)設(shè)備里將壓縮成只有510字節(jié),再通過(guò)Internet將其傳輸?shù)搅硪粋€(gè)網(wǎng)關(guān)設(shè)備,將其解壓成1440字節(jié)的數(shù)據(jù)。這樣在Internet傳輸?shù)臄?shù)據(jù)就只有510字節(jié),而不是原來(lái)的1440字節(jié)。這樣就更進(jìn)一步節(jié)約了帶寬,更中有效地利用了帶寬。
這種技術(shù)只需要對(duì)數(shù)據(jù)進(jìn)行壓縮,因此它具有速度快、資源消耗少的特點(diǎn),能基本上加速所有的基于TCP協(xié)議的應(yīng)用。
四、TCP協(xié)議優(yōu)化

TCP協(xié)議優(yōu)化有很多技術(shù),如快速連接、TCP滑動(dòng)窗口優(yōu)化、ACK代理應(yīng)答等。所謂快速連接,就是簡(jiǎn)化TCP連接建立的步驟,快速地建立TCP連接。眾所周知,TCP連接需要“三次握手”,一是客戶端先通過(guò)客戶端的代理網(wǎng)關(guān)和服務(wù)器端的代理網(wǎng)關(guān)向服務(wù)器發(fā)送一個(gè)SYN請(qǐng)求,二是服務(wù)在收到SYN請(qǐng)求之后通過(guò)服務(wù)器端的代理網(wǎng)和客戶端的代理網(wǎng)關(guān)關(guān)回復(fù)一個(gè)SYN/ACK應(yīng)答,三是客戶端在收到SYN/ACK之后通過(guò)客戶端的代理網(wǎng)關(guān)和服務(wù)器端的代理網(wǎng)關(guān)再回復(fù)一個(gè)ACK,這樣對(duì)建立完成了TCP連接。快速連接對(duì)連接建立的流程做了優(yōu)化,一是客戶端發(fā)送了一個(gè)SYN請(qǐng)求,這個(gè)SYN請(qǐng)求被代理網(wǎng)關(guān)收到,于是代理網(wǎng)關(guān)代替原始服務(wù)器給客戶端回復(fù)一個(gè)SYN/ACK,于是客戶端就能立即收到SYN/ACK,并回復(fù)一個(gè)ACK給代理網(wǎng)關(guān),這樣客戶端這邊的連接就建立完成了。代理網(wǎng)關(guān)在回復(fù)了SYN/ACK之后,將原SYN包保持不變繼續(xù)發(fā)送給服務(wù)器端的代理網(wǎng)關(guān)。服務(wù)器的代理網(wǎng)關(guān)在收到SYN之后,將其中的初始序列號(hào)記錄下來(lái),并把SYN請(qǐng)求轉(zhuǎn)發(fā)給原始服務(wù)器。原始服務(wù)器收到SYN請(qǐng)求之后,回復(fù)一個(gè)SYN/ACK,服務(wù)器端的代理網(wǎng)關(guān)在收到SYN/ACK之后,將中的SYN又記錄下來(lái),并且不做任何響應(yīng),因?yàn)榭蛻舳藭?huì)再發(fā)送一個(gè)ACK包,只需要修改這個(gè)ACK包,然后發(fā)送給原始服務(wù)器,這樣服務(wù)器端的TCP連接也建立完成了。這樣,客戶端建立TCP連接的時(shí)間幾乎為零,而服務(wù)器端建立TCP連接也只用了0.5RTT,而原本建立TCP連接需要1.5RTT。
優(yōu)化TCP滑動(dòng)窗口,就是對(duì)TCP滑動(dòng)窗口進(jìn)行動(dòng)態(tài)的調(diào)整,以使其更加適合當(dāng)前的網(wǎng)絡(luò)狀況。TCP的滑動(dòng)窗口決定了TCP發(fā)送數(shù)據(jù)的數(shù)據(jù),滑動(dòng)窗口大,發(fā)送速率就大,滑動(dòng)窗口有,發(fā)送速度就小。動(dòng)態(tài)的調(diào)整滑動(dòng)窗口就是,在網(wǎng)絡(luò)比較好的時(shí)候,增大滑動(dòng)窗口,以加速數(shù)據(jù)的發(fā)送;當(dāng)網(wǎng)絡(luò)狀況不是很好的時(shí)候,減小滑動(dòng)窗口,以減小數(shù)據(jù)發(fā)送的速度,以緩解網(wǎng)絡(luò)擁塞的狀況。
ACK代理應(yīng)答,就是網(wǎng)關(guān)設(shè)備一直代理遠(yuǎn)端服務(wù)器對(duì)本地的TCP請(qǐng)求作應(yīng)答,這樣使在Internet的通信就像是在局域網(wǎng)一樣快速響應(yīng)。當(dāng)然,由于對(duì)于上層應(yīng)用來(lái)說(shuō),通信就是在局域網(wǎng)內(nèi)進(jìn)行,可能會(huì)導(dǎo)致其發(fā)送數(shù)據(jù)的速度過(guò)快。因此,還需要相關(guān)的機(jī)制保證不會(huì)過(guò)快地發(fā)送數(shù)據(jù)而導(dǎo)致網(wǎng)絡(luò)的擁塞。
這一些TCP優(yōu)化技術(shù),同樣也具有速度快、資源消耗少的特點(diǎn),能對(duì)所有的基本TCP協(xié)議的應(yīng)用加速,能在網(wǎng)絡(luò)延遲比較大的時(shí)候也能有效地工作。
五、QoS帶寬管理
我們可能有很多應(yīng)用,比如ERP、WEB、財(cái)務(wù)、政務(wù)、上網(wǎng)等。而這些應(yīng)用的優(yōu)先級(jí)可是不一樣的,有的可能比較優(yōu)先,像財(cái)務(wù)、政務(wù),而有的可能優(yōu)先級(jí)不高,像上網(wǎng)這種應(yīng)用。因此需要對(duì)這些應(yīng)用所使用的帶寬按照優(yōu)先級(jí)別進(jìn)行分配,保證關(guān)鍵應(yīng)用——優(yōu)先級(jí)高的應(yīng)用——的帶寬,而限制非關(guān)鍵應(yīng)用——優(yōu)先級(jí)不高的應(yīng)用——的帶寬。這樣,更加有效地利用帶寬。
當(dāng)然還有一些其它的應(yīng)用加速技術(shù),如減少條件請(qǐng)求、保持持久連接、對(duì)象壓縮技術(shù)等。對(duì)于具體的應(yīng)用,可以根據(jù)應(yīng)用的特性,使用這些加速技術(shù)中的一種或幾種的組合,來(lái)得到最有效的加速效果。下圖為這些加速技術(shù)的一個(gè)匯總,在進(jìn)行加速技術(shù)組合的時(shí)候,以作參考。
節(jié)約帶寬 減輕服務(wù)器負(fù)載 減少網(wǎng)絡(luò)延遲 廣泛適用性 數(shù)據(jù)流緩存技術(shù) √ √ 對(duì)象緩存技術(shù) √ √ √ 數(shù)據(jù)流壓縮技術(shù) √ √ TCP協(xié)議優(yōu)化技術(shù) √ √ QoS帶寬管理 √
惠爾頓研發(fā)的這一技術(shù)和相對(duì)應(yīng)的應(yīng)用加速解決方案,關(guān)注應(yīng)用,貼近應(yīng)用,以應(yīng)用為導(dǎo)向,保證關(guān)鍵業(yè)務(wù)的可靠性、可用性與安全性。可以預(yù)見(jiàn),我們的管理軟件網(wǎng)絡(luò)優(yōu)化專家的經(jīng)營(yíng)理念將伴隨著大應(yīng)用交付于網(wǎng)絡(luò)的時(shí)代的到來(lái)而更加璀璨!