- IP地址:互联网中每一台主机都是由IP地址标识,要访问一台主机,必须要知道这台主机对应的IP地址
- 域名:域名的存在仅仅是为了方便我们记忆
当我们在浏览器的地址栏输入一个域名时就要通过DNS解析把域名翻译为IP地址
- 根域名服务器:知道顶级域名服务器的地址
- 顶级域名服务器:如.com、.cn、.org等,全球只有13台左右,它知道权威域名服务器的地址
- 权威域名服务器:我们可以把权威域名服务器想象成一张表,里面记录着每个域名对应的IP地址
如:我们在浏览器输入www.baidu.com
- 浏览器首先会检查浏览器的缓存
- 有:使用
- 没有:检查本地的本地操作系统的缓存,本地操作系统的DNS缓存存在hosts文件中
- 有:使用
- 没有:操作系统会向本地的DNS服务器,(每个完整的内网通常都会配置本地DNS服务器,例如用户是在学校或工作单位接入互联网,那么用户的本地DNS服务器肯定在学校或工作单位里面,们一般都会缓存域名解析结果,当然缓存时间是受到域名的失效时间控制的)发送请求,询问该域名对应的IP地址是多少
- 本地DNS服务器接收到请求,会先查看自己的缓存记录,
- 有:使用
- 没有:
- 问:本地DNS服务器会向根域名服务器发送请求询问.com顶级域名服务器的地址是多少,
- 答:根域名服务器会告诉本地域名服务器.com顶级服务器的地址是XXX
- 问:然后本地域名服务器会按照这个地址找到.com顶级域名服务器,并问他baidu.com的权威域名服务器的地址是多少
- 答:顶级域名服务器会告诉本地域名服务器baidu.com权威域名服务器的地址是YYY
- 问:本地域名服务器会根据这个地址找到权威域名服务器,并问他www.baidu.com的IP地址是多少
- 答:权威域名服务器会给本地域名服务器返回IP地址 和 一个TTL值
- 本地DNS服务器会缓存这个域名和IP的对应关系,缓存时间由TTL值控制
- 然后本地域名服务器会把最终的IP 和 TTL返回给我们的主机
- 主机根据TTL值把域名和IP的对应关系缓存在浏览器缓存中
- 使用