專利名稱:Nat設(shè)備、napt設(shè)備和tcp應(yīng)用引流的處理方法與處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,具體而言,涉及一種NAT設(shè)備、NAPT設(shè)備和TCP應(yīng)用引流的處理方法與處理系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)的高速發(fā)展,每天都有各種各樣的應(yīng)用程序誕生。P2P (點對點)、Web視頻(也即在線視頻)這類應(yīng)用占用了大量的帶寬。為了保證重要應(yīng)用的服務(wù)質(zhì)量,企業(yè)、運(yùn)營商需要根據(jù)應(yīng)用的類型來進(jìn)行路由選路,例如將占帶寬較大、但是不重要的應(yīng)用引到一條對質(zhì)量要求不高的鏈路,而將重要的應(yīng)用引到一條質(zhì)量較好的鏈路。
在新建會話時(也即收到連接的第一個報文時),就根據(jù)報文的內(nèi)容進(jìn)行應(yīng)用識另IJ,然后根據(jù)IP、端口、以及應(yīng)用這些信息做路由查找。在網(wǎng)絡(luò)設(shè)備收到第一個報文時,對于UDP承載的應(yīng)用,一般來講其可用信息比較多,選擇首部的目的端口和負(fù)載內(nèi)容來進(jìn)行識別。對于TCP承載的應(yīng)用,由于握手報文沒有任何負(fù)載,則只能選擇使用目的端口來進(jìn)行識別。然而,對于基于TCP的應(yīng)用,在收到客戶端發(fā)往服務(wù)器的第一個同步報文的時候,沒有任何負(fù)載,對于應(yīng)用識別有用的信息主要是源、目的IP地址和端口信息,而此時往往不足以或者不夠準(zhǔn)確的識別這個連接的應(yīng)用類型,只能根據(jù)源、目的IP、端口情況先做一個粗略的應(yīng)用識別,并進(jìn)行選路。例如在不使用插件的情況下,主流的在線視頻的目的端口都是80,也即承載在HTTP協(xié)議之上,根據(jù)第一個TCP報文只能識別成HTTP協(xié)議,而不能精確到是某一種Web視頻。但是,在NAT/NAPT (網(wǎng)絡(luò)地址轉(zhuǎn)換/網(wǎng)絡(luò)地址端口轉(zhuǎn)換)的應(yīng)用場景下,重新進(jìn)行選路后,由于源IP/端口發(fā)生改變,會導(dǎo)致服務(wù)器復(fù)位這個鏈接,從而導(dǎo)致應(yīng)用中斷,無法實現(xiàn)引流。以NAT模式下的TCP應(yīng)用為例,如圖I所示,由C (客戶端)訪問S (YouKu服務(wù)器)時,經(jīng)過一臺NAT設(shè)備,做源地址轉(zhuǎn)換,報文序列如下表I所示。其中,當(dāng)C通過NAT設(shè)備訪問S時,做源地址轉(zhuǎn)換,從C_>S的默認(rèn)出接口為el,現(xiàn)在需要將YouKu視頻引流到e2上。下表中的第4個報文為TCP的I3USH報文,包含TCP負(fù)載。根據(jù)TCP負(fù)載將此連接識別為YouKu視頻,根據(jù)應(yīng)用類型重新查找到出接口為e2。由于做源NAT,這個報文從NAT設(shè)備發(fā)出去時,其源IP變更為e2. IP。S收到來自一個e2. IP的報文,是沒有經(jīng)過TCP握手的,導(dǎo)致應(yīng)用中斷。表I報文序列表
權(quán)利要求
1.一種TCP應(yīng)用引流的處理方法,其特征在于,包括 NAT設(shè)備在接收到第一報文后,對所述第一報文中TCP負(fù)載進(jìn)行應(yīng)用識別,并根據(jù)識別出的應(yīng)用類型和目的IP地址重新選路,確定TCP應(yīng)用被引流時對應(yīng)的出接口,其中,所述第一報文為客戶端經(jīng)由所述NAT設(shè)備向服務(wù)器發(fā)送的具有TCP負(fù)載的報文; 所述NAT設(shè)備進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換,其中,轉(zhuǎn)換后的源IP地址為所述TCP應(yīng)用被引流時對應(yīng)出接口的IP地址; 所述NAT設(shè)備與所述服務(wù)器握手,其中,握手報文的源IP地址為所述轉(zhuǎn)換后的源IP地址;以及 所述NAT設(shè)備向所述服務(wù)器發(fā)送所述第一報文。
2.根據(jù)權(quán)利要求I所述的處理方法,其特征在于,所述第一報文為所述客戶端向所述服務(wù)器發(fā)送的第一個具有TCP負(fù)載的報文。
3.根據(jù)權(quán)利要求I所述的處理方法,其特征在于,所述NAT設(shè)備與所述服務(wù)器握手包括 所述NAT設(shè)備向所述服務(wù)器發(fā)送SYN信號; 所述服務(wù)器向所述NAT設(shè)備返回SYN-ACK信號;以及 所述NAT設(shè)備向所述服務(wù)器發(fā)送ACK信號。
4.根據(jù)權(quán)利要求I所述的處理方法,其特征在于,在所述NAT設(shè)備向所述服務(wù)器發(fā)送所述第一報文后,所述方法還包括 NAT設(shè)備在接收到第二報文后,所述NAT設(shè)備進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換和TCP序列號轉(zhuǎn)換,其中,所述第二報文為所述客戶端經(jīng)由所述NAT設(shè)備向所述服務(wù)器發(fā)送的報文;以及 NAT設(shè)備在接收到第三報文后,所述NAT設(shè)備進(jìn)行TCP序列號轉(zhuǎn)換,其中,所述第三報文為所述服務(wù)器經(jīng)由所述NAT設(shè)備向所述客戶端發(fā)送的報文。
5.—種TCP應(yīng)用引流的處理方法,其特征在于,包括 NAPT設(shè)備在接收到第一報文后,對所述第一報文中TCP負(fù)載進(jìn)行應(yīng)用識別,并根據(jù)識別出的應(yīng)用類型和目的IP地址重新選路,確定TCP應(yīng)用被引流時對應(yīng)的出接口,其中,所述第一報文為客戶端經(jīng)由所述NAPT設(shè)備向服務(wù)器發(fā)送的具有TCP負(fù)載的報文; 所述NAPT設(shè)備進(jìn)行網(wǎng)絡(luò)地址及端口轉(zhuǎn)換,其中,轉(zhuǎn)換后的源IP地址為所述TCP應(yīng)用被引流時對應(yīng)出接口的IP地址,轉(zhuǎn)換后的源端口號為所述NAPT設(shè)備動態(tài)分配的端口號;所述NAPT設(shè)備與所述服務(wù)器握手,其中,握手報文的源IP地址為所述轉(zhuǎn)換后的源IP地址,所述握手報文的源端口號為所述轉(zhuǎn)換后的源端口號;以及所述NAPT設(shè)備向所述服務(wù)器發(fā)送所述第一報文。
6.根據(jù)權(quán)利要求5所述的處理方法,其特征在于,在所述NAPT設(shè)備向所述服務(wù)器發(fā)送所述第一報文后,所述方法還包括 NAPT設(shè)備在接收到第二報文后,所述NAPT設(shè)備進(jìn)行網(wǎng)絡(luò)地址、端口轉(zhuǎn)換和TCP序列號轉(zhuǎn)換,其中,所述第二報文為所述客戶端經(jīng)由所述NAPT設(shè)備向所述服務(wù)器發(fā)送的報文;以及 NAPT設(shè)備在接收到第三報文后,所述NAPT設(shè)備進(jìn)行TCP序列號轉(zhuǎn)換,其中,所述第三報文為所述服務(wù)器經(jīng)由所述NAPT設(shè)備向所述客戶端發(fā)送的報文。
7.一種NAT設(shè)備,其特征在于,包括接收模塊,用于接收第一報文,其中,所述第一報文為客戶端經(jīng)由NAT設(shè)備向服務(wù)器發(fā)送的具有TCP負(fù)載的報文; 應(yīng)用識別模塊,用于識別所述第一報文中TCP負(fù)載的應(yīng)用類型; 應(yīng)用引流模塊,用于根據(jù)識別出的應(yīng)用類型和目的IP地址重新選路,以確定TCP應(yīng)用被引流時對應(yīng)的出接口; IP轉(zhuǎn)換模塊,用于進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換,其中,轉(zhuǎn)換后的源IP地址為所述TCP應(yīng)用被引流時對應(yīng)出接口的IP地址; 握手模塊,用于與所述服務(wù)器握手,其中,握手報文的源IP地址為所述轉(zhuǎn)換后的源IP地址;以及 發(fā)送模塊,用于向所述服務(wù)器發(fā)送所述第一報文。
8.一種NAPT設(shè)備,其特征在于,包括 接收模塊,用于接收第一報文,其中,所述第一報文為客戶端經(jīng)由NAPT設(shè)備向服務(wù)器發(fā)送的具有TCP負(fù)載的報文; 應(yīng)用識別模塊,用于識別所述第一報文中TCP負(fù)載的應(yīng)用類型; 應(yīng)用引流模塊,用于根據(jù)識別出的應(yīng)用類型和目的IP地址重新選路,以確定TCP應(yīng)用被引流時對應(yīng)的出接口; IP及端口轉(zhuǎn)換模塊,用于進(jìn)行網(wǎng)絡(luò)地址及端口轉(zhuǎn)換,其中,轉(zhuǎn)換后的源IP地址為所述TCP應(yīng)用被引流時對應(yīng)出接口的IP地址,轉(zhuǎn)換后的源端口號為所述NAPT設(shè)備動態(tài)分配的端□號; 握手模塊,用于與所述服務(wù)器握手,其中,握手報文的源IP地址為所述轉(zhuǎn)換后的源IP地址,所述握手報文的源端口號為所述轉(zhuǎn)換后的源端口號;以及發(fā)送模塊,用于向所述服務(wù)器發(fā)送所述第一報文。
9.一種TCP應(yīng)用引流的處理系統(tǒng),其特征在于,包括客戶端、NAT設(shè)備和服務(wù)器,其中, 所述客戶端用于經(jīng)由所述NAT設(shè)備向所述服務(wù)器發(fā)送第一報文,其中,所述第一報文為具有TCP負(fù)載的報文; 所述NAT設(shè)備用于在接收到所述第一報文后,對所述第一報文中TCP負(fù)載進(jìn)行應(yīng)用識另IJ,并根據(jù)識別出的應(yīng)用類型和目的IP地址重新選路,以確定TCP應(yīng)用被引流時對應(yīng)的出接口 ; 所述NAT設(shè)備還用于進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換,并與所述服務(wù)器握手,其中,轉(zhuǎn)換后的源IP地址為所述TCP應(yīng)用被引流時對應(yīng)出接口的IP地址,握手報文的源IP地址為所述轉(zhuǎn)換后的源IP地址; 所述NAT設(shè)備還用于與所述服務(wù)器握手后,向所述服務(wù)器發(fā)送所述第一報文;以及 所述服務(wù)器用于與所述NAT設(shè)備握手后,接收所述第一報文。
10.一種TCP應(yīng)用引流的處理系統(tǒng),其特征在于,包括客戶端、NAPT設(shè)備和服務(wù)器,其中, 所述客戶端用于經(jīng)由所述NAPT設(shè)備向所述服務(wù)器發(fā)送第一報文,其中,所述第一報文為具有TCP負(fù)載的報文; 所述NAPT設(shè)備用于在接收到所述第一報文后,對所述第一報文中TCP負(fù)載進(jìn)行應(yīng)用識另IJ,并根據(jù)識別出的應(yīng)用類型和目的IP地址重新選路,以確定TCP應(yīng)用被引流時對應(yīng)的出接口 ; 所述NAPT設(shè)備還用于進(jìn)行地址及端口轉(zhuǎn)換,并與所述服務(wù)器握手,其中,轉(zhuǎn)換后的源IP地址為所述TCP應(yīng)用被引流時對應(yīng)出接口的IP地址,轉(zhuǎn)換后的源端口號為所述NAPT設(shè)備動態(tài)分配的端口號,握手報文的源IP地址為所述轉(zhuǎn)換后的源IP地址,所述握手報文的源端口號為所述轉(zhuǎn)換后的源端口號; 所述NAPT設(shè)備還用于與所述服務(wù)器握手后,向所述服務(wù)器發(fā)送所述第一報文;以及 所述服務(wù)器用于與所述NAPT設(shè)備握手后,接收所述第一報文。
全文摘要
本發(fā)明公開了一種NAT設(shè)備、NAPT設(shè)備和TCP應(yīng)用引流的處理方法與處理系統(tǒng)。該處理方法包括以下步驟NAT設(shè)備在接收到客戶端向服務(wù)器發(fā)送的具有TCP負(fù)載的報文,在進(jìn)行應(yīng)用識別并基于應(yīng)用類型和目的IP地址重新選路后,并不直接將這個報文做網(wǎng)絡(luò)地址轉(zhuǎn)換后發(fā)送至服務(wù)器,而是在NAT設(shè)備上重新與服務(wù)器握手,也即重新建立TCP連接,然后再將該具有TCP負(fù)載的報文向服務(wù)器發(fā)送,能夠?qū)崿F(xiàn)NAT模式下TCP應(yīng)用引流。在NAPT模式下的TCP應(yīng)用引流的處理方法與在NAT模式下的TCP應(yīng)用引流的處理方法相似,因而,通過本發(fā)明的思想,也能夠?qū)崿F(xiàn)NAPT模式下的TCP應(yīng)用引流,從而能夠幫助企業(yè)、運(yùn)營商有效利用帶寬資源,保證重要應(yīng)用的服務(wù)質(zhì)量。
文檔編號H04L29/12GK102801824SQ20121031114
公開日2012年11月28日 申請日期2012年8月28日 優(yōu)先權(quán)日2012年8月28日
發(fā)明者李矩希 申請人:山石網(wǎng)科通信技術(shù)(北京)有限公司