DNS寻址过程
什么是DNS?
DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。DNS就是这样的一位“翻译官”,它的基本工作原理可用下图来表示。
具体过程
-
在浏览器中输入www.baidu.com域名,浏览器首先会在浏览器自身的缓存中查找有没有这个域名的映射关系,如果有就使用该缓存通过IP直接访问到指定的站点。
用户通过浏览器浏览过某网站之后,浏览器就会自动缓存该网站域名对应的IP地址,当用户再次访问的时候,浏览器就会从缓存中查找该域名对应的IP地址。
-
如果浏览器缓存中没有,接着会在本地的hosts文件中查找有没有这个域名的映射关系,如果有的话,将直接调用这个IP地址映射,完成域名解析。
本地hosts文件路径为:C:\Windows\System32\drivers\etc
其中默认有两个映射都对应本机地址
- 127.0.0.1 localhost
- ::1 localhost
-
如果hosts文件中没有这个域名的映射,则查找本地DNS解析器缓存中是否有这个域名映射,如果有的话直接调用,完成域名解析。
查看本地DNS解析器缓存命令:ipconfig/displaydns
-
如果hosts与本地DNS解析器缓存都没有该的网址映射关系,那么就向本地DNS服务器发起请求查询,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
查看本地DNS服务器地址命令:ipconfig
-
如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。
-
如果本地DNS服务器本地区域文件与缓存解析都失效,那么将向公网DNS服务发起查询请求获取对应的有效IP。
-
解析结果将直接返回给用户,用户系统将缓存该IP地址。