欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種域名解析方法及裝置與流程

文檔序號:11843530閱讀:307來源:國知局
一種域名解析方法及裝置與流程

本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種域名解析方法及裝置。



背景技術(shù):

1984年P(guān)aul Mockapetris發(fā)布了RFC882和RFC883(隨后被RFC1034和RFC1035代替),系統(tǒng)地描述了域名系統(tǒng)DNS的基本思想,標(biāo)志著DNS的誕生。域名系統(tǒng)DNS實現(xiàn)互聯(lián)網(wǎng)域名到IP地址的轉(zhuǎn)換,起到IP層與應(yīng)用層間的橋梁作用,是HTTP、Email等幾乎所有互聯(lián)網(wǎng)應(yīng)用的基礎(chǔ)服務(wù)。其中,DNS域名解析流程如圖1所示:

(1)客戶端向Local DNS(本地域名服務(wù)器)發(fā)出域名解析查詢請求;(2)本地域名服務(wù)器檢查其DNS cache(DNS快速緩沖貯存區(qū)),發(fā)現(xiàn)沒有該記錄,將此請求發(fā)送給Authoritative DNS(權(quán)威域名服務(wù)器);(3)Authoritative DNS中發(fā)現(xiàn)有該請求的記錄,將對應(yīng)的IP地址返回給Local DNS;(4)Local DNS將解析結(jié)果返回客戶端;(5)域名解析完成。

現(xiàn)有技術(shù)中,在IPv4v6雙棧情況下,DNS工作流程與上述DNS域名解析流程基本相同,但不同的是DNS會根據(jù)客戶端的要求為其提供A記錄和AAAA記錄,具體流程如下:

(1)客戶端向Local DNS發(fā)出域名解析查詢請求。同時包含A、AAAA記錄的請求;(2)Local域名服務(wù)器檢查其DNS cache,如果有對應(yīng)A、AAAA記錄,則直接反饋給用戶;如果發(fā)現(xiàn)沒有該A、AAAA記錄,將此請求發(fā)送給Authoritative DNS;(3)Authoritative DNS中發(fā)現(xiàn)有該請求的A、AAAA記錄,將對應(yīng)的IPv4/v6地址返回給Local DNS;(4)Local DNS將解析結(jié)果返回客戶端;(5)域名解析完成。

在上述場景中,需要注意的是,無論DNS的承載路徑為IPv4或IPv6或雙棧,用戶均可獲取A、AAAA記錄;這就導(dǎo)致了一個嚴(yán)重的問題,當(dāng)前是IPv6 的導(dǎo)入期,用戶可能通過DNS獲取了AAAA記錄,但無法通過IPv6鏈路訪問網(wǎng)站。

如圖2所示,目前國內(nèi)為數(shù)不多的支持IPv6的網(wǎng)站IDC可能僅接入某一個運營商,如果ISP骨干網(wǎng)不能通過IPv6互通,則會導(dǎo)致用戶無法訪問。即首先雙棧終端獲取AAAA DNS記錄,并使用IPv6訪問該網(wǎng)站,由于骨干網(wǎng)IPv6不互通將導(dǎo)致用戶訪問失?。蝗缓驣E等瀏覽器需等待數(shù)十秒后才可重新發(fā)起IPv4訪問。需要注意的是,幾乎所有瀏覽器在獲取A記錄、AAAA記錄后,均優(yōu)先采用AAAA記錄訪問(選取IPv6通道)。但當(dāng)發(fā)現(xiàn)IPv6通道不可用必須退回IPv4所需的時間較長,其中以IE為內(nèi)核的瀏覽器尤為明顯,造成用戶體驗下降嚴(yán)重。具體的如下表所示:



技術(shù)實現(xiàn)要素:

本發(fā)明的目的在于提供一種域名解析方法及裝置,解決了當(dāng)IPv6通道不可用必須退回IPv4通道時所需時間較長的問題,實現(xiàn)對IPv6通道是否可用的檢測,使得用戶直接訪問可用的IPv6通道,提供訪問效率,提升用戶體驗。

為了達到上述目的,本發(fā)明實施例提供一種域名解析方法,包括:

