DNS解析过程
用户输入域名:用户在浏览器地址栏中输入要访问的域名,比如
www.example.com
。本地DNS解析:首先,浏览器会检查本地DNS缓存,如果已经解析过该域名并保存在缓存中,则直接返回对应的IP地址,无需进行后续步骤。
本地域名服务器查询:如果本地缓存中不存在该域名的解析记录,浏览器会向本地域名服务器(通常是Internet服务提供商(ISP)提供的DNS服务器)发送DNS查询请求。
根域名服务器查询:如果本地域名服务器也无法解析该域名,则会向根域名服务器发送查询请求。根域名服务器负责管理顶级域名(如.com、.net、.org等)的IP地址。
顶级域名服务器查询:根域名服务器返回域名的顶级域名服务器的IP地址,比如.com域的顶级域名服务器。
权威域名服务器查询:本地域名服务器向顶级域名服务器发送查询请求,顶级域名服务器返回域名的权威域名服务器的IP地址。
解析域名:本地域名服务器向权威域名服务器发送查询请求,权威域名服务器返回该域名对应的IP地址。
返回IP地址:本地域名服务器将IP地址返回给浏览器,并在本地DNS缓存中保存该域名的解析记录。
建立连接:浏览器使用得到的IP地址与目标服务器建立连接,完成HTTP请求。
访问网站:浏览器向目标服务器发送HTTP请求,并开始加载网页内容。
主机向本地域名服务器的查询采用递归查询。
本地域名服务器向根域名服务器的查询通常采用迭代查询。
递归查询:股务器必需回答目标IP与域名的映射关系。
迭代查询:服务器收到一次选代查询回复一次结果,这个结果不一定是目标IP与域名的映射关系,也可以是其它DNS服务器的地址。
浏览器输入域名:HOSTS→本地DNS缓存→本地DNS服务器→根域名服务器一顶级域名服务器→权限域名服务器。
主域名服务器接收到域名请求:本地缓存记录→区域记录→转发域名服务器→根域名服务器。