DNS 解析过程
2021/7/1 23:28:35
本文主要是介绍DNS 解析过程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
DNS 是应用层协议,用于将域名转换成 IP 地址。
1. 解析过程
DNS 的核心系统是一个三层的树状、分布式服务,基本对应域名的结构。
- 根域名服务器:管理顶级域名服务器,返回 com、net、cn 等顶级域名服务器的 IP 地址;
- 顶级域名服务器:管理各自域名下的权威域名服务器。例如 com 顶级域名服务器可以返回 baidu.com 域名服务器的 IP 地址;
- 权威域名服务器:管理自己域名下主机的 IP 地址。比如 baidu.com 权威域名服务器可以返回 www.baidu.com 的 IP 地址。
例如,要访问 www.baidu.com,就要进行下面的过程:
1)浏览器缓存:浏览器首先会再自己的缓存中查找是否有该域名对应的 IP 地址;
2)系统缓存:如果浏览器缓存中没有的话,就会自动检查本地 hosts 文件内是否有该域名对应的 IP;
3)本地DNS服务器:如果浏览器缓存和系统缓存都没有相应的映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器。
4)根域名服务器
5)顶级域名服务器
6)权威域名服务器
7)保存结果至缓存,同时将结果反馈给客户端。
2. 递归查询与迭代查询
1)主机向本地域名服务器的查询采用的是递归查询。
如果主机询问的本地域名服务器不知道被查询的域名的 IP 地址,那么本地域名服务器就向根域名服务器发出查询请求。
2)本地域名服务器向根域名服务器的查询采用的是迭代查询。
1) 本地域名服务器向根域名服务器发出的查询请求时,根域名服务器把自己所知道的“com”顶级域名服务器的的 IP 地址告诉本地域名服务器;
2) 本地域名服务器再向“com”顶级域名服务器发出查询请求,顶级域名服务器把自己所知道的“baidu.com”权威域名服务器的 IP 地址告诉本地域名服务器;
3) 本地域名服务器再向“baidu.com”权威域名服务器发出请求,权威域名服务器把www.baidu.com的 IP 地址告诉本地域名服务器。
最后,本地域名服务器把结果返回给主机。
这篇关于DNS 解析过程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略