徐東 趙琦 冷峰
摘 要: 遞歸域名系統(tǒng)是域名體系的重要組成部分,直接面向用戶提供域名查詢服務。遞歸域名系統(tǒng)的查詢時效直接關系互聯(lián)網網絡應用的訪問時延和用戶的上網體驗。為提高遞歸域名系統(tǒng)的查詢時間效率,縮短域名查詢時延,提出一種基于共享緩存的三層遞歸域名系統(tǒng),在理論研究基礎上,搭建了系統(tǒng)模型,并使用業(yè)務系統(tǒng)查詢日志進行了性能測試。該三層遞歸域名系統(tǒng)的提出,為未來互聯(lián)網企業(yè)搭建高效的遞歸域名系統(tǒng)提供技術參考。
關鍵詞: 共享緩存; 遞歸域名系統(tǒng); 域名查詢; 查詢時效; 訪問時延; 系統(tǒng)模型
中圖分類號: TN711?34 文獻標識碼: A 文章編號: 1004?373X(2018)22?0042?03
Abstract: The recursive domain name system (DNS) is one important part of the DNS, directly providing domain name query service for users. The query time efficiency of the recursive DNS has a direct relationship with the access delay of Internet network applications and users′ experiences of suffering Internet. Therefore, a three?tier recursive DNS based on the shared cache is studied and proposed, so as to improve the query time efficiency of the DNS, and reduce the time delay of domain name query. On the basis of theoretical research, a system model was established, and a performance test was carried out by using the query logs of the service system. The results show that the proposed three?tier recursive DNS can provide technical references for future Internet companies to build high?efficient recursive DNSs.
Keywords: shared cache; recursive DNS; domain name query; query time efficiency; access delay; system model
域名系統(tǒng)是互聯(lián)網重要的基礎設施,提供域名和IP地址的轉換翻譯服務。域名體系由權威域名系統(tǒng)和遞歸域名系統(tǒng)兩個層次構成。其中,遞歸域名系統(tǒng)直接面向終端用戶提供域名查詢服務。出于提升域名解析性能的考慮,遞歸域名系統(tǒng)通常均采用“轉發(fā)”和“緩存”相分離的兩層部署架構,即由一組直接面向用戶提供查詢服務的緩存服務器和一組用于進行遞歸迭代查詢的轉發(fā)服務器構成。然而,在實際域名解析過程中,位于前端的緩存服務器采用“分別查詢、各自響應”的工作機制,緩存服務器之間缺乏緩存記錄共享,導致在一定程度上整體的域名緩存命中率較低,域名查詢時延較大。對此,為提高遞歸域名系統(tǒng)的查詢效率,縮短域名查詢時延,本文研究提出了一種基于共享緩存的三層遞歸域名系統(tǒng)。
1.1 系統(tǒng)架構
相比傳統(tǒng)的二層遞歸域名系統(tǒng),基于共享緩存的三層遞歸域名系統(tǒng)包括一級緩存服務器、二級共享緩存服務器以及轉發(fā)服務器,增加了二級共享緩存服務器,如圖1所示。實際查詢過程中,一級緩存服務器接收用戶查詢請求后,如果域名緩存未命中,則其轉發(fā)給后端的二級共享緩存服務器。如二級共享緩存服務器未命中,則進一步請查詢請求發(fā)送給后端的轉發(fā)服務器。為了提高域名查詢命中率,二級共享緩存服務器通過一致性緩存共享機制匯集前端所有一級緩存服務器的緩存記錄,建立一個相對較大的域名資源記錄緩存區(qū)。三層遞歸域名系統(tǒng)架構如圖1所示。
1.2 主要功能模塊
二級共享緩存服務器在實現(xiàn)上需三個功能模塊:數(shù)據采集模塊、同步控制模塊和驗證加載模塊,如圖2所示。
1) 數(shù)據采集模塊。該模塊部署在一級緩存服務器上,負責一級緩存服務器緩存區(qū)資源記錄的導出以及本地服務器緩存資源記錄文件的維護管理工作。數(shù)據采集模塊負責定期(如每30 min執(zhí)行1次)發(fā)送請求,將本地服務器DNS解析進程的內存緩存記錄導出并寫入本地硬盤,最后對導出的緩存區(qū)資源記錄進行預處理,將TTL(Time to Live)馬上到期的資源記錄刪除。
2) 同步控制模塊。該模塊部署在一級緩存服務器和二級共享緩存服務器上,用于同步一級和二級共享緩存服務器之間的數(shù)據。該模塊包括客戶端進程和服務器端進程兩部分,客戶端進程負責與服務器端進行通信交互。在每次數(shù)據同步前,雙方進行通信確認是否執(zhí)行數(shù)據同步。如果同步控制模塊的服務器端進程允許數(shù)據同步傳輸,則客戶端進程會與服務器端進程建立TCP連接,并傳輸數(shù)據。服務器端進程在接收完數(shù)據后,會進行正確性校驗。
3) 數(shù)據加載模塊。該模塊部署在二級共享緩存服務器上,負責驗證資源記錄格式的正確性,以及合并資源記錄并加載至服務器內存。
為驗證三層遞歸域名系統(tǒng)的性能優(yōu)勢,將通過對傳統(tǒng)的兩層遞歸服務模型和三層遞歸服務模型進行了測試。測試通過模擬用戶端向不同架構的遞歸域名系統(tǒng)發(fā)送域名查詢請求,分別記錄域名解析響應時間并最終進行對比評估。
2.1 測試用例
實驗測試使用的樣本取自實際生產系統(tǒng),包括來自中國互聯(lián)網絡信息中心公共遞歸服務平臺(對外服務地址為1.2.4.8)的12萬條域名查詢記錄,以及來自國家“.CN”頂級域名服務平臺的10萬條域名查詢記錄,資源記錄類型包括A,AAAA,TXT,NS,PTR,MX等。
2.2 測試結果
2.2.1 第一組數(shù)據的測試對比結果
本輪測試采用12萬條的公共遞歸服務平臺查詢日志為測試樣本。測試結果顯示,二層遞歸服務模型和三層遞歸服務模型的平均域名解析響應時間分別為406.94 ms和294.52 ms,如圖3所示。
進一步對兩種遞歸服務模型的域名查詢時間進行疊加對比如圖4所示。可以看出,三層遞歸服務模型在采用了二級共享緩存服務器后,域名的平均查詢時延縮短27.63%,域名解析時間有了較大提升。
2.2.2 第一組數(shù)據的測試對比結果
本輪測試采用10萬條的國家CN頂級域名服務平臺查詢記錄為測試樣本。測試結果顯示,二層遞歸服務模型和三層遞歸服務模型的平均域名解析響應時間分別為294.53 ms和199.92 ms,如圖5所示。
進一步地對兩種遞歸服務模型的域名查詢時間進行疊加對比,如圖6所示。可以看出,三層遞歸服務模型比二層遞歸服務模型的域名平均查詢時延縮短47.23%。
從上述兩組測試數(shù)據可以看出,相較傳統(tǒng)的二層遞歸服務模型,三層遞歸服務模型在采用了二級共享緩存服務器后,整體的域名查詢時延有了較大程度的改善。
為提高遞歸域名系統(tǒng)的查詢時間效率,縮短域名查詢時延,本文研究提出了一種基于共享緩存的三層遞歸域名系統(tǒng),搭建了原型系統(tǒng)并進行了性能測試。測試結果表明,采用共享緩存機制可以有效改善域名系統(tǒng)的查詢效率。該系統(tǒng)模型的實現(xiàn)為未來互聯(lián)網企業(yè)和基礎電信企業(yè)規(guī)劃設計快速、高效的遞歸域名系統(tǒng)提供了技術參考。
參考文獻
[1] LOTTOR M. Domain administrators operations guide [EB/OL]. [1987?11?01]. http://www.faqs.org/rfcs/rfc1033.html.
[2] MOCKAPETRIS P. Domain names?concepts and facilities [EB/OL]. [1987?11?12]. http://www.knowsky.com/378831.html.
[3] MOCKAPETRIS P. Domain names?implementation and specification [EB/OL]. [1987?11?23]. https://www.rfc?editor.org/info/rfc1035.
[4] 平立.基于DNS的應用服務器負載均衡策略的研究和實現(xiàn)[D].南京:東南大學, 2005.
PING Li. Research and implementation of DNS?based application server load balancing strategy [D]. Nanjing: Southeast University, 2005.
[5] 王勝明,羅廣孝,孫淑琪,等.域名系統(tǒng)的性能優(yōu)化方案[J].航空計算技術,2002,32(1):34?36.
WANG Shengming, LUO Guangxiao, SUN Shuqi, et al. Optimization scheme of domain name system performance [J]. Aeronautical computing technique, 2002, 32(1): 34?36.
[6] LIU C, ALBITZ P. DNS and BIND [M]. 4th ed. Sebastopol: O′Reilly, 2001.
[7] 胡鵬.DNS模型服務質量評價模型[D].哈爾濱:哈爾濱工業(yè)大學,2012.
HU Peng. Research on the evaluation model of the service quality of DNS [D]. Harbin: Harbin Institute of Technology, 2012.
[8] 李靜梅,吳鵬.智能DNS系統(tǒng)的設計與實現(xiàn)[J].計算機工程與應用,2007,43(11):157?160.
LI Jingmei, WU Peng. Design and implementation of smart DNS [J]. Computer engineering and applications, 2007, 43(11): 157?160.
[9] 王紅宇.Linux DNS服務器的配置[J].計算機應用研究,1999(6):109?110.
WANG Hongyu. Configuration of Linux DNS server [J]. Application research of computers, 1999(6): 109?110.
[10] 中國通信標準化協(xié)會.域名系統(tǒng)授權體系技術要求:YD/T 2136—2010[S].北京:中國標準出版社,2010.
China Communications Standards Association. Technical specifications of DNS delegation: YD/T 2136—2010 [S]. Beijing: Standards Press of China, 2010.
[11] 中國通信標準化協(xié)會.域名系統(tǒng)遞歸服務器運行技術要求:YD/T 2137—2010[S].北京:中國標準出版社,2010.
China Communications Standards Association. DNS recursive server operation technical requirement: YD/T 2137—2010 [S]. Beijing: Standards Press of China, 2010.