当用户在浏览器上输入网址时,DNS的解析过程为以下几个步骤:
- 浏览器会检查缓存中有没有这个域名对应的解析的IP地址,如有,则解析结束。
- 若没有,浏览器会查找操作系统缓存中是否有这个域名对应的DNS解析结果。
- 若本机无法完成域名的解析,就会真正请求域名服务器来解析这个域名了。操作系统会发送域名到LDNS(本地区的域名服务器),大约80%的域名解析到这里就已经结束,所以LDNS承担着主要的域名解析任务。
- 若LDNS未命中,就直接到Root Server域名服务器请求解析。
- 根域名服务器返回给本地域名服务器一个所查询域的主域名服务器(gTLD Server 国际顶级域名服务器)。
- 本地域名服务器(Local DNS Server)在向上一步返回的gTLD服务器发送请求。
- 接受请求的gTLD服务器查找并返回此域名对应的Name Server域名服务器的地址。
- Name Server域名服务器会查询存储的域名和IP的映射关系表,在正常情况下都根据域名得到目标IP记录,连同一个TTL返回给DNS Server域名服务器。
- 返回该域名对应的IP和TTL值,Local DNS Server会缓存这个域名和IP的对应关系,缓存的时间由TTL值控制。
- 把解析的结果返回给用户,用户根据TTL值缓存在本地系统缓存中,域名解析过程结束。