IPv4與IPv6互通的域名解析方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種IPv4與IPv6互通的域名解析方法,包括如下步驟:接收源主機(jī)的DNS服務(wù)器發(fā)出的查詢報(bào)文,將所述查詢報(bào)文發(fā)送給目的主機(jī)的DNS服務(wù)器;接收所述目的主機(jī)的DNS服務(wù)器根據(jù)所述查詢報(bào)文進(jìn)行域名解析成功后返回的應(yīng)答信息或域名解析失敗后返回的錯(cuò)誤信息;若接收到所述錯(cuò)誤信息,則將所述查詢報(bào)文的資源記錄類型根據(jù)網(wǎng)絡(luò)協(xié)議進(jìn)行格式修改后發(fā)送給所述目的主機(jī)的DNS服務(wù)器,其中,所述網(wǎng)絡(luò)協(xié)議包括IPv4協(xié)議和IPv6協(xié)議。本發(fā)明還提供對(duì)應(yīng)的系統(tǒng),能顯著提高網(wǎng)絡(luò)通信效率。
【專利說明】IPv4與IPv6互通的域名解析方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)【技術(shù)領(lǐng)域】,特別是涉及一種IPv4與IPv6互通的域名解析方法,以及一種 IPv4 (Internet Protocol4,互聯(lián)網(wǎng)協(xié)議第四版)與 IPv6 (Internet Protocol6,互聯(lián)網(wǎng)協(xié)議第六版)互通的域名解析系統(tǒng)。
【背景技術(shù)】
[0002]目前,數(shù)據(jù)網(wǎng)絡(luò)中以IPv4技術(shù)為主導(dǎo),隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,IPv6技術(shù)以其龐大的地址空間等優(yōu)勢(shì)將逐漸取代目前的IPv4技術(shù)。然而,這種徹底的取代需要長(zhǎng)期的過程。在這個(gè)長(zhǎng)期由IPv4向IPv6演進(jìn)的過程中,為了共享網(wǎng)絡(luò)資源,必須要解決IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)互通的問題。為此,IETF(Internet Engineering Task Force,互聯(lián)網(wǎng)工程任務(wù)組)提出了一系列過渡技術(shù),其中就包括了 NAT-PT (network address translation-protocoltranslation,附帶協(xié)議轉(zhuǎn)換器的網(wǎng)絡(luò)地址轉(zhuǎn)換器)技術(shù),它是把SIIT (stateless IP/ICMPtranslation,無(wú)狀態(tài)IP/ICMP翻譯技術(shù))協(xié)議轉(zhuǎn)換技術(shù)和IPv4網(wǎng)絡(luò)中動(dòng)態(tài)地址翻譯技術(shù)(NAT, Network Address Translation)相結(jié)合的一種技術(shù),位于IPv6和IPv4網(wǎng)絡(luò)的交界處,可以實(shí)現(xiàn)純IPv6主機(jī)與純IPv4主機(jī)之間的互通。
[0003]以 DNS_ALG(Domain Name System-Application Level Gateway,域名系統(tǒng)的應(yīng)用層網(wǎng)關(guān))為核心的域名解析模塊在NAT-PT協(xié)議運(yùn)行的過程中扮演著重要的角色,其基本作用是在網(wǎng)絡(luò)邊緣監(jiān)視出入網(wǎng)絡(luò)的DNS查詢和響應(yīng)并對(duì)其進(jìn)行修改,從而保證通信的一端能夠獲得網(wǎng)關(guān)為另一端分配的地址。在實(shí)際使用中,它不僅是保證NAT-PT網(wǎng)關(guān)雙向通信的先決條件,而且是NAT-PT具備實(shí)用性的重要保證。
[0004]在過渡網(wǎng)絡(luò)環(huán)境下,IPv6網(wǎng)絡(luò)中的節(jié)點(diǎn)如果要與IPv4網(wǎng)絡(luò)節(jié)點(diǎn)建立連接或是反過來(lái)IPv4網(wǎng)絡(luò)節(jié)點(diǎn)要與IPv6節(jié)點(diǎn)建立連接,都需先借助DNS查詢得到對(duì)方IP地址,再經(jīng)過DNS-ALG轉(zhuǎn)換成節(jié)點(diǎn)理解的格式。
[0005]傳統(tǒng)技術(shù)中在收到IPv4節(jié)點(diǎn)發(fā)出的DNS查詢后,由于不確定該域名對(duì)應(yīng)的站點(diǎn)是IPv4站點(diǎn)還是IPv6站點(diǎn),DNS-ALG會(huì)在對(duì)其進(jìn)行地址轉(zhuǎn)換的基礎(chǔ)上,發(fā)出兩個(gè)不同類型的查詢報(bào)文。如果被查詢的節(jié)點(diǎn)是雙棧節(jié)點(diǎn),即可以通過IPv4協(xié)議訪問也可以通過IPv6協(xié)議訪問,則返回應(yīng)答報(bào)文會(huì)同時(shí)記錄有節(jié)點(diǎn)的原IPv4地址和原IPv6地址經(jīng)過NAT-PT網(wǎng)關(guān)翻譯的IPv4地址。也就是一個(gè)請(qǐng)求,得到兩個(gè)回復(fù)。雖然,通過這兩個(gè)地址都可以找到請(qǐng)求訪問的雙棧節(jié)點(diǎn),但是如果選擇IPv6經(jīng)過網(wǎng)關(guān)翻譯后的IPv4地址,就意味著每次數(shù)據(jù)傳輸?shù)诫p棧節(jié)點(diǎn),都要進(jìn)行一次地址翻譯。而選擇雙棧節(jié)點(diǎn)的IPv4地址就不存在這種問題。這種選擇的結(jié)果使得兩個(gè)本來(lái)可以在同一協(xié)議環(huán)境下直接通信的節(jié)點(diǎn)不得不通過NAT-PT網(wǎng)關(guān)來(lái)進(jìn)行通信,結(jié)果不僅降低了通信效率,還浪費(fèi)了 NAT-PT網(wǎng)關(guān)的寶貴資源。
【發(fā)明內(nèi)容】
[0006]基于此,本發(fā)明提供一種IPv4與IPv6互通的域名解析方法與系統(tǒng),能顯著提高網(wǎng)絡(luò)通信效率。[0007]—種IPv4與IPv6互通的域名解析方法,包括如下步驟:
[0008]接收源主機(jī)的DNS服務(wù)器發(fā)出的查詢報(bào)文,將所述查詢報(bào)文發(fā)送給目的主機(jī)的DNS服務(wù)器;
[0009]接收所述目的主機(jī)的DNS服務(wù)器根據(jù)所述查詢報(bào)文進(jìn)行域名解析成功后返回的應(yīng)答信息或域名解析失敗后返回的錯(cuò)誤信息;
[0010]若接收到所述錯(cuò)誤信息,則將所述查詢報(bào)文的資源記錄類型根據(jù)網(wǎng)絡(luò)協(xié)議進(jìn)行格式修改后發(fā)送給所述目的主機(jī)的DNS服務(wù)器,其中,所述網(wǎng)絡(luò)協(xié)議包括IPv4協(xié)議和IPv6協(xié)議。
[0011]一種IPv4與IPv6互通的域名解析系統(tǒng),NAT-PT網(wǎng)關(guān)包括DNS-ALG,所述DNS-ALG包括:
[0012]發(fā)送模塊,用于接收源主機(jī)的DNS服務(wù)器發(fā)出的查詢報(bào)文,將所述查詢報(bào)文發(fā)送給目的主機(jī)的DNS服務(wù)器;
[0013]接收模塊,用于接收所述目的主機(jī)的DNS服務(wù)器根據(jù)所述查詢報(bào)文進(jìn)行域名解析成功后返回的應(yīng)答信息或域名解析失敗后返回的錯(cuò)誤信息;
[0014]修改模塊,用于若接收到所述錯(cuò)誤信息,則將所述查詢報(bào)文的資源記錄類型根據(jù)網(wǎng)絡(luò)協(xié)議進(jìn)行格式修改后發(fā)送給所述目的主機(jī)的DNS服務(wù)器,其中,所述網(wǎng)絡(luò)協(xié)議包括IPv4協(xié)議和IPv6協(xié)議。
[0015]上述IPv4與IPv6互通的域名解析方法與系統(tǒng),可避免傳統(tǒng)技術(shù)中被查詢的目的主機(jī)是雙棧主機(jī)時(shí)出現(xiàn)的地址選擇問題;對(duì)于該問題,傳統(tǒng)技術(shù)中是兩種不同記錄類型的轉(zhuǎn)換后報(bào)文同時(shí)發(fā)出,本發(fā)明在轉(zhuǎn)換后報(bào)文的發(fā)出時(shí)機(jī)上進(jìn)行了調(diào)整,以達(dá)到優(yōu)先獲取適當(dāng)?shù)刂返哪康?。DNS-ALG接收到查詢報(bào)文后發(fā)給目的主機(jī)的DNS服務(wù)器,若是雙棧節(jié)點(diǎn)則可返回一個(gè)與源主機(jī)網(wǎng)絡(luò)協(xié)議相同格式的IP地址,該IP地址不是網(wǎng)關(guān)翻譯后的IP地址,則源主機(jī)之后可與雙棧主機(jī)直接通信,顯著提高了通信效率。
【專利附圖】
【附圖說明】
[0016]圖1為本發(fā)明IPv4與IPv6互通的域名解析方法在一實(shí)施例中的流程示意圖。
[0017]圖2為本發(fā)明IPv4與IPv6互通的域名解析系統(tǒng)在一實(shí)施例中的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0018]下面結(jié)合實(shí)施例及附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明,但本發(fā)明的實(shí)施方式不限于此。
[0019]如圖1所示,是本發(fā)明IPv4與IPv6互通的域名解析方法在一較佳實(shí)施例中的流程示意圖,包括如下步驟:
[0020]SlU DNS-ALG接收源主機(jī)的DNS服務(wù)器發(fā)出的查詢報(bào)文,將所述查詢報(bào)文發(fā)送給目的主機(jī)的DNS服務(wù)器;
[0021]在過渡網(wǎng)絡(luò)環(huán)境下,IPv6網(wǎng)絡(luò)中的節(jié)點(diǎn)如果要與IPv4網(wǎng)絡(luò)節(jié)點(diǎn)建立連接或是反過來(lái)IPv4網(wǎng)絡(luò)節(jié)點(diǎn)要與IPv6節(jié)點(diǎn)建立連接,都需先借助DNS查詢得到對(duì)方IP地址,再經(jīng)過DNS-ALG轉(zhuǎn)換成節(jié)點(diǎn)理解的格式;
[0022]當(dāng)某個(gè)節(jié)點(diǎn),即源主機(jī)訪問某個(gè)域名時(shí),若該源主機(jī)查詢不到已記錄的域名與IP地址的映射關(guān)系,則需由其DNS服務(wù)器向NAT-PT網(wǎng)關(guān)發(fā)出查詢請(qǐng)求,該請(qǐng)求以報(bào)文形式發(fā)送到NAT-PT網(wǎng)關(guān)中的DNS-ALG。
[0023]S12、DNS-ALG接收所述目的主機(jī)的DNS服務(wù)器返回的應(yīng)答信息;所述應(yīng)答信息包括所述目的主機(jī)的DNS服務(wù)器根據(jù)所述查詢報(bào)文進(jìn)行域名解析成功后返回的應(yīng)答消息,或者域名解析失敗返回的錯(cuò)誤信息;
[0024]本實(shí)施例中,DNS-ALG收到該查詢報(bào)文時(shí),由于與所查域名對(duì)應(yīng)的地址是IPv4地址還是IPv6地址尚不確定;因此,DNS-ALG將查詢報(bào)文發(fā)送給目的主機(jī)的DNS服務(wù)器;
[0025]目的主機(jī)會(huì)根據(jù)所述查詢報(bào)文進(jìn)行域名解析;在本實(shí)施例中,網(wǎng)絡(luò)上的主機(jī)有三種情況:IPv4主機(jī)、IPv6主機(jī)及雙棧主機(jī);雙棧節(jié)點(diǎn)既可以通過IPv4協(xié)議訪問也可以通過IPv6協(xié)議訪問;由于源主機(jī)的DNS服務(wù)器需要提交到DNS-ALG進(jìn)行查詢,則目的主機(jī)存在兩種情況,與源主機(jī)的網(wǎng)絡(luò)協(xié)議不同,或者是雙棧主機(jī);
[0026]若是雙棧主機(jī),則DNS-ALG將所述查詢報(bào)文發(fā)送給目的主機(jī)的DNS服務(wù)器后,可接收到目的主機(jī)根據(jù)所述查詢報(bào)文進(jìn)行域名解析成功后返回的應(yīng)答信息;
[0027]具體的,所述查詢報(bào)文中包含所述源主機(jī)待查詢的域名;所述應(yīng)答信息包括所述域名的IP地址。
[0028]S13、DNS-ALG若接收到所述錯(cuò)誤信息,則將所述查詢報(bào)文的資源記錄類型根據(jù)網(wǎng)絡(luò)協(xié)議進(jìn)行格式修改后發(fā)送給所述目的主機(jī)的DNS服務(wù)器,其中,所述網(wǎng)絡(luò)協(xié)議包括IPv4協(xié)議和IPv6協(xié)議;
[0029]若是與源主機(jī)的網(wǎng)絡(luò)協(xié)議不同,DNS-ALG將所述查詢報(bào)文發(fā)送給目的主機(jī)的DNS服務(wù)器后,則目的主機(jī)的DNS服務(wù)器會(huì)出現(xiàn)域名解析失敗,返回錯(cuò)誤信息;
[0030]DNS-ALG若接收到所述錯(cuò)誤信息,即可知道目的主機(jī)與源主機(jī)的網(wǎng)絡(luò)協(xié)議不同,可將所述查詢報(bào)文的資源記錄類型根據(jù)網(wǎng)絡(luò)協(xié)議進(jìn)行格式修改,修改成目的主機(jī)的DNS服務(wù)器可支持的格式,目的主機(jī)的DNS服務(wù)器接收到后域名解析成功,可返回正確的應(yīng)答信息。
[0031]在一較佳實(shí)施例中,在將所述查詢報(bào)文發(fā)送給目的主機(jī)的DNS服務(wù)器的步驟之前,還包括對(duì)所述查詢報(bào)文根據(jù)目的主機(jī)的DNS服務(wù)器所支持的網(wǎng)絡(luò)協(xié)議進(jìn)行地址轉(zhuǎn)換的步驟;DNS-ALG轉(zhuǎn)發(fā)查詢報(bào)文時(shí),需對(duì)查詢報(bào)文進(jìn)行地址轉(zhuǎn)換,以便能準(zhǔn)確發(fā)送到目的主機(jī)的DNS服務(wù)器。
[0032]這里的地址轉(zhuǎn)換,是指當(dāng)源主機(jī)與目的主機(jī)的地址形式不同時(shí),在互通網(wǎng)關(guān)處做地址轉(zhuǎn)換。如IPv4主機(jī)通過網(wǎng)關(guān)訪問IPv6主機(jī),在網(wǎng)關(guān)處需要將原IPv4地址格式轉(zhuǎn)換為IPv6地址格式,才能被IPv6主機(jī)所在網(wǎng)絡(luò)的DNS服務(wù)器識(shí)別。目的IPv6主機(jī)接收請(qǐng)求報(bào)文后,返回一個(gè)響應(yīng)報(bào)文,發(fā)送給網(wǎng)關(guān),網(wǎng)關(guān)再將響應(yīng)報(bào)文中的源地址和目的地址轉(zhuǎn)換為IPv4格式,發(fā)送給請(qǐng)求主機(jī)。
[0033]在一較佳實(shí)施例中,由于IPv4協(xié)議與IPv6協(xié)議的地址格式不同,需要修改查詢報(bào)文,所述將所述查詢報(bào)文的資源記錄類型根據(jù)網(wǎng)絡(luò)協(xié)議進(jìn)行格式修改的步驟包括:
[0034]若所述查詢報(bào)文的資源記錄類型為A,則根據(jù)所述IPv6協(xié)議,將所述查詢報(bào)文的資源記錄類型為AAAA ;
[0035]若所述查詢報(bào)文的資源記錄類型為AAAA,則根據(jù)所述IPv4協(xié)議,將所述查詢報(bào)文的資源記錄類型為A。
[0036]本實(shí)施例可避免傳統(tǒng)技術(shù)中被查詢的目的主機(jī)是雙棧主機(jī)時(shí)出現(xiàn)的地址選擇問題;對(duì)于DNS-ALG與雙棧節(jié)點(diǎn)通信時(shí)存在地址選擇問題,傳統(tǒng)技術(shù)中是兩種不同記錄類型的轉(zhuǎn)換后報(bào)文同時(shí)發(fā)出,對(duì)此本實(shí)施例在轉(zhuǎn)換后報(bào)文的發(fā)出時(shí)機(jī)上進(jìn)行了調(diào)整,以達(dá)到優(yōu)先獲取適當(dāng)?shù)刂返哪康摹NS-ALG接收到查詢報(bào)文后發(fā)給目的主機(jī)的DNS服務(wù)器,若是雙棧節(jié)點(diǎn)則可返回一個(gè)與源主機(jī)網(wǎng)絡(luò)協(xié)議相同格式的IP地址,該IP地址不是網(wǎng)關(guān)翻譯后的IP地址,則源主機(jī)之后可與雙棧主機(jī)直接通信,顯著提高了通信效率。
[0037]例如,當(dāng)IPv6主機(jī)發(fā)出查詢報(bào)文,DNS AAAA查詢報(bào)文通過NAT-PT網(wǎng)關(guān)時(shí),DNS-ALG將該查詢報(bào)文轉(zhuǎn)換地址后轉(zhuǎn)發(fā)到網(wǎng)關(guān)另一側(cè)網(wǎng)絡(luò)中的DNS服務(wù)器,而DNS-ALG暫不生成A記錄類型的查詢報(bào)文。如果DNS服務(wù)器不理解AAAA查詢或沒有相關(guān)節(jié)點(diǎn)的AAAA記錄,就返回一個(gè)錯(cuò)誤信息。如果網(wǎng)關(guān)的DNS-ALG收到這個(gè)錯(cuò)誤信息,則再發(fā)送一個(gè)關(guān)于該節(jié)點(diǎn)的A查詢。如果這個(gè)查詢返回了一個(gè)IPv4地址,則由DNS-ALG根據(jù)該返回生成AAAA記錄的應(yīng)答信息,然后將其轉(zhuǎn)發(fā)給對(duì)應(yīng)的IPv6主機(jī)。
[0038]當(dāng)IPv4主機(jī)發(fā)出查詢報(bào)文,DNS A查詢報(bào)文通過NAT-PT網(wǎng)關(guān)時(shí),DNS-ALG將該查詢報(bào)文轉(zhuǎn)換地址后轉(zhuǎn)發(fā)到網(wǎng)關(guān)另一側(cè)網(wǎng)絡(luò)中的DNS服務(wù)器,而DNS-ALG暫不生成AAAA記錄類型的查詢報(bào)文。如果DNS服務(wù)器不理解A查詢或沒有相關(guān)節(jié)點(diǎn)的A記錄,也返回一個(gè)錯(cuò)誤信息。當(dāng)網(wǎng)關(guān)的DNS-ALG收到這個(gè)錯(cuò)誤信息,則再發(fā)送一個(gè)關(guān)于該節(jié)點(diǎn)的AAAA查詢。如果這個(gè)查詢返回了一個(gè)IPv6地址,則由DNS-ALG根據(jù)該返回生成A記錄的響應(yīng)報(bào)文,然后將其轉(zhuǎn)發(fā)給對(duì)應(yīng)的IPv4主機(jī)。
[0039]通過以上兩個(gè)例子可知道,NAT-PT網(wǎng)關(guān)將第一個(gè)成功返回的DNS響應(yīng)轉(zhuǎn)發(fā)給終端主機(jī),如果不成功的話,則返回錯(cuò)誤;從而節(jié)點(diǎn)只得到一個(gè)合適的返回地址,這樣可以明顯提聞?dòng)蛎馕龅男省?br>
[0040]其中,為了提高域名解析模塊的效率,在站點(diǎn)配置時(shí),DNS-ALG可以根據(jù)NAT-PT網(wǎng)關(guān)內(nèi)IPv6站點(diǎn)的具體使用情況進(jìn)行節(jié)點(diǎn)的默認(rèn)DNS服務(wù)器設(shè)置。如果站點(diǎn)內(nèi)部節(jié)點(diǎn)以訪問IPv6網(wǎng)絡(luò)為主,只是偶爾需要訪問IPv4網(wǎng)絡(luò),則在設(shè)置節(jié)點(diǎn)DNS服務(wù)器地址時(shí)將本地IPv6DNS服務(wù)器設(shè)為主DNS服務(wù)器,該DNS服務(wù)器使用可以通過IPv6訪問的根DNS服務(wù)器;將prefix_ipv4_dns設(shè)為輔DNS服務(wù)器,這樣,平時(shí)大多數(shù)的DNS查詢報(bào)文得以在IPv6環(huán)境內(nèi)傳播而不必再經(jīng)過NAT-PT網(wǎng)關(guān)。當(dāng)域名解析無(wú)法得到域名對(duì)應(yīng)的IPv6地址時(shí),則啟用輔DNS服務(wù)器通過NAT-PT網(wǎng)關(guān)到IPv4DNS服務(wù)器上查詢。當(dāng)站點(diǎn)內(nèi)部節(jié)點(diǎn)以訪問IPv4網(wǎng)絡(luò)中的節(jié)點(diǎn)為主時(shí),則調(diào)換主輔DNS服務(wù)器的地址,可達(dá)到提高查詢效率的目的。
[0041]接下來(lái)再通過一實(shí)施例說明本發(fā)明,本實(shí)施例中源主機(jī)是IPv4主機(jī),目的主機(jī)是IPv6主機(jī);
[0042]IPv4主機(jī)發(fā)出DNS查詢,詢問域名為www.A.com的IPv6主機(jī)的地址,由于源主機(jī)使用IPv4協(xié)議,因而該DNS查詢中域名的類型為A (對(duì)應(yīng)IPv6協(xié)議的記錄類型是AAAA)。
[0043]IPv4的DNS服務(wù)器收到DNS請(qǐng)求后檢查自己的記錄,如果沒有該記錄,IPv4DNS將轉(zhuǎn)發(fā)此DNS請(qǐng)求。
[0044]NAT-PT網(wǎng)關(guān)的DNS-ALG收到該DNS查詢請(qǐng)求,由于與所查域名對(duì)應(yīng)的地址是IPv4地址還是IPv6地址尚不確定,因此DNS-ALG在對(duì)原查詢報(bào)文僅作地址轉(zhuǎn)換便直接發(fā)出給目的主機(jī)的DNS服務(wù)器。
[0045]目的主機(jī)的DNS服務(wù)器接收查詢報(bào)文,由于該查詢報(bào)文的資源記錄類型為A,DNS服務(wù)器域名解析失敗,返回錯(cuò)誤信息;[0046]DNS-ALG接收到錯(cuò)誤信息,將查詢報(bào)文的資源記錄類型從A修改為AAAA,再次向IPv6DNS 轉(zhuǎn)發(fā)。
[0047]IPv6DNS收到此查詢后查找自己的記錄,得到域名www.a.com對(duì)應(yīng)的IPv6地址I::3o然后將這個(gè)地址填入DNS響應(yīng)報(bào)文的回答字段,此時(shí)DNS響應(yīng)報(bào)文的類型為ΑΑΑΑ。然后回復(fù)給DNS-ALG。
[0048]DNS-ALG收到響應(yīng)報(bào)文后,將其中的DNS應(yīng)答部分進(jìn)行修改,把“ΑΑΑΑ”類轉(zhuǎn)成“Α”
類應(yīng)答。
[0049]NAT-PT網(wǎng)關(guān)從IPv4地址池中分配一個(gè)地址1.4.2.6,替換應(yīng)答中的IPv6地址1:: 3,并記錄二者之間的映射信息。
[0050]IPv4主機(jī)在收到此DNS應(yīng)答之后,就知道了主機(jī)www.a.com的IPv4地址是
1.4.2.6。至此,DNS-ALG工作結(jié)束。
[0051]IPv4 主機(jī)向 NAT-PT 網(wǎng)關(guān)發(fā)送報(bào)文,SRC=L 2.2.9,DST=L 4.2.6。
[0052]IPv4報(bào)文被路由到NAT-PT網(wǎng)關(guān),由于NAT-PT中已經(jīng)記錄了 IPv4地址1.4.2.6與IPv6地址1::3之間的映射信息,就將地址替換為1::3。另外使用網(wǎng)關(guān)定義的前綴對(duì)源地址進(jìn)行修改,形成IPv6地址為=Prefix:: 1.2.2.9,并轉(zhuǎn)發(fā)報(bào)文給地址為1:: 3的IPv6主機(jī)。
[0053]如圖2所示,本發(fā)明還提供對(duì)應(yīng)的Pv4與IPv6互通的域名解析系統(tǒng),NAT-PT網(wǎng)關(guān)包括DNS-ALG,所述DNS-ALG包括:
[0054]發(fā)送模塊21,用于接收源主機(jī)的DNS服務(wù)器發(fā)出的查詢報(bào)文,將所述查詢報(bào)文發(fā)送給目的主機(jī)的DNS服務(wù)器;
[0055]在過渡網(wǎng)絡(luò)環(huán)境下,IPv6網(wǎng)絡(luò)中的節(jié)點(diǎn)如果要與IPv4網(wǎng)絡(luò)節(jié)點(diǎn)建立連接或是反過來(lái)IPv4網(wǎng)絡(luò)節(jié)點(diǎn)要與IPv6節(jié)點(diǎn)建立連接,都需先借助DNS查詢得到對(duì)方IP地址,再經(jīng)過DNS-ALG轉(zhuǎn)換成節(jié)點(diǎn)理解的格式;
[0056]當(dāng)某個(gè)節(jié)點(diǎn),即源主機(jī)訪問某個(gè)域名時(shí),若該源主機(jī)查詢不到已記錄的域名與IP地址的映射關(guān)系,則需由其DNS服務(wù)器向NAT-PT網(wǎng)關(guān)發(fā)出查詢請(qǐng)求,該請(qǐng)求以報(bào)文形式發(fā)送到NAT-PT網(wǎng)關(guān)中的DNS-ALG。
[0057]接收模塊22,用于接收所述目的主機(jī)的DNS服務(wù)器根據(jù)所述查詢報(bào)文進(jìn)行域名解析成功后返回的應(yīng)答信息或域名解析失敗后返回的錯(cuò)誤信息;
[0058]本實(shí)施例中,DNS-ALG收到該查詢報(bào)文時(shí),由于與所查域名對(duì)應(yīng)的地址是IPv4地址還是IPv6地址尚不確定;因此,DNS-ALG將查詢報(bào)文發(fā)送給目的主機(jī)的DNS服務(wù)器;
[0059]目的主機(jī)會(huì)根據(jù)所述查詢報(bào)文進(jìn)行域名解析;在本實(shí)施例中,網(wǎng)絡(luò)上的主機(jī)有三種情況:IPv4主機(jī)、IPv6主機(jī)及雙棧主機(jī);雙棧節(jié)點(diǎn)既可以通過IPv4協(xié)議訪問也可以通過IPv6協(xié)議訪問;由于源主機(jī)的DNS服務(wù)器需要提交到DNS-ALG進(jìn)行查詢,則目的主機(jī)存在兩種情況,與源主機(jī)的網(wǎng)絡(luò)協(xié)議不同,或者是雙棧主機(jī);
[0060]若是雙棧主機(jī),則DNS-ALG將所述查詢報(bào)文發(fā)送給目的主機(jī)的DNS服務(wù)器后,可接收到目的主機(jī)根據(jù)所述查詢報(bào)文進(jìn)行域名解析成功后返回的應(yīng)答信息;
[0061]具體的,所述查詢報(bào)文中包含所述源主機(jī)待查詢的域名;所述應(yīng)答信息包括所述域名的IP地址。
[0062] 修改模塊23,用于若接收到所述錯(cuò)誤信息,則將所述查詢報(bào)文的資源記錄類型根據(jù)網(wǎng)絡(luò)協(xié)議進(jìn)行格式修改后發(fā)送給所述目的主機(jī)的DNS服務(wù)器,其中,所述網(wǎng)絡(luò)協(xié)議包括IPv4協(xié)議和IPv6協(xié)議;
[0063]若是與源主機(jī)的網(wǎng)絡(luò)協(xié)議不同,DNS-ALG將所述查詢報(bào)文發(fā)送給目的主機(jī)的DNS服務(wù)器后,則目的主機(jī)的DNS服務(wù)器會(huì)出現(xiàn)域名解析失敗,則返回錯(cuò)誤信息;
[0064]DNS-ALG若接收到所述錯(cuò)誤信息,即可知道目的主機(jī)與源主機(jī)的網(wǎng)絡(luò)協(xié)議不同,可將所述查詢報(bào)文的資源記錄類型根據(jù)網(wǎng)絡(luò)協(xié)議進(jìn)行格式修改,修改成目的主機(jī)的DNS服務(wù)器可支持的格式,目的主機(jī)的DNS服務(wù)器接收到后域名解析成功,可返回正確的應(yīng)答信息。
[0065]在一較佳實(shí)施例中,還可包括轉(zhuǎn)換模塊,用于對(duì)所述查詢報(bào)文根據(jù)目的主機(jī)的DNS服務(wù)器所支持的網(wǎng)絡(luò)協(xié)議進(jìn)行地址轉(zhuǎn)換;DNS-ALG轉(zhuǎn)發(fā)查詢報(bào)文時(shí),需對(duì)查詢報(bào)文進(jìn)行地址轉(zhuǎn)換,以便能準(zhǔn)確發(fā)送到目的主機(jī)的DNS服務(wù)器。
[0066]在一較佳實(shí)施例中,由于IPv4協(xié)議與IPv6協(xié)議的地址格式不同,需要修改查詢報(bào)文,所述修改模塊還用于:若所述查詢報(bào)文的資源記錄類型為A,則根據(jù)所述IPv6協(xié)議,將所述查詢報(bào)文的資源記錄類型修改為AAAA ;若所述查詢報(bào)文的資源記錄類型為AAAA,則根據(jù)所述IPv4協(xié)議,將所述查詢報(bào)文的資源記錄類型修改為A。
[0067]本發(fā)明IPv4與IPv6互通的域名解析方法與系統(tǒng),可避免傳統(tǒng)技術(shù)中被查詢的目的主機(jī)是雙棧主機(jī)時(shí)出現(xiàn)的地址選擇問題;對(duì)于該問題,傳統(tǒng)技術(shù)中是兩種不同記錄類型的轉(zhuǎn)換后報(bào)文同時(shí)發(fā)出,對(duì)此本發(fā)明在轉(zhuǎn)換后報(bào)文的發(fā)出時(shí)機(jī)上進(jìn)行了調(diào)整,以達(dá)到優(yōu)先獲取適當(dāng)?shù)刂返哪康?。DNS-ALG接收到查詢報(bào)文后發(fā)給目的主機(jī)的DNS服務(wù)器,若是雙棧節(jié)點(diǎn)則可返回一個(gè)與源主機(jī)網(wǎng)絡(luò)協(xié)議相同格式的IP地址,該IP地址不是網(wǎng)關(guān)翻譯后的IP地址,則源主機(jī)之后可與雙棧主機(jī)直接通信,顯著提高了通信效率。
[0068]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種IPv4與IPv6互通的域名解析方法,其特征在于,包括如下步驟: 接收源主機(jī)的DNS服務(wù)器發(fā)出的查詢報(bào)文,將所述查詢報(bào)文發(fā)送給目的主機(jī)的DNS服務(wù)器; 接收所述目的主機(jī)的DNS服務(wù)器根據(jù)所述查詢報(bào)文進(jìn)行域名解析成功后返回的應(yīng)答信息或域名解析失敗后返回的錯(cuò)誤信息; 若接收到所述錯(cuò)誤信息,則將所述查詢報(bào)文的資源記錄類型根據(jù)網(wǎng)絡(luò)協(xié)議進(jìn)行格式修改后發(fā)送給所述目的主機(jī)的DNS服務(wù)器,其中,所述網(wǎng)絡(luò)協(xié)議包括IPv4協(xié)議和IPv6協(xié)議。
2.根據(jù)權(quán)利要求1所述的IPv4與IPv6互通的域名解析方法,其特征在于,在將所述查詢報(bào)文發(fā)送給目的主機(jī)的DNS服務(wù)器的步驟之前,還包括對(duì)所述查詢報(bào)文根據(jù)目的主機(jī)的DNS服務(wù)器所支持的網(wǎng)絡(luò)協(xié)議進(jìn)行地址轉(zhuǎn)換的步驟。
3.根據(jù)權(quán)利要求1所述的IPv4與IPv6互通的域名解析方法,其特征在于,所述將所述查詢報(bào)文的資源記錄類型根據(jù)網(wǎng)絡(luò)協(xié)議進(jìn)行格式修改的步驟包括: 若所述查詢報(bào)文的資源記錄類型為A,則根據(jù)所述IPv6協(xié)議,將所述查詢報(bào)文的資源記錄類型修改為AAAA ; 若所述查詢報(bào)文的資源記錄類型為AAAA,則根據(jù)所述IPv4協(xié)議,將所述查詢報(bào)文的資源記錄類型修改為A。
4.根據(jù)權(quán)利要求1至3任一項(xiàng)所述的IPv4與IPv6互通的域名解析方法,其特征在于,所述查詢報(bào)文中包含所述源主機(jī)待查詢的域名;所述應(yīng)答信息包括所述域名的IP地址。
5.一種IPv4與IPv6互通的域名解析系統(tǒng),NAT-PT網(wǎng)關(guān)包括DNS-ALG,其特征在于,所述DNS-ALG包括: 發(fā)送模塊,用于接收源主機(jī)的DNS服務(wù)器發(fā)出的查詢報(bào)文,將所述查詢報(bào)文發(fā)送給目的主機(jī)的DNS服務(wù)器; 接收模塊,用于接收所述目的主機(jī)的DNS服務(wù)器根據(jù)所述查詢報(bào)文進(jìn)行域名解析成功后返回的應(yīng)答信息或域名解析失敗后返回的錯(cuò)誤信息; 修改模塊,用于若接收到所述錯(cuò)誤信息,則將所述查詢報(bào)文的資源記錄類型根據(jù)網(wǎng)絡(luò)協(xié)議進(jìn)行格式修改后發(fā)送給所述目的主機(jī)的DNS服務(wù)器,其中,所述網(wǎng)絡(luò)協(xié)議包括IPv4協(xié)議和IPv6協(xié)議。
6.根據(jù)權(quán)利要求5所述的IPv4與IPv6互通的域名解析系統(tǒng),其特征在于,還包括轉(zhuǎn)換模塊,用于對(duì)所述查詢報(bào)文根據(jù)目的主機(jī)的DNS服務(wù)器所支持的網(wǎng)絡(luò)協(xié)議進(jìn)行地址轉(zhuǎn)換。
7.根據(jù)權(quán)利要求5所述的IPv4與IPv6互通的域名解析系統(tǒng),其特征在于,所述修改模塊還用于:若所述查詢報(bào)文的資源記錄類型為A,則根據(jù)所述IPv6協(xié)議,將所述查詢報(bào)文的資源記錄類型修改為AAAA ;若所述查詢報(bào)文的資源記錄類型為AAAA,則根據(jù)所述IPv4協(xié)議,將所述查詢報(bào)文的資源記錄類型修改為A。
8.根據(jù)權(quán)利要求5至7任一項(xiàng)所述的IPv4與IPv6互通的域名解析系統(tǒng),其特征在于,所述查詢報(bào)文中包含所述源主機(jī)待查詢的域名;所述應(yīng)答信息包括所述域名的IP地址。
【文檔編號(hào)】H04L29/12GK103888554SQ201410112244
【公開日】2014年6月25日 申請(qǐng)日期:2014年3月24日 優(yōu)先權(quán)日:2014年3月24日
【發(fā)明者】楊峰, 李朗, 張會(huì)鋒 申請(qǐng)人:廣州杰賽科技股份有限公司