作者:Insist--
个人主页:insist--个人主页
作者会持续更新网络知识和python基础知识,期待你的关注
目录
一、DNS是什么?
二、DNS的作用
三、DNS查询流程
1、查看浏览器缓存
2、查看系统缓存
3、查看路由器缓存
4、查看ISP DNS 缓存
5、询问根域名服务器
6、询问顶级域名服务器
7、询问权威域名服务器
8、保存结果至缓存
前言
本文就来谈谈DNS是什么,以及它的作用与工作流程。
一、DNS是什么?
DNS全称Domain Name System,Domain Name被译为域名,中文名为域名系统,也称为域名解析系统。因为IP地址是比较难记忆的,所以发明了域名方便大家上网使用。
例如:
你要访问百度网站,不需要输入百度服务器的IP地址,只需要输入百度的域名即可。简单来说,DNS就是用来把域名转换成IP地址的一个系统。
二、DNS的作用
正如上面所说,DNS的作用就是将一个域名转换成IP地址。
DNS在互联网中起到了关键的作用。它通过域名解析和IP地址管理,使得人们使用简单易记的域名来访问互联网资源。同时,它还支持负载均衡、缓存和邮件交换等功能,以提高网络性能和服务质量。
三、DNS查询流程
域名解析一般采用递归查询的方式进行。一个完整的域名解析过程如下图所示:
1、查看浏览器缓存
当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名的 IP 地址。
注意:之前访问过这个域名并没有清除缓存就会有记录。
2、查看系统缓存
当浏览器缓存中无域名对应 IP 则会自动检查用户计算机系统 Hosts 文件 DNS 缓存是否有该域名对应 IP。
3、查看路由器缓存
当浏览器及系统缓存中均无域名对应 IP 则进入路由器缓存中检查。
注意:以上三步均为客服端的 DNS 缓存。
4、查看ISP DNS 缓存
当在用户客服端查找不到域名对应 IP 地址,则将进入 ISP DNS 缓存中进行查询。比如你用的是移动的网络,则会进入移动的 DNS 缓存服务器中进行查找。
5、询问根域名服务器
如果以上都不符合,则进入根服务器进行查询。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com等)服务器 IP 告诉本地 DNS 服务器。
6、询问顶级域名服务器
顶级域名服务器收到请求后查看区域文件记录,若无记录则将其管辖范围内权威域名服务器的 IP 地址告诉本地 DNS 服务器。
7、询问权威域名服务器
权威域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确记录。
8、保存结果至缓存
本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个 IP 地址即可访问目标Web服务器。至此,DNS递归查询的整个过程结束。