DNS 域名解析过程

域名解析的主要作用就是将你输入的一串URL,比如http://www.baidu.com 解析到互联网上某个IP地址,实现访问网站的目的

第一步

当在浏览器输入完地址并回车后,浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,那么这个解析过程就结束了
浏览器混村时间是有限制的,如果缓存时间太长,一旦域名被解析的IP有变化,会导致客户段缓存无法解析到变化后的域名;如果缓存时间太短会导致用户每次访问网站都需要重新解析一次域名

第二步

如果浏览器缓存中没有,浏览器会查找操作系统缓存中是否有这个域名对应的DNS解析结果,操作系统的域名解析是在文件WINDOWS:C:\Windows\System32\drivers\etc\hosts ;Linux /etc/hosts 文件开设置,如果这这里设置了一个域名对应的Ip地址,那么浏览器会首先使用这个IP地址,这两步都是在本机完成的。下面的图片会展示真正的域名解析服务器,如果在本机中无法未完成域名解析,就会走真正的请求域名服务器来解析域名
DNS 域名解析过程

第三步

   在操作系统本地都会设置DNS,也就是Local DNS 简称(LDNS)windows 可以通过ipconfig/all 查询
DNS 域名解析过程

上面两个DNS是我手工配置的,一个阿里的一个百度的公共DNS

以上的域名解析服务器性能一般都会稳定,他们一般会缓存域名解析结果,大约80%的域名解析到这里就完成了,所以LDNS主要承担了域名的解析工作。

第四步

如果LDNS没有命中,就直接到ROOT Server 域名服务器请求解析

第五步


根域名服务器返回给本地域名服务器一个所查询的主域名服务器(gTLD Server) gTLD 是国际*域名服务器,如com,cn,org 

第六步

本地域名服务器(LDNS) 再想上一步返回的gTLD 服务器发送请求


第七步

接受请求的gTLD 服务器查找并返回此域名对应的name Server 域名服务器的地址,这个Name SERVER 通常就是你主场额的域名服务器

第八步

Name Server 域名扶额u其会查询存储的域名和IP的映射关系表,江得到的目标IP记录,联通一个TTL值返回给DNS Server 域名服务器

第九步

返回该域名对应的IP和TTL值,LDNS Server 会缓存这个域名和IP的对应关系,缓存时间由TTL值控制

第十步

吧解析的结果返回给用户,用户根据TTL值缓存再本地系统的缓存中,域名解析结束

清除域名缓存的域名


WIndows : ipconfig/flushdns

Linux :/etc/init.d/nscd restart