一、DNS域名解析
我们平时在搜索网页时,url都是像这样juejin.cn/,但是网络中的两台主机…
域名解析查询的过程如下:
浏览器 ----- > 操作系统 ----> DNS域名服务器
1、查询方式
-
**递归查询:**当主机在本地DNS服务器中没有找到域名对应的ip时,本地DNS服务器会以DNS客户的身份向根域名服务器发出查询请求。
-
**迭代查询:**根域名服务器接收到请求,会将顶级域名服务器的ip地址返回给本地DNS服务器,让它去顶级域名服务器上查,本地DNS服务器又会向顶级域名服务器上发出查询请求,顶级域名服务器在接收到请求之后,要么给出查询的ip地址,要么给出权限域名服务器的地址,本地DNS域名服务器再去权限域名服务器上查。
主机向本地DNS服务器查使用的是递归查询。
本地DNS服务器向其他服务器查使用的是迭代查询。也可以使用递归查询。
查询请求使用的是UDP,速度快。
根域名服务器全球只有13个域名,不是13台机器。
二、高速缓存
之前访问过的域名,本地DNS域名服务器会存储域名和ip的关系,不用向根域名服务器发出查询请求。
如果本地DNS服务器存储的是顶级域名服务器的ip,那么它也可以直接向顶级域名服务器发出查询请求,跳过向根域名服务器发出请求的过程。
高速缓存的数据都是有一个过期时间的,一旦过期就要重新查询。
三、查看本地DNS服务器的方法
1、hosts文件查看
cat ./etc/hosts
2、本地DNS服务器查看
scutil --dns
mac 可以再设置 -> 网络 -> 高级 -> DNS中界面化查看本地DNS服务器。