專利名稱:穿越網(wǎng)絡(luò)地址轉(zhuǎn)換nat的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種穿越網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的方法 和設(shè)備。
背景技術(shù):
NAT (Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)技術(shù)提供了將一個域 中的網(wǎng)絡(luò)地址轉(zhuǎn)換為另 一個域中的網(wǎng)絡(luò)地址的功能,通過NAT技術(shù)可以在兩 個域中建立地址映射關(guān)系。在進(jìn)行NAT的過程中,對于不同的協(xié)議還需要進(jìn) 行端口映射,如UDP (User Datagram Protocol,用戶數(shù)據(jù)才艮協(xié)議)協(xié)議,TCP (Transmission Control Protocol,傳輸控制協(xié)議)協(xié)議等。NAT設(shè)備一般方文在私網(wǎng)的出口處,實現(xiàn)私網(wǎng)中的用戶訪問7>網(wǎng)的功能。 即私網(wǎng)用戶訪問公網(wǎng)資源時,進(jìn)行私網(wǎng)地址和公網(wǎng)地址之間的轉(zhuǎn)換,NAT設(shè) 備分配給私網(wǎng)用戶 一個公網(wǎng)地址,從而讓私網(wǎng)用戶能夠訪問公網(wǎng)資源。NAT設(shè)備分為兩種包括雙向NAT和單向NAT設(shè)備。雙向NAT是指對 于從兩個域中的任意一個域發(fā)起的請求,NAT設(shè)備都可以將請求域中的地址 轉(zhuǎn)換為另 一個域中的地址,并將另 一個域的回應(yīng)通過NAT設(shè)備發(fā)送給請求域。 單向NAT指只能從一個域發(fā)起請求,并處理對于被請求域的回應(yīng)。NAT設(shè)備 是為了解決公網(wǎng)地址緊張而出現(xiàn)的;所以一般情況下,指的NAT都是指單向 NAT。由于NAT設(shè)備的固有特性和單向性,導(dǎo)致從外網(wǎng)發(fā)送的請求信息無法到 達(dá)內(nèi)網(wǎng),因此需要實現(xiàn)NAT穿越?,F(xiàn)有技術(shù)通常采用隧道方式穿越NAT,如 在設(shè)備上配置GRE ( Generic Routing Encapsulation,通用路由封裝協(xié)議)協(xié)i義, 實現(xiàn)NAT穿越,或采用IPSec進(jìn)行NAT穿越。采用隧道方式穿越NAT的方法的缺點在于,NAT穿越需要依賴于設(shè)備, 取決于設(shè)備是否實現(xiàn)了對應(yīng)的協(xié)議隧道等。另外,采用隧道方式,無法實現(xiàn)應(yīng)用層穿越NAT;應(yīng)用層的軟件系統(tǒng)穿越NAT無法采用隧道實現(xiàn)。 發(fā)明內(nèi)容本發(fā)明提供一種穿越網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的方法和設(shè)備,用于在內(nèi)網(wǎng)設(shè)備和外網(wǎng)設(shè)備的交互過程中實現(xiàn)對NAT的穿越。為達(dá)到上述目的,本發(fā)明提供一種穿越網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的方法,應(yīng)用于包括終端、代理服務(wù)器以及服務(wù)器的網(wǎng)絡(luò)中,所述終端以及代理服務(wù)器位于內(nèi)網(wǎng)中,所述服務(wù)器位于外網(wǎng)中,所述代理服務(wù)器與所迷服務(wù)器通過常連接通道連接,所述方法包括以下步驟所述服務(wù)器需要向內(nèi)網(wǎng)中的終端發(fā)送報文時,根據(jù)已存儲的內(nèi)網(wǎng)中各終端的地址信息,獲取所述終端的地址信息;所述服務(wù)器將所述終端的地址信息封裝在目的地址為所述代理服務(wù)器的報文中,通過所述常連接通道向所述代理服務(wù)器發(fā)送,以供所述代理服務(wù)器將所述需要向內(nèi)網(wǎng)中的終端發(fā)送的報文轉(zhuǎn)發(fā)到對應(yīng)的終端。 其中,所述已存儲的內(nèi)網(wǎng)中各終端的地址信息具體為 預(yù)先配置在所述M^務(wù)器上的內(nèi)網(wǎng)中的終端的地址信息;和/或 所述服務(wù)器在接收到所述代理服務(wù)器轉(zhuǎn)發(fā)的終端的報文時,從所述報文中解析獲取的內(nèi)網(wǎng)中的終端的地址信息。其中,所述服務(wù)器需要向內(nèi)網(wǎng)中的終端發(fā)送報文的步驟具體包括 所述服務(wù)器主動發(fā)起與內(nèi)網(wǎng)中的終端通信時,需要向內(nèi)網(wǎng)中的終端發(fā)送報文;或所述服務(wù)器在接收到所述代理服務(wù)器轉(zhuǎn)發(fā)的終端的報文時,需要向內(nèi)網(wǎng) 中終端發(fā)送響應(yīng)才艮文。本發(fā)明還提供一種穿越網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的方法,應(yīng)用于包括終端、代 理服務(wù)器以及服務(wù)器的網(wǎng)絡(luò)中,所述終端以及代理服務(wù)器位于內(nèi)網(wǎng)中,所述 服務(wù)器位于外網(wǎng)中,所述代理服務(wù)器與所述服務(wù)器通過常連接通道連接,所 述方法包括以下步驟內(nèi)網(wǎng)中的代理服務(wù)器接收到內(nèi)網(wǎng)中的終端發(fā)送的報文;所述代理服務(wù)器對所述報文進(jìn)行重新封裝,具體為在封裝后的新報文 中攜帶所述終端的地址信息,并將所述新報文的目的地址變?yōu)樗龇?wù)器;其中,所述內(nèi)網(wǎng)中的代理服務(wù)器接收到內(nèi)網(wǎng)中的終端發(fā)送的報文前,還 包括內(nèi)網(wǎng)中的各終端獲取所述內(nèi)網(wǎng)中的代理服務(wù)器的地址信息。 其中,所述將所述封裝得到的新報文向外網(wǎng)中的服務(wù)器發(fā)送后,還包括 步驟所述代理服務(wù)器接收外網(wǎng)中的服務(wù)器發(fā)送的報文;所述代理服務(wù)器解析所述報文,獲取所述報文中的內(nèi)容、以及終端的地 址信息;所述代理服務(wù)器根據(jù)所述終端的地址信息,將所述獲取的內(nèi)容封裝為報 文并向所述終端發(fā)送。本發(fā)明還提供一種服務(wù)器,應(yīng)用于包括終端以及代理服務(wù)器的網(wǎng)絡(luò)中, 所述終端以及代理服務(wù)器位于內(nèi)網(wǎng)中,所述服務(wù)器位于外網(wǎng)中,所述代理服 務(wù)器與所述服務(wù)器通過常連接通道連接,所述服務(wù)器包括地址獲取單元,用于需要向內(nèi)網(wǎng)中的終端發(fā)送報文時,根據(jù)已存儲的內(nèi) 網(wǎng)中各終端的地址信息,獲取所述終端的地址信息;^R文封裝單元,用于將所述終端的地址信息封裝在目的地址為所述代理 服務(wù)器的報文中;報文發(fā)送單元,用于將所述報文封裝單元封裝后的報文通過所述常連接 通道向所述代理服務(wù)器發(fā)送,以供所述代理服務(wù)器將所述需要向內(nèi)網(wǎng)中的終 端發(fā)送的報文轉(zhuǎn)發(fā)到對應(yīng)的終端。其中,還包括報文解析單元,用于接收所述代理服務(wù)器通過所述常連接通道發(fā)送的報 文,獲取所述報文中終端的地址信息;地址存儲單元,用于存儲預(yù)先配置的內(nèi)網(wǎng)中的終端的地址信息;和/或存 儲所述報文解析單元解析獲取的內(nèi)網(wǎng)中的終端的地址信息。其中,還包括報文獲取單元,用于獲取需要向內(nèi)網(wǎng)中的終端發(fā)送的報文,所述報文獲取單元進(jìn)一步包括第一報文獲取子單元,用于主動發(fā)起與內(nèi)網(wǎng)中的終端通信時,獲取需要 向內(nèi)網(wǎng)中的終端發(fā)送的"R文;或第二報文獲取子單元,用于在接收到所述代理服務(wù)器轉(zhuǎn)發(fā)的終端的報文 時,獲取需要向內(nèi)網(wǎng)中的終端響應(yīng)的報文。本發(fā)明還提供一種代理服務(wù)器,應(yīng)用于包括終端以及代理服務(wù)器的網(wǎng)絡(luò) 中,所述終端以及代理服務(wù)器位于內(nèi)網(wǎng)中,所述服務(wù)器位于外網(wǎng)中,所述代 理服務(wù)器與所述服務(wù)器通過常連接通道連接,所述代理服務(wù)器包括代理內(nèi)網(wǎng)接收單元,用于接收內(nèi)網(wǎng)中的終端發(fā)送的報文;代理封裝單元,用于對所述代理內(nèi)網(wǎng)接收單元接收的報文進(jìn)行重新封裝, 具體為在封裝后的新報文中攜帶所述終端的地址信息,并將所述新報文的 目的地址變?yōu)樗龇?wù)器;代理發(fā)送單元,用于將所述代理封裝單元封裝得到的新報文通過所述常 連接通道向外網(wǎng)中的服務(wù)器發(fā)送。其中,還包括代理外網(wǎng)接收單元,用于接收外網(wǎng)中的服務(wù)器通過所述常連接通道發(fā)送 的報文;代理解析單元,用于解析所述報文,獲取所述報文中的內(nèi)容、以及終端 的地址信息;代理轉(zhuǎn)發(fā)單元,用于根據(jù)所述終端的地址信息,將所述代理解析單元解 析得到的內(nèi)容向內(nèi)網(wǎng)中對應(yīng)的終端發(fā)送。 與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點通過在內(nèi)網(wǎng)中設(shè)置代理服務(wù)器,實現(xiàn)了在網(wǎng)絡(luò)應(yīng)用層穿越NAT。并且不 需要修改現(xiàn)有的組網(wǎng)結(jié)果,不依賴于NAT設(shè)備,可以方便的在網(wǎng)絡(luò)中部署。
圖1是現(xiàn)有技術(shù)中內(nèi)外網(wǎng)通過NAT進(jìn)行通信的示意圖;8圖2是本發(fā)明中穿越NAT方法所應(yīng)用的網(wǎng)絡(luò)示意圖; 圖3是本發(fā)明中穿越NAT方法的一流程圖; 圖4是本發(fā)明中穿越NAT方法的另一流程圖;圖5是本發(fā)明中內(nèi)網(wǎng)中的代理服務(wù)器和外網(wǎng)中的外網(wǎng)服務(wù)器之間的報文 結(jié)構(gòu)示意圖;圖6是本發(fā)明中內(nèi)網(wǎng)中的代理服務(wù)器的結(jié)構(gòu)示意圖; 圖7是本發(fā)明中外網(wǎng)中的服務(wù)器的結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明提供一種穿越網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的方法和設(shè)備,用于滿足外網(wǎng)到 內(nèi)網(wǎng)之間的雙向通信時穿越NAT的需求。本發(fā)明的核心思想在于在網(wǎng)絡(luò)應(yīng)用 層采用代理穿越NAT,具體的在內(nèi)網(wǎng)中放置一臺代理服務(wù)器,代理所有內(nèi) 網(wǎng)終端到外網(wǎng)服務(wù)器的雙向通信。該內(nèi)網(wǎng)中的代理服務(wù)器與外網(wǎng)中的服務(wù)器 間存在常連接通道,外網(wǎng)中的服務(wù)器可以通過該常連接通道直接向代理服務(wù) 器發(fā)送目的地址為內(nèi)網(wǎng)終端的報文,由代理服務(wù)器向內(nèi)網(wǎng)終端轉(zhuǎn)發(fā)。本發(fā)明中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的方法所應(yīng)用的網(wǎng)絡(luò)示意圖如圖2所 示,主要包括內(nèi)網(wǎng)中的終端、內(nèi)網(wǎng)中的代理服務(wù)器和外網(wǎng)中的外網(wǎng)服務(wù)器。 具體的,本發(fā)明中一種穿越NAT的方法如圖3所示,包括 步驟s101 、內(nèi)網(wǎng)中的代理服務(wù)器接收到內(nèi)網(wǎng)中的終端發(fā)送的報文。 具體的,內(nèi)網(wǎng)中的各終端可以預(yù)先通過廣播等方式獲取內(nèi)網(wǎng)中的代理服 務(wù)器的地址信息(如代理服務(wù)器的IP地址和端口 )。內(nèi)網(wǎng)中的終端獲取到內(nèi)網(wǎng) 中的代理服務(wù)器的地址后,可以將需要發(fā)送給外網(wǎng)服務(wù)器的所有報文都直接 發(fā)送給代理,并通過代理接收響應(yīng)。當(dāng)然終端也可以只將特殊業(yè)務(wù)種類的報 文發(fā)送到代理服務(wù)器,該需要發(fā)送到代理服務(wù)器的特殊業(yè)務(wù)種類報文可以預(yù) 先進(jìn)行設(shè)置。步驟sl02、代理服務(wù)器將終端發(fā)送的報文進(jìn)行封裝,得到新的報文。 具體的,代理服務(wù)器對終端發(fā)送的報文,以及該終端的地址信息(包括 終端的IP地址以及端口等信息)進(jìn)行封裝,得到新的報文,該新報文的目的地址為外網(wǎng)服務(wù)器的地址。步驟s103、代理服務(wù)器將封裝得到的新的報文向外網(wǎng)中的服務(wù)器發(fā)送。 具體的,內(nèi)網(wǎng)中的代理服務(wù)器與外網(wǎng)中的服務(wù)器可以通過常連接通道的 方式連接,該常連接通道可以通過以下方式實現(xiàn)在NAT設(shè)備上創(chuàng)建靜態(tài)映 射,建立從外網(wǎng)服務(wù)器到代理服務(wù)器之間的靜態(tài)地址映射關(guān)系,也可以采用 應(yīng)用層報文定期發(fā)送請求的方式維持常連接。代理服務(wù)器和外網(wǎng)服務(wù)器通過 該常連接通道進(jìn)行報文交互時,報文從NAT上透傳。步驟s104、外網(wǎng)中的服務(wù)器接收內(nèi)網(wǎng)中的代理服務(wù)器發(fā)送的報文。 步驟sl05、服務(wù)器解析該"t艮文,記錄終端的地址并處理解析得到的內(nèi)容。 具體的,服務(wù)器解析該報文,獲取所述報文中的內(nèi)容、以及內(nèi)網(wǎng)中的終 端的地址信息。之后服務(wù)器記錄所述解析獲取的內(nèi)容、以及所述終端的地址 信息;服務(wù)器處理解析得到的內(nèi)容,該處理具體包括將解析得到的內(nèi)容進(jìn) 行本地處理或發(fā)送到外網(wǎng)中的其他網(wǎng)絡(luò)設(shè)備進(jìn)行處理。具體的,本發(fā)明中一種穿越NAT的方法如圖4所示,還包括 步驟s201 、外網(wǎng)中的服務(wù)器獲取需要向內(nèi)網(wǎng)中的終端發(fā)送的報文。 具體的,服務(wù)器可以在需要主動發(fā)起與內(nèi)網(wǎng)中的終端通信時,獲取需要向內(nèi)網(wǎng)中的終端發(fā)送的報文;或服務(wù)器也可以在接收到代理服務(wù)器轉(zhuǎn)發(fā)的終端的報文時,獲取需要向內(nèi)網(wǎng)中的終端響應(yīng)的報文。步驟s202、服務(wù)器才艮據(jù)預(yù)先存儲的內(nèi)網(wǎng)中終端的地址信息,獲取終端的地址信息。具體的,服務(wù)器根據(jù)需要發(fā)送到內(nèi)網(wǎng)終端的報文、以及已存儲的內(nèi)網(wǎng)中 終端的地址信息,獲取與需要接收報文的終端的地址信息。服務(wù)器中預(yù)先存 儲的內(nèi)網(wǎng)中終端的地址信息,可以是預(yù)先配置在服務(wù)器上的(如內(nèi)網(wǎng)中的終 端為靜態(tài)IP地址時,預(yù)先將終端以及對應(yīng)的靜態(tài)IP地址配置在服務(wù)器上), 也可以是服務(wù)器在接收代理服務(wù)器轉(zhuǎn)發(fā)的來自內(nèi)網(wǎng)終端的報文時,通過解析 報文獲得的。服務(wù)器根據(jù)本地存儲的內(nèi)網(wǎng)終端的地址信息,可以通過代理服 務(wù)器直接向內(nèi)網(wǎng)終端發(fā)送報步驟s203、服務(wù)器將終端的地址信息封裝在該報文中,并將報文目的地 址設(shè)置為代理服務(wù)器的地址。步驟s204、服務(wù)器通過常連接通道將封裝后的報文向代理服務(wù)器發(fā)送,以步驟s205、代理服務(wù)器接收外網(wǎng)中的服務(wù)器發(fā)送的報文。 步驟s206、代理服務(wù)器解析該報文,將解析得到的內(nèi)容向內(nèi)網(wǎng)中對應(yīng)的 終端發(fā)送。具體的,代理服務(wù)器解析該報文,獲取報文中的內(nèi)容、以及終端的地址 信息;代理服務(wù)器根據(jù)所述終端的地址信息,將獲取的內(nèi)容封裝為報文并向 所述終端發(fā)送。上述圖3和圖4描述的流程中,內(nèi)網(wǎng)中的代理服務(wù)器和外網(wǎng)中的外網(wǎng)服 務(wù)器之間的報文結(jié)構(gòu)可以如圖5所示。其中內(nèi)網(wǎng)中的終端與代理服務(wù)器交互 的數(shù)據(jù)作為應(yīng)用層數(shù)據(jù)封裝在報文傳輸層中。應(yīng)用層數(shù)據(jù)中應(yīng)包含內(nèi)網(wǎng)終端 的地址信息(如IP地址和端口 ),考慮到安全性則也可以擴(kuò)展其他屬性,在此 不再進(jìn)行描述。以下結(jié)合一個具體的應(yīng)用場景,說明本發(fā)明的具體實施方式
。4艮i殳在內(nèi)網(wǎng)中存在終端A、終端B,終端A的內(nèi)網(wǎng)IP地址為192.168.0.101, 終端B的內(nèi)網(wǎng)IP地址為192.168.1.102,內(nèi)網(wǎng)中還存在代理服務(wù)器,其內(nèi)網(wǎng)IP地 址為192.168.0.1。內(nèi)網(wǎng)與外網(wǎng)邊界的NAT設(shè)備的內(nèi)網(wǎng)IP地址為192.168.0.2,夕卜 網(wǎng)IP地址為220.181.0.1。夕卜網(wǎng)中的外網(wǎng)服務(wù)器的外網(wǎng)IP地址為220.181.0.2,該 外網(wǎng)服務(wù)器(220.181.0.2 )用于對終端的安全狀況進(jìn)行檢測。代理服務(wù)器 (192.168.0.1 )與外部服務(wù)器(220.181.0.2)通過NAT設(shè)備建立常連接通道。某時刻終端A ( 192.168.0.101 )根據(jù)代理服務(wù)器的IP地址(192.168.0.1 ), 向代理服務(wù)器發(fā)送報文,該報文中攜帶終端A的安全狀況相關(guān)信息并請求訪問 外網(wǎng)服務(wù)器(220.181.0.2)。代理服務(wù)器將接收到的報文進(jìn)行封裝,除報文中 原有攜帶的內(nèi)容外,進(jìn)一步攜帶終端A ( 192.168.0.101 )的地址信息;并將封 裝后的報文通過常連接通道向外網(wǎng)服務(wù)器(220.181.0.2)發(fā)送。外網(wǎng)服務(wù)器(220.181.0.2)接收到代理服務(wù)器(192.168.0.1 )發(fā)送的報文后進(jìn)行解封裝,存儲解析得到的終端A ( 192.168.0.101 )的地址信息,并對報 文中的內(nèi)容進(jìn)行處理,如根據(jù)終端A的安全狀況相關(guān)信息判斷需要對終端A的 相關(guān)軟件進(jìn)行升級,則獲取升級所需的信息,并與終端A的地址信息進(jìn)行封裝 生成新的報文向代理服務(wù)器(192.168.0.1 )發(fā)送。代理服務(wù)器(192.168.0.1 )從外網(wǎng)服務(wù)器(220.181.0.2)接收到報文,解 析報文中的內(nèi)容得到終端A的地址信息以及升級所需的信息,則代理服務(wù)器 (192.168.0.1 )將解析得到的升級所需的信息向終端A ( 192.168.0.101 )發(fā)送。再例如某時刻外網(wǎng)服務(wù)器(220.181.0.2 )需要向內(nèi)網(wǎng)中的終端A (192.168.0.101 )和終端B ( 192.168.1.102)發(fā)送檢測終端上的軟件狀態(tài)的命 令。則外網(wǎng)服務(wù)器(220.181.0.2 )根據(jù)本地緩存中存儲的終端A( 192.168.0.101 ) 和終端B ( 192.168.1.102)的地址,將命令分別與終端A和終端B的地址信息進(jìn) 行封裝生成新的報文向代理服務(wù)器(192.168.0.1 )發(fā)送。代理服務(wù)器(192.168.0.1 )從外網(wǎng)服務(wù)器(220.181.0.2)接收到報文,解 析報文中的內(nèi)容得到向終端A ( 192.168.0.101 )和終端B ( 192.168.1.102 )發(fā)送 的命令以及地址信息,則代理服務(wù)器(192.168.0.1)將命令分別向終端A (192.168.0.101 )和終端B ( 192.168.1.102)發(fā)送。終端A ( 192.168.0.101 )和終端B ( 192.168.1.102)執(zhí)行接收到的命令后, 分別執(zhí)行接收到的命令并根據(jù)代理服務(wù)器的IP地址(192.168.0.1 ),向代理服 務(wù)器發(fā)送報文。報文中分別攜帶終端A和終端B的軟件狀態(tài)相關(guān)信息并請求訪 問外網(wǎng)月l務(wù)器(220.181.0.2)。代理服務(wù)器將接收到的報文進(jìn)行封裝,除報文中原有攜帶的內(nèi)容外,進(jìn) 一步攜帶終端A ( 192.168.0.101 )和終端B ( 192.168.1.102)的地址信息;并將 封裝后的報文通過常連接通道向外網(wǎng)服務(wù)器(220.181.0.2)發(fā)送。通過上述流程,通過代理服務(wù)器實現(xiàn)了內(nèi)網(wǎng)中的終端與外網(wǎng)中的服務(wù)器 的雙向交互,交互過程中不需要NAT設(shè)備的參與。另外,外網(wǎng)中的服務(wù)器根 據(jù)本地存儲的內(nèi)網(wǎng)終端的地址信息,可以通過代理服務(wù)器直接向內(nèi)網(wǎng)終端發(fā) 送報文。本發(fā)明中提供的NAT穿越方法中使用的代理服務(wù)器以及服務(wù)器與現(xiàn)有技術(shù)中普遍使用的代理服務(wù)器以及外網(wǎng)服務(wù)器不同。對于本發(fā)明中的代理服務(wù) 器,需要實現(xiàn)將內(nèi)網(wǎng)終端的地址信息以及內(nèi)網(wǎng)終端發(fā)送的報文同時封裝在向外網(wǎng)服務(wù)器發(fā)送的報文中;對于本發(fā)明中的外網(wǎng)服務(wù)器,通過與內(nèi)網(wǎng)中代理 服務(wù)器的常連接通道,除了對內(nèi)網(wǎng)終端發(fā)送的報文進(jìn)行響應(yīng)外,還可以根據(jù) 本地存儲的內(nèi)網(wǎng)終端的地址信息,主動向內(nèi)網(wǎng)終端發(fā)送才艮文,由內(nèi)網(wǎng)中的代 理服務(wù)器進(jìn)行解封裝后轉(zhuǎn)發(fā)給內(nèi)網(wǎng)終端。上述功能是現(xiàn)有技術(shù)中的代理服務(wù) 器以及外網(wǎng)服務(wù)器無法實現(xiàn)的?,F(xiàn)有的外網(wǎng)服務(wù)器即使在代理服務(wù)器的配合 下,也無法實現(xiàn)主動向內(nèi)網(wǎng)中的終端發(fā)送^^艮文的功能。本發(fā)明還提供一種用于實現(xiàn)穿越NAT的系統(tǒng),應(yīng)用于包括終端、代理服 務(wù)器、以及服務(wù)器的網(wǎng)絡(luò)中,其中終端以及代理服務(wù)器位于內(nèi)網(wǎng)中,服務(wù)器 位于外網(wǎng)中,代理服務(wù)器與服務(wù)器通過常連接通道連接,不同設(shè)備的網(wǎng)絡(luò)結(jié) 構(gòu)如本發(fā)明中的圖2所示。本發(fā)明中的代理服務(wù)器的結(jié)構(gòu)如圖6所示,包括 代理內(nèi)網(wǎng)接收單元11,用于接收內(nèi)網(wǎng)中的終端發(fā)送的報文; 代理封裝單元12,對代理內(nèi)網(wǎng)接收單元ll接收的報文進(jìn)行重新封裝,具 體為在封裝后的新報文中攜帶所述終端的地址信息,并將所述新報文的目 的地址變?yōu)橥饩W(wǎng)中的服務(wù)器。代理發(fā)送單元13,用于將代理封裝單元12封裝得到的新才艮文通過常連接 通道向外網(wǎng)中的服務(wù)器發(fā)送。 還包括代理外網(wǎng)接收單元14,用于接收外網(wǎng)中的服務(wù)器發(fā)送的報文;代理解析單元15,用于解析所述代理外網(wǎng)接收單元14接收的報文,獲取 報文中的內(nèi)容、以及終端的地址信息;代理轉(zhuǎn)發(fā)單元16,用于根據(jù)代理解析單元15解析得到的終端的地址信息, 將代理解析單元15解析得到的內(nèi)容向內(nèi)網(wǎng)中對應(yīng)的終端發(fā)送。本發(fā)明中的服務(wù)器的結(jié)構(gòu)如圖7所示,包括地址獲取單元21,,用于需要向內(nèi)網(wǎng)中的終端發(fā)送報文時,根據(jù)已存儲的內(nèi)網(wǎng)中各終端的地址信息,獲取終端的地址信息。報文封裝單元22,用于將地址獲取單元21獲取的終端的地址信息封裝在 目的地址為代理服務(wù)器的報文中。報文發(fā)送單元23,用于將報文封裝單元22封裝后的報文通過常連接通道 向所述代理服務(wù)器發(fā)送,以供代理服務(wù)器將需要向內(nèi)網(wǎng)中的終端發(fā)送的報文 轉(zhuǎn)發(fā)到對應(yīng)的終端。還包括報文獲取單元24,用于獲取需要向內(nèi)網(wǎng)中的終端發(fā)送的報文;報文獲取 單元24進(jìn)一步包括第一報文獲取子單元,用于主動發(fā)起與內(nèi)網(wǎng)中的終端通 信時,獲取需要向內(nèi)網(wǎng)中的終端發(fā)送的報文;或第二報文獲取子單元,用于 在接收到代理服務(wù)器轉(zhuǎn)發(fā)的終端的報文時,獲取需要向內(nèi)網(wǎng)中的終端響應(yīng)的 報文。報文解析單元25,用于接收代理服務(wù)器發(fā)送的報文,獲取報文中終端的 地址信息;地址存儲單元26,用于存儲預(yù)先配置的內(nèi)網(wǎng)中的終端的地址信息;和/或 存儲"R文解析單元25解析獲取的內(nèi)網(wǎng)中的終端的地址信息。通過使用本發(fā)明提供的方法和設(shè)備,在內(nèi)網(wǎng)中設(shè)置代理服務(wù)器,實現(xiàn)了 在網(wǎng)絡(luò)應(yīng)用層穿越NAT。并且不需要修改現(xiàn)有的組網(wǎng)結(jié)果,不依賴于NAT設(shè) 備,可以方便的在網(wǎng)絡(luò)中部署。需要說明的是,本發(fā)明的上述描述中,以代 理服務(wù)器和外網(wǎng)服務(wù)器的數(shù)量分別為一臺進(jìn)行說明,但本發(fā)明并不對二者的 數(shù)量進(jìn)行限制。在實際的組網(wǎng)場景中,代理服務(wù)器或者外網(wǎng)服務(wù)器的數(shù)量可 以為多臺,仍可以應(yīng)用本發(fā)明提供的方法,屬于本發(fā)明的保護(hù)范圍。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā) 明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件, 但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術(shù)方案 本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來, 該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺設(shè)備 執(zhí)行本發(fā)明各個實施例所述的方法。以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此, 任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1. 一種穿越網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的方法,其特征在于,應(yīng)用于包括終端、代理服務(wù)器以及服務(wù)器的網(wǎng)絡(luò)中,所述終端以及代理服務(wù)器位于內(nèi)網(wǎng)中,所述服務(wù)器位于外網(wǎng)中,所述代理服務(wù)器與所述服務(wù)器通過常連接通道連接,所述方法包括以下步驟所述服務(wù)器需要向內(nèi)網(wǎng)中的終端發(fā)送報文時,根據(jù)已存儲的內(nèi)網(wǎng)中各終端的地址信息,獲取所述終端的地址信息;所述服務(wù)器將所述終端的地址信息封裝在目的地址為所述代理服務(wù)器的報文中,通過所述常連接通道向所述代理服務(wù)器發(fā)送,以供所述代理服務(wù)器將所述需要向內(nèi)網(wǎng)中的終端發(fā)送的報文轉(zhuǎn)發(fā)到對應(yīng)的終端。
2、 如權(quán)利要求1所述穿越網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的方法,其特征在于,所 述已存儲的內(nèi)網(wǎng)中各終端的地址信息具體為預(yù)先配置在所述服務(wù)器上的內(nèi)網(wǎng)中的終端的地址信息;和/或 所述服務(wù)器在接收到所述代理服務(wù)器轉(zhuǎn)發(fā)的終端的報文時,從所述報文 中解析獲取的內(nèi)網(wǎng)中的終端的地址信息。
3、 如權(quán)利要求1所述穿越網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的方法,其特征在于,所 述服務(wù)器需要向內(nèi)網(wǎng)中的終端發(fā)送報文的步驟具體包括所述服務(wù)器主動發(fā)起與內(nèi)網(wǎng)中的終端通信時,需要向內(nèi)網(wǎng)中的終端發(fā)送 才艮文;或所述服務(wù)器在接收到所述代理服務(wù)器轉(zhuǎn)發(fā)的終端的報文時,需要向內(nèi)網(wǎng) 中終端發(fā)送響應(yīng)報文。
4、 一種穿越網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的方法,其特征在于,應(yīng)用于包括終端、 代理服務(wù)器以及服務(wù)器的網(wǎng)絡(luò)中,所述終端以及代理服務(wù)器位于內(nèi)網(wǎng)中,所 述服務(wù)器位于外網(wǎng)中,所述代理服務(wù)器與所迷服務(wù)器通過常連接通道連接, 所述方法包括以下步驟內(nèi)網(wǎng)中的代理服務(wù)器接收到內(nèi)網(wǎng)中的終端發(fā)送的報文; 所述代理服務(wù)器對所述報文進(jìn)行重新封裝,具體為在封裝后的新報文 中攜帶所述終端的地址信息,并將所述新報文的目的地址變?yōu)樗龇?wù)器; 所述代理服務(wù)器將所述封裝得到的新報文向外網(wǎng)中的服務(wù)器發(fā)送。
5、 如權(quán)利要求4所述穿越網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的方法,其特征在于,所 述內(nèi)網(wǎng)中的代理服務(wù)器接收到內(nèi)網(wǎng)中的終端發(fā)送的報文前,還包括內(nèi)網(wǎng)中的各終端獲取所述內(nèi)網(wǎng)中的代理服務(wù)器的地址信息。
6、 如權(quán)利要求1所述穿越網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的方法,其特征在于,所 述將所述封裝得到的新報文向外網(wǎng)中的服務(wù)器發(fā)送后,還包括步驟所述代理服務(wù)器接收外網(wǎng)中的服務(wù)器發(fā)送的報文;所述代理服務(wù)器解析所述報文,獲取所述報文中的內(nèi)容、以及終端的地 址信息;所述代理服務(wù)器根據(jù)所述終端的地址信息,將所述獲取的內(nèi)容封裝為報 文并向所述終端發(fā)送。
7、 一種服務(wù)器,其特征在于,應(yīng)用于包括終端以及代理服務(wù)器的網(wǎng)絡(luò)中, 所述終端以及代理服務(wù)器位于內(nèi)網(wǎng)中,所述服務(wù)器位于外網(wǎng)中,所述代理服 務(wù)器與所述服務(wù)器通過常連接通道連接,所述服務(wù)器包括地址獲取單元,用于需要向內(nèi)網(wǎng)中的終端發(fā)送報文時,根據(jù)已存儲的內(nèi) 網(wǎng)中各終端的地址信息,獲取所述終端的地址信息;報文封裝單元,用于將所述終端的地址信息封裝在目的地址為所述代理 服務(wù)器的報文中;報文發(fā)送單元,用于將所述報文封裝單元封裝后的報文通過所述常連接 通道向所述代理服務(wù)器發(fā)送,以供所述代理服務(wù)器將所述需要向內(nèi)網(wǎng)中的終 端發(fā)送的報文轉(zhuǎn)發(fā)到對應(yīng)的終端。
8、 如權(quán)利要求7所述服務(wù)器,其特征在于,還包括 報文解析單元,用于接收所述代理服務(wù)器通過所述常連接通道發(fā)送的報文,獲取所述報文中終端的地址信息;地址存儲單元,用于存儲預(yù)先配置的內(nèi)網(wǎng)中的終端的地址信息;和/或存 儲所述報文解析單元解析獲取的內(nèi)網(wǎng)中的終端的地址信息。
9、 如權(quán)利要求7或8所述服務(wù)器,其特征在于,還包括報文獲取單元, 用于獲取需要向內(nèi)網(wǎng)中的終端發(fā)送的報文,所述報文獲取單元進(jìn)一步包括第一報文獲取子單元,用于主動發(fā)起與內(nèi)網(wǎng)中的終端通信時,獲取需要向內(nèi)網(wǎng)中的終端發(fā)送的^JL;或第二報文獲取子單元,用于在接收到所述代理服務(wù)器轉(zhuǎn)發(fā)的終端的報文 時,獲取需要向內(nèi)網(wǎng)中的終端響應(yīng)的報文。
10、 一種代理服務(wù)器,其特征在于,應(yīng)用于包括終端以及代理服務(wù)器的 網(wǎng)絡(luò)中,所述終端以及代理服務(wù)器位于內(nèi)網(wǎng)中,所述服務(wù)器位于外網(wǎng)中,所 述代理服務(wù)器與所述服務(wù)器通過常連接通道連接,所述代理服務(wù)器包括代理內(nèi)網(wǎng)接收單元,用于接收內(nèi)網(wǎng)中的終端發(fā)送的報文; 代理封裝單元,用于對所述代理內(nèi)網(wǎng)接收單元接收的報文進(jìn)行重新封裝,具體為在封裝后的新報文中攜帶所述終端的地址信息,并將所述新報文的目的地址變?yōu)樗龇?wù)器;代理發(fā)送單元,用于將所述代理封裝單元封裝得到的新報文通過所述常連接通道向外網(wǎng)中的服務(wù)器發(fā)送。
11、 如權(quán)利要求IO所述代理服務(wù)器,其特征在于,還包括 代理外網(wǎng)接收單元,用于接收外網(wǎng)中的服務(wù)器通過所述常連接通道發(fā)送的報文;代理解析單元,用于解析所述報文,獲取所述報文中的內(nèi)容、以及終端 的地址信息;代理轉(zhuǎn)發(fā)單元,用于根據(jù)所述終端的地址信息,將所述代理解析單元解 析得到的內(nèi)容向內(nèi)網(wǎng)中對應(yīng)的終端發(fā)送。
全文摘要
本發(fā)明公開了一種穿越網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的方法和設(shè)備,應(yīng)用于包括終端、代理服務(wù)器以及服務(wù)器的網(wǎng)絡(luò),終端以及代理服務(wù)器位于內(nèi)網(wǎng),服務(wù)器位于外網(wǎng),代理服務(wù)器與服務(wù)器通過常連接通道連接,包括所述服務(wù)器需要向內(nèi)網(wǎng)中的終端發(fā)送報文時,根據(jù)已存儲的內(nèi)網(wǎng)中各終端的地址信息,獲取所述終端的地址信息;所述服務(wù)器將所述終端的地址信息封裝在目的地址為所述代理服務(wù)器的報文中,通過所述常連接通道向所述代理服務(wù)器發(fā)送,以供所述代理服務(wù)器將所述需要向內(nèi)網(wǎng)中的終端發(fā)送的報文轉(zhuǎn)發(fā)到對應(yīng)的終端。通過使用本發(fā)明,在內(nèi)網(wǎng)中設(shè)置代理服務(wù)器,實現(xiàn)了在網(wǎng)絡(luò)應(yīng)用層穿越NAT。并且不需要修改現(xiàn)有的組網(wǎng)結(jié)果,可以方便的在網(wǎng)絡(luò)中部署。
文檔編號H04L12/46GK101262478SQ20081009102
公開日2008年9月10日 申請日期2008年4月10日 優(yōu)先權(quán)日2008年4月10日
發(fā)明者郭中華 申請人:杭州華三通信技術(shù)有限公司