一種用于網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)闹虚g交換設(shè)備及網(wǎng)絡(luò)通信系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)傳輸,特別涉及計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)流量加速設(shè)備。
【背景技術(shù)】
[0002]在當(dāng)前網(wǎng)絡(luò)環(huán)境下,網(wǎng)絡(luò)流量呈井噴式增長,由此導(dǎo)致現(xiàn)有網(wǎng)絡(luò)鏈路無法滿足其對(duì)于網(wǎng)絡(luò)帶寬、時(shí)延等方面的需求;并且巨大的網(wǎng)絡(luò)流量也會(huì)導(dǎo)致丟包率的增加,由高丟包率引發(fā)的重新傳輸又會(huì)進(jìn)一步增加網(wǎng)絡(luò)鏈路上的流量,而這種影響是循環(huán)遞進(jìn)的。在上述的環(huán)境下進(jìn)行的TCP數(shù)據(jù)傳輸,其傳輸效率低、耗費(fèi)時(shí)間長、并且會(huì)增加用戶開銷,因此急需一種能夠在現(xiàn)有的廣域網(wǎng)環(huán)境下,加速數(shù)據(jù)傳輸?shù)募夹g(shù)。
[0003]為解決上述問題,在一部分現(xiàn)有技術(shù)中采用了 UDP封裝TCP的方法:即將一個(gè)TCP連接轉(zhuǎn)化為TCP-UDP、UDP-UDP, UDP-TCP的三個(gè)連接,并且在進(jìn)行UDP封裝時(shí)對(duì)數(shù)據(jù)流量進(jìn)行壓縮、緩存、去冗余等技術(shù)以優(yōu)化上行下行的網(wǎng)絡(luò)數(shù)據(jù)傳輸。例如,在專利公開號(hào)為CN102820915B的中國專利中,提出了 “改善TCP傳輸性能的衛(wèi)星鏈路系統(tǒng)及其使用方法”,通過在衛(wèi)星鏈路中引入可使TCP與UDP協(xié)議相互轉(zhuǎn)化的代理服務(wù)器,而在代理服務(wù)器之間建立可靠的UDP協(xié)議傳輸;由此,在保證原協(xié)議不被修改的情況下,利用UDP協(xié)議的高效快速的特點(diǎn)以進(jìn)行透明的加速過程。
[0004]然而,上述現(xiàn)有技術(shù)通常使用傳統(tǒng)的三層交換機(jī)制,因此無法對(duì)特定數(shù)據(jù)流進(jìn)行識(shí)別而只能做出統(tǒng)一動(dòng)作,并且通常不會(huì)考慮在轉(zhuǎn)發(fā)處理時(shí)識(shí)別不同類型的數(shù)據(jù)包;其表現(xiàn)為對(duì)所有經(jīng)過代理網(wǎng)關(guān)的數(shù)據(jù)流量進(jìn)行無差別的加速處理,由此而無法做到針對(duì)不同的用戶和/或應(yīng)用實(shí)施差異化的加速服務(wù),例如,無法優(yōu)先對(duì)優(yōu)先級(jí)較高的用戶和/或網(wǎng)速對(duì)用戶體驗(yàn)影響較大的應(yīng)用(如流媒體)進(jìn)行加速。
[0005]此外,在上述現(xiàn)有技術(shù)中,位于收發(fā)兩端的代理網(wǎng)關(guān)通常需先進(jìn)行參數(shù)協(xié)商,并會(huì)因此消耗一段交互時(shí)間。
[0006]為解決無法針對(duì)用戶的不同需求進(jìn)行不同網(wǎng)絡(luò)應(yīng)用的加速的問題,在現(xiàn)有技術(shù)中采用了提取上層協(xié)議中相應(yīng)字段以識(shí)別不同的應(yīng)用的方法。例如,在專利公開號(hào)為CN102904959A的中國專利中,提出了一種通過提取http協(xié)議報(bào)頭并對(duì)與加速策略相匹配的數(shù)據(jù)進(jìn)行加速的方法。
[0007]然而,上述現(xiàn)有技術(shù)使用了網(wǎng)關(guān)作為加速設(shè)備,因此僅可對(duì)與網(wǎng)關(guān)相連的用戶的應(yīng)用進(jìn)行加速,而無法針對(duì)優(yōu)先級(jí)不同的用戶進(jìn)行加速。
[0008]此外,在上述現(xiàn)有技術(shù)中,提取上層協(xié)議的字段相比于提取網(wǎng)絡(luò)層和傳輸層協(xié)議的字段會(huì)花費(fèi)更長的處理時(shí)間,并會(huì)因此降低網(wǎng)絡(luò)傳輸?shù)乃俾省?br>[0009]另外,在上述現(xiàn)有技術(shù)中,位于收發(fā)兩端的網(wǎng)關(guān)同樣需要先進(jìn)行參數(shù)協(xié)商,并會(huì)因此消耗一段交互時(shí)間。
【發(fā)明內(nèi)容】
[0010]針對(duì)網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)默F(xiàn)有技術(shù)中普遍存在的無法對(duì)特定用戶和/或應(yīng)用進(jìn)行加速的問題,本發(fā)明提出了一種基于中間交換設(shè)備的TCP定向加速方法和系統(tǒng)。本發(fā)明的方法對(duì)傳出中間交換設(shè)備的特定用戶和/或應(yīng)用的TCP數(shù)據(jù)進(jìn)行壓縮并使用特定端口進(jìn)行UDP封裝,對(duì)傳入中間交換設(shè)備的特定用戶和/或應(yīng)用的UDP數(shù)據(jù)進(jìn)行解壓并還原TCP數(shù)據(jù),由此達(dá)到針對(duì)優(yōu)先級(jí)較高的用戶或者網(wǎng)速對(duì)用戶體驗(yàn)影響較大的應(yīng)用進(jìn)行加速的目的。
[0011]本發(fā)明所提供了一種用于數(shù)據(jù)傳輸?shù)闹虚g交換設(shè)備,包括:
[0012]流表,其用于儲(chǔ)存用以轉(zhuǎn)發(fā)屬于特定用戶和/或應(yīng)用的TCP和/或UDP數(shù)據(jù)包的規(guī)則;
[0013]識(shí)別截獲模塊,其用于轉(zhuǎn)發(fā)符合所述規(guī)則的數(shù)據(jù)包以進(jìn)行加速并且將不符合所述規(guī)則的數(shù)據(jù)包轉(zhuǎn)發(fā)出所述中間交換設(shè)備;以及
[0014]轉(zhuǎn)發(fā)模塊,其用于轉(zhuǎn)發(fā)經(jīng)加速的符合所述規(guī)則的數(shù)據(jù)包;以及
[0015]處理模塊,其用于所述加速,以壓縮TCP數(shù)據(jù)包的報(bào)文并添加端口標(biāo)記以封裝成UDP數(shù)據(jù)包,和/或解壓UDP數(shù)據(jù)包以還原TCP數(shù)據(jù)包;
[0016]其中,所述流表、所述識(shí)別截獲模塊與所述轉(zhuǎn)發(fā)模塊位于所述中間交換設(shè)備的內(nèi)核空間。
[0017]對(duì)比于采用了利用UDP封裝TCP的方法的現(xiàn)有技術(shù),本發(fā)明使用結(jié)合SDN技術(shù)中Openflow標(biāo)準(zhǔn)的四層轉(zhuǎn)發(fā)機(jī)制,以識(shí)別數(shù)據(jù)包中表示源地址、目的地址、源端口、目的端口、及協(xié)議的字段。由此,用于網(wǎng)絡(luò)數(shù)據(jù)加速的中間交換設(shè)備可識(shí)別數(shù)據(jù)包的相應(yīng)字段,并根據(jù)這些字段針對(duì)特定用戶和/或應(yīng)用進(jìn)行加速。
[0018]此外,本發(fā)明部署在通信雙方的主機(jī)之間的中間交換設(shè)備在將包含TCP報(bào)文的數(shù)據(jù)包封裝成包含UDP報(bào)文的數(shù)據(jù)包時(shí)將目的端口標(biāo)記成特定端口。由此,與客戶端相連接的中間交換設(shè)備可主動(dòng)開啟加速功能,而與服務(wù)端相連接的中間交換設(shè)備可被動(dòng)感知,并可因此節(jié)省交互時(shí)間以及網(wǎng)絡(luò)數(shù)據(jù)流量、提高網(wǎng)絡(luò)數(shù)據(jù)的傳輸效率。
[0019]對(duì)比于采用了提取上層協(xié)議中相應(yīng)字段以識(shí)別不同的應(yīng)用的現(xiàn)有技術(shù),本發(fā)明使用了中間交換設(shè)備代替網(wǎng)關(guān)以作為加速設(shè)備。由此,本發(fā)明的中間交換設(shè)備可對(duì)經(jīng)由該中間交換設(shè)備的不同用戶的數(shù)據(jù)進(jìn)行識(shí)別,并優(yōu)先對(duì)優(yōu)先級(jí)較高的用戶進(jìn)行加速。
[0020]此外,本發(fā)明提取了相較于提取上層協(xié)議的字段花費(fèi)較少處理時(shí)間的網(wǎng)絡(luò)層和傳輸層協(xié)議的字段。由此,提高了網(wǎng)絡(luò)傳輸?shù)乃俾省?br>[0021]另外,本發(fā)明無需使收發(fā)兩端的加速設(shè)備預(yù)先進(jìn)行參數(shù)協(xié)商,并因此節(jié)省了交互時(shí)間。
【附圖說明】
[0022]以下參照附圖對(duì)本發(fā)明實(shí)施例作進(jìn)一步說明,其中:
[0023]圖1是基于本發(fā)明的中間交換設(shè)備的網(wǎng)絡(luò)通信系統(tǒng)的示意圖;
[0024]圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的中間交換設(shè)備的示意圖;
[0025]圖3是基于本發(fā)明的圖2的實(shí)施例的中間交換設(shè)備的定向加速方法的主動(dòng)模式的流程圖;
[0026]圖4是基于圖2的實(shí)施例的定向加速方法的被動(dòng)模式的流程圖;
[0027]圖5是根據(jù)本發(fā)明的另一個(gè)實(shí)施例的中間交換設(shè)備的模塊的示意圖;
[0028]圖6是從客戶端發(fā)出的TCP數(shù)據(jù)包的報(bào)文的示意圖;
[0029]圖7是從客戶端中間交換設(shè)備發(fā)出的UDP數(shù)據(jù)包的報(bào)文的示意圖;
[0030]圖8是發(fā)生網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)后的由服務(wù)端中間交換設(shè)備接收到來自客戶端中間交換設(shè)備的UDP數(shù)據(jù)包的報(bào)文的示意圖;
[0031]圖9是由服務(wù)端中間交換設(shè)備解壓后得到的TCP數(shù)據(jù)包在發(fā)生網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)后的報(bào)文的不意圖;
[0032]圖10是由服務(wù)端中間交換設(shè)備解壓后得到的TCP數(shù)據(jù)包在未發(fā)生網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)時(shí)的報(bào)文的示意圖;
【具體實(shí)施方式】
[0033]下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作詳細(xì)說明。
[0034]圖1示出了基于本發(fā)明的中間交換設(shè)備的網(wǎng)絡(luò)通信系統(tǒng)的示意圖。如圖1所示,在所述系統(tǒng)中,包括通過廣域網(wǎng)相互通信的至少一個(gè)客戶端主機(jī)C1,至少一個(gè)服務(wù)端主機(jī)C2,以及其他用于廣域網(wǎng)通信的必要設(shè)備。在圖1的系統(tǒng)中,還包括至少兩個(gè)本發(fā)明的中間交換設(shè)備E1與E 2,其分別同客戶端主機(jī)C1與服務(wù)端主機(jī)C 2相連接,分別位于客戶端主機(jī)C:與廣域網(wǎng)之間和廣域網(wǎng)與服務(wù)端主機(jī)C2之間。所述中間交換設(shè)備E 1與E 2可以部署在客戶端主機(jī)與服務(wù)端主機(jī)之間的任意位置,也可以在現(xiàn)有的用于廣域網(wǎng)通信的必要設(shè)備上實(shí)現(xiàn),例如,接入點(diǎn)、網(wǎng)關(guān)、有線路由、無線路由等;其中,優(yōu)選地,將所述中間交換設(shè)備部署在接近所述客戶端主機(jī)和所述服務(wù)端主機(jī)的位置上。
[0035]圖1系統(tǒng)的工作流程可以簡單描述為:在由(^向(:2傳輸網(wǎng)絡(luò)數(shù)據(jù)的過程中,首先,(^向E i發(fā)送TCP數(shù)據(jù)包;然后,E i壓縮該TCP數(shù)據(jù)包并用UDP協(xié)議進(jìn)行封裝(后面將通過