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

目录

          • [1. DNS查询的起点](#1. DNS查询的起点)
          • [2. 本地查询](#2. 本地查询)
            • [2.1 检查hosts文件](#2.1 检查hosts文件)
            • [2.2 查询本地DNS缓存](#2.2 查询本地DNS缓存)
          • [3. 本地DNS服务器查询](#3. 本地DNS服务器查询)
          • [4. 上级DNS服务器查询](#4. 上级DNS服务器查询)
            • [4.1 根域名服务器](#4.1 根域名服务器)
            • [4.2 顶级域名服务器](#4.2 顶级域名服务器)
            • [4.3 权威域名服务器](#4.3 权威域名服务器)
          • [5. 查询结果返回](#5. 查询结果返回)
          • [6. 缓存更新](#6. 缓存更新)
          • [7. 例题](#7. 例题)
            • [7.1 例题1](#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.递归查询会向下探索,最终返回答案,迭代查询不会向下探索,会立即返回消息,可以只返回线索。

相关推荐
wuhen_n11 小时前
系统架构设计师(四):嵌入式系统
系统架构·嵌入式操作系统
RockHopper202516 小时前
为什么制造运营管理系统必须采用语义驱动,而不能采用自然语言驱动
系统架构·智能制造·工业数字化·isa-95·生产运营管理
成茂峰17 小时前
软考高级·系统架构设计师 | 五、软件工程基础知识
系统架构·软件工程·软考高级·架构设计
智算菩萨17 小时前
【通信设备】电视会议系统架构与技术解析
系统架构
C澒18 小时前
多场景多角色前端架构方案:基于页面协议化与模块标准化的通用能力沉淀
前端·架构·系统架构·前端框架
湘-枫叶情缘1 天前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
Light601 天前
智链未来:彭山物流园区从物理基建到数据智能体的全维度构建方案
人工智能·系统架构·数字孪生·智慧物流·实施路径·彭山项目
学历真的很重要1 天前
【系统架构师】第二章 操作系统知识 - 第二部分:进程与线程(补充版)
学习·职场和发展·系统架构·系统架构师
C澒1 天前
Vue 项目渐进式迁移 React:组件库接入与跨框架协同技术方案
前端·vue.js·react.js·架构·系统架构
roman_日积跬步-终至千里2 天前
【系统架构设计师-综合知识】系统知识点说明
系统架构