DNS协议
是什么
DNS(Domain Names System),域名系统,是互联⽹⼀项服务,是进⾏域名和与之相对应的 IP 地
址进⾏转换的服务器
简单来讲, DNS 相当于⼀个翻译官,负责将域名翻译成 ip 地址
•
IP 地址:⼀⻓串能够唯⼀地标记⽹络上的计算机的数字
•
域名:是由⼀串⽤点分隔的名字组成的 Internet 上某⼀台计算机或计算机组的名称,⽤于在数据传
输时对计算机的定位标识
查询⽅式
DNS 查询的⽅式有两种:
•
递归查询:如果 A 请求 B,那么 B 作为请求的接收者⼀定要给 A 想要的答案
迭代查询:如果接收者 B 没有请求者 A 所需要的准确内容,接收者 B 将告诉请求者 A,如何去获得
这个内容,但是⾃⼰并不去发出请求
域名缓存
在域名服务器解析的时候,使⽤缓存保存域名和 IP 地址的映射
计算机中 DNS 的记录也分成了两种缓存⽅式:
•
浏览器缓存:浏览器在获取⽹站域名的实际 IP 地址后会对其进⾏缓存,减少⽹络请求的损耗
•
操作系统缓存:操作系统的缓存其实是⽤⼾⾃⼰配置的 hosts ⽂件
查询过程
解析域名的过程如下:
•
⾸先搜索浏览器的 DNS 缓存,缓存中维护⼀张域名与 IP 地址的对应表
•
若没有命中,则继续搜索操作系统的 DNS 缓存
•
若仍然没有命中,则操作系统将域名发送⾄本地域名服务器,本地域名服务器采⽤递归查询⾃⼰的
DNS 缓存,查找成功则返回结果
•
若本地域名服务器的 DNS 缓存没有命中,则本地域名服务器向上级域名服务器进⾏迭代查询◦
⾸先本地域名服务器向根域名服务器发起请求,根域名服务器返回顶级域名服务器的地址给本
地服务器
◦
本地域名服务器拿到这个顶级域名服务器的地址后,就向其发起请求,获取权限域名服务器的
地址
◦
本地域名服务器根据权限域名服务器的地址向其发起请求,最终得到该域名对应的 IP 地址
•
本地域名服务器将得到的 IP 地址返回给操作系统,同时⾃⼰将 IP 地址缓存起来
•
操作系统将 IP 地址返回给浏览器,同时⾃⼰也将 IP 地址缓存起
•
⾄此,浏览器就得到了域名对应的 IP 地址,并将 IP 地址缓存起





