DNS 服务器用于保存 Web 服务器域名与 IP 的对应关系。
一、域名的层级关系
DNS 中的域名都是用句点来分隔的,比如www.server.com,句点代表了不同层次之间的界限。
在域名中,越靠右的位置表示其层次越高。
根域是在最顶层,它的下一层就是com顶级域,再下面就是server.com。所以域名的层级关系类似一个树状结构:
- 根域名 DNS 服务器
- 顶级域名 DNS 服务器(
com) - 二级域名 DNS 服务器(
server.com) - 三级域名 DNS 服务器(
xyz.server.com)
根域的 DNS 服务器信息保存在互联网中所有的 DNS 服务器里面。因此,任何 DNS 服务器就都可以找到并访问根域 DNS 服务器了,然后再一路顺藤摸瓜找到位于下层的某台目标 DNS 服务器。
二、DNS 解析
-
本地 hosts 系统文件。 浏览器会先到本地
hosts文件中查找与域名相关的ip地址,如果有就会直接使用该ip地址。 -
本地域名服务器。没找到的话,浏览器会向本地域名服务器发出一个DNS请求,询问域名对应的
ip地址。本地域名服务器会先查询缓存表格,如果有就直接返回ip地址,此过程是递归查询。 -
根域名服务器。没找到的话,本地域名服务器会向根服务器. 查询。根服务器不会直接用于域名解析,而是告诉本地域名服务器,你可以到顶级域名服务器.com上继续查询,并给出顶级域名服务器的ip地址,此过程是迭代的过程。
-
顶级域名服务器。本地域名服务器继续向顶级域名服务器发出请求,顶级域名服务器也不会直接返回IP,而是告知二级域名服务器baidu.com的地址。
-
xx级域名服务器。依次类推,最后本地域名服务器向三级域名服务器发出请求,如果成功收到就会把IP地址返回给客户端,还会将这个映射关系缓存到本地域名服务器中。
补充
-
递归查询:当这个 DNS 服务器不能回答客户端的 DNS 查询时,它会自己向其他 DNS 服务器查询。
-
迭代查询:...它不会向其他 DNS 服务器查询,而是把能解析该域名的其他 DNS 服务器的 IP 地址返回给客户端,由客户端继续查询。
-
hosts文件:是一种系统文件,它把一些常用的网址域名和对应的ip地址建成一个“数据表”。