1:用户访问www.baidu.com这个网站,系统会首先查看DNS缓存或hosts文件信息,确定是否存在域名对应的IP解析记录,如果有就直接获取IP地址。一般第一次请求时,DNS缓存是没有记录的,而hosts文件一般多在内部测试使用。


2:如果客户端本地hosts的文件或DNS缓存没有对应的解析记录,则系统会将解析请求发送给LDNS(local DNS)服务器,如果LDNS服务器本地缓存有对应的解析记录就会直接返回IP地址给客户端。如果没有,LDNS会负责继续请求给其它的DNS服务器


3:LDNS从DNS系统的(.)根开始请求对www.baidu.com域名的解析,并针对各个层级的DNS服务系统进行一系列的查找。最终会查到baidu.com域名对应的授权DNS服务器,而这个授权DNS服务器正是企业购买域名时用于管理域名解析的服务器,这个授权服务器会有www.baidu.com对应的IP解析记录。如果此时还没有,则表明企业的域名管理人员没有为www.baidu.com做解析设置。


4:baidu.com授权的DNS服务器会将www.baidu.com最终的IP解析记录发送给LDNS


5:LDNS服务器接收到授权服务器发来的域名对应IP后,会把IP发送给客户端浏览器,并且把该域名和IP解析缓存起来,以便下一次更快地返回给客户端,这些缓存记录在指定时间内(DNS TTL值控制)不会过期。


6:客户端浏览器获取到域名对应的IP都,之后,浏览器会请求获得到的IP对应的网站服务器。网站服务器收到请求后进行响应处理。将客户请求的内容返回给客户浏览器。


Windows查看本地缓存的DNS解析记录命令如下:

C:\> ipconfig /displaydns

清除Windows客户端本地缓存的DNS解析记录命令如下:

C:\> ipconfig /flushdns

Windows系统下hosts域名解析记录位置如下:

C:\Windows\system32\drivers\etc\hosts