專利名稱:一種基于nat的數(shù)據(jù)路由方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種基于NAT的數(shù)據(jù)路由方法及其裝置。
背景技術(shù):
NAT (Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)是將IP數(shù)據(jù)報文頭中的IP 地址轉(zhuǎn)換為另一個IP地址的過程。在實際應(yīng)用中,NAT主要用于實現(xiàn)私有網(wǎng)絡(luò)訪問公共網(wǎng) 絡(luò)的功能。這種通過使用少量的公網(wǎng)IP地址代表較多的私網(wǎng)IP地址的方式,將有助于減 緩可用IP地址空間的枯竭。圖1示出了一種NAT的典型組網(wǎng)架構(gòu),其中私網(wǎng)用戶主機(jī)使用私網(wǎng)IP地址 192. 168. 1.3,公網(wǎng)服務(wù)器使用公網(wǎng)IP地址1. 1. 1.2。基于該架構(gòu),私網(wǎng)用戶主機(jī)與公網(wǎng)服 務(wù)器進(jìn)行信息交互的過程為私網(wǎng)用戶主機(jī)向公網(wǎng)服務(wù)器發(fā)送IP報文,該IP報文通過NAT 設(shè)備;NAT設(shè)備查看報頭內(nèi)容,發(fā)現(xiàn)該報文是發(fā)往公網(wǎng)的,將其源IP地址字段的私網(wǎng)地址 192. 168. 1. 3轉(zhuǎn)換成一個可在hternet上選路的公網(wǎng)地址20. 1. 1. 1,并將該報文發(fā)送給公 網(wǎng)服務(wù)器,同時在NAT設(shè)備的網(wǎng)絡(luò)地址轉(zhuǎn)換表中記錄這一映射關(guān)系;公網(wǎng)服務(wù)器給私網(wǎng)用 戶主機(jī)發(fā)送的應(yīng)答報文(其初始目的IP地址為20. 1. 1. 1)到達(dá)NAT設(shè)備后,NAT設(shè)備再次 查看報頭內(nèi)容,然后查找當(dāng)前網(wǎng)絡(luò)地址轉(zhuǎn)換表的記錄,用私網(wǎng)地址192. 168. 1.3替換初始 的目的IP地址。NAT機(jī)制隱藏了私網(wǎng)的內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu),具有“屏蔽”私網(wǎng)主機(jī)的作用,但是在實際 應(yīng)用中,可能需要給公網(wǎng)提供訪問私網(wǎng)主機(jī)的機(jī)會,如給公網(wǎng)提供一臺WEB服務(wù)器,或是 一臺FTP (File Transport Protocol,文件傳輸協(xié)議)服務(wù)器。為此,NAT設(shè)備提供了 NAT Server (地址轉(zhuǎn)換服務(wù)器)功能,即通過靜態(tài)配置“公網(wǎng)IP地址+端口號”與“私網(wǎng)IP地 址+端口號”間的映射關(guān)系,實現(xiàn)公網(wǎng)IP地址到私網(wǎng)IP地址的“反向”轉(zhuǎn)換。例如,可以將 20. 1. 1. 1 8080配置為私網(wǎng)某TOB服務(wù)器的公網(wǎng)地址和端口號供公網(wǎng)客戶端訪問。圖2示出了一種NAT Server的典型組網(wǎng)架構(gòu)。公網(wǎng)用戶主機(jī)(Host)訪問私網(wǎng)服 務(wù)器的數(shù)據(jù)報文經(jīng)過NAT設(shè)備時,NAT設(shè)備根據(jù)報文的目的地址查找地址轉(zhuǎn)換表,將訪問私 網(wǎng)服務(wù)器的請求報文的目的IP地址和端口號1. 1. 1 8080)轉(zhuǎn)換成私網(wǎng)服務(wù)器的私有 IP地址和端口號(192.168.1.3:8080)。當(dāng)私網(wǎng)服務(wù)器回應(yīng)該報文時,NAT設(shè)備再根據(jù)已有 的地址映射關(guān)系將回應(yīng)報文的源IP地址和端口號轉(zhuǎn)換成公網(wǎng)IP地址和端口號。NAT多出口是一種比較常見的負(fù)載分擔(dān)和鏈路備份的方式,其中私網(wǎng)通過兩個或 多個NAT網(wǎng)關(guān)連接不同的運營商,最終連接到hternet。圖3示出了一種常見的NAT雙出 口組網(wǎng)架構(gòu)。其中,私網(wǎng)用戶訪問公網(wǎng)時究竟經(jīng)過哪個NAT網(wǎng)關(guān)是由私網(wǎng)中配置的路由等 信息決定的,一般是在流量負(fù)載分擔(dān)的基礎(chǔ)上結(jié)合對一些特殊地址指定具體的路徑。在圖 3所示的NAT雙出口環(huán)境中使用NATServer會遇到來回路徑不一致的問題。如圖4所示,位于公網(wǎng)的客戶端通過NAT網(wǎng)關(guān)A的NAT Server訪問私網(wǎng)服務(wù)器, 私網(wǎng)服務(wù)器返回的報文在私網(wǎng)中轉(zhuǎn)發(fā)時有可能通過NAT網(wǎng)關(guān)B轉(zhuǎn)發(fā)到公網(wǎng),而NAT網(wǎng)關(guān)B 的NAT Server配置和NAT網(wǎng)關(guān)A不同,私網(wǎng)服務(wù)器返回的報文可能被丟棄,也可能被轉(zhuǎn)換為另外的源地址后發(fā)給公網(wǎng)客戶端,最終的結(jié)果都是通信不能正常進(jìn)行。針對上述問題,目前在出口網(wǎng)關(guān)間進(jìn)行會話信息的備份是比較成熟的解決方案之 一。如在圖4所示的NAT雙出口組網(wǎng)中,在兩臺出口網(wǎng)關(guān)間通過專門的鏈路將會話信息進(jìn)行 備份,這樣,即使來回路徑不一致,NAT網(wǎng)關(guān)B也能夠通過從NAT網(wǎng)關(guān)A備份過來的會話信息 將私網(wǎng)服務(wù)器發(fā)給公網(wǎng)客戶端的報文正確的進(jìn)行NAT轉(zhuǎn)換后發(fā)出,從而確保業(yè)務(wù)正常。會 話備份的方法,廠商間的實現(xiàn)各不相同,但是基本原理是一致的。會話備份技術(shù)能夠較好的 解決來回路徑不一致的問題,但是存在以下缺點會話備份功能在兩臺出口網(wǎng)關(guān)之間工作 良好,但是無法用于出口網(wǎng)關(guān)多于兩臺的環(huán)境;支持會話備份的設(shè)備往往是中高端防火墻, 價格較高,增加用戶的成本。另一種解決方案是NAT網(wǎng)關(guān)對于匹配了 NAT krver的報文,在發(fā)給私網(wǎng)時再在出 接口做一次NAT,如圖5所示。這樣,對于私網(wǎng)服務(wù)器來說,和它進(jìn)行交互的實際上是NAT網(wǎng) 關(guān)而不是公網(wǎng)的客戶端,因此私網(wǎng)服務(wù)器返回的報文必然要回到該NAT網(wǎng)關(guān),從而確保了 來回路徑的一致性。上述方法是解決問題的比較簡單的一種方法,但是由于兩次NAT操作 的存在,對于涉及ALG(Application Layer (Gateway,應(yīng)用層網(wǎng)關(guān))處理的應(yīng)用,需要進(jìn)行兩 次ALG處理,增加網(wǎng)絡(luò)延時和NAT網(wǎng)關(guān)的負(fù)擔(dān),同時也增加了實現(xiàn)的復(fù)雜性。還有一種解決方案是通過在兩個NAT網(wǎng)關(guān)和私網(wǎng)之間添加負(fù)載均衡設(shè)備,通過負(fù) 載均衡設(shè)備的持續(xù)性功能確保流量來回路徑的一致性。如圖6所示,如果公網(wǎng)客戶端通過 NAT網(wǎng)關(guān)A上的NAT krver訪問服務(wù)器,流量在經(jīng)過負(fù)載均衡設(shè)備時,負(fù)載均衡設(shè)備記錄下 流量的路徑;當(dāng)私網(wǎng)服務(wù)器返回的流量經(jīng)過負(fù)載均衡設(shè)備時,負(fù)載均衡設(shè)備根據(jù)之前記錄 的數(shù)據(jù)到達(dá)時的路徑將回應(yīng)報文按照正確的路徑轉(zhuǎn)發(fā)回去,避免出現(xiàn)來回路徑不一致的情 況。該種解決方案的缺點也主要表現(xiàn)在成本方面,負(fù)載均衡設(shè)備的價格往往較高,而組網(wǎng)中 實際上多數(shù)流量并不需要負(fù)載均衡設(shè)備處理,如何對流量進(jìn)行區(qū)分也是技術(shù)難題,若不進(jìn) 行區(qū)分,負(fù)載均衡設(shè)備很可能成為網(wǎng)絡(luò)性能的瓶頸。綜上所述,目前亟需一種技術(shù)實現(xiàn)簡單、成本較低的技術(shù)方案以保證流量的來回
路徑一致。
發(fā)明內(nèi)容
本發(fā)明提供了一種基于NAT的數(shù)據(jù)路由方法及其裝置,用以確保公網(wǎng)客戶端到私 網(wǎng)服務(wù)器的流量與其反向流量路徑的一致性。本發(fā)明提供的基于NAT的數(shù)據(jù)路由方法,應(yīng)用于NAT多出口組網(wǎng)系統(tǒng),該方法包 括NAT網(wǎng)關(guān)接收到公網(wǎng)客戶端發(fā)往私網(wǎng)服務(wù)器的IP請求報文后進(jìn)行地址轉(zhuǎn)換處理, 將所述NAT網(wǎng)關(guān)的地址添加到地址轉(zhuǎn)換處理后的IP請求報文中,以表明所述IP請求報文 由所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā),并向私網(wǎng)服務(wù)器方向轉(zhuǎn)發(fā)該IP請求報文;所述NAT網(wǎng)關(guān)接收到所述私網(wǎng)服務(wù)器返回的IP響應(yīng)報文后進(jìn)行地址轉(zhuǎn)換處理,并 將地址轉(zhuǎn)換后的IP響應(yīng)報文向所述公網(wǎng)客戶端方向轉(zhuǎn)發(fā);其中,所述私網(wǎng)服務(wù)器接收到所 述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)過來的IP請求報文后,將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報文中, 以指導(dǎo)該IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)。上述方法中,所述NAT網(wǎng)關(guān)將其地址添加到地址轉(zhuǎn)換處理后的IP請求報文中之后還包括在該IP請求報文中設(shè)置指示信息,用于指導(dǎo)下游路由設(shè)備不再將自身的地址添加 到該IP請求報文中。上述方法中,所述NAT網(wǎng)關(guān)還將該NAT網(wǎng)關(guān)與所述私網(wǎng)服務(wù)器之間的共享密碼添 加到地址轉(zhuǎn)換處理后的IP請求報文中;所述私網(wǎng)服務(wù)器將所述NAT網(wǎng)關(guān)的地址添加到所述 IP響應(yīng)報文中,具體為所述私網(wǎng)服務(wù)器對該IP請求報文中攜帶的共享密鑰進(jìn)行驗證,并 在驗證通過后,將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報文中;或者所述NAT網(wǎng)關(guān)還將用于表示該IP請求報文來自于NAT網(wǎng)關(guān)的標(biāo)識信息添加到地 址轉(zhuǎn)換處理后的IP請求報文中;所述私網(wǎng)服務(wù)器將所述NAT網(wǎng)關(guān)的地址添加到所述IP響 應(yīng)報文中,具體為所述私網(wǎng)服務(wù)器判斷出該IP請求報文中攜帶有所述用于表示該IP請求 報文來自于NAT網(wǎng)關(guān)的標(biāo)識信息后,將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報文中。上述方法中,所述NAT網(wǎng)關(guān)在接收到所述公網(wǎng)客戶端與所述私網(wǎng)服務(wù)器之間會話 建立后的第一個從所述公網(wǎng)客戶端發(fā)往所述私網(wǎng)服務(wù)器的IP請求報文時,將所述NAT網(wǎng)關(guān) 的地址添加到地址轉(zhuǎn)換處理后的IP請求報文中,以表明所述IP請求報文由所述NAT網(wǎng)關(guān) 轉(zhuǎn)發(fā),并在其后該會話保持階段接收到從所述公網(wǎng)客戶端發(fā)往所述私網(wǎng)服務(wù)器的IP請求 報文時,不再將所述NAT網(wǎng)關(guān)的地址添加到地址轉(zhuǎn)換處理后的IP請求報文中。上述方法中,所述NAT網(wǎng)關(guān)將其地址添加到地址轉(zhuǎn)換處理后的IP請求報文中,具 體為所述NAT網(wǎng)關(guān)在地址轉(zhuǎn)換處理后的IP請求報文中添加IP Record Route選項或 自定義選項,并在該選項的IP地址字段添加所述NAT網(wǎng)關(guān)的地址。上述方法中,所述NAT網(wǎng)關(guān)添加的IP Record Route選項包含有N個IP地址字段, 其中,第1至N-I個IP地址字段中設(shè)置有用于表示該IP請求報文來自于NAT網(wǎng)關(guān)的標(biāo)識 信息或NAT網(wǎng)關(guān)與私網(wǎng)服務(wù)器之間共享的密碼;其中,N彡2 ;當(dāng)所述NAT網(wǎng)關(guān)在第N個IP地址字段添加該NAT網(wǎng)關(guān)的地址后,將指針位置設(shè)置 在該IP地址字段位置,用于指導(dǎo)后續(xù)路由設(shè)備不再將自身地址添加到該選項中。上述方法中,在所述NAT網(wǎng)關(guān)接收到的IP請求報文中已經(jīng)攜帶有IP Record Route選項的情況下,所述NAT網(wǎng)關(guān)將其地址添加到該IP Record Route選項的開頭部分。本發(fā)明提供的NAT網(wǎng)關(guān)設(shè)備,包括地址轉(zhuǎn)換模塊,用于在接收到公網(wǎng)客戶端發(fā)往私網(wǎng)服務(wù)器的IP請求報文后,以及 在接收到所述私網(wǎng)服務(wù)器返回的IP響應(yīng)報文后進(jìn)行地址轉(zhuǎn)換處理;其中,所述私網(wǎng)服務(wù)器 接收到所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)過來的IP請求報文后,將所述NAT網(wǎng)關(guān)的地址添加到所述IP響 應(yīng)報文中,以指導(dǎo)該IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā);報文設(shè)置模塊,用于將所述NAT網(wǎng)關(guān)的地址添加到地址轉(zhuǎn)換處理后的IP請求報文 中,以表明所述IP請求報文由所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā);轉(zhuǎn)發(fā)模塊,用于向私網(wǎng)服務(wù)器方向轉(zhuǎn)發(fā)所述報文設(shè)置模塊處理后的IP請求報文; 以及,將地址轉(zhuǎn)換處理后的IP響應(yīng)報文向所述公網(wǎng)客戶端方向轉(zhuǎn)發(fā)。上述NAT網(wǎng)關(guān)設(shè)備中,所述報文設(shè)置模塊還用于,在將其地址添加到地址轉(zhuǎn)換處 理后的IP請求報文中之后,在該IP請求報文中設(shè)置指示信息,用于指導(dǎo)下游路由設(shè)備不再 將自身的地址添加到該IP請求報文中。上述NAT網(wǎng)關(guān)設(shè)備中,所述報文設(shè)置模塊還用于,將所述NAT網(wǎng)關(guān)與所述私網(wǎng)服務(wù)器之間的共享密鑰或用于表示該IP請求報文來自于NAT網(wǎng)關(guān)的標(biāo)識信息,添加到地址轉(zhuǎn)換 處理后的IP請求報文中。上述NAT網(wǎng)關(guān)設(shè)備中,所述報文設(shè)置模塊具體用于,在接收到所述公網(wǎng)客戶端與 所述私網(wǎng)服務(wù)器之間會話建立后的第一個從所述公網(wǎng)客戶端發(fā)往所述私網(wǎng)服務(wù)器的IP請 求報文時,將所述NAT網(wǎng)關(guān)的地址添加到地址轉(zhuǎn)換處理后的IP請求報文中,以表明所述IP 請求報文由所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā),并在其后該會話保持階段接收到從所述公網(wǎng)客戶端發(fā)往所 述私網(wǎng)服務(wù)器的IP請求報文時,不再將所述NAT網(wǎng)關(guān)的地址添加到地址轉(zhuǎn)換處理后的IP 請求報文中。上述NAT網(wǎng)關(guān)設(shè)備中,所述報文設(shè)置模塊具體用于,在地址轉(zhuǎn)換處理后的IP請求 報文中添加IP Record Route選項或自定義選項,并在該選項的IP地址字段添加所述NAT 網(wǎng)關(guān)的地址。上述NAT網(wǎng)關(guān)設(shè)備中,所述報文設(shè)置模塊所添加的IP Record Route選項包含有N 個IP地址字段,其中,第1至N-I個IP地址字段中設(shè)置有用于表示該IP請求報文來自于 NAT網(wǎng)關(guān)的標(biāo)識信息或NAT網(wǎng)關(guān)與私網(wǎng)服務(wù)器之間共享的密碼;其中,N彡2 ;所述報文設(shè)置模塊具體用于,當(dāng)在第N個IP地址字段添加該NAT網(wǎng)關(guān)的地址后, 將指針位置設(shè)置在該IP地址字段位置,用于指導(dǎo)后續(xù)路由設(shè)備不再將自身地址添加到該 選項中。本發(fā)明提供的基于NAT的數(shù)據(jù)路由方法,應(yīng)用于NAT多出口組網(wǎng)系統(tǒng),該方法包 括私網(wǎng)服務(wù)器接收NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)過來的IP請求報文,其中攜帶有所述NAT網(wǎng)關(guān)的地 址;所述私網(wǎng)服務(wù)器響應(yīng)所述IP請求報文,并將所述NAT網(wǎng)關(guān)的地址添加到所述IP 響應(yīng)報文中,以指導(dǎo)該IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā);所述私網(wǎng)服務(wù)器發(fā)送所述IP響應(yīng)報文。上述方法中,所述IP請求報文中還攜帶有所述NAT網(wǎng)關(guān)與所述私網(wǎng)服務(wù)器之間 的共享密碼,所述私網(wǎng)服務(wù)器對該IP請求報文中攜帶的共享密鑰進(jìn)行驗證,并在驗證通過 后,響應(yīng)所述IP請求報文,并將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報文中,以指導(dǎo)該 IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā);或者,所述IP請求報文中還攜帶有用于表示該IP請求報文來自于NAT網(wǎng)關(guān)的標(biāo)識信 息,所述私網(wǎng)服務(wù)器判斷出該IP請求報文中攜帶有所述用于表示該IP請求報文來自于NAT 網(wǎng)關(guān)的標(biāo)識信息后,響應(yīng)所述IP請求報文,并將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報 文中,以指導(dǎo)該IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)。上述方法中,所述私網(wǎng)服務(wù)器在接收到所述公網(wǎng)客戶端與所述私網(wǎng)服務(wù)器之間會 話建立后的第一個從所述公網(wǎng)客戶端發(fā)往所述私網(wǎng)服務(wù)器的IP請求報文時,將所述IP報 文中攜帶的所述NAT網(wǎng)關(guān)的IP地址綁定到相應(yīng)會話的socket中;所述私網(wǎng)服務(wù)器將所述NAT網(wǎng)關(guān)的地址添加到IP響應(yīng)報文中,具體為所述私網(wǎng) 服務(wù)器將相應(yīng)會話的socket中綁定的NAT網(wǎng)關(guān)地址添加到所述IP響應(yīng)報文中。上述方法中,所述私網(wǎng)服務(wù)器將NAT網(wǎng)關(guān)地址添加到IP響應(yīng)報文中,具體為所述私網(wǎng)服務(wù)器在IP響應(yīng)報文中添加IP Loose Source and Record Route選項或自定義選項,將所述NAT網(wǎng)關(guān)的地址順序添加到該選項的IP地址字段。本發(fā)明提供的服務(wù)器,應(yīng)用于NAT多出口組網(wǎng)系統(tǒng),且位于私網(wǎng),包括接收模塊,用于接收NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)過來的IP請求報文,其中攜帶有所述NAT網(wǎng)關(guān) 的地址;業(yè)務(wù)模塊,用于響應(yīng)所述IP請求報文;報文設(shè)置模塊,用于將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報文中,以指導(dǎo)該 IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā);發(fā)送模塊,用于發(fā)送所述IP響應(yīng)報文。上述服務(wù)器中,所述IP請求報文中還攜帶有所述NAT網(wǎng)關(guān)與所述私網(wǎng)服務(wù)器之間 的共享密碼;所述業(yè)務(wù)模塊具體用于,對該IP請求報文中攜帶的共享密鑰進(jìn)行驗證,并在 驗證通過后,響應(yīng)所述IP請求報文,并將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報文中, 以指導(dǎo)該IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā);或者所述IP請求報文中還攜帶有用于表示該IP請求報文來自于NAT網(wǎng)關(guān)的標(biāo)識信 息,所述業(yè)務(wù)模塊具體用于,在判斷出該IP請求報文中攜帶有所述用于表示該IP請求報文 來自于NAT網(wǎng)關(guān)的標(biāo)識信息后,響應(yīng)所述IP請求報文,并將所述NAT網(wǎng)關(guān)的地址添加到所 述IP響應(yīng)報文中,以指導(dǎo)該IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)。上述服務(wù)器中,還包括保存模塊;所述保存模塊,用于在接收到所述公網(wǎng)客戶端與所述私網(wǎng)服務(wù)器之間會話建立后 的第一個從所述公網(wǎng)客戶端發(fā)往所述私網(wǎng)服務(wù)器的IP請求報文后,將所述IP報文中攜帶 的所述NAT網(wǎng)關(guān)的IP地址綁定到相應(yīng)會話的socket中;所述報文設(shè)置模塊具體用于,將相應(yīng)會話的socket中綁定的NAT網(wǎng)關(guān)地址添加到 所述IP響應(yīng)報文中。上述服務(wù)器中,所述報文設(shè)置模塊具體用于,在IP響應(yīng)報文中添加IP Loose Source and Record Route選項或自定義選項,將所述NAT網(wǎng)關(guān)的地址順序添加到該選項的 IP地址字段。本發(fā)明的有益技術(shù)效果包括本發(fā)明通過NAT網(wǎng)關(guān)在公網(wǎng)客戶端發(fā)往私網(wǎng)服務(wù)器的IP請求報文中添加自己的 地址來傳遞NAT網(wǎng)關(guān)地址給私網(wǎng)服務(wù)器,使私網(wǎng)服務(wù)器可以根據(jù)該NAT網(wǎng)關(guān)地址指導(dǎo)IP響 應(yīng)報文路由到該NAT網(wǎng)關(guān),從而在不使用會話備份功能的情況下,確保多出口網(wǎng)絡(luò)地址轉(zhuǎn) 換環(huán)境中,公網(wǎng)客戶端訪問私網(wǎng)服務(wù)器流量出入方向路徑一致性。
圖1為現(xiàn)有技術(shù)中NAT的典型組網(wǎng)示意圖;圖2為現(xiàn)有技術(shù)中NAT Server的典型組網(wǎng)示意圖;圖3為現(xiàn)有技術(shù)中NAT雙出口組網(wǎng)示意圖;圖4為現(xiàn)有技術(shù)中NAT雙出口組網(wǎng)中公網(wǎng)用戶主機(jī)與私網(wǎng)服務(wù)器的交互示意圖;圖5為現(xiàn)有技術(shù)中通過兩次NAT操作解決流量來回路徑不一致問題的示意圖;圖6為現(xiàn)有技術(shù)中通過負(fù)載均衡設(shè)備確保流量來回路徑的一致性的示意圖;圖7為本發(fā)明實施例中節(jié)點A和節(jié)點B通過路由設(shè)備通信的示意圖之一;
圖8為本發(fā)明實施例中節(jié)點A和節(jié)點B通過路由設(shè)備通信的示意圖之二 ;圖9為本發(fā)明實施例提供的數(shù)據(jù)路由流程示意圖;圖10為本發(fā)明實施例提供的NAT網(wǎng)關(guān)設(shè)備的結(jié)構(gòu)示意圖;圖11為本發(fā)明實施例提供的服務(wù)器的結(jié)構(gòu)示意圖。
具體實施例方式由于本發(fā)明實施例使用了 IP報文中的IP Record Route選項(IP路由記錄選項) 和IP Loose Source and Record Route選項(松散IP源路由和路由記錄選項),因此,首 先介紹一下這兩個選項。
權(quán)利要求
1.一種基于網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的數(shù)據(jù)路由方法,應(yīng)用于NAT多出口組網(wǎng)系統(tǒng),其特征在 于,該方法包括NAT網(wǎng)關(guān)接收到公網(wǎng)客戶端發(fā)往私網(wǎng)服務(wù)器的IP請求報文后進(jìn)行地址轉(zhuǎn)換處理,將所 述NAT網(wǎng)關(guān)的地址添加到地址轉(zhuǎn)換處理后的IP請求報文中,以表明所述IP請求報文由所 述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā),并向私網(wǎng)服務(wù)器方向轉(zhuǎn)發(fā)該IP請求報文;所述NAT網(wǎng)關(guān)接收到所述私網(wǎng)服務(wù)器返回的IP響應(yīng)報文后進(jìn)行地址轉(zhuǎn)換處理,并將 地址轉(zhuǎn)換后的IP響應(yīng)報文向所述公網(wǎng)客戶端方向轉(zhuǎn)發(fā);其中,所述私網(wǎng)服務(wù)器接收到所述 NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)過來的IP請求報文后,將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報文中,以 指導(dǎo)該IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)。
2.如權(quán)利要求1所述的方法,其特征在于,所述NAT網(wǎng)關(guān)將其地址添加到地址轉(zhuǎn)換處理 后的IP請求報文中之后還包括在該IP請求報文中設(shè)置指示信息,用于指導(dǎo)下游路由設(shè)備 不再將自身的地址添加到該IP請求報文中。
3.如權(quán)利要求1所述的方法,其特征在于,所述NAT網(wǎng)關(guān)還將該NAT網(wǎng)關(guān)與所述私網(wǎng)服 務(wù)器之間的共享密碼添加到地址轉(zhuǎn)換處理后的IP請求報文中;所述私網(wǎng)服務(wù)器將所述NAT 網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報文中,具體為所述私網(wǎng)服務(wù)器對該IP請求報文中攜帶的 共享密鑰進(jìn)行驗證,并在驗證通過后,將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報文中;或 者所述NAT網(wǎng)關(guān)還將用于表示該IP請求報文來自于NAT網(wǎng)關(guān)的標(biāo)識信息添加到地址轉(zhuǎn) 換處理后的IP請求報文中;所述私網(wǎng)服務(wù)器將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報 文中,具體為所述私網(wǎng)服務(wù)器判斷出該IP請求報文中攜帶有所述用于表示該IP請求報文 來自于NAT網(wǎng)關(guān)的標(biāo)識信息后,將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報文中。
4.如權(quán)利要求1所述的方法,其特征在于,所述NAT網(wǎng)關(guān)在接收到所述公網(wǎng)客戶端與所 述私網(wǎng)服務(wù)器之間會話建立后的第一個從所述公網(wǎng)客戶端發(fā)往所述私網(wǎng)服務(wù)器的IP請求 報文時,將所述NAT網(wǎng)關(guān)的地址添加到地址轉(zhuǎn)換處理后的IP請求報文中,以表明所述IP請 求報文由所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā),并在其后該會話保持階段接收到從所述公網(wǎng)客戶端發(fā)往所述 私網(wǎng)服務(wù)器的IP請求報文時,不再將所述NAT網(wǎng)關(guān)的地址添加到地址轉(zhuǎn)換處理后的IP請 求報文中。
5.如權(quán)利要求1-4之一所述的方法,其特征在于,所述NAT網(wǎng)關(guān)將其地址添加到地址轉(zhuǎn) 換處理后的IP請求報文中,具體為所述NAT網(wǎng)關(guān)在地址轉(zhuǎn)換處理后的IP請求報文中添加IP Record Route選項或自定 義選項,并在該選項的IP地址字段添加所述NAT網(wǎng)關(guān)的地址。
6.如權(quán)利要求5所述的方法,其特征在于,所述NAT網(wǎng)關(guān)添加的IPRecord Route選項 包含有N個IP地址字段,其中,第1至N-I個IP地址字段中設(shè)置有用于表示該IP請求報 文來自于NAT網(wǎng)關(guān)的標(biāo)識信息或NAT網(wǎng)關(guān)與私網(wǎng)服務(wù)器之間共享的密碼;其中,N彡2 ;當(dāng)所述NAT網(wǎng)關(guān)在第N個IP地址字段添加該NAT網(wǎng)關(guān)的地址后,將指針位置設(shè)置在該 IP地址字段位置,用于指導(dǎo)后續(xù)路由設(shè)備不再將自身地址添加到該選項中。
7.如權(quán)利要求5所述的方法,其特征在于,在所述NAT網(wǎng)關(guān)接收到的IP請求報文中 已經(jīng)攜帶有IP Record Route選項的情況下,所述NAT網(wǎng)關(guān)將其地址添加到該IP Record Route選項的開頭部分。
8.一種NAT網(wǎng)關(guān)設(shè)備,其特征在于,包括地址轉(zhuǎn)換模塊,用于在接收到公網(wǎng)客戶端發(fā)往私網(wǎng)服務(wù)器的IP請求報文后,以及在接 收到所述私網(wǎng)服務(wù)器返回的IP響應(yīng)報文后進(jìn)行地址轉(zhuǎn)換處理;其中,所述私網(wǎng)服務(wù)器接收 到所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)過來的IP請求報文后,將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報 文中,以指導(dǎo)該IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā);報文設(shè)置模塊,用于將所述NAT網(wǎng)關(guān)的地址添加到地址轉(zhuǎn)換處理后的IP請求報文中, 以表明所述IP請求報文由所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā);轉(zhuǎn)發(fā)模塊,用于向私網(wǎng)服務(wù)器方向轉(zhuǎn)發(fā)所述報文設(shè)置模塊處理后的IP請求報文;以 及,將地址轉(zhuǎn)換處理后的IP響應(yīng)報文向所述公網(wǎng)客戶端方向轉(zhuǎn)發(fā)。
9.如權(quán)利要求8所述的NAT網(wǎng)關(guān)設(shè)備,其特征在于,所述報文設(shè)置模塊還用于,在將其 地址添加到地址轉(zhuǎn)換處理后的IP請求報文中之后,在該IP請求報文中設(shè)置指示信息,用于 指導(dǎo)下游路由設(shè)備不再將自身的地址添加到該IP請求報文中。
10.如權(quán)利要求8所述的NAT網(wǎng)關(guān)設(shè)備,其特征在于,所述報文設(shè)置模塊還用于,將所 述NAT網(wǎng)關(guān)與所述私網(wǎng)服務(wù)器之間的共享密鑰或用于表示該IP請求報文來自于NAT網(wǎng)關(guān) 的標(biāo)識信息,添加到地址轉(zhuǎn)換處理后的IP請求報文中。
11.如權(quán)利要求8所述的NAT網(wǎng)關(guān)設(shè)備,其特征在于,所述報文設(shè)置模塊具體用于,在接 收到所述公網(wǎng)客戶端與所述私網(wǎng)服務(wù)器之間會話建立后的第一個從所述公網(wǎng)客戶端發(fā)往 所述私網(wǎng)服務(wù)器的IP請求報文時,將所述NAT網(wǎng)關(guān)的地址添加到地址轉(zhuǎn)換處理后的IP請 求報文中,以表明所述IP請求報文由所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā),并在其后該會話保持階段接收到 從所述公網(wǎng)客戶端發(fā)往所述私網(wǎng)服務(wù)器的IP請求報文時,不再將所述NAT網(wǎng)關(guān)的地址添加 到地址轉(zhuǎn)換處理后的IP請求報文中。
12.如權(quán)利要求8-11之一所述的NAT網(wǎng)關(guān)設(shè)備,其特征在于,所述報文設(shè)置模塊具體用 于,在地址轉(zhuǎn)換處理后的IP請求報文中添加IP Record Route選項或自定義選項,并在該 選項的IP地址字段添加所述NAT網(wǎng)關(guān)的地址。
13.如權(quán)利要求12所述的NAT網(wǎng)關(guān)設(shè)備,其特征在于,所述報文設(shè)置模塊所添加的IP Record Route選項包含有N個IP地址字段,其中,第1至N-I個IP地址字段中設(shè)置有用于 表示該IP請求報文來自于NAT網(wǎng)關(guān)的標(biāo)識信息或NAT網(wǎng)關(guān)與私網(wǎng)服務(wù)器之間共享的密碼; 其中,NS 2 ;所述報文設(shè)置模塊具體用于,當(dāng)在第N個IP地址字段添加該NAT網(wǎng)關(guān)的地址后,將指 針位置設(shè)置在該IP地址字段位置,用于指導(dǎo)后續(xù)路由設(shè)備不再將自身地址添加到該選項 中。
14.一種基于網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的數(shù)據(jù)路由方法,應(yīng)用于NAT多出口組網(wǎng)系統(tǒng),其特征 在于,該方法包括私網(wǎng)服務(wù)器接收NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)過來的IP請求報文,其中攜帶有所述NAT網(wǎng)關(guān)的地址;所述私網(wǎng)服務(wù)器響應(yīng)所述IP請求報文,并將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng) 報文中,以指導(dǎo)該IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā);所述私網(wǎng)服務(wù)器發(fā)送所述IP響應(yīng)報文。
15.如權(quán)利要求14所述的方法,其特征在于,所述IP請求報文中還攜帶有所述NAT網(wǎng) 關(guān)與所述私網(wǎng)服務(wù)器之間的共享密碼,所述私網(wǎng)服務(wù)器對該IP請求報文中攜帶的共享密鑰進(jìn)行驗證,并在驗證通過后,響應(yīng)所述IP請求報文,并將所述NAT網(wǎng)關(guān)的地址添加到所述 IP響應(yīng)報文中,以指導(dǎo)該IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā);或者,所述IP請求報文中還攜帶有用于表示該IP請求報文來自于NAT網(wǎng)關(guān)的標(biāo)識信息,所 述私網(wǎng)服務(wù)器判斷出該IP請求報文中攜帶有所述用于表示該IP請求報文來自于NAT網(wǎng)關(guān) 的標(biāo)識信息后,響應(yīng)所述IP請求報文,并將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報文 中,以指導(dǎo)該IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)。
16.如權(quán)利要求14所述的方法,其特征在于,所述私網(wǎng)服務(wù)器在接收到所述公網(wǎng)客戶 端與所述私網(wǎng)服務(wù)器之間會話建立后的第一個從所述公網(wǎng)客戶端發(fā)往所述私網(wǎng)服務(wù)器的 IP請求報文時,將所述IP報文中攜帶的所述NAT網(wǎng)關(guān)的IP地址綁定到相應(yīng)會話的socket 中;所述私網(wǎng)服務(wù)器將所述NAT網(wǎng)關(guān)的地址添加到IP響應(yīng)報文中,具體為所述私網(wǎng)服務(wù) 器將相應(yīng)會話的socket中綁定的NAT網(wǎng)關(guān)地址添加到所述IP響應(yīng)報文中。
17.如權(quán)利要求14-16之一所述的方法,其特征在于,所述私網(wǎng)服務(wù)器將NAT網(wǎng)關(guān)地址 添加到IP響應(yīng)報文中,具體為所述私網(wǎng)服務(wù)器在IP響應(yīng)報文中添加IP Loose Source and Record Route選項或自 定義選項,將所述NAT網(wǎng)關(guān)的地址順序添加到該選項的IP地址字段。
18.一種服務(wù)器,應(yīng)用于NAT多出口組網(wǎng)系統(tǒng),且位于私網(wǎng),其特征在于,包括接收模塊,用于接收NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)過來的IP請求報文,其中攜帶有所述NAT網(wǎng)關(guān)的地址;業(yè)務(wù)模塊,用于響應(yīng)所述IP請求報文;報文設(shè)置模塊,用于將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報文中,以指導(dǎo)該IP響 應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā);發(fā)送模塊,用于發(fā)送所述IP響應(yīng)報文。
19.如權(quán)利要求18所述的服務(wù)器,其特征在于,所述IP請求報文中還攜帶有所述NAT 網(wǎng)關(guān)與所述私網(wǎng)服務(wù)器之間的共享密碼;所述業(yè)務(wù)模塊具體用于,對該IP請求報文中攜帶 的共享密鑰進(jìn)行驗證,并在驗證通過后,響應(yīng)所述IP請求報文,并將所述NAT網(wǎng)關(guān)的地址添 加到所述IP響應(yīng)報文中,以指導(dǎo)該IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā);或者所述IP請求報文中還攜帶有用于表示該IP請求報文來自于NAT網(wǎng)關(guān)的標(biāo)識信息,所 述業(yè)務(wù)模塊具體用于,在判斷出該IP請求報文中攜帶有所述用于表示該IP請求報文來自 于NAT網(wǎng)關(guān)的標(biāo)識信息后,響應(yīng)所述IP請求報文,并將所述NAT網(wǎng)關(guān)的地址添加到所述IP 響應(yīng)報文中,以指導(dǎo)該IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)。
20.如權(quán)利要求18所述的服務(wù)器,其特征在于,還包括保存模塊;所述保存模塊,用于在接收到所述公網(wǎng)客戶端與所述私網(wǎng)服務(wù)器之間會話建立后的第 一個從所述公網(wǎng)客戶端發(fā)往所述私網(wǎng)服務(wù)器的IP請求報文后,將所述IP報文中攜帶的所 述NAT網(wǎng)關(guān)的IP地址綁定到相應(yīng)會話的socket中;所述報文設(shè)置模塊具體用于,將相應(yīng)會話的socket中綁定的NAT網(wǎng)關(guān)地址添加到所述 IP響應(yīng)報文中。
21.如權(quán)利要求18-20之一所述的服務(wù)器,其特征在于,所述報文設(shè)置模塊具體用于, 在IP響應(yīng)報文中添加IP Loose Source and Record Route選項或自定義選項,將所述NAT網(wǎng)關(guān)的地址順序添加到該選項的IP地址字段。
全文摘要
本發(fā)明公開了一種基于NAT的數(shù)據(jù)路由方法及其裝置,應(yīng)用于NAT多出口組網(wǎng)系統(tǒng),該方法包括NAT網(wǎng)關(guān)接收到公網(wǎng)客戶端發(fā)往私網(wǎng)服務(wù)器的IP請求報文后進(jìn)行地址轉(zhuǎn)換處理,將所述NAT網(wǎng)關(guān)的地址添加到地址轉(zhuǎn)換處理后的IP請求報文中,以表明該IP請求報文由該NAT網(wǎng)關(guān)轉(zhuǎn)發(fā),并向私網(wǎng)服務(wù)器方向轉(zhuǎn)發(fā)該IP請求報文;所述NAT網(wǎng)關(guān)接收到所述私網(wǎng)服務(wù)器返回的IP響應(yīng)報文后進(jìn)行地址轉(zhuǎn)換處理,并將地址轉(zhuǎn)換后的IP響應(yīng)報文向所述公網(wǎng)客戶端方向轉(zhuǎn)發(fā);其中,所述私網(wǎng)服務(wù)器接收到所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)過來的IP請求報文后,將所述NAT網(wǎng)關(guān)的地址添加到所述IP響應(yīng)報文中,以指導(dǎo)該IP響應(yīng)報文向所述NAT網(wǎng)關(guān)轉(zhuǎn)發(fā)。采用本發(fā)明可確保公網(wǎng)客戶端到私網(wǎng)服務(wù)器的流量與其反向流量路徑的一致性。
文檔編號H04L29/12GK102148767SQ201110122190
公開日2011年8月10日 申請日期2011年5月12日 優(yōu)先權(quán)日2011年5月12日
發(fā)明者袁亞屏 申請人:杭州華三通信技術(shù)有限公司