專利名稱:一種網(wǎng)絡(luò)地址轉(zhuǎn)換的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation,筒稱NAT)的方法及系統(tǒng)。
背景技術(shù):
NAT技術(shù)是一種地址映射技術(shù),該技術(shù)使得使用私有網(wǎng)絡(luò)地址的內(nèi)部網(wǎng) 絡(luò)與使用公有網(wǎng)絡(luò)地址的外部網(wǎng)絡(luò)之間能進(jìn)行數(shù)據(jù)通訊。NAT技術(shù)廣泛應(yīng)用 于各種類型Internet (互聯(lián)網(wǎng))接入方式和各種類型的網(wǎng)絡(luò)中,該技術(shù)能很好 的解決了 IP (Internet Protocol,網(wǎng)際互聯(lián)協(xié)議)地址不足的問題,同時(shí)還能 有效的防止外部網(wǎng)絡(luò)對(duì)于內(nèi)部網(wǎng)絡(luò)的攻擊,隱藏并保護(hù)內(nèi)部網(wǎng)絡(luò)中的計(jì)算機(jī)。
DNS (DomainName System,域名系統(tǒng))技術(shù)可以將方《更記憶的域名轉(zhuǎn) 換成對(duì)應(yīng)的IP地址。Internet上成千上萬臺(tái)主機(jī)都是通過IP地址進(jìn)行區(qū)分的, 如果需要記住很多常用主機(jī)的地址是相當(dāng)不方便的,也比較困難,如果給一
些常用主機(jī)都取個(gè)方便記憶的名稱來代替IP地址來定位相應(yīng)的計(jì)算機(jī)和服 務(wù),就便于記憶訪問了,這就一來就產(chǎn)生了 DNS域名系統(tǒng),其作用就是完成 主機(jī)名稱與主機(jī)IP地址的轉(zhuǎn)換,使得能通過域名方便地訪問主機(jī)和服務(wù)。
"A" Query ( A查詢,即通過域名查詢其所對(duì)應(yīng)的IP地址)是DNS技 術(shù)中查詢的一種,通常也是使用頻率較高的一種。通過域名獲取該域名對(duì)應(yīng) 的IP地址,域名相對(duì)于IP地址更方Y(jié)更記憶,而網(wǎng)絡(luò)中主才幾都是通過IP地址 區(qū)分的,通過"A" Query,由域名獲取IP,從而訪問目的主機(jī)。
目前,DNS ALG ( Application Level Gateway,應(yīng)用程序級(jí)網(wǎng)關(guān))的應(yīng)用 場(chǎng)景中需要內(nèi)部網(wǎng)絡(luò)中有DNS月良務(wù)器。DNS ALG的主要協(xié)議標(biāo)準(zhǔn)RFC 2694 中講述的主要是內(nèi)部網(wǎng)絡(luò)中有DNS服務(wù)器的情況,外部網(wǎng)絡(luò)主機(jī)的域名請(qǐng)求 報(bào)文,以及內(nèi)部網(wǎng)絡(luò)DNS服務(wù)器回應(yīng)報(bào)文在經(jīng)過NAT設(shè)備時(shí)候的處理。這種情況下,內(nèi)部網(wǎng)絡(luò)中的主機(jī)對(duì)于內(nèi)部網(wǎng)絡(luò)中的主機(jī)和服務(wù)的域名請(qǐng)求由內(nèi)
部網(wǎng)絡(luò)中的DNS服務(wù)器處理;內(nèi)部網(wǎng)絡(luò)中主機(jī)對(duì)于外部網(wǎng)絡(luò)中主機(jī)和服務(wù)的 域名請(qǐng)求由外部網(wǎng)絡(luò)中的DNS服務(wù)器處理;外部網(wǎng)絡(luò)中的主機(jī)對(duì)于內(nèi)部網(wǎng)絡(luò) 主機(jī)和力l務(wù)的域名請(qǐng)求可以通過外部網(wǎng)絡(luò)的DNS服務(wù)器處理。
而現(xiàn)有技術(shù)中,對(duì)于內(nèi)部網(wǎng)絡(luò)中沒有DNS服務(wù)器,只在外部網(wǎng)絡(luò)中有 DNS服務(wù)器的情況,主要有以下兩種
1 )外部網(wǎng)絡(luò)中的主機(jī)要通過域名訪問內(nèi)部主機(jī)和服務(wù)時(shí),外部網(wǎng)絡(luò)中主 機(jī)的訪問請(qǐng)求經(jīng)過外部網(wǎng)絡(luò)中DNS服務(wù)器處理后,獲得內(nèi)部網(wǎng)絡(luò)中的主機(jī)和 服務(wù)的公網(wǎng)IP地址(即全局IP地址),通過該獲取到的7>網(wǎng)IP地址就能直 接訪問內(nèi)部網(wǎng)絡(luò)主才幾和服務(wù);
2)內(nèi)部網(wǎng)絡(luò)中的主機(jī)要通過域名訪問內(nèi)部主機(jī)和服務(wù)時(shí),內(nèi)部主機(jī)的域 名訪問請(qǐng)求會(huì)通過NAT轉(zhuǎn)換設(shè)備發(fā)送給外部DNS服務(wù)器,外部DNS服務(wù) 器處理該請(qǐng)求后,返回的是訪問目的主機(jī)和服務(wù)通過靜態(tài)NAT規(guī)則發(fā)布到 外網(wǎng)的全局IP地址,通過該獲取到的全局IP地址訪問內(nèi)部目的主機(jī)和服務(wù) 時(shí),報(bào)文均要經(jīng)由NAT轉(zhuǎn)換設(shè)備先發(fā)送到外部網(wǎng)絡(luò)中后,再返回到內(nèi)部網(wǎng) 絡(luò)中,不能直接對(duì)內(nèi)部目的主機(jī)和服務(wù)進(jìn)行訪問。
由上可知,在內(nèi)部網(wǎng)絡(luò)中沒有DNS服務(wù)器的情況下,如何通過外部網(wǎng)絡(luò) 中的DNS服務(wù)器來實(shí)現(xiàn)內(nèi)部網(wǎng)絡(luò)主機(jī)對(duì)于內(nèi)部網(wǎng)絡(luò)主機(jī)和服務(wù)的域名訪問, 是現(xiàn)有技術(shù)中亟待解決的問題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種網(wǎng)絡(luò)地址轉(zhuǎn)換的方法及系統(tǒng),在內(nèi) 部網(wǎng)絡(luò)中沒有DNS服務(wù)器時(shí),使得內(nèi)部網(wǎng)絡(luò)的主機(jī)能夠在發(fā)出域名請(qǐng)求后,
為了解決上述問題,本發(fā)明提供了一種網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,包括
配置外部主機(jī)訪問內(nèi)部主才幾和月良務(wù)的網(wǎng)絡(luò)地址轉(zhuǎn)換NAT靜態(tài)關(guān)見則;
4妄收到外部網(wǎng)絡(luò)到內(nèi)部網(wǎng)絡(luò)方向的域名請(qǐng)求 應(yīng)才艮文后,解析所述回應(yīng) 報(bào)文中數(shù)據(jù)區(qū)的IP地址,并判斷該地址是否為內(nèi)部網(wǎng)絡(luò)中主機(jī)和服務(wù)地址發(fā)布到外部網(wǎng)絡(luò)的全局IP地址,若是,則根據(jù)所述靜態(tài)規(guī)則對(duì)所述全局IP地
址進(jìn)行NAT轉(zhuǎn)換后得到對(duì)應(yīng)的內(nèi)部IP地址,再將轉(zhuǎn)換后的所述回應(yīng)報(bào)文經(jīng) 由NAT設(shè)備轉(zhuǎn)發(fā)給發(fā)起所述域名請(qǐng)求的主機(jī)。
進(jìn)一步地,所述方法通過監(jiān)聽UDP端口為53的報(bào)文,接收所述外部網(wǎng) 絡(luò)到內(nèi)部網(wǎng)絡(luò)方向的域名請(qǐng)求回應(yīng)才艮文。
進(jìn)一步地,所述靜態(tài)規(guī)則包括所述內(nèi)部網(wǎng)絡(luò)中主機(jī)和服務(wù)的內(nèi)部IP地址 與發(fā)布到外部網(wǎng)絡(luò)的全局IP地址的對(duì)應(yīng)關(guān)系的靜態(tài)條目;
在對(duì)所述全局IP地址進(jìn)行NAT轉(zhuǎn)換時(shí),根據(jù)所述靜態(tài)條目將所述全局 IP地址轉(zhuǎn)換為對(duì)應(yīng)的內(nèi)部IP地址。
進(jìn)一步地,若判斷出所述回應(yīng)報(bào)文中數(shù)據(jù)區(qū)的IP地址不是內(nèi)部網(wǎng)絡(luò)中主 機(jī)和服務(wù)地址發(fā)布到外部網(wǎng)絡(luò)的全局IP地址,則直接將接收到的所述回應(yīng)報(bào) 文經(jīng)由所述NAT設(shè)備轉(zhuǎn)發(fā)給發(fā)起所述域名請(qǐng)求的主機(jī)。
進(jìn)一步地,所述方法在監(jiān)聽UDP端口為53的報(bào)文時(shí),根據(jù)所述凈艮文是 否為A查詢請(qǐng)求的回應(yīng)才艮文,判斷其是否為域名請(qǐng)求回應(yīng)才艮文。
本發(fā)明還提供了一種網(wǎng)絡(luò)地址轉(zhuǎn)換的系統(tǒng),包括DNS服務(wù)器,網(wǎng)絡(luò)地址 轉(zhuǎn)換NAT設(shè)備,主機(jī),其中,
所述NAT設(shè)備上配置有外部主機(jī)訪問內(nèi)部主機(jī)和服務(wù)的網(wǎng)絡(luò)地址轉(zhuǎn)換 NAT靜態(tài)規(guī)則;
所述NAT設(shè)備用于,在接收到外部網(wǎng)絡(luò)到內(nèi)部網(wǎng)絡(luò)方向的域名請(qǐng)求回 應(yīng)報(bào)文后,解析所述回應(yīng)報(bào)文中數(shù)據(jù)區(qū)的IP地址,并判斷該地址是否為內(nèi)部 網(wǎng)絡(luò)中主機(jī)和服務(wù)地址發(fā)布到外部網(wǎng)絡(luò)的全局IP地址,若是,則才艮據(jù)所述靜 態(tài)規(guī)則對(duì)所述全局IP地址進(jìn)行NAT轉(zhuǎn)換后得到對(duì)應(yīng)的內(nèi)部IP地址,再將轉(zhuǎn) 換后的所述回應(yīng)報(bào)文轉(zhuǎn)發(fā)給發(fā)起所述域名請(qǐng)求的主機(jī)。
進(jìn)一步地,所述NAT設(shè)備通過監(jiān)聽UDP端口為53的報(bào)文,接收所述 外部網(wǎng)絡(luò)到內(nèi)部網(wǎng)絡(luò)方向的域名請(qǐng)求回應(yīng)凈艮文。
進(jìn)一步地,所述靜態(tài)規(guī)則包括所述內(nèi)部網(wǎng)絡(luò)中主機(jī)和服務(wù)的內(nèi)部IP地址 與發(fā)布到外部網(wǎng)絡(luò)的全局IP地址的對(duì)應(yīng)關(guān)系的靜態(tài)條目;所述NAT設(shè)備在對(duì)所述全局IP地址進(jìn)行NAT轉(zhuǎn)換時(shí),根據(jù)所述靜態(tài)條 目將所述全局IP地址轉(zhuǎn)換為對(duì)應(yīng)的內(nèi)部IP地址。
進(jìn)一步地,所述NAT設(shè)備在對(duì)所述回應(yīng)報(bào)文中數(shù)據(jù)區(qū)的IP地址進(jìn)行解 析后,若判斷出該地址不是內(nèi)部網(wǎng)絡(luò)中主機(jī)和服務(wù)地址發(fā)布到外部網(wǎng)絡(luò)的全 局IP地址,則直接將接收到的所述回應(yīng)報(bào)文轉(zhuǎn)發(fā)給發(fā)起所述域名請(qǐng)求的主 機(jī)。
進(jìn)一步地,所述NAT設(shè)備在監(jiān)聽UDP端口為53的報(bào)文時(shí),根據(jù)所述 報(bào)文是否為A查詢請(qǐng)求的回應(yīng)報(bào)文,判斷其是否為域名請(qǐng)求回應(yīng)報(bào)文。
本發(fā)明通過對(duì)外部DNS服務(wù)器回應(yīng)內(nèi)部主機(jī)對(duì)于內(nèi)部主機(jī)和服務(wù)的域 名請(qǐng)求的回應(yīng)報(bào)文進(jìn)行ALG處理,使得內(nèi)部發(fā)出域名請(qǐng)求的主機(jī)能夠獲取 到內(nèi)部訪問目的主機(jī)和服務(wù)的內(nèi)部局部IP地址,通過該內(nèi)部局部IP地址可 以直接訪問目的主^L和月l務(wù)。
與現(xiàn)有技術(shù)相比,本發(fā)明在內(nèi)部主機(jī)通過域名訪問內(nèi)部主機(jī)和服務(wù)時(shí), 增加了對(duì)于UDP (User Datagram Protocol,用戶數(shù)據(jù)包協(xié)議)端口為53的報(bào) 文監(jiān)聽、對(duì)于外部網(wǎng)絡(luò)DNS服務(wù)器回應(yīng)的DNS域名請(qǐng)求回應(yīng)才艮文進(jìn)行了 NAT ALG的處理(對(duì)于DNS報(bào)文數(shù)據(jù)區(qū)中的IP地址進(jìn)行NAT轉(zhuǎn)換就是一 種ALG處理),使DNS服務(wù)器返回給內(nèi)部主機(jī)回應(yīng)報(bào)文中攜帶的目的主機(jī) 和服務(wù)IP,就是訪問目的主機(jī)服務(wù)在內(nèi)部網(wǎng)絡(luò)中的IP地址,從而使得內(nèi)部 主機(jī)能通過外部DNS服務(wù)器,用域名訪問內(nèi)部服務(wù)器。
圖1是本發(fā)明實(shí)施例的DNS域名請(qǐng)求回應(yīng)報(bào)文的處理示意圖; 圖2是本發(fā)明實(shí)施例的系統(tǒng)組成示意圖。
具體實(shí)施例方式
本發(fā)明采用如下技術(shù)方案第一步配置外部主才幾訪問內(nèi)部主才幾和l良務(wù)的靜態(tài)NAT規(guī)則;
該靜態(tài)NAT規(guī)則,包括記錄內(nèi)部主機(jī)和服務(wù)IP地址與發(fā)布到外部網(wǎng)絡(luò) 的全局IP地址的對(duì)應(yīng)關(guān)系的靜態(tài)條目;
第二步監(jiān)聽UDP端口為53的報(bào)文,在4妻收到外部網(wǎng)絡(luò)到內(nèi)部網(wǎng)絡(luò)方 向的DNS域名請(qǐng)求回應(yīng)報(bào)文后,解析該回應(yīng)報(bào)文中數(shù)據(jù)區(qū)的IP地址,并判 斷其是否為內(nèi)部主機(jī)和服務(wù)IP地址發(fā)布到外部網(wǎng)絡(luò)的全局IP地址,如果是, 則執(zhí)行第三步,否則執(zhí)行第四步;
其中,在第一步配置靜態(tài)規(guī)則時(shí),內(nèi)部主機(jī)和服務(wù)IP地址轉(zhuǎn)換到外部網(wǎng) 絡(luò)的全局IP地址,與外部網(wǎng)絡(luò)中的主機(jī)或服務(wù)器本身在公網(wǎng)的IP地址之間 是有區(qū)別的,例如,為內(nèi)部主機(jī)和服務(wù)IP地址轉(zhuǎn)換到外部網(wǎng)絡(luò)的全局IP地 址分配特定的IP地址^殳。從而本步驟中,在對(duì)解析回應(yīng)寺艮文獲取的地址進(jìn)4亍 判斷時(shí),可以根據(jù)不同的IP地址段判斷出所獲取的IP地址是否為內(nèi)部主機(jī) 和服務(wù)IP地址轉(zhuǎn)換后的全局IP地址;
第三步通過第一步中配置的靜態(tài)規(guī)則對(duì)獲取到的全局IP地址進(jìn)行NAT 轉(zhuǎn)換,得到對(duì)應(yīng)的內(nèi)部IP地址;
第四步對(duì)域名請(qǐng)求回應(yīng)導(dǎo)艮文IP頭部的地址進(jìn)行NAT轉(zhuǎn)換。
其中,域名請(qǐng)求才良文和域名請(qǐng)求回應(yīng)報(bào)文IP頭部包含源地址和目的地 址,報(bào)文在經(jīng)過NAT轉(zhuǎn)換設(shè)備時(shí),需要對(duì)報(bào)文IP頭部的地址進(jìn)行NAT轉(zhuǎn)換, 使得報(bào)文能正常穿越NAT,這是現(xiàn)有技術(shù)的內(nèi)容。
本發(fā)明技術(shù)方案通過監(jiān)聽回應(yīng)報(bào)文、解析回應(yīng)l艮文數(shù)據(jù)區(qū)中的IP地址并 判斷是否為內(nèi)部主機(jī)和服務(wù)IP地址轉(zhuǎn)換后的全局IP地址,如果是,則根據(jù) 靜態(tài)規(guī)則將其轉(zhuǎn)換為內(nèi)部主機(jī)和服務(wù)的內(nèi)部IP地址,再返回給發(fā)起請(qǐng)求的內(nèi) 部主機(jī)和服務(wù),這樣,發(fā)起請(qǐng)求的內(nèi)部主機(jī)和服務(wù)就能使用訪問目的主機(jī)和 服務(wù)的內(nèi)部IP地址直接對(duì)其進(jìn)行訪問。
以下結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明技術(shù)方案作進(jìn)一步詳細(xì)描述。應(yīng)當(dāng)說明的是,此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu) 成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)例及其i兌明用于解釋本發(fā)明,并不構(gòu) 成對(duì)本發(fā)明的不當(dāng)限定。
圖1是本發(fā)明的DNS域名請(qǐng)求回應(yīng)報(bào)文處理示意圖,詳細(xì)給出了 DNS 報(bào)文處理的流程圖,包括以下步驟
步驟101, Outside (外部網(wǎng)絡(luò))一>Inside (內(nèi)部網(wǎng)絡(luò))方向,收到源端 口號(hào)為53的l艮文;
步驟102,解析報(bào)文,如果是"A" Query(A查詢,即通過域名查詢其 所對(duì)應(yīng)的IP地址)的回應(yīng)報(bào)文,則執(zhí)行步驟103,否則執(zhí)行步驟106;
步驟103,獲取該回應(yīng)才艮文DNS數(shù)據(jù)區(qū)中的IP地址;
步驟104,用獲取到的DNS數(shù)據(jù)區(qū)中的IP地址查找靜態(tài)條目,如果存 在對(duì)應(yīng)的靜態(tài)條目則執(zhí)行步驟105,否則執(zhí)行步驟106;
步驟105,根據(jù)步驟104中查找到的靜態(tài)條目,對(duì)DNS數(shù)據(jù)中的IP地 址進(jìn)行NAT轉(zhuǎn)換,并執(zhí)^f于步驟106;
步驟106,對(duì)回應(yīng)報(bào)文IP頭部的IP地址進(jìn)行NAT轉(zhuǎn)換后,發(fā)送轉(zhuǎn)換后 的報(bào)文。
下面結(jié)合圖2對(duì)本發(fā)明技術(shù)方案的實(shí)施作進(jìn)一步的詳細(xì)描述
如圖2所示,在本發(fā)明實(shí)施例中,硬件部分由一臺(tái)擁有NAT功能的設(shè) 備、兩臺(tái)主機(jī)(帶Windows操作系統(tǒng))、兩臺(tái)應(yīng)用服務(wù)器(有發(fā)布好的、可 供訪問的應(yīng)用系統(tǒng))、 一臺(tái)DNS服務(wù)器組成。主機(jī)1在外部網(wǎng)絡(luò)(也簡(jiǎn)稱 外網(wǎng)),主機(jī)2在內(nèi)部網(wǎng)絡(luò)(也簡(jiǎn)稱內(nèi)網(wǎng)),應(yīng)用服務(wù)器l在外網(wǎng),應(yīng)用服 務(wù)器2在內(nèi)網(wǎng),DNS服務(wù)器在外網(wǎng)。
在圖2所示的應(yīng)用場(chǎng)景下,涉及NAT設(shè)備的訪問請(qǐng)求可分為3種
(1 )內(nèi)部主機(jī)通過外部DNS服務(wù)器訪問內(nèi)部應(yīng)用服務(wù)器。
(2 )外部主機(jī)通過外部DNS服務(wù)器訪問內(nèi)部應(yīng)用服務(wù)器。
(3 )內(nèi)部主才幾通過外部DNS月艮務(wù)器訪問外部應(yīng)用月艮務(wù)器。其中第一種請(qǐng)求是本發(fā)明主要實(shí)現(xiàn)的內(nèi)容,第二種和第三種請(qǐng)求是該組 應(yīng)用場(chǎng)景下并存的訪問需求,在實(shí)現(xiàn)第一種訪問請(qǐng)求處理的時(shí)候,需對(duì)第二、 三種訪問請(qǐng)求不構(gòu)成影響。
對(duì)于第 一種訪問請(qǐng)求,內(nèi)部主才幾通過外部DNS il良務(wù)器訪問內(nèi)部應(yīng)用服務(wù) 器,具體實(shí)現(xiàn)步驟如下
第一步在NAT設(shè)備上進(jìn)行NAT的相關(guān)配置,
(a) 啟動(dòng)NAT才莫塊;
(b) 配置規(guī)則;
包括配置內(nèi)部應(yīng)用服務(wù)器在內(nèi)部網(wǎng)絡(luò)中的IP地址,到內(nèi)部應(yīng)用服務(wù) 器發(fā)布的外部網(wǎng)絡(luò)的IP地址的靜態(tài)NAT規(guī)則;以及
配置動(dòng)態(tài)NAT規(guī)則、地址,使得內(nèi)部主機(jī)能訪問外部應(yīng)用服務(wù)器。
(c) 配置NAT轉(zhuǎn)換入接口、出接口;
(d) 配置主機(jī)l、主機(jī)2、應(yīng)用服務(wù)器l、應(yīng)用服務(wù)器2、 DNS服務(wù)器 的IP地址,在DNS服務(wù)器上配置應(yīng)用服務(wù)器1和應(yīng)用服務(wù)器2的DNS條 目,以提供DNS查詢服務(wù)。
第二步主機(jī)2通過域名訪問應(yīng)用服務(wù)器2,由于內(nèi)部網(wǎng)絡(luò)中沒有DNS 服務(wù)器,只能通過外部網(wǎng)絡(luò)中的DNS服務(wù)器處理該請(qǐng)求,由NAT設(shè)備對(duì)請(qǐng) 求報(bào)文進(jìn)行IP頭部IP地址的NAT轉(zhuǎn)換,使該報(bào)文穿越NAT設(shè)備到達(dá)外部 網(wǎng)絡(luò),由外部DNS服務(wù)器進(jìn)行域名解析;
第三步外部DNS服務(wù)器進(jìn)行域名解析后,返回域名請(qǐng)求回應(yīng)報(bào)文,并 將解析出的訪問目的主機(jī)和服務(wù)的全局IP地址包含在域名請(qǐng)求回應(yīng)報(bào)文的 DNS數(shù)據(jù)區(qū)中;域名請(qǐng)求回應(yīng)報(bào)文經(jīng)過NAT設(shè)備時(shí),NAT設(shè)備解析DNS 報(bào)文,根據(jù)解析結(jié)果查詢其是否符合NAT DNS-ALG轉(zhuǎn)換條件即是否符合靜 態(tài)規(guī)則,對(duì)于符合靜態(tài)規(guī)則的報(bào)文,對(duì)報(bào)文數(shù)據(jù)區(qū)中的IP地址信息進(jìn)行NAT 轉(zhuǎn)換,將其由外部網(wǎng)絡(luò)全局IP地址轉(zhuǎn)換成內(nèi)部網(wǎng)絡(luò)中的IP地址;
該步驟中,在NAT設(shè)備上,對(duì)于到達(dá)NAT設(shè)備且需要NAT轉(zhuǎn)換的報(bào)文進(jìn)行監(jiān)聽,如果是UDP端口為53的報(bào)文,就需要解析報(bào)文,判斷其是否 需要對(duì)其進(jìn)行DNS-ALG處理;
第四步對(duì)數(shù)據(jù)包IP頭部的IP地址進(jìn)行NAT轉(zhuǎn)換,使得報(bào)文能穿越 NAT設(shè)備,到達(dá)內(nèi)部發(fā)出DNS域名請(qǐng)求的主機(jī)2;
第五步內(nèi)部網(wǎng)絡(luò)中的主機(jī)2通過獲取到的內(nèi)部IP地址,就能訪問到內(nèi) 部應(yīng)用服務(wù)器2。且在訪問過程中,數(shù)據(jù)報(bào)文無需再經(jīng)由NAT設(shè)備。
第二種訪問請(qǐng)求,外部主機(jī)通過外部DNS服務(wù)器訪問內(nèi)部應(yīng)用服務(wù)器, 具體實(shí)現(xiàn)步驟如下
第一步NAT設(shè)備配置與第一種訪問請(qǐng)求第一步才喿作一致,進(jìn)行同樣的 NAT配置;
第二步外部網(wǎng)絡(luò)中主機(jī)1通過域名訪問內(nèi)部網(wǎng)絡(luò)中的應(yīng)用服務(wù)器2, 域名請(qǐng)求直接發(fā)送到外部DNS服務(wù)器后,回應(yīng)相應(yīng)的域名請(qǐng)求回應(yīng)報(bào)文,報(bào) 文中攜帶該域名的IP地址信息;
第三步通過第二步中獲取到的域名對(duì)應(yīng)的IP地址,訪問內(nèi)部網(wǎng)絡(luò)中的 應(yīng)用服務(wù)器2。在訪問過程中,經(jīng)由NAT設(shè)備的數(shù)據(jù)報(bào)文都需要進(jìn)行NAT 轉(zhuǎn)換。
第三種訪問請(qǐng)求,內(nèi)部主機(jī)通過外部DNS服務(wù)器訪問外部應(yīng)用服務(wù)器, 具體實(shí)現(xiàn)步驟如下
第一步NAT設(shè)備配置與第一種訪問請(qǐng)求第一步操作一致,進(jìn)行同樣的 NAT配置;
第二步內(nèi)部網(wǎng)絡(luò)中主機(jī)2通過域名訪問外部網(wǎng)絡(luò)中的應(yīng)用服務(wù)器1, 域名請(qǐng)求經(jīng)過NAT設(shè)備,通過NAT轉(zhuǎn)換后,發(fā)送到外部DNS服務(wù)器后, 外部DNS服務(wù)器回應(yīng)相應(yīng)的域名請(qǐng)求回應(yīng)報(bào)文,報(bào)文中攜帶該域名的IP地 址信息;
第三步域名請(qǐng)求回應(yīng)報(bào)文到達(dá)NAT設(shè)備后,只需要對(duì)IP頭部的IP地址進(jìn)行NAT轉(zhuǎn)換,然后將完成NAT轉(zhuǎn)換后的報(bào)文,發(fā)送給內(nèi)部主機(jī)2;
第四步內(nèi)部主機(jī)2通過第三步中獲取到的域名對(duì)應(yīng)的IP地址,就能訪 問外部網(wǎng)絡(luò)中的應(yīng)用服務(wù)器1。訪問過程中,經(jīng)由NAT設(shè)備的數(shù)據(jù)報(bào)文都需 要進(jìn)行NAT轉(zhuǎn)換。
當(dāng)然,本發(fā)明還可有其它實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況 但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1、一種網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,其特征在于,包括配置外部主機(jī)訪問內(nèi)部主機(jī)和服務(wù)的網(wǎng)絡(luò)地址轉(zhuǎn)換NAT靜態(tài)規(guī)則;接收到外部網(wǎng)絡(luò)到內(nèi)部網(wǎng)絡(luò)方向的域名請(qǐng)求回應(yīng)報(bào)文后,解析所述回應(yīng)報(bào)文中數(shù)據(jù)區(qū)的IP地址,并判斷該地址是否為內(nèi)部網(wǎng)絡(luò)中主機(jī)和服務(wù)地址發(fā)布到外部網(wǎng)絡(luò)的全局IP地址,若是,則根據(jù)所述靜態(tài)規(guī)則對(duì)所述全局IP地址進(jìn)行NAT轉(zhuǎn)換后得到對(duì)應(yīng)的內(nèi)部IP地址,再將轉(zhuǎn)換后的所述回應(yīng)報(bào)文經(jīng)由NAT設(shè)備轉(zhuǎn)發(fā)給發(fā)起所述域名請(qǐng)求的主機(jī)。
2、 如權(quán)利要求l所述的方法,其特征在于,所述方法通過監(jiān)聽UDP端口為53的報(bào)文,沖妄收所述外部網(wǎng)絡(luò)到內(nèi)部網(wǎng) 絡(luò)方向的域名請(qǐng)求回應(yīng)報(bào)文。
3、 如權(quán)利要求l所述的方法,其特征在于,所述靜態(tài)規(guī)則包括所述內(nèi)部網(wǎng)絡(luò)中主機(jī)和月良務(wù)的內(nèi)部IP地址與發(fā)布到 外部網(wǎng)絡(luò)的全局IP地址的對(duì)應(yīng)關(guān)系的靜態(tài)條目;在對(duì)所述全局IP地址進(jìn)行NAT轉(zhuǎn)換時(shí),根據(jù)所述靜態(tài)條目將所述全局 IP地址轉(zhuǎn)換為對(duì)應(yīng)的內(nèi)部IP地址。
4、 如權(quán)利要求1至3之任一項(xiàng)所述的方法,其特征在于,若判斷出所述回應(yīng)報(bào)文中數(shù)據(jù)區(qū)的IP地址不是內(nèi)部網(wǎng)絡(luò)中主機(jī)和服務(wù) 地址發(fā)布到外部網(wǎng)絡(luò)的全局IP地址,則直接將接收到的所述回應(yīng)報(bào)文經(jīng)由所 述NAT設(shè)備轉(zhuǎn)發(fā)給發(fā)起所述域名請(qǐng)求的主機(jī)。
5、 如權(quán)利要求2所述的方法,其特征在于,所述方法在監(jiān)聽UDP端口為53的報(bào)文時(shí),根據(jù)所述報(bào)文是否為A查詢 請(qǐng)求的回應(yīng)報(bào)文,判斷其是否為域名請(qǐng)求回應(yīng)報(bào)文。
6、 一種網(wǎng)絡(luò)地址轉(zhuǎn)換的系統(tǒng),包括DNS服務(wù)器,網(wǎng)絡(luò)地址轉(zhuǎn)換NAT 設(shè)備,主機(jī),其特征在于,所述NAT設(shè)備上配置有外部主機(jī)訪問內(nèi)部主機(jī)和服務(wù)的網(wǎng)絡(luò)地址轉(zhuǎn)換 NAT靜態(tài)規(guī)則;所述NAT設(shè)備用于,在接收到外部網(wǎng)絡(luò)到內(nèi)部網(wǎng)絡(luò)方向的域名請(qǐng)求回 應(yīng)報(bào)文后,解析所述回應(yīng)報(bào)文中數(shù)據(jù)區(qū)的IP地址,并判斷該地址是否為內(nèi)部 網(wǎng)絡(luò)中主機(jī)和服務(wù)地址發(fā)布到外部網(wǎng)絡(luò)的全局IP地址,若是,則根據(jù)所述靜 態(tài)規(guī)則對(duì)所述全局IP地址進(jìn)行NAT轉(zhuǎn)換后得到對(duì)應(yīng)的內(nèi)部IP地址,再將轉(zhuǎn) 換后的所述回應(yīng)報(bào)文轉(zhuǎn)發(fā)給發(fā)起所述域名請(qǐng)求的主機(jī)。
7、 如權(quán)利要求6所述的系統(tǒng),其特征在于,所述NAT設(shè)備通過監(jiān)聽UDP端口為53的報(bào)文,接收所述外部網(wǎng)絡(luò)到 內(nèi)部網(wǎng)絡(luò)方向的域名請(qǐng)求回應(yīng)報(bào)文。
8、 如權(quán)利要求6所述的系統(tǒng),其特征在于,所述靜態(tài)規(guī)則包括所述內(nèi)部網(wǎng)絡(luò)中主機(jī)和服務(wù)的內(nèi)部IP地址與發(fā)布到 外部網(wǎng)絡(luò)的全局IP地址的對(duì)應(yīng)關(guān)系的靜態(tài)條目;所述NAT設(shè)備在對(duì)所述全局IP地址進(jìn)行NAT轉(zhuǎn)換時(shí),根據(jù)所述靜態(tài)條 目將所述全局IP地址轉(zhuǎn)換為對(duì)應(yīng)的內(nèi)部IP地址。
9、 如權(quán)利要求6至8之任一項(xiàng)所述的系統(tǒng),其特征在于,所述NAT設(shè)備在對(duì)所述回應(yīng)報(bào)文中數(shù)據(jù)區(qū)的IP地址進(jìn)行解析后,若判 斷出該地址不是內(nèi)部.網(wǎng)絡(luò)中主機(jī)和服務(wù)地址發(fā)布到外部網(wǎng)絡(luò)的全局IP地址, 則直接將接收到的所述回應(yīng)4艮文轉(zhuǎn)發(fā)給發(fā)起所述域名請(qǐng)求的主機(jī)。
10、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述NAT設(shè)備在監(jiān)聽UDP端口為53的報(bào)文時(shí),根據(jù)所述報(bào)文是否為A 查詢請(qǐng)求的回應(yīng)報(bào)文,判斷其是否為域名請(qǐng)求回應(yīng)報(bào)文。
全文摘要
一種網(wǎng)絡(luò)地址轉(zhuǎn)換的方法及系統(tǒng),所述方法包括配置外部主機(jī)訪問內(nèi)部主機(jī)和服務(wù)的網(wǎng)絡(luò)地址轉(zhuǎn)換NAT靜態(tài)規(guī)則;接收到外部網(wǎng)絡(luò)到內(nèi)部網(wǎng)絡(luò)方向的域名請(qǐng)求回應(yīng)報(bào)文后,解析該回應(yīng)報(bào)文中數(shù)據(jù)區(qū)的IP地址,并判斷該地址是否為內(nèi)部網(wǎng)絡(luò)中主機(jī)和服務(wù)地址發(fā)布到外部網(wǎng)絡(luò)的全局IP地址,若是,則根據(jù)靜態(tài)規(guī)則對(duì)全局IP地址進(jìn)行NAT轉(zhuǎn)換后得到對(duì)應(yīng)的內(nèi)部IP地址,再將轉(zhuǎn)換后的回應(yīng)報(bào)文經(jīng)由NAT設(shè)備轉(zhuǎn)發(fā)給發(fā)起域名請(qǐng)求的主機(jī)。本發(fā)明應(yīng)用于內(nèi)網(wǎng)無DNS服務(wù)器時(shí)的網(wǎng)絡(luò)地址轉(zhuǎn)換,使得內(nèi)網(wǎng)中發(fā)出域名請(qǐng)求的主機(jī)能夠獲取到內(nèi)部訪問目的主機(jī)和服務(wù)的內(nèi)部IP地址,通過該內(nèi)部IP地址可以直接訪問內(nèi)網(wǎng)中的目的主機(jī)和服務(wù)。
文檔編號(hào)H04L29/08GK101582925SQ20091014757
公開日2009年11月18日 申請(qǐng)日期2009年6月15日 優(yōu)先權(quán)日2009年6月15日
發(fā)明者鮑俊濤 申請(qǐng)人:中興通訊股份有限公司