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