根據(jù)一客戶端發(fā)出的域名解析請求,獲取域名解析得到的AAAA記錄;

根據(jù)所述AAAA記錄,確定所述AAAA記錄對應(yīng)的IPv6資源是否可達;

將對應(yīng)IPv6資源為可達的AAAA記錄,發(fā)送至所述客戶端。

其中,所述域名解析方法還包括:

將對應(yīng)IPv6資源為可達的AAAA記錄添加至本地DNS服務(wù)器的資源記錄區(qū)中。

其中,所述根據(jù)所述AAAA記錄,確定所述AAAA記錄對應(yīng)的IPv6資源是否可達,具體包括:

向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送探測請求數(shù)據(jù)包;

若接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包,則確定所述AAAA記錄對應(yīng)的IPv6資源可達;否則,所述AAAA記錄對應(yīng)的IPv6資源不可達。

其中,所述向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送探測請求數(shù)據(jù)包,具體為:

向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送基于ping協(xié)議的探測請求數(shù)據(jù)包。

其中,所述根據(jù)所述AAAA記錄,確定所述AAAA記錄對應(yīng)的IPv6資源是否可達,具體包括:

向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送http訪問請求;

若訪問成功,則確定所述AAAA記錄對應(yīng)的IPv6資源可達;否則,確定所述AAAA記錄對應(yīng)的IPv6資源不可達。

其中,所述根據(jù)所述AAAA記錄,確定所述AAAA記錄對應(yīng)的IPv6資源是否可達,具體包括:

向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送探測請求數(shù)據(jù)包;

若未接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包括,則確定所述 AAAA記錄對應(yīng)的IPv6資源不可達;

若接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包,向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送http訪問請求;訪問成功,則確定所述AAAA記錄對應(yīng)的IPv6資源可達;訪問失敗,則確定所述AAAA記錄對應(yīng)的IPv6資源不可達。

其中,所述根據(jù)一客戶端發(fā)出的域名解析請求,獲取域名解析得到的AAAA記錄,具體包括:

根據(jù)所述客戶端發(fā)出的域名解析請求,查詢本地DNS服務(wù)器的資源記錄區(qū);

若本地DNS服務(wù)器的資源記錄區(qū)中記錄有與所述域名解析請求對應(yīng)的A記錄和AAAA記錄,從本地DNS服務(wù)器的資源記錄區(qū)中獲取所述A記錄和AAAA記錄;

若本地DNS服務(wù)器的資源記錄區(qū)中沒有與所述域名解析請求對應(yīng)的A記錄和AAAA記錄,將所述域名解析請求轉(zhuǎn)發(fā)至上級DNS服務(wù)器,由所述上級DNS服務(wù)器查詢確定A記錄和AAAA記錄,從所述上級DNS服務(wù)器中獲取所述A記錄和AAAA記錄。

其中,所述域名解析方法還包括:

接收所述本地DNS服務(wù)器的資源記錄區(qū)發(fā)送的更新記錄的請求,獲取所述資源記錄區(qū)中的AAAA記錄;

向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送探測請求數(shù)據(jù)包,若未接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包,將所述IPv6資源對應(yīng)的AAAA記錄從所述資源記錄區(qū)中刪除。

本發(fā)明實施例還提供一種域名解析裝置,包括:

獲取模塊,用于根據(jù)一客戶端發(fā)出的域名解析請求,獲取域名解析得到的AAAA記錄;

確定模塊,用于根據(jù)所述AAAA記錄,確定所述AAAA記錄對應(yīng)的IPv6資源是否可達;

反饋模塊,用于將對應(yīng)IPv6資源為可達的AAAA記錄,發(fā)送至所述客戶端。

其中,所述域名解析裝置還包括:

記錄模塊,用于將對應(yīng)IPv6資源為可達的AAAA記錄添加至本地DNS服務(wù)器的資源記錄區(qū)中。

其中,所述確定模塊包括:

第一操作模塊,用于向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送探測請求數(shù)據(jù)包;

第一確定子模塊,用于若接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包,則確定所述AAAA記錄對應(yīng)的IPv6資源可達;否則,所述AAAA記錄對應(yīng)的IPv6資源不可達。

