專利名稱:域名系統(tǒng)的緩存探測方法、緩存探測裝置和探測響應(yīng)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù),尤其涉及一種域名系統(tǒng)(DNS, Domain Name System)的緩存探測方法、緩存探測裝置和探測響應(yīng)裝置。
背景技術(shù):
在目前的IP網(wǎng)絡(luò)中,IP地址是網(wǎng)絡(luò)中主才幾的唯一標識,計算機之間的通信只能使用類似于"XXX.XX.XX.XXX"這樣的IP地址來標識主機,其中,X表示數(shù)字。但是作為計算機的使用者,人們更習慣于使用計算機域名的方式來i方問其它i十算才幾,比V4吏用i或名 "www.abcd.com "來訪問與之對應(yīng)的計算機。這樣一來,就需要一種轉(zhuǎn)換機制,實現(xiàn)計算機域名與IP地址之間的轉(zhuǎn) 換,基于這些需求,DNS應(yīng)運而生。DNS是一種組織成域?qū)哟谓Y(jié)構(gòu)的計算 機和網(wǎng)絡(luò)服務(wù)的命名系統(tǒng),主要用于通過用戶親切而友好的計算機域名名稱 (如www.abcd.com ) ^替4i燥而只,i己的IP i也址(^口 xxx.xx.xx.xxx)來定4立 相應(yīng)的計算機和相應(yīng)服務(wù)。具體應(yīng)用時,在每臺主機上都運行有DNS客戶端,其他應(yīng)用層協(xié)議, 例如超文本傳輸協(xié)議(HTTP),簡單郵件傳輸協(xié)議(SMTP)或文本傳輸協(xié) 議(FTP)等的客戶端利用DNS客戶端將用戶提供的計算機域名轉(zhuǎn)換成IP 地址。例如用戶A使用運行在本地主機上的一個瀏覽器,即HTTP客戶端請 求http:〃www.abcd.com,則為了把HTTP請求消息發(fā)送到名為www.abcd.com 的主機上,瀏覽器首先從統(tǒng)一資源定位符(URL)中抽取出主機域名,并將 該主機域名傳遞給本地主機上的DNS客戶端,向DNS客戶端發(fā)起查詢請求。 DNS客戶端于是向某個DNS服務(wù)器發(fā)出 一個包含該主機域名的DNS查詢,之后收到一個包含該主機域名對應(yīng)的IP地址的應(yīng)答。之后,DNS客戶端將該IP地址反饋給瀏覽器,瀏覽器發(fā)起一個到位于該IP地址的HTTP服務(wù)器 的傳輸控制協(xié)議(TCP)連接。上述過程中,若對于每個請求均進行DNS查詢的話,會給使用它的上 層應(yīng)用引入額外延遲,并且會增加DNS流量。因此,目前一般作為DNS客 戶端的設(shè)備,都會將從DNS服務(wù)器上的查詢到的主機域名與IP地址的對應(yīng) 關(guān)系緩存在本地,在后續(xù)有重復的查詢請求時,DNS客戶端會優(yōu)先查詢本 地緩存,如果緩存中已經(jīng)有相應(yīng)的記錄,則不再向DNS服務(wù)器發(fā)起請求, 而使用本地緩存中的IP地址建立連接;如果緩存中沒有相應(yīng)的記錄,則再 向DNS服務(wù)器發(fā)起請求。為了能夠在本地緩存中保留較新的域名與IP地址的對應(yīng)關(guān)系記錄,在 DNS客戶端設(shè)備上一般都會設(shè)置一個DNS緩存生存周期,對于緩存中的每 條記錄,若達到一個緩存生存周期未被使用,則認為其已老化,并予以刪除。 但在這個周期內(nèi)的每條記錄,DNS客戶端通常是不會去更新的,這樣一來, 當某條記錄對應(yīng)的主機發(fā)生IP地址變更等變化,而本地主機由于無法獲知 該變換而仍然使用緩存中的該條記錄進行連接時,就會出現(xiàn)連接失敗的情 況。比如,主機(Host) A中緩存了主機B的記錄,且在主機A的緩存生 存周期內(nèi),主機B重新申請了 IP地址,但主機A是不能及時感知的。在這 個時間段內(nèi),如果主機A要向主機B發(fā)起連接,則會使用緩存中的記錄內(nèi) 容,即使用主機B舊的IP地址去訪問主機B,這樣做的后果是要么不能建 立連接,要么連接到錯誤的主機上,這一點在無線網(wǎng)絡(luò)環(huán)境中尤其明顯,因 為無線用戶經(jīng)常移動地點,需要經(jīng)常切換IP地址,甚至有時會從一個局域 網(wǎng)切換到另外一個局域網(wǎng)??梢?,現(xiàn)有技術(shù)中,在DNS緩存未及時更新時, 會存在連接失敗的情況。發(fā)明內(nèi)容有鑒于此,本發(fā)明中 一方面提供一種對DNS的緩存進行探測的方法,另一方面提供一種DNS的緩存探測裝置和探測響應(yīng)裝置,以避免由于DNS 緩存不能及時更新帶來的連接失敗。本發(fā)明所提供的對DNS的緩存進行探測的方法,包括根據(jù)接收到的包含主機域名的查詢請求,在本地緩存中查找所述主機域名 與IP地Jt止的對應(yīng)i己錄;若查找到所述記錄,向所述IP地址對應(yīng)的主機發(fā)送針對該主才幾域名的探測;所述主機接收所述針對主機域名的探測,根據(jù)所述探測,向發(fā)送所述探測 的主體返回對應(yīng)的探測結(jié)果;根據(jù)所述4果測結(jié)果,判斷所述主機是否為所述主才幾域名對應(yīng)的主機,如果 是,則將所述IP地址作為所述主機域名對應(yīng)的IP地址;否則,向DNS服務(wù)器 查詢所述主機域名對應(yīng)的IP地址。較佳地,在所述主機不是所述主機域名對應(yīng)的主才幾時,進一步包括將本 地緩存中的所述記錄刪除。較佳地,所述針對主機域名的探測為請求主機域名的域名探測消息;所述主機向發(fā)送所述纟笨測的主機返回對應(yīng)的4笨測結(jié)果為所述主才幾向發(fā)送 所述探測的主體返回自身的主才幾域名;所述根據(jù)所述探測結(jié)果,判斷所述主機是否為所述主機域名對應(yīng)的主機包 括判斷所述返回的主機域名是否與所述查詢請求中的主機域名 一致,若一致, 則判定所述主機為所述查詢請求中主機域名對應(yīng)的主機,若不一致,則判定所 述主機不是所述查詢請求中主機域名對應(yīng)的主才幾。其中,所述向IP地址對應(yīng)的主機發(fā)送域名探測消息與得到探測結(jié)果之間, 進一步包括所述主機接收所述針對主機域名的探測,根據(jù)所述探測,向發(fā)送 所述探測的主體返回自身的主機域名。較佳地,所述域名探測消息中包括所述查詢請求中的主機域名;所述主機將所述探測中的主機域名與自身的主機域名進行比較,若一致,則執(zhí) 行所述向發(fā)送所述探測的主體返回自身的主機域名的操作;否則,所述主機不向發(fā)送所述探測的主體返回任何結(jié)果。較佳地,所述^艮據(jù)探測結(jié)果,判斷所述主機是否為所述主機域名對應(yīng)的主 機進一步包括在所述探測結(jié)果為設(shè)定時間內(nèi)未返回任何結(jié)果時,判定所述主 機不是所述查詢請求中主才幾域名對應(yīng)的主機本發(fā)明所提供的DNS的緩存探測裝置,包括記錄查找模塊,用于根據(jù)接收到的包含主機域名的查詢請求,在本地緩存 中查找所述主機域名與IP地址的對應(yīng)記錄;探測處理模塊,用于在查找到所述記錄時,向所述IP地址對應(yīng)的主機發(fā)送 針對所述主機域名的探測,得到探測結(jié)果;結(jié)果處理模塊,用于根據(jù)所述探測結(jié)果,判斷所述主機是否為所述主機域 名對應(yīng)的主機,如果是,則將所述IP地址作為所述主沖幾域名對應(yīng)的IP地址; 否則,向DNS服務(wù)器查詢所述主機域名對應(yīng)的IP地址。較佳地,所述結(jié)果處理模塊在判斷所述主機不是所述主機域名對應(yīng)的主機 時,進一步地,將本地緩存中的所述記錄刪除。較佳地,所述探測處理模塊包括探測消息發(fā)送子模塊,用于在查找到所述記錄時,向所述IP地址對應(yīng)的主 才凡發(fā)送針對所述主才凡域名的4冢測;計時子模塊,用于在所述探測消息發(fā)送子模塊發(fā)送所述針對所述主機域名 的探測后,按照設(shè)定時間的時長啟動計時;結(jié)果接收子模塊,用于在所述計時子模塊的計時時間內(nèi),接收所述主機返 回的主機域名。較佳地,所述結(jié)果處理模塊包括主機判斷子模塊,用于在所述結(jié)果接收子模塊未接收到所述主機域名時, 判定所述主機不是所述查詢請求中主機域名對應(yīng)的主機;在所述結(jié)果接收子模 塊接收到所述主機域名時,判斷所述響應(yīng)消息中的主機域名是否與所述查詢請 求中的主機域名 一致,若一致,則判定所述主機為所述查詢請求中主機域名對 應(yīng)的主機,若不一致,則判定所述主機不是所述查詢請求中主機域名對應(yīng)的主機;結(jié)果處理子模塊,用于在所述主機判斷子模塊判定所述主機是所述查詢 請求中主機域名對應(yīng)的主機時,將本地緩存中所述記錄中的IP地址作為所述查詢請求中主機域名對應(yīng)的IP地址;在所述主機判斷子模塊判定所述主 機不是所述查詢請求中主機域名對應(yīng)的主機時,向DNS服務(wù)器查詢所述查 詢請求中主機域名對應(yīng)的IP地址,或者,刪除本地緩存中的所述記錄,并 向DNS力l務(wù)器查詢所述查詢請求中主枳i域名對應(yīng)的IP地址。 本發(fā)明所提供的DNS的探測響應(yīng)裝置,包括探測消息接收模塊,用于接收來自所述DNS的緩存探測裝置的針對主機域 名的探測;探測響應(yīng)模塊,用于根據(jù)所述針對主機域名的探測,向所述緩存探測裝置 返回對應(yīng)的探測結(jié)果。較佳地,該裝置進一步包括域名比較模塊,用于將所述探測中攜帶的主 機域名與自身的主機域名進行比較,若一致,則通知探測響應(yīng)模塊執(zhí)行所述向 緩存探測裝置返回對應(yīng)的探測結(jié)果的操作。從上述方案可以看出,本發(fā)明中DNS客戶端在根據(jù)查詢請求在本地緩 存中查找到主機域名與IP地址的對應(yīng)記錄后,并不直接使用該記錄中的IP 地址,而是向該IP地址對應(yīng)的目的主沖幾發(fā)送請求主機域名的探測,并根據(jù) 探測結(jié)果判斷目的主機是否為查詢請求中主機域名對應(yīng)的主機,如果是,才 使用該記錄中的IP地址,否則,重新向DNS服務(wù)器查詢主機域名對應(yīng)的新 的IP地址,從而避免了由于DNS緩存不能及時更新,而使用老化的IP地 址時造成的連接失敗。
圖1為本發(fā)明實施例中對DNS的緩存進行探測的方法的示例性流程圖; 圖2為本發(fā)明實施例中DNS的緩存探測裝置的示例性結(jié)構(gòu)圖; 圖3為圖2所示裝置中探測處理模塊的結(jié)構(gòu)示意圖;圖4為圖2所示裝置中結(jié)果處理模塊的結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例中DNS的探測響應(yīng)裝置的示例性結(jié)構(gòu)圖。
具體實施方式
本發(fā)明實施例中,為避免由于DNS緩存不能及時更新帶來的連接失敗, 可在從緩存中查找到相應(yīng)的主機域名與IP地址的記錄后,不直接利用該記 錄中的IP地址發(fā)起連接,而是先向該IP地址對應(yīng)的主才凡發(fā)送針對主機域名 的探測,并根據(jù)探測結(jié)果判斷對方是否為所述主機域名對應(yīng)的主機,在判斷 是時,再利用該記錄中的IP地址發(fā)起連接。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面結(jié)合實施例和 附圖,對本發(fā)明進一步詳細說明。圖1為本發(fā)明實施例中對DNS的緩存進行探測的方法的示例性流程圖。 如圖l所示,該流程包括如下步驟步驟101,本地主機的DNS客戶端接收包含目的主機的主機域名的查 詢請求。其中,該查詢請求可以為本地主才凡上的其它應(yīng)用層協(xié)議,如HTTP、 SMTP或FTP等的客戶端發(fā)送給該DNS客戶端的。步驟102, DNS客戶端根據(jù)該查詢請求,在本地緩存中查找該查詢請求 中的主機域名與相應(yīng)IP地址的對應(yīng)記錄,若查找到,則執(zhí)行步驟103,否則, 執(zhí)行步驟106。步驟103, DNS客戶端向所述記錄中的IP地址對應(yīng)的目的主機發(fā)送針 對主機域名的探測,得到探測結(jié)果。其中,針對主機域名的探測可以是一種請求主機域名的域名探測消息, 且該域名探測消息可以^使用新的資源記錄(RR)查詢類型(QTYPE),也 可以沿用舊的RR查詢類型,但需對回復消息進行擴展。例如,可增加一種新的查詢類型,如援存探測(CD, Cache Detect)消 息,作為該域名探測消息,用于請求目的主機的域名信息。這種情況下,對現(xiàn)有的改動較小。又如,可擴展原有主機信息(HINFO)查詢類型的回復內(nèi)容,該消息原 來回復內(nèi)容中只包括目的主機的CPU類型和操作系統(tǒng)(OS)類型,擴展后 的HINFO消息回復內(nèi)容中還可以攜帶主機的域名信息,即使用HINFO消息 作為域名探測消息。相應(yīng)地,目的主才凡根據(jù)接收到的針對主才幾域名的探測,向DNS客戶端 返回對應(yīng)的探測結(jié)果。例如,目的主機根據(jù)請求主機域名的域名探測消息,可向DNS客戶端返回目的主機的主機域名。具體實現(xiàn)時,目的主機向DNS客戶端返回自身的主機域名時,可以是向DNS客戶端返回包含自身主機域名的探測響應(yīng)消 臺此外,為了安全起見,防止攻擊者向目的主機發(fā)起DNS攻擊,如隨意 請求目的主機的主機域名等。本發(fā)明實施例中的域名探測消息中還可包括查 詢請求中的主機域名,用于目的主機能夠?qū)⒃撝鳈C域名與自身的主機域名進 行比較,若一致,則可向DNS客戶端返回包含主機域名的探測響應(yīng)消息, 否則,可不向DNS客戶端返回任何結(jié)果。或者,為了提高DNS客戶端判斷 記錄是否老化的速度,目的主機也可在上述域名比較結(jié)果不一致時,仍向 DNS客戶端返回包含主機域名的探測響應(yīng)消息。通常情況下,為了使目的主機能夠接收到上述的域名探測消息,可在目 的主才幾上開啟DNS的知名端口 ,如53端口 ,則目的主才幾可通過該端口"f姿收 域名探測消息。另外,對于只支持DNS客戶端的目的主機來說,為了節(jié)約 目的主機的資源,在開啟DNS知名端口后,該端口可僅用于接收域名探測 消息,而不接收其它DNS的請求類型,如RR中的A類型查詢消息等。相應(yīng)地,對于本地主機的DNS客戶端來說,可以設(shè)定接收探測響應(yīng)消 息的時間,則相應(yīng)的探測結(jié)杲可以是該設(shè)定時間內(nèi)未返回任何結(jié)果,或設(shè)定 時間內(nèi)返回了包含主機域名的纟笨測響應(yīng)消息。步驟104, DNS客戶端根據(jù)探測結(jié)果,判斷目的主機是否為探測請求中的主機域名對應(yīng)的主機,如果是,則執(zhí)行步驟105;否則,執(zhí)行步驟106。其中,若在設(shè)定時間內(nèi)未接收到返回的包含主機域名的探測響應(yīng)消息, 即探測結(jié)果為設(shè)定時間內(nèi)未返回任何結(jié)果,則DNS客戶端判定該目的主機 不是查詢請求中主才兒.域名對應(yīng)的主機;若在設(shè)定時間內(nèi)接收到返回的包含主 機域名的探測響應(yīng)消息,即探測結(jié)果為設(shè)定時間內(nèi)返回了包含主機域名的探 測響應(yīng)消息,則DNS客戶端判斷該探測響應(yīng)消息中的主機域名是否與查詢 請求中的主機域名 一致,若一致,則判定目的主機為查詢請求中主機域名對 應(yīng)的主機,若不一致,則判定目的主才兒不是查詢請求中主機域名對應(yīng)的主沖幾。 步驟105, DNS客戶端將所查到的記錄中的IP地址作為查詢請求中主 機域名對應(yīng)的IP地址,之后,DNS客戶端可將該IP地址提供給向其發(fā)送查 詢請求的主體,如應(yīng)用層協(xié)議HTTP、 SMTP或FTP等的客戶端,結(jié)束本流 程。步驟106,DNS客戶端向DNS服務(wù)器查詢所述主機域名對應(yīng)的IP地址, 之后,DNS客戶端可將查詢到該IP地址提供給向其發(fā)送查詢請求的主體, 如應(yīng)用層協(xié)議HTTP、 SMTP或FTP等的客戶端,結(jié)束本流程。本步驟中,DNS客戶端可在向DNS服務(wù)器查詢所述主機域名對應(yīng)的IP 地址之前或之后或同時,將查找到的記錄從本地緩存中刪除,之后,可根據(jù) 來自DNS服務(wù)器的查詢結(jié)果,重新添加對應(yīng)的主機域名與IP地址的記錄。或者,本步驟中,也可以直接在DNS客戶端向DNS服務(wù)器查詢所述主 機域名對應(yīng)的IP地址之后,對本地緩存中的對應(yīng)記錄進行更新,即利用新 查詢到的IP地址更新記錄中舊的IP地址。以上對本發(fā)明實施例中DNS的緩存探測方法進行了詳細描述。具體實 現(xiàn)時,上述方法中DNS客戶端執(zhí)行的操作也可以由位于DNS客戶端之中或 獨立于DNS客戶端之外的DNS的緩存探測裝置來執(zhí)行,而目的主機執(zhí)行的 操作則可由位于目的主機的DNS客戶端之中或獨立于目的主機的DNS客戶 端之外的DNS的探測響應(yīng)裝置來執(zhí)行。下面對本發(fā)明實施例中DNS的緩存 探測裝置和探測響應(yīng)裝置進行詳細描迷。圖2為本發(fā)明實施例中DNS的緩存探測裝置的示例性結(jié)構(gòu)圖。如圖2 所示,該裝置包括記錄查找模塊、探測處理模塊和結(jié)果處理模塊。其中,記錄查找模塊用于根據(jù)接收到的包含主機域名的查詢請求,在本 地緩存中查找所述主機域名與IP地址的對應(yīng)記錄。其中,查詢請求可以為 本地主機上的其它應(yīng)用層協(xié)議,如HTTP、 SMTP或FTP等的客戶端發(fā)送給 該DNS客戶端的。'探測處理模塊用于在記錄查找模塊查找到相應(yīng)記錄時,向所查找到的記錄所示方法中的描述一致,此處針對主機域名的探測可以為請求主機域名的域名 探測消息,且該域名探測消息可以是新增的查詢類型消息,也可以是擴展了巳 有查詢類型回復內(nèi)容后的消息,該域名探測消息中可包括所述查詢請求中的主 機域名或不包括所述查詢請求中的主機域名。同樣,探測處理模塊得到的探測 結(jié)果可以是設(shè)定時間內(nèi)未返回任何結(jié)果,或設(shè)定時間內(nèi)返回了包含主機域名的 探測響應(yīng)消息。結(jié)果處理模塊用于根據(jù)探測處理模塊得到的探測結(jié)果,判斷目的主機是否 為查詢請求中主機域名對應(yīng)的主機,如果是,則將查找到的記錄中的IP地址作 為所述主機域名對應(yīng)的IP地址;否則,向DNS服務(wù)器查詢所述主機域名對應(yīng) 的IP地址。此外,在記錄查找模塊未查找到相應(yīng)記錄時,也向DNS服務(wù)器查 詢所述主機域名對應(yīng)的IP地址。進一步地,該結(jié)果處理模塊在判定目的主機不 是所述主機域名對應(yīng)的主機時,可刪除本地緩存中的所述記錄,具體實現(xiàn)時, 可在向DNS服務(wù)器查詢所述主機域名對應(yīng)的IP地址之前刪除,也可在其之后 刪除,還可在其同時刪除。或者,該結(jié)果處理模塊在判定目的主機不是所述主 機域名對應(yīng)的主機時,并向DNS服務(wù)器查詢所述主機域名對應(yīng)的IP地址之后, 可直接對本地緩存中的相應(yīng)記錄進行更新。其中,域名探測結(jié)果可以是設(shè)定時 間內(nèi)未返回任何結(jié)果,或設(shè)定時間內(nèi)返回了目的主機的主機域名。其中,返回 的目的主機的主機域名可以是返回的探測響應(yīng)消息中攜帶的目的主機的主機域 名。具體實現(xiàn)時,該探測處理模塊的內(nèi)部結(jié)構(gòu)可如圖3所示,包括探測消息 發(fā)送子模塊、計時子模塊和結(jié)果接收子模塊。其中,探測消息發(fā)送子模塊用于在查找到上述主機域名與IP地址的相應(yīng)記 錄時,向該記錄中的IP地址對應(yīng)的目的主機發(fā)送針對主機域名的探測。其中,針對主機域名的探測可以是請求主機域名的域名探測消息,且該域 名探測消息可以是新增的查詢類型消息,也可以是擴展了已有查詢類型回復內(nèi) 容后的消息,該域名探測消息中可包括所述查詢請求中的主機域名或不包括所 述查詢請求中的主機域名。計時子模塊用于在所述探測消息發(fā)送子模塊發(fā)送所述針對主機域名的探測 后,按照設(shè)定時間的時長啟動計時。結(jié)果接收子模塊用于在所述計時子模塊的計時時間內(nèi),接收所述目的主機 返回的主機域名。其中,目的主才幾返回的的主機域名可以是目的主機返回的探 測響應(yīng)消息中攜帶的主機域名,下面均以目的主機返回包含主機域名的探測響 應(yīng)消息的情況為例。具體實現(xiàn)時,結(jié)果處理模塊的內(nèi)部結(jié)構(gòu)可如圖4所示,包括主機判斷子 模塊和結(jié)果處理子一莫塊。其中,主機判斷子模塊用于在所述結(jié)果接收子模塊未接收到包含主機域名 的探測響應(yīng)消息時,判定目的主機不是查詢請求中主機域名對應(yīng)的主機;在所 述結(jié)果接收子模塊接收到包含主機域名的探測響應(yīng)消息時,判斷該響應(yīng)消息中 的主機域名是否與查詢請求中的主機域名 一致,若一致,則判定目的主機為查 詢請求中主機域名對應(yīng)的主機,若不一致,則判定目的主機不是所述查詢請求 中主機域名對應(yīng)的主4幾。結(jié)果處理子模塊用于在所述主機判斷子模塊判定目的主機是所述查詢請求 中主機域名對應(yīng)的主機時,將本地緩存中查找到的相應(yīng)記錄中的IP地址作為查 詢請求中主機域名對應(yīng)的IP地址;在所述主機判斷子模塊判定目的主機不是查 詢請求中主機域名對應(yīng)的主才幾時,向DNS服務(wù)器查詢所述查詢請求中主機域名 只于應(yīng)的IPi也址。進一步地,該結(jié)果處理子模塊在所述主機判斷子模塊判定目的主機不是查 詢請求中主機域名對應(yīng)的主機時,可刪除本地緩存中的所述記錄,該刪除操作
可在向DNS服務(wù)器查詢所述查詢請求中主機域名對應(yīng)的IP地址之后進行,也 可在之后進行?;蛘撸摻Y(jié)果處理子模塊也可在向DNS服務(wù)器查詢所述查詢請 求中主機域名對應(yīng)的IP地址之后,直接更新本地緩存中的所述記錄。
圖5為本發(fā)明實施例中DNS的^:測響應(yīng)裝置的示例性結(jié)構(gòu)圖。如圖5中的 實線部分所示,該裝置包括探測消息接收模塊和探測響應(yīng)模塊。
其中,探測消息接收模塊用于接收來自DNS的緩存探測裝置的針對主機域 名的探測,如請求主機域名的域名探測消息。
探測響應(yīng)模塊用于根據(jù)所述針對主機域名的探測,向所述緩存探測裝置返 回相應(yīng)的探測結(jié)果,如自身的主機域名,具體實現(xiàn)時,可以返回攜帶自身主機 域名的探測響應(yīng)消息。
進一步地,如圖3中的虛線部分所示,該裝置還可包括域名比較模塊, 用于將所述探測中攜帶的主機域名與自身的主機域名進行比較,若一致,則通 知探測響應(yīng)模塊執(zhí)行所述向緩存探測裝置返回攜帶自身主機域名的探測響應(yīng)消 息的操作,若不一致,可不通知探測響應(yīng)模塊執(zhí)行所述向緩存探測裝置返回攜 帶自身主機域名的探測響應(yīng)消息的操作,則探測響應(yīng)模塊可不予處理,或者, 為了提高判斷記錄是否老化的速度,也可通知探測響應(yīng)模塊執(zhí)行所述向緩存探 測裝置返回攜帶自身主機域名的探測響應(yīng)消息的操作。
其中,該探測消息接收模塊可以為包括DNS知名端口 ,如53端口的模塊。
本發(fā)明實施例中,針對主^U或名的探測均以請求主^/L域名的域名探測消 息為例進行的描述,此外,針對主機域名的探測也可以是其它的消息,如可 以是包括目的主機的主機域名的確認消息,該確認消息同樣可以是新增的查 詢類型消息,也可以是擴展了已有查詢類型回復內(nèi)容后的消息。則目的主機 可以根據(jù)該確認消息,將確認消息中的主機域名與自身的主機域名進行比 較,若一致,則返回表示一致的消息,如"YES",若不一致,則返回表示不一致的消息,如"NO"等。相應(yīng)地,本地主機的DNS客戶端可根據(jù)探測
結(jié)果來確定目的主機是否為查詢請求中主機域名對應(yīng)的主機,即若接收到表 示一致的消息,則判定目的主機是查詢請求中主機域名對應(yīng)的主機,若接收 到表示不一致的消息,則判定目的主機不是查詢請求中主機域名對應(yīng)的主 機。此處不再——贅述。
以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進行了 進一步詳細說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的較佳實施例而已, 并非用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi),所作的任 何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1. 一種對域名系統(tǒng)DNS的緩存進行探測的方法,其特征在于,該方法包括根據(jù)接收到的包含主機域名的查詢請求,在本地緩存中查找所述主機域名與IP地址的對應(yīng)記錄;若查找到所述記錄,向所述IP地址對應(yīng)的主機發(fā)送針對該主機域名的探測;所述主機接收所述針對主機域名的探測,根據(jù)所述探測,向發(fā)送所述探測的主體返回對應(yīng)的探測結(jié)果;根據(jù)所述探測結(jié)果,判斷所述主機是否為所述主機域名對應(yīng)的主機,如果是,則將所述IP地址作為所述主機域名對應(yīng)的IP地址;否則,向DNS服務(wù)器查詢所述主機域名對應(yīng)的IP地址。
2、 如權(quán)利要求l所述的方法,其特征在于,在所述主機不是所述主機域名 對應(yīng)的主機時,進一步包括將本地緩存中的所述記錄刪除。
3、 如權(quán)利要求l所述的方法,其特征在于,所述針對主機域名的探測為請 求主機域名的域名探測消息;所述主機向發(fā)送所述探測的主機返回對應(yīng)的探測結(jié)果為所述主機向發(fā)送 所述探測的主體返回自身的主機域名;所述根據(jù)所述探測結(jié)果,判斷所述主機是否為所述主機域名對應(yīng)的主機包 括判斷所述返回的主機域名是否與所述查詢請求中的主機域名一致,若一致, 則判定所述主機為所述查詢請求中主機域名對應(yīng)的主機,若不一致,則判定所 述主機不是所述查詢請求中主機域名對應(yīng)的主才幾。
4、 如權(quán)利要求3所述的方法,其特征在于,所述域名探測消息中包括所述 查詢請求中的主機域名;所述主機向發(fā)送所述探測的主體返回自身的主機域名之前,進一步包括 所述主機將所述探測中的主機域名與自身的主機域名進行比較,若一致,則執(zhí) 行所述向發(fā)送所述探測的主體返回自身的主機域名的操作;否則,所述主機不向發(fā)送所述探測的主體返回任何結(jié)果。
5、 如權(quán)利要求4所述的方法,其特征在于,所述根據(jù)探測結(jié)果,判斷所述主機是否為所述主機域名對應(yīng)的主機進一步包括在所述4笨測結(jié)果為設(shè)定時間內(nèi)未返回任何結(jié)果時,判定所述主機不是所述查詢請求中主機域名對應(yīng)的主機。
6、 一種域名系統(tǒng)DNS的緩存探測裝置,其特征在于,該裝置包括 記錄查找模塊,用于根據(jù)接收到的包含主機域名的查詢請求,在本地緩存中查找所述主機域名與IP地址的對應(yīng)記錄;探測處理模塊,用于在查找到所述記錄時,向所述IP地址對應(yīng)的主機發(fā)送 針對所述主機域名的探測,得到探測結(jié)果;結(jié)果處理模塊,用于根據(jù)所述探測結(jié)果,判斷所述主機是否為所述主機域 名對應(yīng)的主機,如果是,則將所述IP地址作為所述主機域名對應(yīng)的IP地址; 否則,向DNS服務(wù)器查詢所述主機域名對應(yīng)的IP地址。
7、 如權(quán)利要求6所述的裝置,其特征在于,所述結(jié)果處理^^莫塊在判斷所述 主機不是所述主機域名對應(yīng)的主^幾時,進一步地,將本地緩存中的所述記錄刪 除。
8、 如權(quán)利要求6或7所述的裝置,其特征在于,所述探測處理模塊包括 探測消息發(fā)送子模塊,用于在查找到所述記錄時,向所述IP地址對應(yīng)的主機發(fā)送針對所述主機域名的探測;計時子模塊,用于在所述探測消息發(fā)送子模塊發(fā)送所述針對所述主機域名 的才笨測后,按照設(shè)定時間的時長啟動計時;結(jié)果接收子模塊,用于在所述計時子模塊的計時時間內(nèi),接收所述主機返 回的主一幾i或名。
9、 如權(quán)利要求8所述的裝置,其特征在于,所述結(jié)果處理模塊包括 主機判斷子模塊,用于在所述結(jié)果接收子模塊未接收到所述主機域名時,判定所述主機不是所述查詢請求中主機域名對應(yīng)的主機;在所述結(jié)果接收子模 塊接收到所述主機域名時,判斷所述響應(yīng)消息中的主機域名是否與所述查詢請 求中的主機域名 一致,若一致,則判定所述主機為所述查詢請求中主機域名對應(yīng)的主機,若不一致,則判定所述主機不是所述查詢請求中主機域名對應(yīng)的主 機;結(jié)果處理子模塊,用于在所述主機判斷子模塊判定所述主機是所述查詢請 求中主機域名對應(yīng)的主機時,將本地緩存中所述記錄中的IP地址作為所述查詢請求中主機域名對應(yīng)的IP地址;在所述主機判斷子模塊判定所述主機不是所述 查詢i青求中主;(yU或名對應(yīng)的主4幾時,向DNS月良務(wù)器查詢所述查詢請求中主才幾域 名對應(yīng)的IP地址,或者,刪除本地緩存中的所述記錄,并向DNS服務(wù)器查詢 所述查詢請求中主才幾域名對應(yīng)的IP地址。
10、 一種域名系統(tǒng)DNS的探測響應(yīng)裝置,其特征在于,該裝置包括 探測消息接收模塊,用于接收來自所述DNS的緩存探測裝置的針對主機域名的探測;探測響應(yīng)模塊,用于根據(jù)所述針對主機域名的探測,向所述緩存探測裝置 返回對應(yīng)的4果測結(jié)果。
11、 如權(quán)利要求IO所述的裝置,其特征在于,該裝置進一步包括域名比 較模塊,用于將所述探測中攜帶的主機域名與自身的主機域名進行比較,若一 致,則通知探測響應(yīng)模塊執(zhí)行所述向緩存探測裝置返回對應(yīng)探測結(jié)果的操作。
全文摘要
本發(fā)明公開了一種域名系統(tǒng)(DNS)的緩存探測方法、緩存探測裝置和探測響應(yīng)裝置。其中,方法包括根據(jù)包含主機域名的查詢請求,在本地緩存中查找到所述主機域名與IP地址的對應(yīng)記錄,向所述記錄中IP地址對應(yīng)的主機發(fā)送針對主機域名的探測,根據(jù)探測結(jié)果,判斷所述主機是否為所述主機域名對應(yīng)的主機,如果是,則將所述IP地址作為所述主機域名對應(yīng)的IP地址;否則,向DNS服務(wù)器查詢所述主機域名對應(yīng)的IP地址。本發(fā)明所公開的技術(shù)方案,能夠避免由于DNS緩存不能及時更新而造成的連接失敗。
文檔編號H04L29/12GK101272407SQ20081010531
公開日2008年9月24日 申請日期2008年4月28日 優(yōu)先權(quán)日2008年4月28日
發(fā)明者甘長華 申請人:杭州華三通信技術(shù)有限公司