DNS域名解析
DNS是一个由分层的DNS服务器实现的分布式数据库,它主要记录了域名与IP地址的对应关系。
我们平时访问网站,都是输入域名,而不是IP地址,而域名被解析为对应IP地址这一步,就是由DNS实现的。
它还提供了一些其他的服务,比如说将一个域名映射到多个IP地址上,用于减轻单个服务器的压力。
DNS架构
它是一个分布式的数据库,且分多层次。
不采用单点是因为如果单点故障,那么整个因特网就不能用,而且单点无法承载那么大的请求量,存储那么多的数据。如果采用单点,还会因为地理位置原因导致很大的时延。
分层
DNS分为根域名服务器,顶级域名服务器,权威域名服务器和本地域名服务器。
一个用户在浏览器中输入一个域名,解析的过程大致如下(迭代查询):
1、向本地域名服务器发送请求。
2、本地域名服务器向根域名服务器发送请求,根域名服务器返回顶级域名服务器的地址。
3、本地再向顶级域名服务器发起请求,顶级域名服务器返回权威域名服务器的地址,到这一步就可以获取到IP。
4、本地域名服务器将获取到的ip返回给用户浏览器。

递归查询:

DNS缓存
某一个DNS服务器接受一个DNS回答时,它可以将映射存储在本地的存储器中,下一次如果有同样的映射,可以直接返回而不用去往下一层请求。
但是该缓存并不是永久存在的,过一段时间会被清除。