- 浏览器检查缓存中有没有这个域名对应的解析后的IP地址,如果缓存中有,解析过程结束。缓存大小、时间都有限制,时间由TTL属性决定;
- 如果浏览器缓存中么有,浏览器会查找操作系统缓存中有无这个域名DNS解析后的结果。操作系统也有一个域名解析的过程,windows通过C:\Windows\System32\drivers\etc\hosts,浏览器会优先使用这个解析结果(Win7已将hosts设置为只读),linux系统中/etc/named.conf。目前为止都是在本机完成,如果未完成,才会真正请求域名服务器解析域名。
- “网络配置”中都会有“DNX服务器地址”,操作系统会把域名发送给这个LDNS,本地区的域名服务器,通常都会提供一个本地互联网接入的DNS解析服务。就在你所在城市的某个角落,通过ipconfig可以看到。
- 如果LDNS仍然没有命中,则向RootServer域名服务器请求解析。
- 根域名服务器向本地域名服务器返回一个所查询域的主域名服务器(gTLD Server)。国际顶级域名服务器(.com、.cn、.org等),全球13台。
- 本地域名服务器(Local DNS Server)再向上一步返回的gTLD发送请求。
- gTLD返回域名对应NameServer域名服务器地址,通常由你购买域名的服务商提供。
- NameServer服务器查询域名与IP映射关系表,返回目标IP记录和TTL值给DNS Server域名服务器。
- Local DNS Server根据TTL缓存该IP解析。
- 缓存结果返回给用户,用户根据TTL缓存到本地操作系统中,域名解析过程结束。
实际中,可能不止10个步骤,因为NameServer可能有多级,或者有一个GTM来负载均衡控制,都可能影响域名解析过程。