DNS解析过程与记录类型

概念

网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以在通讯过程中只能识别Ip地址,而不是域名。DNS的工作是把域名解析成Ip地址,从而我们可以访问到对应的网页。DNS是应用层协议。

解析过程

用户通过浏览器访问某域名时

  1. 浏览器缓存
    1. 浏览器首先在缓存中查找是否有该域名对应的ip地址
  2. 系统缓存
    1. 自动检查用户计算机系统Hosts文件DNS缓存是否有对应的ip地址
  3. 路由器缓存
    1. 路由器缓存中检查,以上三步均为客服端的DNS缓存
  4. ISP(互联网服务提供商)DNS缓存
    1. 比如用的电信的网络,则进入电信的DNS缓存服务器中查找
  5. 如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询
  6. 根域名服务器(不是转发模式)
    1. 全球仅有13台根域名服务器:1个主根域名服务器,另12台为辅根域名服务器。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com)服务器IP告诉本地DNS服务器
  7. 顶级域名服务器
    1. 顶级域名收到请求后会查看区域文件记录,若无则将其管辖范围内主域名(如.com)服务器IP告诉本地DNS服务器
  8. 主域名服务器
    1. 主域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确记录
  9. (转发模式)此DNS服务器会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把请求转给上上级,以此循环。(从客服端到本地DNS服务器是属于递归查询,DNS服务器之间的交互查询是迭代查询)
  10. 保存结果至缓存
    1. 结果返回给本地DNS服务器,本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端向该IP地址定位的HTTP服务器发起TCP连接

记录类型

1.A记录

又称IP指向,用来指定主机名(或域名)对应的IP地址记录,同时也可以设置域名的二级域名

2.CNAME记录

又称别名记录,允许将多个名字映射到另外一个域名。通常用于同时提供WWW和MAIL服务的计算机。

比如有一台计算机,‘host.blog.com’(A记录),同时提供WWW和MAIL服务,可以设置两个CNAME记录,别名的全称就 http://www.blog.com/和“mail.blog.com”。实际上他们都指向 “host.blog.com”。

A记录优先于CNAME记录。即如果一个主机地址同时存在A记录和CNAME记录,则CNAME记录不生效。

3.MX记录

邮件交换记录,用于将以该域名为结尾的电子邮件指向对应的邮件服务器以进行处理。

4.NS记录

解析服务器记录,用来表明由哪台服务器对该域名进行解析。

NS记录优先于A记录。即,如果一个主机地址同时存在NS记录和A记录,则A记录不生效。这里的NS记录只对子域名生效。

5.TTL

生存时间,即DNS记录在DNS服务器上的缓存时间。

6.TXT记录

为某个主机名或域名设置的说明

1
admin IN TXT "jack, mobile:13800138000";

7.AAAA记录

指向IPv6地址的记录。