2.7. DNS域名解析服务

dns是domain names system的简写,主要作用就是将主机名解析成ip地址的过程。

dns是一个分布式、分层次的主机名管理架构,通过配置dns服务器地址,主机不需要知道对应的 ip地址就能通过主机名的形式访问互联网。

fqdn是full qualified domain name的简写,焦作完整主机名

2.7.1. dns解析过程

假定访问www.linuxpanda.tech这个主机的话

  1. 本机先查询本地的hosts文件是否有对应blog.linuxpanda.tech这个主机和ip对应关系,如果直接给与, 否则进行第二步。

  2. 本机想自己的dns server1 发送查询请求,ns1在收到客户端的请求后,会及时的查询自己缓存记录,如果有就 反馈给客户端,没有没有,进行第三步。

  3. ns1会主动想根域名服务器发起查询blog.linuxpanda.tech的请求,根只告诉.tech的相关信息,ns1去.tech的 机器查询,告诉linuxpanda这个域, 最终linuxpanda的dns服务来告诉ns1整整的blog主机所在的ip。

  4. ns1缓存下这个查询结果,然后反馈结果给客户端,客户端也会缓存一份。

查询方式:

递归查询:

发生在客户机和服务器之间,客户端只需要发送一次请求,剩下的工作都交给了服务器来完成。

迭代查询:

发生在dns服务器和dns服务器之间,每次查询都只是一个提示,都需要自己去查询下一个dns服务器来获取结果。

dns是一个网络服务,需要监听在固定的端口的,dns监听在tcp,udp的53端口,通常查询就是走的udp协议,一旦没有办法查询 到完整的信息,会以tcp协议来进行重新查询,因此dns在启动的时候会开启tcp的53和udp的53端口。