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