DNS解析流程

一、DNS名词解释

DNS,全称Domain Name System,中文名为域名系统,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP数串。

以淘宝为例,www.taobao.com就是域名,但计算机并不能直接根据域名找到淘宝,必须转化成101.89.125.239(IPV4)或240e:e1:f300:1:3::3f9(IPV6)这样的IP地址才能准确读取,而且这边的ip地址可能会随着时间、网络、机器的变化而变化。

二、DNS解析过程

DNS解析流程_第1张图片

1、 本地解析

用户在本机浏览器输入www.taobao.com后,计算机会先在本地进行解析(图中为①),这里会分成三小步:

  • 1)、先到浏览器的DNS缓存中查询是否有对应记录,如有则直接返回ip地址,完成解析,如果没有则下一步;

  • 2)、接着会进行一个判断:软件是否或浏览器是否进行域名直接查询。如果有的话,会直接连到软件服务商提供的DNS服务器上,并返回IP;如果没有,则继续查询操作系统的缓存:如有则直接返回ip地址,完成解析,如果没有则下一步;

  • 3)、最后查看本地host文件,比如windows的host文件一般位于“C:\Windows\System32\drivers\etc”,如果这里也没有的话就需要到本地dns服务器上查找了。

2、 本地dns服务器(简称LDNS)

包括两部分:缓存服务器和递归服务器。

  • 1)、缓存服务器有2种,一种是公共DNS服务器,比如114 DNS(114.114.114.114)、Google DNS(8.8.8.8);另一种是本地运营商提供的DNS服务器,比如我们上海电信的DNS服务器包括202.96.209.5、202.96.209.133、116.228.111.118和180.168.255.118。普通用户使用的都是运营商的本地域名服务器,这些服务器一般架设在离用户不远的地方,而且性能都很好,所以一般都会缓存域名解析结果,大约80%的域名解析都会在这一步完成(图中为②)。

  • 2)、如果缓存服务器无法找到对应IP,则会把信息传递给递归服务器。

3、 根域名服务器

当信息传递给递归服务器后,会根据内置的根域名服务器ip地址,寻求根域名服务器的帮助:

  • 1)、dns域名服务器一般分3种,分别是根域名服务器(.)、顶级域名服务器(.com)、权威域名服务器。

  • 2)、全球一共有13组根域名服务器(注:这里并不是指13台服务器,是指13个ip地址,按字母a-m编号),根域名服务器不会直接解析域名,二十把不同的解析请求分配给下面的其它服务器来完成。

  • 3)、以www.taobao.com为例,当根域名接收到本地dns的解析请求后,获知后缀是.com,于是就把负责.com的顶级域名服务器ip地址返回给本地dns(图中为③和④)。

  • 4)、本地dns获得返回的ip地址,再去找对应的顶级域名服务器,顶级域名又把负责该域名的权威服务器ip返回给本地dns(图中为⑤和⑥)。

  • 5)、最后,本地dns根据ip找到对应的权威服务器,权威服务器把对应的主机ip返回给本地dns,至此完成了域名解析的全过程(图中为⑦和⑧)。

三、DNS资源记录类型

记录名 中文名 作用
A、AAAA 主机记录 说明一个域名对应的IP是多少,它是域名和IP地址的对应关系。Ipv4使用的是A记录,ipv6使用的是AAAA记录
NS 名称服务器记录 说明这个区域有哪些DNS服务器负责解析
SOA 起始授权记录 说明负责解析的DNS服务器中哪一个是主服务器
MX 邮件交换记录 主要用于邮件服务器DNS交互,帮助电子邮件正确到达邮件服务器
Cname 别名记录 用于为当前区域之外的资源提供别名
SRV 服务器资源记录 说明一个服务器能够提供什么样的服务
PTR 指针记录 是A记录的逆向记录,作用是把IP地址解析为域名

你可能感兴趣的:(前端面试题,2023前端学习笔记,前端)