一句话:DNS请求就是域名到IP地址的过程。通过域名找背后主机IP的过程。
本地DNS,递归查询
DNS优先查询本地的DNS缓存,用户向本地域名服务器发出一次查询请求,就静待本地服务器反馈最终查询结果。本地服务器首先使用本地DNS缓存尝试应答用户的DNS查询请求,若失败则发起迭代查询。
迭代查询
本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步到哪里去查询,然后它在根据结果逐层向下查询,直到得到最终结果。每次它都是以DNS客户机的身份去各个服务器查询,即迭代查询是本地服务器进行的操作。
(1)、用户主机A先向本地域名服务器B递归查询abc.exmaple.com
(2)、B首先尝试使用本地DNS记录查询abc.exmaple.com;若本地不存在abc.example.com的相关记录,则B以DNS客户机的身份发起迭代查询abc.example.com。
(3)、B向一个根域名服务器C查询abc.example.com
(4)、根域名服务器C告诉B下一步到.com顶级域名服务器D去查询,并告知D的IP地址1.2.3.4
(5)、B向.com顶级域名服务器D(IP为1.2.3.4)进行查询
(6)、D告诉本地域名服务器B,下一步请到.example.com权限服务器E去查询,并告知E的IP地址2.3.4.5
(7)、B向.example.com权限服务器E地址(ip2.3.4.5)进行查询
(8)、example.com权限服务器E告诉本地域名服务器B所查询域abc.example.com的主机是否存在,如存在则告知其IP地址3.4.5.6。