一種域名解析方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種域名解析方法及裝置,本發(fā)明在客戶端和域名服務器之間設置域名解析裝置,該裝置識別同一域名解析過程中的多個域名查詢請求報文或多個域名查詢響應報文后,攔截其中冗余的域名查詢請求報文或冗余的域名查詢響應報文,透傳非冗余的域名查詢請求報文給域名服務器或透傳非冗余的域名查詢響應報文給客戶端。這樣,本發(fā)明提供的方法及裝置就可以對冗余的域名查詢請求報文或冗余的域名查詢響應報文攔截,減輕域名服務器處理壓力且節(jié)省網(wǎng)絡帶寬。
【專利說明】一種域名解析方法及裝置
【技術領域】
[0001]本發(fā)明涉及網(wǎng)際協(xié)議(IP)領域,特別涉及一種域名解析方法及裝置。
【背景技術】
[0002]域名系統(tǒng)(DNS)是為了解決域名和IP地址信息的對應關系而建立的互聯(lián)網(wǎng)名稱服務系統(tǒng),是互聯(lián)網(wǎng)中的基于超文本傳輸協(xié)議(HTTP)的文件傳輸應用及電子郵件應用等幾乎所有互聯(lián)網(wǎng)應用的基礎服務系統(tǒng),其中,域名就是互聯(lián)網(wǎng)中各個客戶端的主機名稱。域名解析過程為:客戶端中設置的域名解析器與DNS中的域名服務器交互,由客戶端中設定的域名解析器向域名服務器發(fā)起域名查詢請求報文后,由域名服務器將該域名對應的IP地址信息返回給客戶端,該域名對應的IP地址信息可以為一個或多個。
[0003]在客戶端設置的域名解析器接受客戶端的操作系統(tǒng)管理,供需要使用域名服務的應用程序調用,向域名服務器查詢域名對應的IP地址信息并將結果返回給調用它的應用程序。DNS中的域名服務器位于互聯(lián)網(wǎng)網(wǎng)絡中,包括多個且多個等級,負責具體的域名解析,上級的域名服務器由資源管理機構自成網(wǎng)絡統(tǒng)一管理,并與運營商網(wǎng)絡互聯(lián),下級的域名服務器位于運營商網(wǎng)絡中,由運營商網(wǎng)絡所有者控制管理。
[0004]為了減輕上級域名服務器的負擔,加快域名解析處理速度,將最低一級的域名服務器設置為遞歸服務器,也就是緩存服務器,緩存有其管轄的客戶端的域名和IP地址信息的對應關系。在域名解析過程中,距離客戶端最近的最低一級的域名服務器,直接與客戶端的域名解析器交互域名解析的報文。本申請?zhí)峒暗挠蛎掌骶褪亲畹鸵患壍挠蛎掌鳌?br>
[0005]目前,在客戶端的域名解析器和域名服務器之間進行域名解析的過程中,一次域名解析的報文交互,客戶端的域名解析器可能會發(fā)出多個域名查詢請求報文,這些報文是同一應用程序的同一次域名解析器調用產(chǎn)生,向同一域名服務器請求同一域名對應的IP地址信息,同一域名服務器將返回多個攜帶對應的IP地址信息的域名查詢響應報文。
[0006]圖1為現(xiàn)有技術提供的域名解析方法流程圖,其具體步驟為:
[0007]步驟101、客戶端的應用程序調用客戶端設置的域名解析器,進行域名解析;
[0008]步驟102、客戶端設置的域名解析器接受該應用程序的調用后,向域名服務器發(fā)送域名查詢請求報文,該實例一共發(fā)送四次查詢請求報文;
[0009]在本步驟中,域名查詢請求攜帶的域名為www.abc.com,由于應用程序或操作系統(tǒng)本身的域名解析行為,需要發(fā)出四次域名查詢請求報文;步驟103、域名服務器接收到四個域名查詢請求報文,分別解析,得到對應各個域名查詢請求報文攜帶的域名對應的IP地址
信息;
[0010]在該步驟中,域名服務器預先緩存有域名和IP地址信息的對應關系,根據(jù)對應關系進行解析;
[0011]步驟104、域名服務器針對每個域名查詢請求報文,返回對應的域名查詢響應報文,攜帶有解析得到的IP地址信息;[0012]在該步驟中,一共需要返回四個域名查詢響應報文。
[0013]從圖1可以看出,這四個查詢請求報文具有的特點為:由于來自于同一客戶端,所以源IP地址信息相同;由于發(fā)送的目的都為域名服務器,所以目的IP地址信息相同;所請求的域名相同;所解析的IP地址信息相同;調用的域名解析器的源端口相同;以及由于同一次解析過程而導致的事務標識(Transaction ID)相同。
[0014]正常情況下,這些域名查詢請求報文都會到達域名服務器,而域名服務器也會對每個域名查詢請求報文回復域名查詢響應報文,因此,客戶端也會接收到多個域名查詢響應報文。一般來說,一個域名查詢請求報文和域名查詢響應報文的交互就可以完成一次域名解析過程,而且在客戶端接收到第一個域名查詢響應報文后就會結束本次域名解析過程并關閉客戶端的傳輸層端口,后續(xù)其他域名查詢響應報文就會丟棄并向域名服務器發(fā)送互聯(lián)網(wǎng)控制報文協(xié)議(ICMP)端口不可達消息。這些多余的域名查詢請求報文和域名查詢響應報文增加了域名服務器的處理壓力,也浪費了網(wǎng)絡帶寬,尤其是在網(wǎng)絡空口帶寬資源緊張的移動接入環(huán)境下更為明顯。
【發(fā)明內(nèi)容】
[0015]有鑒于此,本發(fā)明提供一種域名解析方法,該方法能夠對冗余的域名查詢請求報文或冗余的域名查詢響應報文攔截,減輕域名服務器處理壓力且節(jié)省網(wǎng)絡帶寬。
[0016]本發(fā)明還體用一種域名解析裝置,該裝置能夠對冗余的域名查詢請求報文或冗余的域名查詢響應報文攔截,減輕域名服務器處理壓力且節(jié)省網(wǎng)絡帶寬。
[0017]為達到上述目的,本發(fā)明實施的技術方案具體是這樣實現(xiàn)的:
[0018]一種域名解析方法,在客戶端和域名服務器之間設置域名解析裝置,該方法還包括:
[0019]域名解析裝置識別同一域名解析過程中的由客戶端發(fā)送的多個域名查詢請求報文或由域名服務器發(fā)送的多個域名查詢響應報文;
[0020]域名解析裝置攔截其中冗余的域名查詢請求報文或冗余的域名查詢響應報文,透傳非冗余的域名查詢請求報文或非冗余的域名查詢響應報文。
[0021]所述識別同一域名解析過程中的由客戶端發(fā)送的多個域名查詢請求報文或由域名服務器發(fā)送的多個域名查詢響應報文為:在域名解析裝置中設置識別規(guī)則,根據(jù)所設置的識別規(guī)則確定所接收的多個域名查詢請求報文或多個域名查詢響應報文是否來自于同一域名解析過程。
[0022]所設置的識別規(guī)則為:判斷接收多個報文間隔時間不超過設定的間隔時間,判斷多個報文中的域名系統(tǒng)字段Domain Name System的事務標識Transaction ID相同、判斷多個域名查詢請求報文的源端口號相同、判斷多個域名查詢響應報文的目的端口號相同、判斷多個報文攜帶的域名和類型相同、和判斷多個報文的源或目的IP地址信息相同中的一種或多種組合。
[0023]所述根據(jù)所設置的識別規(guī)則確定所接收的多個域名查詢請求報文或多個域名查詢響應報文是否來自于同一域名解析過程為:域名解析裝置中維護一個報文狀態(tài)表,緩存所接收報文的信息,根據(jù)所記錄報文信息確定是否符合所設定的識別規(guī)則,進一步確定所接收的多個域名查詢請求報文或多個域名查詢響應報文是否來自于同一域名解析過程。[0024]所述攔截規(guī)則為:對域名查詢請求報文或域名查詢響應報文實施攔截,或者對兩者都進行攔截;根據(jù)報文轉發(fā)方向進行攔截;判斷本次域名解析過程中是否已經(jīng)對域名查詢請求報文應答了域名查詢響應報文,如未應答則透傳域名查詢響應報文給客戶端,否則,攔截域名查詢響應報文;根據(jù)報文的源IP地址和域名服務器IP地址、對客戶端或域名服務器參與的報文攔截;以及根據(jù)域名對報文攔截中的一種或多種組合。
[0025]一種域名解析裝置,包括:識別模塊、攔截模塊和透傳模塊,其中,
[0026]識別模塊,用于識別同一域名解析過程中的多個域名查詢請求報文或多個域名查詢響應報文;
[0027]攔截模塊,用于根據(jù)識別模塊的識別結果,攔截其中冗余的域名查詢請求報文或冗余的域名查詢響應報文;
[0028]透傳模塊,用于根據(jù)識別模塊的識別結果,透傳非冗余的域名查詢請求報文或非冗余的域名查詢響應報文。
[0029]所述識別模塊包括第一識別模塊,用于設置識別規(guī)則,根據(jù)識別規(guī)則,識別同一域名解析過程中的多個域名查詢請求報文或多個域名查詢響應報文。
[0030]所述攔截模塊還包括第一攔截模塊,用于設置攔截規(guī)則,根據(jù)攔截規(guī)則對冗余的域名查詢請求報文或冗余的域名查詢響應報文進行攔截。
[0031]由上述方案可以看出,本發(fā)明在客戶端和域名服務器之間設置域名解析裝置,該裝置識別同一域名解析過程中的多個域名查詢請求報文或多個域名查詢響應報文后,攔截其中冗余的域名查詢請求報文或冗余的域名查詢響應報文,透傳非冗余的域名查詢請求報文給域名服務器或透傳非冗余的域名查詢響應報文給客戶端。這樣,本發(fā)明提供的方法及裝置就可以對冗余的域名查詢請求報文或冗余的域名查詢響應報文攔截,減輕域名服務器處理壓力且節(jié)省網(wǎng)絡帶寬。
【專利附圖】
【附圖說明】
[0032]圖1為現(xiàn)有技術提供的域名解析方法流程圖;
[0033]圖2為本發(fā)明實施例提供的域名解析方法流程圖;
[0034]圖3為本發(fā)明實施例提供的域名解析裝置結構示意圖;
[0035]圖4為本發(fā)明實施例提供的域名解析方法具體實例流程圖。
【具體實施方式】
[0036]為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明作進一步詳細說明。
[0037]為了使得域名服務器不重復的對同一域名解析過程中的多個域名查詢請求報文處理,回復多個相同的域名查詢響應報文,減輕域名服務器處理壓力且節(jié)省網(wǎng)絡帶寬;或者為了客戶端不重復接收同一域名解析過程中多個相同域名查詢響應報文,節(jié)省網(wǎng)絡帶寬。本發(fā)明在客戶端和域名服務器之間設置域名解析裝置,該裝置識別同一域名解析過程中的多個域名查詢請求報文或多個域名查詢響應報文后,攔截其中冗余的域名查詢請求報文或冗余的域名查詢響應報文,透傳非冗余的域名查詢請求報文給域名服務器或透傳非冗余的域名查詢響應報文給客戶端。[0038]在本發(fā)明實施例中,所設置的域名解析裝置可以獨立存在在網(wǎng)絡中,也可以作為功能模塊集成在網(wǎng)絡中的其他裝置中,部署在客戶端和域名服務器之間域名查詢請求報文或域名查詢響應報文經(jīng)過鏈路的任意處,如客戶端側的家庭網(wǎng)關、客戶端和域名服務器之間的網(wǎng)關、域名服務器側的網(wǎng)關、客戶端內(nèi)或域名服務器內(nèi)。
[0039]圖2為本發(fā)明實施例提供的域名解析方法流程圖,在客戶端和域名服務器之間設置域名解析裝置,其具體步驟為:
[0040]步驟201、域名解析裝置識別同一域名解析過程中的多個域名查詢請求報文或多個域名查詢響應報文;
[0041]步驟202、域名解析裝置攔截其中冗余的域名查詢請求報文或冗余的域名查詢響應報文,透傳非冗余的域名查詢請求報文或非冗余的域名查詢響應報文。
[0042]在本發(fā)明實施例中,域名解析裝置識別同一域名解析過程中的多個域名查詢請求報文或多個域名查詢響應報文,具體為:在域名解析裝置中設置識別規(guī)則,根據(jù)所設置的識別規(guī)則確定所接收的多個域名查詢請求報文或多個域名查詢響應報文是否來自于同一域名解析過程。
[0043]所設置的識別規(guī)則可以是:判斷接收多個報文間隔時間不超過設定的間隔時間,判斷多個報文中的域名系統(tǒng)字段(Domain Name System)的事務標識(Transaction ID)相同、判斷多個域名查詢請求報文的源端口號相同、判斷多個域名查詢響應報文的目的端口號相同、判斷多個報 文攜帶的域名和類型相同、和判斷多個報文的源或目的IP地址信息相同中的一種或多種組合。
[0044]判斷接收多個報文間隔時間不超過設定的間隔時間時,間隔時間可以設定為0.5秒,確定多個報文是否在0.5秒內(nèi)陸續(xù)接收到。
[0045]具體地說,域名解析裝置中維護一個報文狀態(tài)表,緩存所接收報文的信息,根據(jù)所記錄報文信息確定是否符合所設定的識別規(guī)則。在該報文狀態(tài)表中,每一個條目記錄同一域名解析過程中所接收報文的信息,每一個條目設置有生存時間,比如初始值設置為500毫秒,生存時間在條目創(chuàng)建后遞減,減到O時條目被刪除。域名解析裝置接收到域名查詢請求報文或域名查詢響應報文后,如果該報文信息匹配已經(jīng)記錄的條目中的報文信息,則在該條目中的報文計數(shù)值中增加1,如果不匹配,則增加一條條目,如表1所示的報文狀態(tài)表中的兩個條目記錄。
[0046]表1
[0047]
【權利要求】
1.一種域名解析方法,其特征在于,在客戶端和域名服務器之間設置域名解析裝置,該方法還包括: 域名解析裝置識別同一域名解析過程中的由客戶端發(fā)送的多個域名查詢請求報文或由域名服務器發(fā)送的多個域名查詢響應報文; 域名解析裝置攔截其中冗余的域名查詢請求報文或冗余的域名查詢響應報文,透傳非冗余的域名查詢請求報文或非冗余的域名查詢響應報文。
2.如權利要求1所述的方法,其特征在于,所述識別同一域名解析過程中的由客戶端發(fā)送的多個域名查詢請求報文或由域名服務器發(fā)送的多個域名查詢響應報文為:在域名解析裝置中設置識別規(guī)則,根據(jù)所設置的識別規(guī)則確定所接收的多個域名查詢請求報文或多個域名查詢響應報文是否來自于同一域名解析過程。
3.如權利要求2所述的方法,其特征在于,所設置的識別規(guī)則為:判斷接收多個報文間隔時間不超過設定的間隔時間,判斷多個報文中的域名系統(tǒng)字段Domain Name System的事務標識Transaction ID相同、判斷多個域名查詢請求報文的源端口號相同、判斷多個域名查詢響應報文的目的端口號相同、判斷多個報文攜帶的域名和類型相同、和判斷多個報文的源或目的IP地址信息相同中的一種或多種組合。
4.如權利要求2所述的方法,其特征在于,所述根據(jù)所設置的識別規(guī)則確定所接收的多個域名查詢請求報文或多個域名查詢響應報文是否來自于同一域名解析過程為:域名解析裝置中維護一個報文狀態(tài)表,緩存所接收報文的信息,根據(jù)所記錄報文信息確定是否符合所設定的識別規(guī)則,進一步確定所接收的多個域名查詢請求報文或多個域名查詢響應報文是否來自于同一域名解析過程。
5.如權利要求1所述的方法,其特征在于,所述攔截規(guī)則為:對域名查詢請求報文或域名查詢響應報文實施攔截,或者對兩者都進行攔截;根據(jù)報文轉發(fā)方向進行攔截;判斷本次域名解析過程中是否已經(jīng)對域名查詢請求報文應答了域名查詢響應報文,如未應答則透傳域名查詢響應報文給客戶端,否則,攔截域名查詢響應報文;根據(jù)報文的源IP地址和域名服務器IP地址、對客戶端或域名服務器參與的報文攔截;以及根據(jù)域名對報文攔截中的一種或多種組合。
6.一種域名解析裝置,其特征在于,包括:識別模塊、攔截模塊和透傳模塊,其中, 識別模塊,用于識別同一域名解析過程中的由客戶端發(fā)送的多個域名查詢請求報文或由域名服務器發(fā)送的多個域名查詢響應報文; 攔截模塊,用于根據(jù)識別模塊的識別結果,攔截其中冗余的域名查詢請求報文或冗余的域名查詢響應報文; 透傳模塊,用于根據(jù)識別模塊的識別結果,透傳非冗余的域名查詢請求報文或非冗余的域名查詢響應報文。
7.如權利要求6所述的裝置,其特征在于,所述識別模塊包括第一識別模塊,用于設置識別規(guī)則,根據(jù)識別規(guī)則,識別同一域名解析過程中的多個域名查詢請求報文或多個域名查詢響應報文。
8.如權利要求6所述的裝置,其特征在于,所述攔截模塊還包括第一攔截模塊,用于設置攔截規(guī)則,根據(jù)攔截規(guī)則對冗余的域名查詢請求報文或冗余的域名查詢響應報文進行攔截。
【文檔編號】H04L29/12GK103973827SQ201310045977
【公開日】2014年8月6日 申請日期:2013年2月5日 優(yōu)先權日:2013年2月5日
【發(fā)明者】樊鵬 申請人:中國移動通信集團公司