其中,所述第一操作模塊包括:

第一操作子模塊,用于向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送基于ping協(xié)議的探測請求數(shù)據(jù)包。

其中,所述確定模塊包括:

第二操作模塊,用于向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送http訪問請求;

第二確定子模塊,用于若訪問成功,則確定所述AAAA記錄對應(yīng)的IPv6資源可達;否則,確定所述AAAA記錄對應(yīng)的IPv6資源不可達。

其中,所述確定模塊包括:

第三操作模塊,用于向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送探測請求數(shù)據(jù)包;

第三確定子模塊,用于若未接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包括,則確定所述AAAA記錄對應(yīng)的IPv6資源不可達;

第四確定子模塊,用于若接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包,向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送http訪問請求;訪問成功,則確定所述AAAA記錄對應(yīng)的IPv6資源可達;訪問失敗,則確定所述AAAA記錄對應(yīng)的IPv6資源不可達。

其中,所述獲取模塊包括:

查詢模塊,用于根據(jù)所述客戶端發(fā)出的域名解析請求,查詢本地DNS服務(wù)器的資源記錄區(qū);

第一獲取子模塊,用于若本地DNS服務(wù)器的資源記錄區(qū)中記錄有與所述域名解析請求對應(yīng)的A記錄和AAAA記錄,從本地DNS服務(wù)器的資源記錄區(qū)中獲取所述A記錄和AAAA記錄;

第二獲取子模塊,用于若本地DNS服務(wù)器的資源記錄區(qū)中沒有與所述域名 解析請求對應(yīng)的A記錄和AAAA記錄,將所述域名解析請求轉(zhuǎn)發(fā)至上級DNS服務(wù)器,由所述上級DNS服務(wù)器查詢確定A記錄和AAAA記錄,從所述上級DNS服務(wù)器中獲取所述A記錄和AAAA記錄。

其中,所述域名解析裝置還包括:

接收獲取模塊,用于接收所述本地DNS服務(wù)器的資源記錄區(qū)發(fā)送的更新記錄的請求,獲取所述資源記錄區(qū)中的AAAA記錄;

更新模塊,用于向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送探測請求數(shù)據(jù)包,若未接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包,將所述IPv6資源對應(yīng)的AAAA記錄從所述資源記錄區(qū)中刪除。

本發(fā)明的上述技術(shù)方案至少具有如下有益效果:

本發(fā)明實施例的域名解析方法及裝置中,根據(jù)AAAA記錄確定AAAA記錄對應(yīng)的IPv6資源是否可達,對于可達的資源,對客戶端提供AAAA記錄;對于不可達的資源,刪除該AAAA記錄,不向客戶端提供;通過該域名解析方法,使得客戶端能夠優(yōu)先與可達的IPv6資源進行通信,而當(dāng)資源不可達時,直接訪問IPv4資源,避免了由于IPv6資源不可達再退回訪問IPv4資源而導(dǎo)致的時間的浪費,提升了用戶體驗。

附圖說明

圖1表示現(xiàn)有技術(shù)中域名解析的原理示意圖;

圖2表示現(xiàn)有技術(shù)中雙棧用戶無法訪問IPv6業(yè)務(wù)的原理示意圖;

圖3表示本發(fā)明實施例的域名解析方法的基本步驟示意圖;

圖4表示本發(fā)明實施例中采用ping方式驗證IPv6資源是否可行的具體流程圖;

圖5表示本發(fā)明實施例中采用ping方式實現(xiàn)資源記錄區(qū)的周期性更新的具體流程圖;

圖6表示本發(fā)明實施例中采用http方式驗證IPv6資源是否可行的具體流程圖;

圖7表示本發(fā)明實施例中采用ping方式和http方式結(jié)合驗證IPv6資源是否可行的具體流程圖;

圖8表示本發(fā)明實施例的域名解析裝置的組成結(jié)構(gòu)示意圖。

具體實施方式

為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例進行詳細描述。

