3.2 方法可行性分析
互联网上DNSv6服务器的支持和用户侧操作系统的支持是本方法是否可行的关键。本文通过实验来分析本方法的可行性。
(1)DNS服务侧的可行性
本文使用2个域名数据集来测试校园网DNSv6服务器的解析能力,并与校园网DNSv4服务器的解析结果进行。数据集1是Alexa 1M域名数据集,数据集2是校园网一个DNS服务器的查询日志,分别从排名前200的域名中随机抽取100个进行域名解析,然后计算解析正确结果所占的百分比,结果如表2所示。可以看出,DNSv6服务器具有与DNSv4服务器相同的解析结果,说明目前使用DNSv6服务器进行域名解析是可行的。
表2 DNS解析结果比较
|
数据集1 |
数据集2 |
校园网DNSv4 |
100% |
99.8% |
校园网DNSv6 |
100% |
99.8% |
(2)DNS用户侧的可行性
用户侧的操作系统是否支持DNSv6的自动配置是本方法面临的主要问题,因此,需要对校园网内的终端操作系统类型进行调查。本文使用DHCP指纹识别的方法通过DHCP服务器对校园网一个校区的操作系统进行自动识别,实验结果如图2所示。可以看出,默认支持DNSv6设置的桌面操作系统(包括Win7、Win10和Mac等)合计占到85%以上,说明该方法对大部分用户终端可行。
图2 用户终端操作系统分布图
4、实验
本文在校园网中建立了一个虚拟实验子网环境,如图3所示,主要包括实验用DHCPv6服务器、DNSv6服务器以及Win10、Ubuntu16.04虚拟机等,DNSv6和DHCPv6服务器分别使用开源的Bind和Dhcpd来实现。为简单起见,同时为不影响现网的DHCP服务,未设置实验用DHCP服务器,DNSv4等信息使用手动配置,并且在交换机上做SLAAC、DHCPv6服务器等IPv6相关配置。实验步骤需要分为两步:首先在虚拟机上检查是否通过DHCPv6服务器获得了正确的DNSv6地址信息,并设置一个真实的DNSv4服务器,检查DNS域名解析是否正常;然后,将虚拟机上的DNSv4服务器修改为一个不可访问的地址,再检查DNS域名解析是否正常。在两种情况下,实现结果均为正常,说明即使在DNSv4服务器失效的情况下,虚拟机使用DNSv6服务器解析依然正常,提高了DNS服务的可靠性。
图3 实验子网示意图
文献[3]指出20%的网页内容访问中DNS解析所用的时间超过1秒,因此DNS解析时间对网络访问性能具有重要影响。本文对校园网DNSv4、DNSv6服务器和谷歌公共DNS服务器的解析时间进行了比较,从Alexa 1M域名数据集前100名中随机选择10个域名,考虑到DNS缓存的影响,在域名中增加一个随机字符串形成一个不存在的域名,并对该域名连续解析两次,第一次是无缓存的解析时间,第二次则是有缓存的解析时间,最后计算解析时间的平均值,结果如图3所示。可以看出在无缓存和有缓存两种情况下,校园网DNSv4和DNSv6服务器分别具有近似相等的平均解析时间,而公共DNSv4服务器的平均解析时间则高很多,特别是在有缓存的情况下更为显著。因此,通过为用户侧自动分配校园网DNSv6服务器,会比使用公共DNS服务器带来明显的性能提升。
图4 DNS解析时间比较
5、结束语
DNS是校园网的一项关键核心基础服务,本文分析了其在服务侧和用户侧存在的可靠性问题,进而提出了一种IPv4/IPv6双栈环境下的DNS可靠性增强方法,使用IPv6的自动配置特性,为用户终端无感知的增加DNSv6服务器配置,增加了DNS配置的冗余度,从而提高了DNS服务的可靠性。该方法可以充分利用当前校园网的IPv4/IPv6双栈环境,发挥IPv6协议的自动配置优势,可以根据需要增量部署,而且无需额外的硬件投资和复杂的系统配置,即可达到一定程度上提高DNS服务可靠性的目的。
参考文献
[1]胡宁, 邓文平, 姚苏. 互联网DNS安全研究现状与挑战[J]. 网络与信息安全学报, 2017, 3(3):13-21.
[2]宋国柱, 杨华, 车秀梅. 基于MySQL的高可靠性缓存DNS系统的设计与实现[J]. 太原科技大学学报, 2014(6):423-428.
[3]KyoungSoo P, Vivek P, Larry P and Zhe W. CoDNS: Improving DNS Performance and Reliability via Cooperative Lookups[C]. Proceedings of the Sixth Symposium on Operating Systems Design and Implementation(OSDI ‘04), 2004.
[4]韩殿飞, 袁睿翕, 管晓宏. 中国域名服务器配置错误的测量与分析[J]. 计算机工程, 2007, 33(2):105-107.
[5]王垚, 胡铭曾, 李斌,等. 域名系统安全研究综述[J]. 通信学报, 2007, 28(9):91-103.
[6]Bernhard A , Wolfgang M , Georgios S, Steve U. Comparing DNS Resolvers in the Wild[C]. Proceedings of the 10th Conference on Internet Measurement (IMC’10), 2010.
[7]Jeong J, Park IS, Beloeil L. Pv6 Router Advertisement Options for DNS Configuration[S]. RFC8106, 2017.
[8]Wikipedia. Comparison of IPv6 support in operating systems[EB/OL]. https://en.wikipedia.org/wiki/Comparison_of_IPv6_support_in_operating_systems, 2017.