System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及網絡安全,特別是涉及一種公共dns查詢應答方法及服務器。
技術介紹
1、在復雜的互聯網環境下,不同地域不同運營商之間的網絡延遲非常大。互聯網服務提供商為了讓客戶有一個更好的訪問體驗,通常會在全球各地運營商部署服務節點來解決此問題。為了將用戶的流量調度到與用戶相同地域相同運營商的服務節點,就需要用到智能dns。
2、智能dns也稱為geodns,是一種基于用戶地理位置來提供個性化響應技術,它允許dns服務器根據請求源ip地址返回不同的應答結果,從而實現流量的調度和優化用戶體驗的目的。而用戶的客戶端是通過isp提供的本地dns來獲取域名對應的ip地址,所以智能dns用于判斷的請求源ip是本地dns的ip地址。由于本地dns和用戶同處一個網絡,因此不會影響調度的準確性。
3、隨著互聯網的快速發展,有isp提供的本地dns更容易遭到攻擊和劫持等安全風險,使得更多得人選擇公共dns替代本地dns。公共dns為了確保全球范圍內服務的高可用和快速響應,會在全球范圍內以集群的方式部署多個dns服務節點并采用anycast和bgp的技術來優化網絡訪問,通常給用戶提供一個或多個anycastip作為服務地址。
4、當用戶使用公共dns服務,由于其并不一定與用戶處于相同地域相同網絡,因此會導致智能dns無法返回對用戶最優的結果,從而造成用戶訪問互聯網服務延遲高、體驗差等問題。為此google?dns提出了rfc7871,通過edns-client-subnet來解決此問題。由于此rfc7871提出較晚,目
技術實現思路
1、本申請提供一種基于撥測系統的公共dns查詢應答方法及服務器,在不改變公共dns已有部署架構、用戶與使用的公共dns服務節點處于不同網絡和智能dns不支持edns-client-subnet的情況下,仍然可以返回最優的解析結果,有效地保證用戶的使用體驗。
2、第一方面,一種基于撥測系統的公共dns查詢應答方法,應用于公共dns服務器,該方法包括:
3、接收到客戶端發來的目標域名dns查詢請求;
4、進行遞歸查詢,獲取所要查詢的目標域名的權威服務器地址;
5、判斷所述權威服務器是否支持ecs功能;
6、如果支持,則攜帶客戶端的ip地址進行權威查詢,獲取到與客戶端的ip地址匹配的dns解析結果,然后進行后續處理流程,最終返回dns查詢結果給客戶端;
7、如果不支持,則使用撥測系統進行dns查詢,獲得撥測系統返回的dns查詢結果,最終返回查詢結果給客戶端。
8、優選地,在接收到客戶端發來的目標域名dns查詢請求后,首先判斷所要查詢的目標域名是否在dns服務器緩存中是否存在;如果存在,直接返回緩存結果;如果dns服務器緩存中不存在所要查詢的目標域名,再進行所述遞歸查詢。
9、進一步地,所述使用撥測系統進行dns查詢,獲得撥測系統返回的dns查詢結果,具體包括:首先將dns查詢請求轉為符合撥測系統的api要求的格式,再根據客戶端的ip地址從對接的撥測系統中,篩選出處于相同地域相同網絡的監測節點,并由其進行dns查詢;再將撥測系統返回的dns查詢結果,轉換為標準的dns應答包,進行后續處理流程,最終返回查詢結果給客戶端。
10、第二方面,一種公共dns服務器,包括:
11、dns模塊,負責響應客戶端發來的目標域名dns查詢請求,進行遞歸查詢,獲取所要查詢的目標域名的權威服務器地址,最終返回dns查詢結果給客戶端;在過程中調用ecs識別模塊,并設置邏輯判斷,視情況調用撥測模塊;其中,如果所述權威服務器支持ecs功能,則攜帶客戶端的ip地址進行權威查詢,獲取到與客戶端的ip地址匹配的dns解析結果,然后進行后續處理流程,最終返回dns查詢結果給客戶端;如果不支持,則使用撥測系統進行dns查詢,獲得撥測系統返回的dns查詢結果,最終返回查詢結果給客戶端;
12、ecs識別模塊,負責判斷所述權威服務器是否支持ecs功能;
13、撥測模塊,負責對接不同的撥測系統,并將撥測系統的監測節點按照智能dns的方式依據地域、運營商進行歸類劃分,依據客戶端的ip地址匹配相應的監測節點來執行dns查詢;所述撥測模塊用于當所述權威服務器不支持ecs功能時,根據客戶端的ip地址從對接的撥測系統中,篩選出處于相同地域相同網絡的監測節點,并由其進行dns查詢,再將撥測系統返回的dns查詢結果,轉換為標準的dns應答包交與dns模塊進行后續處理流程。
14、優選地,所述dns模塊在接收到客戶端發來的目標域名dns查詢請求后,首先判斷所要查詢的目標域名是否在dns服務器緩存中是否存在;如果存在,直接返回緩存結果;如果dns服務器緩存中不存在所要查詢的目標域名,再進行所述遞歸查詢。
15、第三方面,一種計算機設備,包括存儲器、處理器及存儲在存儲器上的計算機程序,其特殊之處在于,所述處理器執行所述計算機程序以實現上述方法的步驟。
16、第四方面,一種計算機程序產品,包括計算機程序/指令,其特殊之處在于,該計算機程序/指令被處理器執行時實現上述方法的步驟。
17、相比現有技術,本申請至少具有以下有益效果:
18、本申請通過判斷查詢域名的權威dns是否支持ecs,不必將所有的請求都轉發到撥測系統;以及通過查詢客戶端的ip地址,當不支持ecs時,撥測模塊快速匹配到其相同地域相同網絡的監測節點(從對接的撥測系統中,篩選出處于相同地域相同網絡的監測節點,并僅由其進行dns查詢),避免了非必要監測節點的查詢,從而提升dns查詢效率。用戶通過不同地域不同網絡的公共dns,訪問支持智能dns進行調度的服務時,仍然能夠獲取到最優秀服務節點提供服務;公共dns在不改變現有部署架構、增加部署節點和目標權威dns不支持ecs的情況下,仍能為用戶提供準確的dns查詢結果。
本文檔來自技高網...【技術保護點】
1.一種基于撥測系統的公共DNS查詢應答方法,應用于公共DNS服務器,其特征在于,該方法包括:
2.根據權利要求1所述的基于撥測系統的公共DNS查詢應答方法,其特征在于,在接收到客戶端發來的目標域名DNS查詢請求后,首先判斷所要查詢的目標域名是否在DNS服務器緩存中是否存在;如果存在,直接返回緩存結果;如果DNS服務器緩存中不存在所要查詢的目標域名,再進行所述遞歸查詢。
3.根據權利要求1所述的基于撥測系統的公共DNS查詢應答方法,其特征在于,所述使用撥測系統進行DNS查詢,獲得撥測系統返回的DNS查詢結果,具體包括:首先將DNS查詢請求轉為符合撥測系統的API要求的格式,再根據客戶端的IP地址從對接的撥測系統中,篩選出處于相同地域相同網絡的監測節點,并由其進行DNS查詢;再將撥測系統返回的DNS查詢結果,轉換為標準的DNS應答包,進行后續處理流程,最終返回查詢結果給客戶端。
4.一種公共DNS服務器,其特征在于,包括:
5.根據權利要求4所述的公共DNS服務器,其特征在于,所述DNS模塊在接收到客戶端發來的目標域名DNS查詢請求后
6.一種計算機設備,包括存儲器、處理器及存儲在存儲器上的計算機程序,其特征在于,所述處理器執行所述計算機程序以實現權利要求1所述方法的步驟。
7.一種計算機程序產品,包括計算機程序/指令,其特征在于,該計算機程序/指令被處理器執行時實現權利要求1所述方法的步驟。
...【技術特征摘要】
1.一種基于撥測系統的公共dns查詢應答方法,應用于公共dns服務器,其特征在于,該方法包括:
2.根據權利要求1所述的基于撥測系統的公共dns查詢應答方法,其特征在于,在接收到客戶端發來的目標域名dns查詢請求后,首先判斷所要查詢的目標域名是否在dns服務器緩存中是否存在;如果存在,直接返回緩存結果;如果dns服務器緩存中不存在所要查詢的目標域名,再進行所述遞歸查詢。
3.根據權利要求1所述的基于撥測系統的公共dns查詢應答方法,其特征在于,所述使用撥測系統進行dns查詢,獲得撥測系統返回的dns查詢結果,具體包括:首先將dns查詢請求轉為符合撥測系統的api要求的格式,再根據客戶端的ip地址從對接的撥測系統中,篩選出處于相同地域相同網絡的監測節點,并由其進行dns查詢;再將撥測系統返...
【專利技術屬性】
技術研發人員:鄧毅,張紹峰,邢志杰,毛偉,
申請(專利權)人:互聯網域名系統北京市工程研究中心有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。