本發(fā)明針對現(xiàn)有技術(shù)中當(dāng)IPv6通道不可用必須退回IPv4通道時所需時間較長的問題,提供一種域名解析方法及裝置,根據(jù)AAAA記錄確定AAAA記錄對應(yīng)的IPv6資源是否可達,對于可達的資源,對客戶端提供AAAA記錄;對于不可達的資源,刪除該AAAA記錄,不向客戶端提供;通過該域名解析方法,使得客戶端能夠優(yōu)先與可達的IPv6資源進行通信,而當(dāng)資源不可達時,直接訪問IPv4資源,避免了由于IPv6資源不可達再退回訪問IPv4資源而導(dǎo)致的時間的浪費,提升了用戶體驗。

需要說明的是,本發(fā)明實施例提供的域名解析方法應(yīng)用于本地DNS服務(wù)器上,且本發(fā)明實施例中提及的客戶端為雙??蛻舳?,即同時支持IPv4和IPv6的客戶端,其發(fā)送的域名解析請求為雙棧請求。

如圖3所示,本發(fā)明實施例提供一種域名解析方法,包括:

步驟31,根據(jù)一客戶端發(fā)出的域名解析請求,獲取域名解析得到的AAAA記錄;

步驟32,根據(jù)所述AAAA記錄,確定所述AAAA記錄對應(yīng)的IPv6資源是否可達;

步驟33,將對應(yīng)IPv6資源為可達的AAAA記錄,發(fā)送至所述客戶端。

本發(fā)明的上述實施例中,AAAA記錄(AAAA record)是用來將域名解析到IPv6地址的DNS記錄。用戶可以將一個域名解析到IPv6地址上,也可以將子域名解析到IPv6地址上。每一個AAAA記錄對應(yīng)一個IPv6資源,故可根據(jù)AAAA記錄判斷其對應(yīng)的IPV6資源是否可達,IPv6資源可達即該IPv6資源當(dāng)前可被用戶訪問,且用戶根據(jù)該AAAA記錄可訪問其對應(yīng)的IPv6資源。本發(fā)明實施例提供的方法在用戶訪問IPv6資源之前通過對AAAA記錄對應(yīng)的IPv6資源是否可達進行驗證,并將可達的IPv6資源對應(yīng)的AAAA記錄反饋至客戶端,使得客戶端能夠根據(jù)AAAA記錄訪問IPv6資源,避免了由于IPv6資源不可達 再退回訪問IPv4資源而導(dǎo)致的時間的浪費,提升了用戶體驗。

具體的,步驟31中,根據(jù)一客戶端發(fā)出的域名解析請求,獲取域名解析得到的AAAA記錄,具體包括:

步驟311,根據(jù)所述客戶端發(fā)出的域名解析請求,查詢本地DNS服務(wù)器的資源記錄區(qū);

步驟312,若本地DNS服務(wù)器的資源記錄區(qū)中記錄有與所述域名解析請求對應(yīng)的A記錄和AAAA記錄,從本地DNS服務(wù)器的資源記錄區(qū)中獲取所述A記錄和AAAA記錄;

步驟313,若本地DNS服務(wù)器的資源記錄區(qū)中沒有與所述域名解析請求對應(yīng)的A記錄和AAAA記錄,將所述域名解析請求轉(zhuǎn)發(fā)至上級DNS服務(wù)器,由所述上級DNS服務(wù)器查詢確定A記錄和AAAA記錄,從所述上級DNS服務(wù)器中獲取所述A記錄和AAAA記錄。

其中,A記錄是用來將域名解析到IPv4地址的DNS記錄。若客戶端發(fā)出的域名解析請求為雙棧請求,則本地DNS服務(wù)器需查詢A記錄和AAAA記錄;若客戶端發(fā)出的域名解析請求僅包含A記錄的請求,則本地DNS服務(wù)器僅需查詢A記錄;若客戶端發(fā)出的域名解析請求僅包含AAAA記錄的請求,則本地DNS服務(wù)器僅需查詢AAAA記錄。需要說明的是,本發(fā)明實施例提供的域名解析方法適用于域名解析請求中包含AAAA記錄的請求,即雙棧請求和AAAA請求。

