当前位置: 首页 > news >正文

【系统架构设计师】DNS查询过程

目录

          • 1. DNS查询的起点
          • 2. 本地查询
            • 2.1 检查hosts文件
            • 2.2 查询本地DNS缓存
          • 3. 本地DNS服务器查询
          • 4. 上级DNS服务器查询
            • 4.1 根域名服务器
            • 4.2 顶级域名服务器
            • 4.3 权威域名服务器
          • 5. 查询结果返回
          • 6. 缓存更新
          • 7. 例题
            • 7.1 例题1

1. DNS查询的起点
  • 1.DNS查询过程通常从客户端(如浏览器或应用程序)发起。
  • 2.当用户在客户端输入一个域名时,客户端会向DNS系统发起查询请求,以获取该域名对应的IP地址。
2. 本地查询
2.1 检查hosts文件
  • 1.操作系统首先会检查本地hosts文件。
  • 2.hosts文件是一个简单的文本文件,存储在计算机上,包含了域名与其对应IP地址的手动映射。
  • 3.如果在hosts文件中找到了与输入域名匹配的条目,操作系统会直接返回该域名对应的IP地址,跳过后续的DNS查询过程。
2.2 查询本地DNS缓存
  • 1.如果hosts文件中没有匹配的条目,操作系统会查询本地DNS缓存。
  • 2.本地DNS缓存是操作系统维护的一个动态数据库,存储了最近使用的域名及其对应的IP地址。
  • 3.如果在本地DNS缓存中找到了匹配的条目,操作系统会返回该域名对应的IP地址,从而提高DNS解析的效率。
3. 本地DNS服务器查询
  • 1.如果本地查询失败,客户端会向本地DNS服务器发起查询请求。
  • 2.本地DNS服务器在DNS查询过程中扮演着关键角色,充当客户端和上级DNS服务器之间的中介。
  • 3.缓存查询:本地DNS服务器首先检查其缓存中是否已有该域名的解析记录。缓存查询几乎不需要额外的网络开销,因此是最高效的方式。如果找到匹配的记录,本地DNS服务器会立即返回结果给客户端。
  • 4.转发查询:如果本地DNS服务器的缓存中没有所需信息,它会采取不同的查询策略,包括递归查询和迭代查询。
  • 5.递归查询:本地DNS服务器负责执行完整查询过程,直至获得最终结果。
  • 6.迭代查询:本地DNS服务器将查询请求转发给其他DNS服务器,逐步推进查询过程。
4. 上级DNS服务器查询
  • 1.在转发查询的过程中,本地DNS服务器会依次向根域名服务器、顶级域名服务器和权威域名服务器发起查询请求。
4.1 根域名服务器
  • 1.根域名服务器位于DNS层级结构的最高级别,掌握着所有顶级域名服务器的信息。
  • 2.本地DNS服务器会向根域名服务器发起查询请求,根域名服务器会返回负责该顶级域名的权威DNS服务器的IP地址。
4.2 顶级域名服务器
  • 1.顶级域名服务器负责管理和解析特定顶级域名下的所有二级域名。
  • 2.本地DNS服务器会根据根域名服务器提供的指引,向相应的顶级域名服务器发起查询请求。
  • 3.顶级域名服务器会返回该域名的权威DNS服务器的地址。
4.3 权威域名服务器
  • 1.权威域名服务器是DNS查询过程的最后一环,负责提供最终的IP地址解析结果。
  • 2.本地DNS服务器会通过迭代查询或递归查询到达权威域名服务器,权威服务器会直接返回所请求的IP地址。
5. 查询结果返回
  • 1.权威域名服务器返回IP地址后,该信息会沿着查询路径逐级返回给本地DNS服务器,并最终返回给客户端。
  • 2.客户端收到IP地址后,就可以与该IP地址对应的服务器进行通信,从而访问所需的资源。
6. 缓存更新
  • 1.在整个DNS查询过程中,各级DNS服务器都会缓存查询结果,以提高后续相同域名查询的速度。
  • 2.每个缓存条目都关联一个TTL(Time to Live)值,指示该条目在缓存中存活的有效期。
  • 3.当缓存条目过期时,系统会自动清除或更新相应的条目,确保缓存中的信息始终保持最新状态。
7. 例题
7.1 例题1
  • 1.题目
1.主机PC对某个域名进行查询,最终由该域名的授权域名服务器解析并返回结果,查询过程如下图所示。
这种査询方式中不合理的是(A)。
A.根域名服务器采用递归查询,影响了性能
B.根域名服务器采用迭代查询,影响了性能
C.中介域名服务器采用迭代查询,加重了根域名服务器负担
D.中介域名服务器采用递归查询,加重了根域名服务器负担

在这里插入图片描述

  • 2.解析
1.在域名解析过程中,一般有两种查询方式:递归查询和迭代查询。
2.递归查询:服务器必须回答目标IP与域名的映射关系。
3.迭代查询:服务器收到一次迭代查询回复一次结果,这个结果不一定是目标IP与域名的映射关系,也可以是其他DNS服务器的地址。
4.递归查询会向下探索,最终返回答案,迭代查询不会向下探索,会立即返回消息,可以只返回线索。

相关文章:

  • Linux基础 -- SoC从uboot到linux kernel的全过程
  • 从感知器准则到最小平方误差准则——与神经网络的发展类比
  • 使用Python可视化图结构:从GraphML文件生成节点关系图(lightrag 生成)
  • FPGA中串行执行方式之流水线(Pipeline)
  • 大数据学习(84)-Hive数仓
  • IIS漏洞攻略
  • C# 属性(Property)‌详解
  • 了解TikTok直播不推流的原因及流量异常的解决方案
  • 基于SpringBoot的电影售票系统
  • spring和maven
  • 内网渗透基础
  • 稳健投资新标杆,云济会布局国库券回购助推金融市场优化
  • 优化 Docker 镜像 技巧
  • 【PCIe 总线及设备入门学习专栏 5.3 -- PCIe 与 EP 中的 DMA协同工作介绍】
  • 【redis】哨兵:人工恢复主节点故障和哨兵自动恢复主节点故障
  • Flask的app.run()里发生了什么
  • 20250324-使用 `nltk` 的 `sent_tokenize`, `word_tokenize、WordNetLemmatizer` 方法时报错
  • 前端 Babel 入门简介
  • 系统思考与心智模式
  • 计算机网络--第四章 网络层(1)
  • 欢迎回家!神十九返回舱成功着陆
  • 人民日报:在大有可为的时代大有作为
  • 辽宁辽阳市白塔区一饭店发生火灾,事故已造成22人遇难3人受伤
  • 法治日报调查直播间“杀熟”乱象:熟客越买越贵,举证难维权不易
  • 十四届全国人大常委会举行第四十三次委员长会议 ,听取有关草案和议案审议情况汇报
  • 最近这75年,谁建造了上海?