dns的优化
计算机网络技术论文—— 域名系统的性能优化主编1: 郭鹏 (学号1107300311)副编2:刘江昆(学号1107300304)副编3:韦志敏(学号1107300312)开课学期: 第5学期指导
计算机网络技术论文
—— 域名系统的性能优化
主编1: 郭鹏 (学号1107300311)
副编2:刘江昆(学号1107300304)
副编3:韦志敏(学号1107300312)
开课学期: 第5学期
指导教师: 梁正友
,1|、序
1.1摘要
DNS是Internet 及Internet 上的一项基础服务,它为网络应用程序提供域名解析及服务(资源)定位服务。在理解DNS 工作原理基础上,优化DNS ,可以缩短DNS 查询响应时间,减少不必要的网络流量,同时对于各种分布式服务的部署都有一定的借鉴意义。
2、主要内容
,一、域名空间
在tcp/ip网络中,IP 地址唯一合法地标识每一台主机,然而IP 地址是纯数字的,不便于人们记忆,因此IEFT (Internet 工程任务组)在RFC1034,RFC1035中定义了DNS 服务,该服务允许Internet 用户通过域名(易于记忆的字符串)访问主机。在Internet 上所有主机域名的集合构成了域名空间。如图所示:

域根对域名空间拥有控制权,在它之下建立了九个通用顶级域和数百个国家顶级域。根域常用“. ”表示,然而可以省略。.example.com 域是.com 域的子域;同样.example.com 是.sam1.example.com 域的父域。www.example.com 及SMTP.sam2.example.com 是完整的域
,名,可以用来表明该主机提供何种服务、所属部门、公司、所属行业等。原则上对于的层数没有限制,不过每个标识符(像example 、sam1、com )长度不超过63个字节,完整的DNS 名称不超过255个字节。
要在父域下建立子域必须得到父域的授权。
二、DNS 体系结构及分布式部署
(一)DNS 采用客户机/服务器体系结构