本地DNS服務(wù)器包含一資源記錄區(qū),該資源記錄區(qū)中保存與域名解析請求對應(yīng)的A記錄和AAAA記錄。需要說明的是,若本地DNS服務(wù)器中沒有查找到對應(yīng)的A記錄和AAAA記錄,需將該域名解析請求轉(zhuǎn)發(fā)至上級DNS服務(wù)器(一般指Authoritative DNS,即權(quán)威DNS),由上級DNS服務(wù)器來查找對應(yīng)的A記錄和AAAA記錄,直到查詢到A記錄和AAAA記錄為止;查詢到的A記錄和AAAA記錄被轉(zhuǎn)發(fā)至本地DNS服務(wù)器,本地DNS服務(wù)器將A記錄和有效的AAAA記錄保存至資源記錄區(qū)。其中,有效的AAAA記錄是指對應(yīng)IPv6資源為可達的AAAA記錄。具體的,所述域名解析方法還包括:

步驟34,將對應(yīng)IPv6資源為可達的AAAA記錄添加至本地DNS服務(wù)器的資源記錄區(qū)中。

簡言之,本地DNS服務(wù)器的資源記錄區(qū)(DNS Cache)中保存有與之前的域名解析請求對應(yīng)的A記錄和/或AAAA記錄,使得后續(xù)有與之前相同的域名解析請求時,可以直接從本地DNS服務(wù)器的資源記錄區(qū)獲取A記錄和/或AAAA記錄,節(jié)省了轉(zhuǎn)發(fā)至上級DNS服務(wù)器進行域名解析再返回結(jié)果的時間,提升用戶體驗。進一步的,由于本發(fā)明實施例中本地DNS服務(wù)器的資源記錄區(qū)中保存的AAAA記錄對應(yīng)的IPv6資源為可達資源,則客戶端可通過該AAAA記錄直接成功的訪問對應(yīng)的IPv6資源,避免了訪問IPv6資源失敗再退回訪問IPv4資源浪費的時間,提高了訪問速率,進一步提升用戶體驗。

本發(fā)明的上述實施例中,判斷AAAA記錄對應(yīng)的IPv6資源是否可達的方法具體為(即步驟32具體包括):

步驟321,向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送探測請求數(shù)據(jù)包;

步驟322,若接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包,則確定所述AAAA記錄對應(yīng)的IPv6資源可達;否則,所述AAAA記錄對應(yīng)的IPv6資源不可達。

需要說明的是,本發(fā)明實施例提供的發(fā)送的探測請求數(shù)據(jù)包是為了驗證IPv6資源是否可達,其具體形式至少包括:基于ping協(xié)議的探測請求數(shù)據(jù)包、基于trace命令的探測請求數(shù)據(jù)包以及基于tracert命令的探測請求數(shù)據(jù)包。上述具體形式僅為舉例說明,其他能夠堅持網(wǎng)絡(luò)是否可達的命令或協(xié)議在本發(fā)明實施例中同樣適用。本發(fā)明的具體實施例中,采用較常用的ping協(xié)議為例來描述本發(fā)明的具體實現(xiàn)過程,其他協(xié)議或命令的檢測過程與ping協(xié)議類似,在此不作一一描述。具體的,步驟321包括:

步驟3211,向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送基于ping協(xié)議的探測請求數(shù)據(jù)包。

其中,Ping是Windows下的一個命令在Unix和Linux下也有這個命令。ping也屬于一個通信協(xié)議,是TCP/IP協(xié)議的一部分。利用“ping”命令可以檢查網(wǎng)絡(luò)是否連通,可以很好地分析和判定網(wǎng)絡(luò)故障。本發(fā)明實施例中,發(fā)送探測請求數(shù)據(jù)包,即是利用ping操作來檢測IPv6網(wǎng)絡(luò)是否連通。

具體的,對AAAA記錄進行ping操作(即步驟321),繼而步驟322中,若接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包,即可以ping通,則確定所 述AAAA記錄對應(yīng)的IPv6資源可達;否則,即不可以ping通,則確定所述AAAA記錄對應(yīng)的IPv6資源不可達。

