DNS-缓存与解析

简介

域名系统(Domain Name System,DNS)的主要任务是进行主机名到P地址转换的目录服务。其中比较重要就是缓存策略,也就是分布式的实际物理节点的存储策略。而是解析,也就是查询逻辑规则和网络远程调度规则。

其中,说的递归与迭代是作为整个DNS服务查询过程中。其中递归指的是网络远程调度规则,

网络调度和缓存规则

具体流程看下面大图

www.processon.com/v/653cccb6b...

这个图中可以发现每个服务器中,有两个相关的结构,一个是缓存,另一个是解析器。这里我们主要是先解释缓存,其中解析器我们后面继续说

在我们发起请求时,会通过我们的本地的解析器去在本地的浏览器缓存和操作系统缓存和hosts文件来进行定位,由此来进行寻址。当其中TTL没有过期,就会直接使用其中IP地址。如果指向配置的DNS服务器,如果没有指向默认区域地址。这个在我们使用中存在于路由器中。其实这个过程就已经是一种递归了。由此一直到顶级域服务器。

权威服务器没有结果,查询域名如果不进行更新,下次查询直接报错。除非更新缓存中TTL。以此来节省资源。

A是我们去查询一个DNS服务器。他先通过自己缓存中的指向。找到了B服务器。但是B服务返回没有找到或者超时返回NUll的情况下。去寻找C服务器。或者D服务器。最终只想权威服务器。只不过大部分的是指向一个权威服务器镜像服务。大部分情况下都会有结果。这个就是迭代过程

其中迭代请求的服务器会通过这种分割域名的形式来进行。其实在第一次寻找的时候是通过递归进行的。但是没有结果后通过迭代的形式。由此寻找到结果。其实就是一种树状结果。递归是一种父子层级查询,但是通过迭代来进行兄弟节点的查询。

其中上面第一张图绿色就是迭代的过程,那个红色流程线就是递归过程

解析器寻找

迭代解析。主要是映射了域名和ip。快速通过域名来解析出来对应ip,通过构建一个查询树。

相关推荐
掘金-我是哪吒7 小时前
分布式微服务系统架构第156集:JavaPlus技术文档平台日更-Java线程池使用指南
java·分布式·微服务·云原生·架构
亲爱的非洲野猪8 小时前
Kafka消息积压的多维度解决方案:超越简单扩容的完整策略
java·分布式·中间件·kafka
活跃家族8 小时前
分布式压测
分布式
前端世界9 小时前
HarmonyOS开发实战:鸿蒙分布式生态构建与多设备协同发布全流程详解
分布式·华为·harmonyos
DavidSoCool10 小时前
RabbitMQ使用topic Exchange实现微服务分组订阅
分布式·微服务·rabbitmq
掘金-我是哪吒11 小时前
分布式微服务系统架构第158集:JavaPlus技术文档平台日更-JVM基础知识
jvm·分布式·微服务·架构·系统架构
东窗西篱梦12 小时前
Redis集群部署指南:高可用与分布式实践
数据库·redis·分布式
Acrel_Fanny12 小时前
Acrel-1000系列分布式光伏监控系统在湖北荆门一马光彩大市场屋顶光伏发电项目中应用
分布式
xufwind12 小时前
spark standlone 集群离线安装
大数据·分布式·spark
半新半旧13 小时前
Redis集群和 zookeeper 实现分布式锁的优势和劣势
redis·分布式·zookeeper