System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及計算機,特別是涉及一種dns查詢請求的處理方法。
技術介紹
1、在dns(域名系統)遞歸查詢過程中,可能會遇到查詢得到cname(規范名字)記錄的情況,這時客戶端請求的記錄類型如果不是cname類型本身,查詢到的cname記錄就不是最終需要的結果。此時遞歸服務器會將cname指向的域名切換為當前查詢的域名,并重新發起遞歸查詢,直到得到需要的結果。
2、實際應用過程中,cname可能存在多級,這樣的情況就會加大遞歸服務器的壓力,也可能導致客戶端查詢得到結果的延時增大。極端情況下,某一級cname對應的查詢如果出現權威端未能應答,還可能導致整個客戶端查詢超時,最終產生servfail(dns服務器響應超時、解析失敗)應答結果。
3、典型的dns遞歸服務器實現,會在上述失敗場景下返回servfail結果,并且在應答中不會包含已經查到的cname鏈。表現出來的兩種效果就是,成功時返回完整的結果鏈,失敗時沒有任何記錄被返回,不存在中間結果。
4、專利技術人認識到,cname鏈在得到最終結果前失敗時,返回無數據的servfail應答結果,這樣的方式客戶端花費了較長的等待時間,卻沒有獲得對查詢有幫助的數據,存在一定的優化空間。
技術實現思路
1、本申請提供一種dns查詢中間結果應答方法、遞歸服務器和客戶端,旨在解決現有技術cname鏈在得到最終結果前失敗時,返回無數據的servfail應答結果的問題,使在涉及cname鏈查詢過程中失敗時,客戶端的查詢
2、第一方面,一種dns查詢中間結果應答方法,所述方法包括:
3、接收客戶端發送的dns查詢請求,所述dns查詢請求中還包含有客戶端自定義的偽資源記錄信息,所述偽資源記錄信息包括結果完整性標識和查詢過程控制參數;所述結果完整性標識用于表示是否查詢到完整結果;所述查詢過程控制參數包含客戶端設定的關于遞歸查詢的超時時間和重試策略;
4、解析所述dns查詢請求,在涉及遞歸查詢時,根據所述查詢過程控制參數,初始化遞歸服務器內部的會話變量,并進行遞歸查詢;
5、若查詢到完整結果,則相應更新結果完整性標識,向客戶端返回該完整結果以及更新后的結果完整性標識;
6、若按照所述設定的關于遞歸查詢的超時時間和重試策略無法查詢到完整結果,則暫存查詢得到的中間結果,相應更新結果完整性標識,向客戶端返回該中間結果以及更新后的結果完整性標識。
7、上述方案中,可選地,所述查詢過程控制參數包括:
8、客戶端超時時間,表示客戶端計劃為此查詢等待的總超時時間;
9、遞歸查詢過程中,客戶端的所述客戶端超時時間被觸發,認為無法查詢到完整結果,暫存查詢得到的中間結果,相應更新結果完整性標識,向客戶端返回該中間結果以及更新后的結果完整性標識。
10、上述方案中,可選地,所述查詢過程控制參數還包括:
11、遞歸服務器的單個cname層級查詢超時時間,表示客戶端期望遞歸服務器查詢每一級cname時使用的總超時時間;
12、遞歸查詢過程中,若任意一級cname對應向外的所述遞歸服務器的單個cname層級查詢超時時間被觸發,認為無法查詢到完整結果,暫存查詢得到的中間結果,相應更新結果完整性標識,向客戶端返回該中間結果以及更新后的結果完整性標識。
13、上述方案中,可選地,所述查詢過程控制參數還包括:
14、遞歸目標服務器超時時間,表示客戶端期望遞歸服務器在向外查詢時,每個對外遞歸查詢的超時時間;
15、遞歸查詢過程中,遞歸服務器的所述遞歸目標服務器超時時間被觸發,遞歸服務器會記錄重試次數并繼續使用遞歸服務器列表中的下一個遞歸服務器。
16、上述方案中,可選地,所述查詢過程控制參數還包括:
17、遞歸目標服務器重試次數:表示客戶端期望遞歸服務器在向外查詢時,每個對外遞歸用到的遞歸服務器目標的重試次數;
18、遞歸查詢過程中,每個遞歸服務器的所述遞歸目標服務器重試次數都達到上限,認為無法查詢到完整結果,暫存查詢得到的中間結果,相應更新結果完整性標識,向客戶端返回該中間結果以及更新后的結果完整性標識。
19、上述方案中,可選地,在所述dns查詢請求中,所述結果完整性標識被設置為0;當查詢到完整結果,所述結果完整性標識被設置為1,當無法查詢到完整結果,所述結果完整性標識被設置為2,偽資源記錄信息的其他字段保持與客戶端發來的數值保持一致。
20、第二方面,一種dns查詢請求方法,所述方法包括:
21、客戶端向遞歸服務器發送dns查詢請求,所述dns查詢請求中還包含有客戶端自定義的偽資源記錄信息,所述偽資源記錄信息包括結果完整性標識和查詢過程控制參數;所述結果完整性標識用于表示是否查詢到完整結果;所述查詢過程控制參數包含客戶端設定的關于遞歸查詢的超時時間和重試策略;
22、遞歸服務器根據所述設定的關于遞歸查詢的超時時間和重試策略執行遞歸查詢結束后,客戶端接收到遞歸服務器發來的應答報文;若遞歸服務器查詢到完整結果,則所述應答報文包含該完整結果以及相應更新后的結果完整性標識;若遞歸服務器只查詢得到中間結果,則所述應答報文包含該中間結果以及相應更新后的結果完整性標識;
23、客戶端解析應答報文,根據結果完整性標識判斷是否正常結束查詢請求。
24、上述方案中,可選地,若客戶端解析得到的結果完整性標識表明只查詢得到中間結果,則根據自身的策略切換到cname鏈末端,然后重新發起針對所述cname鏈末端的域名的遞歸查詢。
25、上述方案中,進一步可選地,所述重新發起針對該cname域名的遞歸查詢,是向其它遞歸服務器發起查詢請求。
26、第三方面,一種遞歸服務器,包括存儲器、處理器及存儲在存儲器上的計算機程序,其特征在于,所訴遞歸服務器執行所述計算機程序以實現上述第一方面方法的步驟。
27、第四方面,一種客戶端,包括存儲器、處理器及存儲在存儲器上的計算機程序,其特征在于,所訴客戶端執行所述計算機程序以實現上述第二方面方法的步驟。
28、相比現有技術,本申請至少具有以下有益效果:
29、本申請基于對現有技術問題的進一步分析和研究,認識到典型的遞歸服務器在進行遞歸查詢,成功時返回完整的結果鏈,失敗時沒有任何記錄被返回,不存在中間結果。通過對超時等信息的協商,讓客戶端可以干預服務器端的一些行為,實現與客戶端的配合,讓客戶端的查詢獲得一定的進展,對現有不存在中間結果的查詢邏輯進行了優化,提升了特定場景下的客戶端查詢性能。
30、在上述內容中,本申請通過結果完整性標識,將查詢結果分為兩類,客戶端僅通過解析更新后的結果完整性標識,即可分辨出應答結果是完整狀態還是不完整狀態(即中間狀態),從而根據自身策略做出不同的應答反應。
31、在上述內容中,本申請本文檔來自技高網...
【技術保護點】
1.一種DNS查詢中間結果應答方法,其特征在于,包括:
2.根據權利要求1所述的DNS查詢中間結果應答方法,其特征在于,所述查詢過程控制參數包括:
3.根據權利要求1所述的DNS查詢中間結果應答方法,其特征在于,所述查詢過程控制參數還包括:
4.根據權利要求1所述的DNS查詢中間結果應答方法,其特征在于,所述查詢過程控制參數還包括:
5.根據權利要求1所述的DNS查詢中間結果應答方法,其特征在于,所述查詢過程控制參數還包括:
6.根據權利要求1所述的DNS查詢中間結果應答方法,其特征在于,包括:
7.一種DNS查詢請求方法,其特征在于,包括:
8.根據權利要求7所述的DNS查詢請求方法,其特征在于,包括:
9.根據根據權利要求8所述的DNS查詢請求方法,其特征在于,包括:
10.一種遞歸服務器,包括存儲器、處理器及存儲在存儲器上的計算機程序,其特征在于,所訴遞歸服務器執行所述計算機程序以實現權利要求1至6中任一項所述方法的步驟。
11.一種客戶端,包括存儲器、處
...【技術特征摘要】
1.一種dns查詢中間結果應答方法,其特征在于,包括:
2.根據權利要求1所述的dns查詢中間結果應答方法,其特征在于,所述查詢過程控制參數包括:
3.根據權利要求1所述的dns查詢中間結果應答方法,其特征在于,所述查詢過程控制參數還包括:
4.根據權利要求1所述的dns查詢中間結果應答方法,其特征在于,所述查詢過程控制參數還包括:
5.根據權利要求1所述的dns查詢中間結果應答方法,其特征在于,所述查詢過程控制參數還包括:
6.根據權利要求1所述的dns查詢中間結果應答方法,其特征在于,包...
【專利技術屬性】
技術研發人員:陳超,蔣超,朱睿爽,邢志杰,毛偉,
申請(專利權)人:互聯網域名系統北京市工程研究中心有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。