例如,如圖4所示,一雙棧用戶發(fā)起域名解析請求,并通過ping方式實現(xiàn)IPv6資源檢測的方法具體如下:

①用戶發(fā)起雙棧請求;

②本地DNS查詢Cache(資源記錄區(qū)),未找到對應(yīng)記錄;

③本地DNS進行遞歸查詢(即將雙棧請求轉(zhuǎn)發(fā)至權(quán)威DNS);

④權(quán)威DNS向本地DNS反饋記錄,包括A記錄和AAAA記錄;

⑤本地DNS對AAAA記錄進行Ping操作;例如IPv6.google.com反饋的AAAA記錄是2002:3A5B::1,則本地DNS發(fā)起ping 2002:3A5B::1操作;

⑥根據(jù)ping的結(jié)果,Local DNS向用戶反饋相應(yīng)的A或AAAA記錄;即如果可以ping通,則對用戶返回該AAAA記錄,反之不反饋;

⑦本地DNS將A記錄和可以ping通的AAAA記錄更新至Cache。

需要說明的是,為了保證Cache中AAAA記錄的實時性(即其對應(yīng)的IPv6資源一直可達),本發(fā)明實施例中,對Cache中AAAA記錄采用周期性更新的方法進行保存,即定期的對Cache中AAAA記錄重新進行ping操作,可ping通的繼續(xù)保留在Cache中,無法ping通的刪除。

具體的,本發(fā)明實施例中關(guān)于Cache中周期性更新的方法,所述域名解析方法還包括:

步驟35,接收所述本地DNS服務(wù)器的資源記錄區(qū)發(fā)送的更新記錄的請求,獲取所述資源記錄區(qū)中的AAAA記錄;

步驟36,向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送探測請求數(shù)據(jù)包,若未接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包(即無法ping通),將所述IPv6資源對應(yīng)的AAAA記錄從所述資源記錄區(qū)中刪除。

例如,如圖5所示,采用ping操作的方式時,本地DNS中Cache周期更新AAAA記錄的具體流程如下:

①Cache內(nèi)AAAA記錄到期(該周期為預(yù)先設(shè)置的);

②Cache請求本地DNS對相應(yīng)記錄更新;

③本地DNS從Cache中獲取需更新的AAAA記錄;

④本地DNS對需更新的AAAA記錄進行Ping操作;

⑤本地DNS根據(jù)ping的結(jié)果更新Cache內(nèi)記錄,即可ping通的繼續(xù)保留在Cache中,無法ping通的從Cache中刪除。

需要說明的是,僅采用ping的方式來確定通路是否可達可能會發(fā)生誤判,例如:網(wǎng)站側(cè)端口配置有誤,或IDC內(nèi)防火墻配置有問題等,均可造成網(wǎng)站IP地址可ping通,但無法訪問的情況。為了降低其誤判率,提升用戶體驗,本發(fā)明實施例還提供一種http請求的方式來判斷AAAA記錄對應(yīng)的IPv6資源是否可達。具體的,由于本地DNS服務(wù)器或DNS調(diào)用的其他服務(wù)器記錄有IPv6資源是否訪問成功的記錄,則可在客戶端發(fā)起IPv6訪問之前,利用本地DNS服務(wù)器代替客戶端發(fā)起IPv6的http請求,以驗證該IPv6資源是否可達。

具體的,本發(fā)明上述實施例中,步驟32具體包括:

步驟323,向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送http訪問請求;

步驟324,若訪問成功,則確定所述AAAA記錄對應(yīng)的IPv6資源可達;否則,確定所述AAAA記錄對應(yīng)的IPv6資源不可達。

例如,如圖6所示,一雙棧用戶發(fā)起域名解析請求,并通過http方式實現(xiàn)IPv6資源檢測的方法具體如下:

①用戶發(fā)起雙棧請求;

②本地DNS查詢Cache,未找到對應(yīng)記錄;

③本地DNS進行遞歸查詢(即將雙棧請求轉(zhuǎn)發(fā)至權(quán)威DNS);

④權(quán)威DNS向本地DNS反饋記錄,包括A記錄和AAAA記錄;

