DNS协议

是什么

DNS(Domain Names System),域名系统,是互联⽹⼀项服务,是进⾏域名和与之相对应的 IP 地

址进⾏转换的服务器

简单来讲, DNS 相当于⼀个翻译官,负责将域名翻译成 ip 地址

IP 地址:⼀⻓串能够唯⼀地标记⽹络上的计算机的数字

域名:是由⼀串⽤点分隔的名字组成的 Internet 上某⼀台计算机或计算机组的名称,⽤于在数据传

输时对计算机的定位标识

查询⽅式

DNS 查询的⽅式有两种:

递归查询:如果 A 请求 B,那么 B 作为请求的接收者⼀定要给 A 想要的答案

image-20251220195842670

迭代查询:如果接收者 B 没有请求者 A 所需要的准确内容,接收者 B 将告诉请求者 A,如何去获得

这个内容,但是⾃⼰并不去发出请求

image-20251220195905490

域名缓存

在域名服务器解析的时候,使⽤缓存保存域名和 IP 地址的映射

计算机中 DNS 的记录也分成了两种缓存⽅式:

浏览器缓存:浏览器在获取⽹站域名的实际 IP 地址后会对其进⾏缓存,减少⽹络请求的损耗

操作系统缓存:操作系统的缓存其实是⽤⼾⾃⼰配置的 hosts ⽂件

查询过程

解析域名的过程如下:

⾸先搜索浏览器的 DNS 缓存,缓存中维护⼀张域名与 IP 地址的对应表

若没有命中,则继续搜索操作系统的 DNS 缓存

若仍然没有命中,则操作系统将域名发送⾄本地域名服务器,本地域名服务器采⽤递归查询⾃⼰的

DNS 缓存,查找成功则返回结果

若本地域名服务器的 DNS 缓存没有命中,则本地域名服务器向上级域名服务器进⾏迭代查询◦

⾸先本地域名服务器向根域名服务器发起请求,根域名服务器返回顶级域名服务器的地址给本

地服务器

本地域名服务器拿到这个顶级域名服务器的地址后,就向其发起请求,获取权限域名服务器的

地址

本地域名服务器根据权限域名服务器的地址向其发起请求,最终得到该域名对应的 IP 地址

本地域名服务器将得到的 IP 地址返回给操作系统,同时⾃⼰将 IP 地址缓存起来

操作系统将 IP 地址返回给浏览器,同时⾃⼰也将 IP 地址缓存起

⾄此,浏览器就得到了域名对应的 IP 地址,并将 IP 地址缓存起