标题 | 一种基于共享缓存的三层递归域名系统的设计与实现 |
范文 | 徐东 赵琦 冷峰 摘 要: 递归域名系统是域名体系的重要组成部分,直接面向用户提供域名查询服务。递归域名系统的查询时效直接关系互联网网络应用的访问时延和用户的上网体验。为提高递归域名系统的查询时间效率,缩短域名查询时延,提出一种基于共享缓存的三层递归域名系统,在理论研究基础上,搭建了系统模型,并使用业务系统查询日志进行了性能测试。该三层递归域名系统的提出,为未来互联网企业搭建高效的递归域名系统提供技术参考。 关键词: 共享缓存; 递归域名系统; 域名查询; 查询时效; 访问时延; 系统模型 中图分类号: 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 model0 引 言 域名系统是互联网重要的基础设施,提供域名和IP地址的转换翻译服务。域名体系由权威域名系统和递归域名系统两个层次构成。其中,递归域名系统直接面向终端用户提供域名查询服务。出于提升域名解析性能的考虑,递归域名系统通常均采用“转发”和“缓存”相分离的两层部署架构,即由一组直接面向用户提供查询服务的缓存服务器和一组用于进行递归迭代查询的转发服务器构成。然而,在实际域名解析过程中,位于前端的缓存服务器采用“分别查询、各自响应”的工作机制,缓存服务器之间缺乏缓存记录共享,导致在一定程度上整体的域名缓存命中率较低,域名查询时延较大。对此,为提高递归域名系统的查询效率,缩短域名查询时延,本文研究提出了一种基于共享缓存的三层递归域名系统。1 系统设计 1.1 系统架构 相比传统的二层递归域名系统,基于共享缓存的三层递归域名系统包括一级缓存服务器、二级共享缓存服务器以及转发服务器,增加了二级共享缓存服务器,如图1所示。实际查询过程中,一级缓存服务器接收用户查询请求后,如果域名缓存未命中,则其转发给后端的二级共享缓存服务器。如二级共享缓存服务器未命中,则进一步请查询请求发送给后端的转发服务器。为了提高域名查询命中率,二级共享缓存服务器通过一致性缓存共享机制汇集前端所有一级缓存服务器的缓存记录,建立一个相对较大的域名资源记录缓存区。三层递归域名系统架构如图1所示。 1.2 主要功能模块 二级共享缓存服务器在实现上需三个功能模块:数据采集模块、同步控制模块和验证加载模块,如图2所示。 1) 数据采集模块。该模块部署在一级缓存服务器上,负责一级缓存服务器缓存区资源记录的导出以及本地服务器缓存资源记录文件的维护管理工作。数据采集模块负责定期(如每30 min执行1次)发送请求,将本地服务器DNS解析进程的内存缓存记录导出并写入本地硬盘,最后对导出的缓存区资源记录进行预处理,将TTL(Time to Live)马上到期的资源记录删除。 2) 同步控制模块。该模块部署在一级缓存服务器和二级共享缓存服务器上,用于同步一级和二级共享缓存服务器之间的数据。该模块包括客户端进程和服务器端进程两部分,客户端进程负责与服务器端进行通信交互。在每次数据同步前,双方进行通信确认是否执行数据同步。如果同步控制模块的服务器端进程允许数据同步传输,则客户端进程会与服务器端进程建立TCP连接,并传输数据。服务器端进程在接收完数据后,会进行正确性校验。 3) 数据加载模块。该模块部署在二级共享缓存服务器上,负责验证资源记录格式的正确性,以及合并资源记录并加载至服务器内存。2 性能测试 为验证三层递归域名系统的性能优势,将通过对传统的两层递归服务模型和三层递归服务模型进行了测试。测试通过模拟用户端向不同架构的递归域名系统发送域名查询请求,分别记录域名解析响应时间并最终进行对比评估。 2.1 测试用例 实验测试使用的样本取自实际生产系统,包括來自中国互联网络信息中心公共递归服务平台(对外服务地址为1.2.4.8)的12万条域名查询记录,以及来自国家“.CN”顶级域名服务平台的10万条域名查询记录,资源记录类型包括A,AAAA,TXT,NS,PTR,MX等。 2.2 测试结果 2.2.1 第一组数据的测试对比结果 本轮测试采用12万条的公共递归服务平台查询日志为测试样本。测试结果显示,二层递归服务模型和三层递归服务模型的平均域名解析响应时间分别为406.94 ms和294.52 ms,如图3所示。 进一步对两种递归服务模型的域名查询时间进行叠加对比如图4所示。可以看出,三层递归服务模型在采用了二级共享缓存服务器后,域名的平均查询时延缩短27.63%,域名解析时间有了较大提升。 2.2.2 第一组数据的测试对比结果 本轮测试采用10万条的国家CN顶级域名服务平台查询记录为测试样本。测试结果显示,二层递归服务模型和三层递归服务模型的平均域名解析响应时间分别为294.53 ms和199.92 ms,如图5所示。 进一步地对两种递归服务模型的域名查询时间进行叠加对比,如图6所示。可以看出,三层递归服务模型比二层递归服务模型的域名平均查询时延缩短47.23%。 从上述两组测试数据可以看出,相较传统的二层递归服务模型,三层递归服务模型在采用了二级共享缓存服务器后,整体的域名查询时延有了较大程度的改善。3 结 语 为提高递归域名系统的查询时间效率,缩短域名查询时延,本文研究提出了一种基于共享缓存的三层递归域名系统,搭建了原型系统并进行了性能测试。测试结果表明,采用共享缓存机制可以有效改善域名系统的查询效率。该系统模型的实现为未来互联网企业和基础电信企业规划设计快速、高效的递归域名系统提供了技术参考。 参考文献 [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的应用服务器负载均衡策略的研究和实现[D].南京:东南大学, 2005. PING Li. Research and implementation of DNS?based application server load balancing strategy [D]. Nanjing: Southeast University, 2005. [5] 王胜明,罗广孝,孙淑琪,等.域名系统的性能优化方案[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].哈尔滨:哈尔滨工业大学,2012. HU Peng. Research on the evaluation model of the service quality of DNS [D]. Harbin: Harbin Institute of Technology, 2012. [8] 李静梅,吴鹏.智能DNS系统的设计与实现[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] 中国通信标准化协会.域名系统授权体系技术要求: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] 中国通信标准化协会.域名系统递归服务器运行技术要求: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. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。