⑤本地DNS服務(wù)器(或DNS調(diào)用其他服務(wù)器)使用HTTP瀏覽器訪問網(wǎng)站,如Fierfox、chrome等。該服務(wù)器記錄IPv6是否訪問成功。

⑥根據(jù)服務(wù)器訪問的結(jié)果,Local DNS向用戶反饋相應(yīng)的A或AAAA記錄;及如果訪問成功,則對用戶返回該AAAA記錄,反之不反饋;

⑦本地DNS將A記錄和可以訪問的AAAA記錄更新至Cache。

需要說明的是,關(guān)于Cache中周期性更新的方法,采用http的方式進行更新的步驟與采用ping操作的步驟一致,大致為對Cache中AAAA記錄采用周期性更新的方法進行保存,即本地DNS服務(wù)器定期的對Cache中AAAA記錄對應(yīng)的IPv6資源進行http訪問,可訪問成功的繼續(xù)保留在Cache中,無法訪問的刪 除。其具體步驟在此不重復(fù)贅述。

綜上,本發(fā)明實施例中,判斷IPv6資源是否可達的方式包括:對AAAA記錄進行ping操作和進行http訪問兩種方式,該兩種方式可單獨使用,也可綜合使用,即為了避免單獨使用ping的方式時造成漏判,本發(fā)明實施例還提供一種所述根據(jù)所述AAAA記錄,確定所述AAAA記錄對應(yīng)的IPv6資源是否可達的方法,具體包括(即步驟32具體包括):

步驟325,向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送探測請求數(shù)據(jù)包;

步驟326,若未接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包括,則確定所述AAAA記錄對應(yīng)的IPv6資源不可達;

步驟327,若接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包,向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送http訪問請求;訪問成功,則確定所述AAAA記錄對應(yīng)的IPv6資源可達;訪問失敗,則確定所述AAAA記錄對應(yīng)的IPv6資源不可達。

例如,如圖7所示,一雙棧用戶發(fā)起域名解析請求,并通過ping方式和http方式綜合的方法實現(xiàn)IPv6資源檢測的方法具體如下:

①用戶發(fā)起雙棧請求;

②本地DNS查詢Cache,未找到對應(yīng)記錄;

③本地DNS進行遞歸查詢(即將雙棧請求轉(zhuǎn)發(fā)至權(quán)威DNS);

④權(quán)威DNS向本地DNS反饋記錄,包括A記錄和AAAA記錄;

⑤本地DNS對AAAA記錄進行Ping操作;

⑥對于可以ping成功的AAAA記錄,DNS服務(wù)器(或DNS調(diào)用其他服務(wù)器)使用HTTP瀏覽器訪問網(wǎng)站,該瀏覽器支持HE,如Fierfox、chrome等。該服務(wù)器記錄IPv6是否訪問成功。如果未ping通,則不進行此步驟。

⑦根據(jù)服務(wù)器訪問的結(jié)果,本地DNS向用戶反饋相應(yīng)的A或AAAA記錄;

⑧本地DNS將記錄更新至Cache。

為了更好的實現(xiàn)上述目的,如圖8所示,本發(fā)明實施例還提供一種域名解析裝置,包括:

獲取模塊81,用于根據(jù)一客戶端發(fā)出的域名解析請求,獲取域名解析得到的AAAA記錄;

確定模塊82,用于根據(jù)所述AAAA記錄,確定所述AAAA記錄對應(yīng)的IPv6資源是否可達;

反饋模塊83,用于將對應(yīng)IPv6資源為可達的AAAA記錄,發(fā)送至所述客戶端。

具體的,本發(fā)明的上述實施例中所述域名解析裝置還包括:

記錄模塊,用于將對應(yīng)IPv6資源為可達的AAAA記錄添加至本地DNS服務(wù)器的資源記錄區(qū)中。

具體的,本發(fā)明的上述實施例中所述確定模塊82包括:

第一操作模塊,用于向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送探測請求數(shù)據(jù)包;

第一確定子模塊,用于若接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包,則確定所述AAAA記錄對應(yīng)的IPv6資源可達;否則,所述AAAA記錄對應(yīng)的IPv6資源不可達。