Resolver :位于用户计算机上的域名解析器,又称DNS 客户机;
Name Server:名称服务器,为DNS 客户机提供域名解析服务。
Master Files :名称服务器上的文本文件,称为区域数据库,它以资源记录(RR )的形式存储了与域名相关的数据。重要的RR 有:
1、SOA RR:授权的开始资源记录。该RR 指明了区域的源名称,如.example.com ,并指明了作为区域信息主要来源的服务器的名称。还指明了区域的其它一些属性,比如资源记录缓存时间。它是创建区域时第一个记录。也是区域的最根本的一条记录。
2、NS RR :名称服务器资源记录。它定义了能够对该区域中的域名查询做出权威回答的名称服务器。
3、A RR:地址资源记录,定义了域名对应的IP 地址。
4、其它一些资源记录,如:CNAME RR、MX RR、PTR RR等。注意这些记录及A RR是
,应用型记录,即该记录中的数据直接用于回答DNS 客户机查询。而SOA RR、NS RR定义了区域的根本属性。
(二)域名空间的分布式部署
名称服务器以其所存储的区域数据库为DNS 客户机提供域名解析服务。很显然,Internet 上整个域名空间的余名数据库不可能以整体的形式存放在一台名称服务器上,而是分布地存放在隶属于不同组织、部门的名称服务器上。这样为名称空间的维护、更新和提供域名解析服务提供了现实的途径。例如:.com 域和.example.com 域是父子关系,但负责创建和维护.com 域的名称服务器(简称.com 名称服务器),只负责.sohu 、.example 、.sina 这些子域名称的注册服务,而不过问在.example 域下创建任何子域(例如(.sam1、.sam2、.sam3) 和主机名(www)的活动,即www 、.sam 这些主机和子域的资源记录并不保存在.com 名称服务器,而是保存在.example 名称服务器上,甚而.sam 子域的资源记录也独立地保存在.sam 名称服务器上。父域和子域的资源记录独立地保存在各自的服务器上,那么父子关系又如何体现呢?.example 域要注册到.com 域下,必须得到.com 域的授权。授权以粘合记录的形式保存在.com 域名服务器上,粘合记录格式如下:
.example.com NS dns.example.com;(注:这是.example 名称服务器的域名)
dns.example.com A 192.168.0.10;( 注:.example 名称服务器IP 地址)
可以想象,.com 域也需得到域根的授权,这也是以粘合记录的形式保存在域根服务器上的。正是由于粘合记录的存在,从原则上说,只要知道域根服务器的IP 地址,从查询域根服务器开始,可以查询到任何域名的权威名称服务器,从而得到该域名的权威回答。这就是域名空间的分布式部署。
三、优化DNS
通过优化DNS 部署,可以缩短DNS 查询响应时间,减少不必要的网络流量。可以从以下几
,方面优化DNS 部署:
(一)使用辅助区域
Internet域名空间是一个分层次的逻辑结构,父域和子域之间是包含与被包含关系,然而,父域和子域下的资源记录,在物理上可以有两种形式存在:
1、共存于一台名称服务器上,这样所有记录位于一区域中;
2、父域和子域下的资源记录分别存在于两台或以上的名称服务器上,每一台名称服务器上的资源记录物理上是一个独立部分,各形成一个区域。
所谓使用辅助区域,就是在额外设立的DNS 服务器上建立区域的副本。这样,在一个大型网络中,将若干台名称服务器分布在不同的地区网络中,使得用户可以就地访问,从而加快了查询速度,减少了网间流量,提高了可用性和容错。
要建立辅助区域,必须实施区域复制,有两种方式:
a、完全区域复制
主DNS 服务器 SOA资源记录中知名的服务器 将区域数据的完整副本发送到辅助DNS 服务器。在初次建立辅助区域时必须使用该方式。
b、增量区域复制
主DNS 服务器仅将区域数据的变动部分发送到辅助DNS 服务器,这件受啊了网间数据流量,对网络性能影响最小。
区域复制的时机可这样确定:(1)主DNS 服务器在区域数据被修改后像辅助DNS 发出更改通知;或(2)辅助DNS 定期查询主DNS 是否有数据被修改。
(二)使用缓存专用服务器
根据域名归属地不同.DNS 服务分为本地域服务与Cache 服务,这两种服务的工作原理差异较大,由同一台DNS 服务器混合提供服务时难以精确定制服务策略和提高服务质量。在
,DNS 优化中,将本地域服务与Cache 服务相分离,并分别为两套DNS 系统设计准确的服务和安全策略。
缓存专用服务器是仅执行查询、缓存应答和返回结果的DNS 服务器。它并不创建和维护任何域,它所包含的资源记录限于解析查询时已缓存的内容。在慢速的广域链路中,在靠近用户侧,安装一台缓存专用DNS 服务器可能会很理想。这是因为一旦建立了缓存,广域链路通信量便会减少。另外,缓存专用服务器不执行区域传输,这种传输可能导致广域网环境中的网络通信量增大。
要注意当该服务器吃次启动时,它并没有缓存任何信息。
(三)使用转发器
转发器也是标准的DNS 服务器,它为地区网络中一组DNS 服务器接收到的,但不能根据器本地区域应答的任何查询提供递归的搜索。

地区网络
在此图中,DNS4是转发器,DNS1,DNS2,DNS3 配置为启用转发器支持。配置使用转发器的DNS 服务器DNS1,2,3 ,本质上作为器转发器的DNS 客户机。
,加入地区网络至Internet 的链接是慢速的,DNS1、DNS2、DNS3接受不同用户的请求(该请求是对同一名称的查询),南无都将该查询转发到了该转发器,而转发器只需进行一次远程查询,就可以应答三台DNS 服务器的三次查询,从而减少了通过慢速链接的通信量。
(四)负载均衡
为了扩展DNS 服务器能力,按原来方法需要增加四层交换机,如图1所示,通过四层交换机,将用户的DNS 请求包分发到多台DNS 上,实现负载分担。根据DNS 工作特点,可以提出一种设想:利用路由设备负载均衡能力来实现DNS 负载分担。以图为例,具体连接情况如图2所示。DNSl 更改IP 地址,仅做权威DNS 服务器,只完成DNS 的名字服务器功能,不提供递归查询功能。DNS2、DNS3和DNS4配成Cache only DNS,只为用户做递归查询,即实现DNS 的解析器功能。将原DNSl 的p 地址当作虚拟地址配置到这3台DNS 服务器上,并在路由设备上配置静态路由,将DNS 虚IP 地址分别指到3台DNS 上。这样。当用户使用原DNSl 口地址做域名解析时.会被路由设备均匀地分配到3台DNS 上,而用户并不知道具体是哪一台DNS 为他提供域名解析服务。该方案可行.将其他DNS 逐台修改IP 地址和配置,改造完后,被广大用户熟知的DNS IP地址均有多台服务器支撑。系统稳定性和处理能力将大大提高,同时可以随时根据用户的发展情况.方便地对系统进行扩容,提高了升级和扩展能力。

图1 原来负载均衡方案

图2 DNS优化
(五) 分布部署
本次DNS 优化采纳国际上先进的IPv4 aIlvcast新概念,在网络中分布部署DNS 服务器,使用户熟知的DNS IP地址不仅限于一台或一组DNS 服务器,而是在网络中分布署容量几乎无穷的DNS 服务器。根据用户解析量分布情况,方便地将DNS 服务器增加到任何一台路由器上,实现DNS 服务的本地化。
(六)启用PC 服务器
DNS负载均衡的实现.降低了对DNS 服务器的硬件要求,改变了必须使用价格昂贵的服务器来做DNS 服务器的现状,可以使用价格低廉且性能较好的PC 机来做DNS 服务器。
(七) 异地备份、容灾
由于DNS 服务器是在网络中分布部署的。利用IPv4 anycast概念,可以将DNS IP地址部
,署到任一组DNS 服务器上,可以方便地实现DNS 服务的异地备份和容灾。
四、近况
随着InterNet 在全球的发展,特别是国内互联网的快速发展和普及、用户规模、在线时长以及应用复杂性不断发展和演化,互联网已经成为广大网民生活的一部分,域名解析作为互联网基础的后台支撑服务扮演了更加复杂和更加重要的角色。 用户的发展、应用服务的复杂多样使得运营商需要全面考虑其域名系统的整体安全,而现在运营商域名系统所面临的主要安全问题有:网络结构设计、系统平台复杂、大规模的DOS&DDOS攻击、缓存中毒、域名解析软件维护、类似暴风的客户端安全缺陷、客户域名设置缺陷引发的故障投诉等。下面就从拓扑安全、系统平台安全、解析软件安全、安全维护手段几个方面做个介绍。
一)、合理安全的网络拓扑结构是保证域名系统整体安全和高可用性的基础
运营商DNS 系统经历了单机、双机、采用四层交换技术的负载均衡集群,到现在基于anycast 负载均衡集群与分布式混合的架构,是从实际应用出发不断探索发展的结果。 在互联网初步发展时,基于单、双机DNS 系统见证了国内互联网发展的起步;随着网络用户的发展,特别是ADSL 等高速接入技术和各种基于网络的业务应用快速发展,域名解析服务作为用户上网应用的第一步,经受了越来越大的服务压力,采用四层交换技术构架集群的DNS 系统成为各大运营商最初解决方案; 最近几年互联网以更快地速度发展,各类应用如雨后春笋般涌现,网民规模和在线应用的复杂性,以及域名服务本身的安全构架和服务特点,使得许多地方的四层交换技术出现了性能瓶颈;尤其是在遭到病毒冲击和恶意攻击时,首先导致四层交换机堵塞,正常用户的请求无法通过四层交换机建立新的session 到达后面的DNS 服务器,以致DNS 服务中断产生域名服务故障; 如何应对大规模用户产生的高达10万QPS ,甚至更高的并发查询量;如何应对因为病毒爆发、客户端插件缺陷、恶意的DOS&DDOS攻击等并发超过百万级的攻击数据量;如何构建开放、高效的DNS 系统,可按需灵活扩展支持百万,甚