- 1,输入一个www.baidu.com域名,系统首先检查本地的hosts文件(在本地)是否包含这个域名的解析,如果有就调用这个ip映射,完成解析。else
- 2,查询本地dns解析器缓存(hosts.sam),若果有网址映射关系就完成解析,else
- 3,本地dns解析器缓存和hosts都没有的话,就找tcp/ip参数中设置的首选dns服务器,这里我们成为本地DNS服务器。在本地DNS服务器里查找网址映射关系,这是80%的网址都差不多了,(在这里,有两种情况,一是在本地DNS服务器配置区域资源中包含此域名,权威。
另一种是缓存了此网址映射,不权威,可能会出错。) - 4,本地服务器还没有,就看他是否设置的更高级的DNS服务器进行转发查询。否则就发送请求给13台根服务器
- (就像天津的学校的网络汇集到北京,然后在出去这样一级一级的。)
- 5,13个根服务器收到请求后,找到负责的那个根服务器,发给本地服务器。
- 6,本地服务器这次知道了具体目标,在此发行请求给哪个根服务器,
- 7,那个根服务器接受请求后查寻并返回域名注册的服务器地址,然后这个域名提供商负责解析,(这个过程其实也是和本地dns对应着一级一级往下查。找.com,再找.baidu.com,最后是www.baidu.com。)
- 8,本地服务器发送请求到这个服务器,然后那台服务器进行查询,然后将域名,ip对应关系连同一个TTL的值返回给本地服务器
- 9,本地服务器进行缓存,缓存时间有TTL决定
- 10,本地服务器将解析结果返回给用户,用户也根据TTL进行缓存,至此结束
DNS解析过程
最新推荐文章于 2020-11-28 15:59:59 发布