(21):DNS协议

17 篇文章 0 订阅

DNS协议 是什么,说说DNS 完整的查询过程

一、是什么

1、 DNS(Domain Names System), 域名系统 ,是互联网一项服务,是进行 域名 和与之相对应的 IP 地址 进行转换的 服务器

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

  • (1) ip 地址: 一长串能够唯一地标记网络上的计算机的数字
  • (2) 域名: 是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识

二、域名

1、 域名 是一个具有层次的结构,从上到下一次为 根域名顶级域名二级域名三级域名...


2、例如 www.xxx.comwww三级域名xxx二级域名com顶级域名 ,系统为用户做了兼容,域名末尾的 根域名 . 一般不需要输入

3、在域名的每一层都会有一个域名服务器,如下图:


4、除此之外,还有电脑默认的本地域名服务器

三、查询方式

1、 DNS 查询 的方式有两种:

  • (1) 递归查询: 如果 A 请求 B,那么 B 作为请求的接收者一定要给 A 想要的答案
  • (2) 迭代查询: 如果接收者 B 没有请求者 A 所需要的准确内容,接收者 B 将告诉请求者 A,如何去获得这个内容,但是自己并不去发出请求

四、域名缓存

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

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

  • (1) 浏览器缓存: 浏览器在获取网站域名的实际 IP 地址后会对其进行缓存,减少网络请求的损耗
  • (2) 操作系统缓存: 操作系统的缓存其实是用户自己配置的 hosts 文件

五、查询过程

1、 解析域名 的过程如下:

  • (1)首先搜索浏览器的 DNS 缓存 ,缓存中维护一张域名与 IP 地址的对应表
  • (2)若没有命中,则继续搜索操作系统的 DNS 缓存
  • (3)若仍然没有命中,则操作系统将域名发送至本地域名服务器,本地域名服务器采用递归查询自己的 DNS 缓存,查找成功则返回结果
  • (4)若本地域名服务器的 DNS 缓存 没有命中,则本地域名服务器向上级域名服务器进行迭代查询
  • (5)首先本地域名服务器向根域名服务器发起请求,根域名服务器返回顶级域名服务器的地址给本地服务器
  • (6)本地域名服务器拿到这个顶级域名服务器的地址后,就向其发起请求,获取权限域名服务器的地址
  • (7)本地域名服务器根据权限域名服务器的地址向其发起请求,最终得到该域名对应的 IP 地址
  • (8)本地域名服务器将得到的 IP 地址 返回给操作系统,同时自己将 IP 地址 缓存起来
  • (9)操作系统将 IP 地址 返回给浏览器,同时自己也将 IP 地址缓存起
  • (10)至此,浏览器就得到了域名对应的 IP 地址,并将 IP 地址 缓存起

2、流程如下图所示:

参考文献

  • (1)https://zh.wikipedia.org/wiki/%E5%9F%9F%E5%90%8D%E7%B3%BB%E7%BB%9F
  • (2)https://www.cnblogs.com/jmilkfan-fanguiju/p/12789677.html
  • (3)https://segmentfault.com/a/1190000039039275
  • (4)https://vue3js.cn/interview
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值