概念
DNS(Domain Name System)域名解析系统,根据域名查找出对应的IP地址
- 每层域名都有自己的域名服务器
- 每级域名服务器都知道下级服务器的IP地址
分类
url中,每个.
左边就是一个域名,越往右域名层级越高
- 根域名服务器(
.root
或.
,通常省略) - 顶级域名服务器(
.com
,.cn
…) - 权威域名服务器
- 本地域名服务器
查询方式
-
检查浏览器缓存中是否有域名对应的IP地址
浏览器缓存有缓存大小和超时时间的限制
-
操作系统查找是否缓存有对应IP地址
操作系统缓存保存在host文件中,是IP和域名映射关系的数据库
-
主机向本地DNS发起查询请求,本地DNS递归查询自身缓存
-
本地DNS进行迭代查询
-
本地DNS向根DNS发起查询请求,根DNS向本地DNS返回顶级DNS的IP地址
-
本地DNS向顶级DNS发起查询请求,顶级DNS向本地DNS返回权威DNS的IP地址
-
本地DNS向权威DNS发起查询请求,权威DNS向本地DNS返回IP地址
-
-
本地DNS将结果返回给操作系统,自身缓存IP地址
-
操作系统将结果返回给浏览器,自身缓存IP地址
-
浏览器获得结果,自身缓存IP地址
-
递归查询
发送查询请求,等待最终返回结果,不关注查询过程(主机)
相当于派发命令的老板,不在乎过程只需要结果
-
迭代查询
发送查询请求,根据返回的地址继续发送请求,直到查询到最终结果(本地DNS)
相当于做事的员工,亲自去各个部门办事,直到拿到到结果