DNS域名解析过程详解

目录 Internet2017年3月13日

我们知道,访问域名其实是访问的ip地址,了解域名与ip地址是如何一一对应上的,域名指向IP地址实现的步骤是怎样的。

基本概念

DNS服务器:DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,就是提供域名和ip对应关系的服务器,它记录着各种域名所对应的ip地址,给查询者返回正确的ip地址。

Host文件:Hosts文件是Windows系统中一个负责IP地址与域名快递解析的文件。根据Windows系统规定,在进行DNS请求以前,Windows系统会先检查自己的Hosts文件中是否有这个地址映射关系,如果有则调用这个IP地址映射,如果没有再向已知的DNS服务器提出域名解析请求。也就是说Hosts的请求级别比DNS高。

DNS解析的TTL参数:在配置域名的DNS解析时,有一个重要的参数TTL(Time To Live),它的作用是告诉本地DNS服务器某个域名指向ip地址记录的最大缓存时间,方便短时间内浏览者访问网站不用再进行一次递归查询,提高访问速度。

DNS域名解析全过程

域名解析过程

  1. 我们在浏览器中输入域名www.abc.com,首先浏览器会检查浏览器缓存中有无这条域名解析的记录,如果有则直接返回ip地址进行访问,如果没有则进行下一步。
  2. 浏览器不存在域名解析的缓存记录时,浏览器则会查找系统中Host文件的记录,如果Host文件中有域名对应ip的记录则浏览器返回ip地址进行访问,如果没有则进行下一步。
  3. Host文件没有指定的记录时,系统会发送一个域名解析请求到本地DNS服务器(本地DNS服务器通常是网络接入商提供,如中国联通、中国移动、中国电信)。本地DNS服务器会检查有没有这条记录的缓存,如果有则返回记录中对应的ip地址进行访问,如果没有则向DNS根服务器发出解析请求。
  4. DNS根服务器中并没有记录每个域名解析的具体记录,但储存了负责每个域(如.com, .cn, .ren, .top等)的解析的域名服务器的地址信息。DNS根服务器接收到www.abc.com域名的解析请求后,会返回给本地DNS服务器com域服务器的地址信息,让本地DNS服务器到com域服务器中去查询,本地DNS服务器继续向com域服务器发出解析请求。
  5. com域服务器接收到请求后,接受请求的com域服务器查找并返回此域名对应的Name Server域名服务器的地址(Name Server通常就是用户注册的域名服务器,如万网注册的域名使用的就是万网提供的DNS服务器)。正确的ip地址和TTL值一并返回到本地DNS服务器。
  6. 本地DNS服务器接收到解析记录和TTL,会根据TTL设置缓存时间,把对应的ip地址返回给用户电脑,在缓存期间内相同域名的域名查询会直接返回给用户ip地址,缓存失效后会重新来一遍递归查询。
  7. 浏览器接收到ip地址后就进行正常的网页访问。

2 条评论

  • 谢明 来自天朝的朋友 Google Chrome Windows 广东省深圳市龙岗区 电信
    2018年1月5日 13:23

    你这应该有点问题,应该是先从host文件中找,再从浏览器缓存,你可以测试下。

  • T 来自天朝的朋友 Google Chrome Mac 北京市 联通
    2018年2月3日 14:08

    写的清晰明了,赞

发表评论