具體的,本發(fā)明的上述實施例中所述第一操作模塊包括:

第一操作子模塊,用于向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送基于ping協(xié)議的探測請求數(shù)據(jù)包。

具體的,本發(fā)明的上述實施例中所述確定模塊82包括:

第二操作模塊,用于向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送http訪問請求;

第二確定子模塊,用于若訪問成功,則確定所述AAAA記錄對應(yīng)的IPv6資源可達;否則,確定所述AAAA記錄對應(yīng)的IPv6資源不可達。

具體的,本發(fā)明的上述實施例中所述確定模塊82包括:

第三操作模塊,用于向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送探測請求數(shù)據(jù)包;

第三確定子模塊,用于若未接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包括,則確定所述AAAA記錄對應(yīng)的IPv6資源不可達;

第四確定子模塊,用于若接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包,向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送http訪問請求;訪問成功,則確定所述AAAA記錄對應(yīng)的IPv6資源可達;訪問失敗,則確定所述AAAA記錄對應(yīng)的IPv6資源不可達。

具體的,本發(fā)明的上述實施例中所述獲取模塊包括:

查詢模塊,用于根據(jù)所述客戶端發(fā)出的域名解析請求,查詢本地DNS服務(wù)器的資源記錄區(qū);

第一獲取子模塊,用于若本地DNS服務(wù)器的資源記錄區(qū)中記錄有與所述域名解析請求對應(yīng)的A記錄和AAAA記錄,從本地DNS服務(wù)器的資源記錄區(qū)中獲取所述A記錄和AAAA記錄;

第二獲取子模塊,用于若本地DNS服務(wù)器的資源記錄區(qū)中沒有與所述域名解析請求對應(yīng)的A記錄和AAAA記錄,將所述域名解析請求轉(zhuǎn)發(fā)至上級DNS服務(wù)器,由所述上級DNS服務(wù)器查詢確定A記錄和AAAA記錄,從所述上級DNS服務(wù)器中獲取所述A記錄和AAAA記錄。

具體的,本發(fā)明的上述實施例中所述域名解析裝置還包括:

接收獲取模塊,用于接收所述本地DNS服務(wù)器的資源記錄區(qū)發(fā)送的更新記錄的請求,獲取所述資源記錄區(qū)中的AAAA記錄;

更新模塊,用于向所述AAAA記錄對應(yīng)的IPv6資源發(fā)送探測請求數(shù)據(jù)包,若未接收到針對所述探測數(shù)據(jù)包返回的探測響應(yīng)數(shù)據(jù)包,將所述IPv6資源對應(yīng)的AAAA記錄從所述資源記錄區(qū)中刪除。

本發(fā)明的上述實施例的域名解析方法中,根據(jù)AAAA記錄確定AAAA記錄對應(yīng)的IPv6資源是否可達,對于可達的資源,對客戶端提供AAAA記錄;對于不可達的資源,刪除該AAAA記錄,不向客戶端提供;通過該域名解析方法,使得客戶端能夠優(yōu)先與可達的IPv6資源進行通信,而當(dāng)資源不可達時,直接訪問IPv4資源,避免了由于IPv6資源不可達再退回訪問IPv4資源而導(dǎo)致的時間的浪費,提升了用戶體驗

需要說明的是,本發(fā)明實施例提供的域名解析裝置的應(yīng)用上述域名解析方法的裝置,則上述域名解析方法的所有實施例均適用于該域名解析裝置,且均能達到相同或相似的有益效果。

以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
临桂县| 刚察县| 赤峰市| 洮南市| 贡嘎县| 库伦旗| 成武县| 屏东市| 无为县| 泾川县| 星座| 永嘉县| 汝城县| 台中市| 全南县| 汝南县| 开封县| 土默特右旗| 东乌珠穆沁旗| 六枝特区| 板桥市| 荣成市| 延川县| 高唐县| 勐海县| 大厂| 轮台县| 洛扎县| 临清市| 吴旗县| 沭阳县| 保亭| 宜昌市| 龙泉市| 永平县| 黑水县| 禹州市| 南和县| 武功县| 新宁县| 文化|