DNS域名解析
1、DNS域名解析的过程
以查询“www.dyzx.edu”为例介绍域名解析的过程如下:
(1)当在客户端的浏览器地址栏输入“www.dyzx.edu”域名后,客户端自动产生一个查询并将查询传给本机的缓存进行解析,若查询信息可以被解析则完成查询。客户端DNS缓存来源于本机的hosts文件,在客户端启动时,hosts文件中的名称与IP地址映射信息将被加载到缓存中。
(2)如果在客户端的缓存内无法获得查询结果,客户端会将查询请求发送给自己所指向的本地DNS服务器(你必须预先配置DNS客户端所使用的DNS服务器)。本地DNS服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地DNS服务器就直接把查询的结果返回给客户端。如果本地的缓存没有,就在本地DNS服务器管理的区域的记录中查找,如果找到相应的记录则查询过程结束。
(3)如果在本地DNS服务器中仍无法查找到答案,则根据本地DNS服务器中是否设置了转发地址,其解析过程有以下两种不同的查询轨迹:
未设转发地址:本地DNS服务器将查询请求发至根域名DNS,根域名DNS收到请求后会判断这个“.edu”域名是由谁来授权管理,并将“.edu”域名DNS的IP地址返回给本地DNS服务器,本地DNS服务器将联系“.edu”域名DNS。“.edu”域名DNS收到请求后,如果自己无法解析,它会将“dyzx.edu”域名DNS的地址返回给本地DNS服务器。当本地DNS服务器收到该地址后,就会找“dyzx.edu”域名DNS继续查询,直至找到存有“www.dyzx.edu”的DNS,并由该DNS将“www.dyzx.edu”的IP地址返回给本地DNS服务器,如下图所示:
已设转发地址:本地DNS服务器将查询请求转发至上一级DNS服务器,由上一级DNS服务器进行解析,当上一级DNS服务器不能解析时,或找根域名DNS或把请求转至再上一级的DNS,以此循环,直至最后将结果返回给本地DNS服务器。
(4)本地DNS服务器将“www.dyzx.edu”的IP地址发送给客户端。
(5)客户端在数据包中封装目标主机的IP地址,从而实现与域名为“www.dyzx.edu”的目标主机进行通信。
2、DNS的查询模式与解析类型
递归查询:DNS服务器接收到查询请求时,要么做出查询成功的响应,要么做出查询失败的响应。在图10-2中,步骤(2)中客户端与本地DNS服务器之间的查询关系就属于递归查询。
迭代查询:DNS服务器接收到查询请求后,若该服务器中不包含所需查询记录,它会告诉请求者另一台DNS服务器的IP地址,使请求者转向另一台DNS服务器继续查询,以此类推,直到查到所需记录为止,否则由最后一台DNS服务器通知请求者查询失败。在图10-2中,步骤(3)至(5)中本地DNS服务器与其他DNS服务器之间的查询则属于迭代查询(反复查询)。
按照查询内容的不同,DNS服务器支持两种查询类型:
正向查询(正向解析):由域名查找IP地址。
反向查询(反向解析):由IP地址查找域名。一般不常用,只用于一些特殊场合,如:反垃圾邮件的验证。
3、DNS服务器的类型与hosts文件
授权服务器
授权DNS服务器是指对于某个或者多个区域具有授权的服务器,授权服务器保存着其所拥有授权的区域内的原始域名资源记录信息。
- 主授权服务器:是被配置成区域内数据发布源的授权服务器。通常主授权服务器不对外提供服务,只用于保存授权服务数据以及实现与辅授权服务器数据的主辅更新。
- 辅授权服务器:是通过传送协议从主授权服务器中获取(复制)区域数据的授权服务器。一个区域内可以没有辅授权DNS,也可以有多台辅授权DNS。
缓存域名服务器
主要功能是提供域名解析的缓存
转发DNS服务器
凡是可以向其他DNS服务器转发解析请求的DNS服务器都称为转发DNS服务器。
hosts文件
hosts文件是Linux或Windows系统中负责IP地址与域名快速解析的一个文件。
4、DNS资源记录及其种类
资源记录是DNS区域中用于指定某个特定名称或对象的信息条目。一个资源记录包含5个字段,并按以下格式组织:
Owner-name TTL class type data
www.dyzx.edu 500 IN A 192.168.1.3
字段名称 | .内容 |
Owner-name | 资源记录的名称,被解析对象的名称 |
TTL | 资源记录的生存时间(秒),即在DNS服务器中缓存该资源记录的时间长度 |
class | 资源记录所属的类,如“IN”表示标准DNS 的Internet类 |
type | 资源记录的类型,如SOA记录、NS记录、A记录、AAAA记录等 |
data | 资源记录存储的数据, 不同的资源记录类型有不同的存储数据 |
①SOA记录——起始授权(Start Of Authority)记录,每个区域都有一条SOA记录,用于指定本区域内负责解析的DNS服务器中哪个是主授权服务器,以及管理区域的负责人的邮箱地址和主、辅授权DNS服务器之间实现数据同步的控制参数。
主、辅授权服务器进行数据同步的控制参数
参数 | 作用 |
主授权主机名(Mname) | 名称服务器的主机名,该名称服务器是区域内资源记录信息的原始来源 |
邮箱地址(Rname) | 负责本区域内管理者的电子邮箱地址,该地址中的“@”改为“.”表示 |
序列号(Serial namber) | 每次修改区域记录时,都会增加序列号的值,它是辅授权DNS服务器更新数据的依据 |
刷新时间(refresh) | 辅授权DNS服务器根据此时间间隔周期性地检查主授权DNS服务器的序列号是否改变,若有改变则更新自己的区域记录(以秒为单位) |
重试延时(Retry) | 当辅授权DNS服务器因与主授权DNS无法连通而导致更新区域记录信息失败后,要等待多长时间会再次请求刷新区域记录(以秒为单位) |
失效时间(Expire) | 若辅授权DNS服务器超过该时间仍无法与主授权DNS连通,则不再尝试,且辅授权DNS服务器不再响应客户端要求域名解析的请求(以秒为单位) |
无效缓存时间(Minimum) | 无效解析记录(查找名称且名称不存在的资源记录)在缓存中持续的时间(以秒为单位) |
②NS记录——域名服务器(Name Server)记录,用于将域名映射到区域内的授权DNS服务器。区域内每个公开的主/辅授权DNS服务器都有一条NS记录。
③A记录——也称正向解析记录,用于说明一个域名对应的IPv4地址是什么。
④AAAA记录——一个新域名,用于说明一个域名对应的IPv6地址,即将域名映射到IPv6地址。
⑤CNAME记录——别名(Canonical Name)记录,用于给主机设置另外该记录是新域名到原域名的映射。此前的原域名应设置过相应的A记录或AAAA记录。
⑥PTR记录——也称指针记录或反向解析记录,用于将IP地址逆向映射到域名。
⑦MX记录——邮件交换(Mail Exchange)记录,用于将属于该区域的邮件域(即邮箱地址@后面的字符串)映射到邮件服务器的域名。
⑧SRV记录——用于查找支持“Windows域”服务的特定主机。